- Remove v1 of aws-sdk-go and update sampler to use http client instead of aws sdk #PR 485
- Addresses CVE-2020-8912 and CVE-2020-8911
- Update golang.org/x/net to v0.33.0 #PR 487
- Addresses CVE-2024-45338
- Updated go-sqlmock to v1.5.1 #PR 451
- Fix HTTP2 rapid reset vulnerability #PR 428
- Omit URL's password when stringifying URL for segment name #PR 422
- Update AWS SDK for Go depdencies #PR 430
- Fix fatal error: concurrent map iteration and map write #PR 457
- Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 #PR 459
- Bump golang.org/x/net from 0.18.0 to 0.23.0 #PR 464
- Change how SDK sets the context for AWS SDK calls #PR 418
- Suppress Panic in Emitter #PR 419
- Fix Sample App Solution Stack and GO version #PR 388
- Fix AWS GO SDK Vulnerability #PR 390
- Fix mutex deadlock #PR 393
- Update golang.org/x/text to fix CVEs #PR 400
- Fix CVEs in integration tests #PR 401
- Update sample app dependencies #PR 405
- Update golang.org/x/net to fix CVEs #PR 406
- Replace error type assertions with errors.As in DefaultFormattingStrategy #PR 353
- Dummy segments don't need cancel go routine #PR 365
- Strip X-Amz-Security-Token from SQL URIs #PR 367
- Upgrading Go Version #PR 379
- Removes deprecated method checks in SQL instrumentation PR #341
- Migrates private API named httpTrace public PR #329
- Migrates to use
grpc.SetHeaderAPI PR #312 - Removes support for go dep PR #343
- Replace error type assertions with
errors.AsPR #353
- Fixes segment leaking issues in
BeginSegmentWithSamplingAPI PR #327 - Updates github.com/valyala/fasthttp dependency to v1.34.0 to fix security vulnerability issue PR #351
- AWS SDK v2 instrumentation support PR #309
- Fixed appending to existing gRPC context PR #308
- Fixed memory leak issue on fasthttp handler PR #311
- Fixed panic issue when segment is not present PR #316
- Fix
AWS_XRAY_TRACING_NAMEenvironment variable issue when directly callingxray.BeginSegmentAPI PR #304
- Fix panic issue when call
AddErrorfunction PR #288
- Added SQL tracing name support (for database with same name) PR #273
- Added automated release workflow PR #274
- Refresh messages are
debugto reduce log noise. PR #241 - Added
runtimeandruntime_versionkeys PR #245 BeginSegmentAPI honors sampling rule based onServiceNamePR #244- Added
IGNORE_ERRORmode for context missing strategy PR #253 - Added X-Ray Go SDK sample apps and added Github workflow to publish sample app image tags to ECR PR #261
- Added Github workflow for end to end Integration Test for X-Ray Go SDK PR #270
- Fix typo (Metdata -> Metadata) PR #239
- Remove Deprecated
set-envandadd-pathsyntax from workflow PR #267 - Fix elastic beanstalk solution stack name PR #271
- Added Disabling XRay SDK Support. PR #219
- Random value generator only used by SDK. PR #183
- Fixed deadlock issue for non reported segments. PR #223
- Removed plugins under "github.com/aws/aws-xray-sdk-go/plugins/“ directory and removed deprecated xray.SQL API (sql.go file). PR #215
- Added Dummy flag support to reduce operation of non sampled traces. PR #194
- Benchmark improvements to remove error logs. PR #210
- Updates golangci-lint version. PR #213
- Benchmark instructions to run benchamrk suite, cpu profiling and memory profiling of SDK. PR #214
- Fixes bug in reservoir test cases. PR #212
- Custom SQL driver. PR #169
- Efficient implementation of wildcard matching. PR #149
- Whitelisting Sagemaker runtime InvokeEndpoint operation. PR #154
- Added context missing environment variable support. PR #161
- Added stale bot support for Github Repository. PR #162
- Upgrade golangci-lint version. PR #166
- Fixes golint warnings. PR #170
- Added support for Git Actions. PR #172
- README update for presign request. PR #176
- Fix data races in testing. PR #177
- Fixes sampling issue in calling BeginSegment API directly. PR #187
- Captures error type from panic. PR #195
- Upgrades Sqlmock to 1.4.1 . PR #190
- Fixes data race in default sampling strategy. PR #196
- Added benchmark support to data races and performance issues. PR #197
- Upgrades Travis CI to add Go 1.14 . PR #198
- Fixes data race in emitter. PR #200
- Fixing bi-directional locking for parent-child segments and modifying lock on Segment struct to RWMutex PR #140
- Support capturing AWS SNS Topic ARN. PR #132
- Add
xray.AWSSessionto install handlers on session. PR #97
- Remove Glide(dependency management tool) support. PR #129
- Update README regarding Lambda use cases. PR #128
- Fix a bug to close in_progress response subsegment. PR #125
- Move mutex to private member for sampling. PR #123
- Fix format after running Lints. PR #117
- Updates
sampling.NewProxymethod to be private. PR #93
- Fixes a bug for failing to close in-progress
connectsubsegments in some cases. PR #102 - Fixes data races condition. PR #103
- Fixes a nil pointer issue. PR #109
- Refactors
newGlobalConfigto avoid initializing log. PR #96 - Adds
-raceto travis test script. PR #104 - Fixes data race condition for parallel http client request. PR #100
- Adds support for
tx.Prepare. PR #95 - Fixes race bugs with
ClientTrace. PR #115 - Updates lock abstraction for
defaultLogger. PR #113 - Adds
golangci-lintinto travis CI. PR #114 - Fixes uncaught error on SQL url parse. PR #121
- Dropped support for go versions 1.7 and 1.8. Users will need to use go version 1.9 or higher. PR #91
- Adds support for go dep and go modules. PR #90
- Fixes a bug where optional interfaces on
http.ResponseWriter(e.g.http.Flusher,http.CloseNotifier, etc.) were not visible due to how the xray Handler wrapped thehttp.ResponseWriter. PR #91
xray.Config{}fieldsLogLevelandLogFormatare deprecated and no longer have any effect. Users will have to reset their min log level if they weren't using the default of "info" usingxray.SetLogger(). The log levelsTraceandTracefare replaced byDebugandDebugfrespectively. PR #82, Issue #15
- Fix http2 datarace in unit test: PR #72
- Support passing customized emitter: PR #76
- Apply Context Missing Strategy if segment is nil in SQL
- Remove error message content check for certain daemon config unit tests
- Adding hostname support for daemon address parsing
- Increase unit test coverage
samplingRuleis an exported type : PR#67- Renamed
SamplingRulestructure toProperties
- The default sampling strategy is
CentralizedStrategythat launches background tasks to poll sampling rules from X-Ray backend. See the new default sampling strategy in more details here: Link - The
ShouldTrace()function in theStrategyinterface now takes aRequeststructure for sampling rule matching and returnsDecisionobject - Updated
aws-sdk-goversion inglide.yamlfile to1.15.23. - Modified
Rulestructure : It containssamplingRulenested structure
- Environment variable
AWS_XRAY_DAEMON_ADDRESSnow takes an additional notation intcp:127.0.0.1:2000 udp:127.0.0.2:2001to set TCP and UDP destination separately. By default it assumes a X-Ray daemon listening to both UDP and TCP traffic on 127.0.0.1:2000. - Update DefaultSamplingRules.json file. i.e. service_name has been replaced to host and version changed to 2. SDK still supports v1 JSON file.
- Fix httptrace datarace : PR #62
- Fix sub-segment datarace : PR #61
- Traced aws client allows requests to proceed without segments presenting.
- Increase unit test coverage.
- Update
aws-sdk-goversion inglide.yamlfile.
- Flush subsegments generated inside Lambda function.
- Capture extra request id with header
x-amz-id-2for AWS S3 API calls.
- Fix data race condition in BeginSubsegment and Close methods.
- Remove port number in client_ip when X-Forwarded_For is empty.
- Fix version issue for httptrace library.
- Assign subsegment a defined name when HTTP interceptor creates an invalid subsegment due to URL is not available.
- Fetch ContextMissingStrategy from segment if its subsegment is nil.
- Support for tracing within AWS Lambda functions.
- Support method to inject configuration setting in
Context. - Support send subsegments method.
- Set origin value for each plugin and also show service name in segment document plugin section.
- Remove attempt number when AWS SDK retries.
- Make HTTP requests if segment doesn't exist.
- Add Go SDK Version, Go Compiler and X-Ray SDK information in segment document.
- Set remote value when AWS request fails due to a service-side error.
- Refactor code to fit Go Coding Standard.
- Update README.
aws-xray-sdk-go/xray: make HTTP request if segment cannot be found.