Releases: DataDog/orchestrion
v1.0.4
What's Changed
- fix(gorm.io/gorm): do not replace with a function with a different signature by @rarguelloF (#511, 2bc212f)
Full Changelog: v1.0.3...v1.0.4
v1.0.3
What's Changed
- fix(injector: lineinfo): line directive without line number is ignored by @eliottness in #457
- fix(injector): source import shadowed results in build error "X is not a type" by @eliottness in #463
- feat: improve context in error advice messages by @RomainMuller in #467
- fix: orchestrion fail to instrument if is not in the go.mod folder by @RomainMuller in #466
- fix: failed to resolve argv0 ("/run/rosetta/rosetta") by @RomainMuller in #474
- feat(injector): early filtering of aspects by @eliottness in #435
- fix: OnCompileMain needs to register new
link.deps
by @RomainMuller in #501 - feat: never build twice by @RomainMuller in #490
New Contributors
Full Changelog: v1.0.2...v1.0.3
v1.0.3-rc.1
What's Changed
- refactor(config): use different jsonschema dependency at runtime by @eliottness in #456
- fix(injector: lineinfo): line directive without line number is ignored by @eliottness in #457
- fix(injector): source import shadowed results in build error "X is not a type" by @eliottness in #463
- feat: improve context in error advice messages by @RomainMuller in #467
- fix: orchestrion fail to instrument if is not in the go.mod folder by @RomainMuller in #466
- fix: failed to resolve argv0 ("/run/rosetta/rosetta") by @RomainMuller in #474
- feat(injector): early filtering of aspects by @eliottness in #435
- release: v1.0.3-rc.1 by @mtoffl01 in #486
New Contributors
Full Changelog: v1.0.2...v1.0.3-rc.1
v1.0.2
What's Changed
- fix: support auto-instrumentation when
net/http.DefaultServeMux
is used implicitly by @keisku in #440 - feat: new
test-main
join point by @RomainMuller in #394 - fix(injector: database-sql): add missing database/sql/driver import by @eliottness in #449
New Contributors
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Orchestrion, a compile-time auto-instrumentation tool for Go applications, is now generally available. It enables you to set up Datadog Application Performance Monitoring (APM) for your applications written in Go without any code changes. Orchestrion processes Go source code at compilation time and inserts instrumentation to produce Datadog APM traces, so that you don’t have to do it manually.
With Orchestrion now you can:
- Instrument your code and all supported dependencies, including the Go standard library resulting in richer traces
- Prevent gaps in traces created due to overlooked manual instrumentation
- Enable the Exploit Prevention capability of Datadog Application Security Management
To set up Datadog APM for your Go applications and to learn more about Orchestrion, check out the blog post or the documentation.
Highlights
As we declare v1.0.0
, we are signaling that the overall API and experience of orchestrion is now deemed stable, and ready for use with production workloads. Orchestrion's versioning scheme adheres to semantic versioning.
Starting with release v1.0.0
, the //dd:ignore
directive was renamed to //orchestrion:ignore
. To ensure a smooth transition, the //dd:ignore
directive still applies, although it emits a warning indicating it should be renamed.
Release v1.0.0
also marks the introduction of a completely re-designed orchestrion pin
mechanism, which enables orchestrion to discover and use integrations from any Go package. In the coming few releases, we will be moving all existing built-in integrations over to gopkg.in/DataDog/dd-trace-go.v1
, making it easier than ever to control exactly what instrumentation is added by Orchestrion; and making it possible for third-party vendors to offer their own instrumentation if they wish to.
A new github.com/DataDog/orchestrion/runtime/built
package exposes a built.WithOrchestrion
constant that can be used to implement a runtime check to ensure the application was built using orchestrion
.
What's Changed
- fix: fingerprint mismatch when using
-tags
that affect injected packages by @RomainMuller in #429
Full Changelog: v1.0.0...v1.0.1
v1.0.0
Orchestrion, a compile-time auto-instrumentation tool for Go applications, is now generally available. It enables you to set up Datadog Application Performance Monitoring (APM) for your applications written in Go without any code changes. Orchestrion processes Go source code at compilation time and inserts instrumentation to produce Datadog APM traces, so that you don’t have to do it manually.
With Orchestrion now you can:
- Instrument your code and all supported dependencies, including the Go standard library resulting in richer traces
- Prevent gaps in traces created due to overlooked manual instrumentation
- Enable the Exploit Prevention capability of Datadog Application Security Management
To set up Datadog APM for your Go applications and to learn more about Orchestrion, check out the blog post or the documentation .
Highlights
As we declare v1.0.0
, we are signaling that the overall API and experience of orchestrion is now deemed stable, and ready for use with production workloads. Orchestrion's versioning scheme adheres to semantic versioning.
Starting with release v1.0.0
, the //dd:ignore
directive was renamed to //orchestrion:ignore
. To ensure a smooth transition, the //dd:ignore
directive still applies, although it emits a warning indicating it should be renamed.
Release v1.0.0
also marks the introduction of a completely re-designed orchestrion pin
mechanism, which enables orchestrion to discover and use integrations from any Go package. In the coming few releases, we will be moving all existing built-in integrations over to gopkg.in/DataDog/dd-trace-go.v1
, making it easier than ever to control exactly what instrumentation is added by Orchestrion; and making it possible for third-party vendors to offer their own instrumentation if they wish to.
A new github.com/DataDog/orchestrion/runtime/built
package exposes a built.WithOrchestrion
constant that can be used to implement a runtime check to ensure the application was built using orchestrion
.
What's Changed
- feat: injector config loader API by @RomainMuller in #391
- feat: mechanism to fingerprint arbitrary data by @RomainMuller in #392
- feat: rename
dd:ignore
toorchestrion:ignore
by @RomainMuller in #405 - fix(pin): segfault orchestrion.tool.go is not valid go code by @eliottness in #407
- fix: net/http server-side instrumentation by @rarguelloF in #403
- fix(injector: builtin: sql): driver is not registered from non-instrumented sql calls by @eliottness in #411
- feat: dynamically load injector configuration by @RomainMuller in #393
- fix(grpc): the unary server interceptor was already set and may not be reset by @RomainMuller in #419
- fix(injector: builtin: net-http-client): treat 4XX as errors, not 5XXs by @eliottness in #426
Full Changelog: v0.9.4...v1.0.0
v1.0.0-rc.1
What's Changed
- feat(injector: aspects): adding testing aspect to README.md by @tonyredondo in #398
- feat(injector): config loader API by @RomainMuller in #391
- feat: mechanism to fingerprint arbitrary data by @RomainMuller in #392
- feat(injector: aspects): rename
dd:ignore
toorchestrion:ignore
by @RomainMuller in #405 - fix(pin): nil pointer deref when orchestrion.tool.go is not valid go code by @eliottness in #407
- fix(injector: aspects): net/http server-side instrumentation by @rarguelloF in #403
- fix(injector: aspects: sql): driver is not registered from non-instrumented sql calls by @eliottness in #411
- feat(injector): dynamically load injector configuration by @RomainMuller in #393
Full Changelog: v0.9.4...v1.0.0-rc.1
v0.9.4
What's Changed
- feat: support github.com/jackc/pgx/v5 by @rarguelloF in #342
- fix(injector: redigo) fix bad argument type from []redis.DialOption to []any by @eliottness in #351
- feat: support github.com/elastic/go-elasticsearch by @rarguelloF in #347
- feat: code templates can declare required go langage level by @RomainMuller in #357
- feat: support github.com/twitchtv/twirp by @rarguelloF in #352
- fix(pin): packages.Load().Module is nil by @eliottness in #372
- feat: support segmentio/kafka.go.v0 by @rarguelloF in #293
- feat: support confluent-kafka-go v1 and v2 by @rarguelloF in #320
- feat: support julienschmidt/httprouter by @rarguelloF in #332
- feat: support github.com/sirupsen/logrus by @rarguelloF in #370
- feat:
orchestrion pin
can track enabled integrations by @RomainMuller in #376 - feat: new
built.WithOrchestrion
constant by @RomainMuller in #387 - fix(goenv.GOMOD): never rely on the environment variable by @RomainMuller in #384
Full Changelog: v0.9.3...v0.9.4
v0.9.4-rc.1
What's Changed
- feat: support github.com/jackc/pgx/v5 by @rarguelloF in #342
- fix(injector: redigo) fix bad argument type from []redis.DialOption to []any by @eliottness in #351
- feat: support github.com/elastic/go-elasticsearch by @rarguelloF in #347
- release: v0.9.4-rc.1 by @darccio in #356
This updates the dd-trace-go
tracer library to v1.69.1-rc.4
Full Changelog: v0.9.3...v0.9.4-rc.1
v0.9.3
What's Changed
- feat(injector: stdlib): instrument testing.[M, T, B] with CI Visibility by @tonyredondo in #340
- release: v0.9.3 by @RomainMuller in #345
New Contributors
- @tonyredondo made their first contribution in #340
Full Changelog: v0.9.2...v0.9.3