microsoft/ApplicationInsights-JS v3.4.1
microsoft/ApplicationInsights-JS
Captured source
source ↗3.4.1
Repository: microsoft/ApplicationInsights-JS
Tag: v3.4.1
Published: 2026-04-07T22:18:47Z
Prerelease: no
Release notes: This is the first full supported release of the 3.4.x version line. While a 3.4.0-beta was previously released for early testing and validation, version 3.4.0 was not released as a standard supported version — 3.4.1 is the first production-ready release in this series. The @microsoft/1ds-post-js channel is numbered 4.4.1 and requires v3.4.1.
Significant Changes (since 3.3.11)
> The following are the significant changes since the previous full release (3.3.11). Some of these changes were previously included in the 3.4.0-beta release.
- W3C Trace State Support: Added full support for managing W3C Trace State and sending headers in distributed tracing, including new distributed tracing modes
AI_AND_W3C_TRACEandW3C_TRACEthat enable the `tracestate` header to be sent with requests when trace state information is available, the existing states will continue to not send the header.
- New Distributed Tracing Modes: Added new
eDistributedTracingModesenum values: AI_AND_W3C_TRACE(17): Sends Application Insights headers + W3Ctraceparent+ W3Ctracestateheaders (if state value is present)W3C_TRACE(18): Sends only W3Ctraceparent+ W3Ctracestateheaders (if state value is present)
- Enhanced Distributed Tracing: Refactored the distributed tracing implementation to provide better support for the W3C Trace Context specification and prepare for future OpenTelemetry Span-style API integration.
- New W3C TraceState API: Introduced the
IW3cTraceStateinterface that provides a mutable, ordered list of key/value pairs for trace state information with proper parent-child relationships.
- OpenTelemetry Integration Preparation: Added foundational OpenTelemetry interfaces (
IOTelSpanContext,IOTelTraceState) to provide OpenTelemetry API compatibility.
- Additional Configuration: Added new configuration properties for W3C trace state support:
traceHdrMode: Controls if the SDK should look for thetraceparentand/ortracestatevalues from service timing headers or meta tags from the initial page load (inIConfiguration)- Enhanced
distributedTracingModeproperty to support the new W3C trace state modes (inICorrelationConfig)
- Dependencies Extension: The dependency tracking extension now includes additional logic for W3C trace state handling, which may affect custom dependency listeners or initializers. The following interfaces and functions have been enhanced with W3C trace state support:
IDependencyListenerDetailsinterface now also includes a readonlytraceStatealong with the previoustraceId,spanId,traceFlagspropertiesaddDependencyListener()function now provides access to W3C trace state information through the enhanced details objectaddDependencyInitializer()function continues to work with existing dependency telemetry processing- Custom dependency listeners can now access and modify W3C trace state information before requests are sent
- Enhanced Cookie Management: Cookie values are now cached in memory when cookies are disabled instead of being lost, enabling support for consent banner workflows where cookies must be temporarily disabled until user approval. Automatic flushing occurs when cookies are re-enabled.
- OsPlugin Reliability Improvements: Improved OsPlugin with proactive OS retrieval, unload handling, and session caching for more reliable OS detection.
- URL Redaction Enhancements: Made URL redaction more dynamic for improved flexibility in field redaction scenarios.
Package Deprecation
The following packages have been merged into @microsoft/applicationinsights-core-js and are now deprecated. They continue to be published as backward-compatible shims (re-exporting from Core) so existing code will not break, but they are no longer used as dependencies by the main SDK packages. You should stop importing from these packages and migrate to @microsoft/applicationinsights-core-js directly.
- `@microsoft/applicationinsights-common` — All exports have been merged into
@microsoft/applicationinsights-core-js. The package is now a compatibility shim that re-exports from Core. See the Migration Guide for details on updating your imports. This package will be removed in a future major release (4.0.0).
- `@microsoft/1ds-core-js` — All exports have been merged into
@microsoft/applicationinsights-core-js. The package is now a compatibility shim that re-exports from Core. See the 1DS Core Migration Guide for class/import name changes and migration steps. Consumers should update their imports to reference@microsoft/applicationinsights-core-jsdirectly. This package will be removed in a future major release (4.0.0).
Breaking Changes
The following is a list of known breaking changes for anyone attempting to implement the interfaces, for end-users / consumers of the existing interface this is considered to be only a potential breaking change as the existing functions are still provided and provide the same level of functionality. The breaking nature of these changes is for anyone attempting to provide their own implementation of these changes.
Interface Changes
- The
IDistributedTraceContextinterface has been significantly expanded to include W3C trace state management capabilities, which may affect custom telemetry processors that interact with distributed tracing context. - Added additional "required" property accessors which update ONLY the current trace context instance and DO NOT update any parent context instances (
pageName,traceId,spanIdandtraceFlags). - The previous set functions continue to also update (replace) any parent context values for existing backward compatability, but have been marked as depracted and will be removed in a future release due to their side-effects of overwriting the parent values.
Potential Breaking Changes
- Class Removal: The
TelemetryTraceclass has been removed and is no longer exported as part of the distributed tracing refactoring, with its functionality integrated into the new W3C trace...
Excerpt shown — open the source for the full document.