Repository navigation
Releases: microsoft/ApplicationInsights-JS
Release list
3.4.5
This release enables internal SDK network statistics and routes them to a dedicated SDK Stats ingestion endpoint. The @microsoft/1ds-post-js channel is numbered 4.4.5 and requires v3.4.5.
Significant Changes (since 3.4.4)
- Internal SDK Stats: The full SDK now records request successes, failures, retries, throttling, and request duration. Counters are persisted in session storage by customer instrumentation key and endpoint, with a default collection interval of one hour (
stats.shrtInt, in seconds). - Dedicated Ingestion and Dynamic Configuration: Internal SDK Stats use a separate core and sender, rather than the customer's telemetry pipeline. Sending requires
stats.cfgUrl,stats.iKey, and an enabled remote configuration that supplies the destination host. EU customer endpoints use the EU-prefixed configuration host. Configuration and sampling can be updated at runtime, and counters are retained while remote configuration is unavailable. - Feature Throttling: Added
ThrottleMgr.useFeature()and string-keyedthrottleMgrCfgentries for feature operations. Internal SDK Stats have a dedicated daily throttle, separate from internal diagnostic messages. Throttle sampling now honors a zero rate, interval rules are evaluated per configuration, and long-lived instances can send again on the next eligible UTC day. - SDK Stats Metric Names: Aligned failure, retry, and exception metrics with the Statsbeat names
Request_Failure_Count,Retry_Count, andException_Count, preserving their dimensions and aggregation. - Sender Unload Reliability: Late network responses no longer access the cleared core configuration when looking up internal SDK Stats after unload.
- Build Dependency Security: Updated vulnerable transitive build dependencies to resolve nine Dependabot alerts. These changes do not affect the SDK runtime source.
Potential behavioral changes
The internal SDK Stats manager is enabled by default, but it does not send statistics until the required local or CDN-delivered configuration is available and the remote configuration enables sending. Disable this feature with featureOptIn: { sdkStats: { mode: FeatureOptInMode.disable } }. The lowercase sdkStats feature is separate from the existing customer-facing SdkStats feature and its sdkStats.int collection interval.
Internal SDK Stats bypass customer telemetry initializers and plugins. Applications that use those hooks to inspect, modify, or filter customer telemetry should use the internal SDK Stats feature flag to opt out instead.
Changelog
- microsoft/ApplicationInsights-JS#2741 Enable SDK Stats and route to the SDK Stats ingestion endpoint
- microsoft/ApplicationInsights-JS#2773 Fix open Dependabot alerts in transitive dependencies
- microsoft/ApplicationInsights-JS#2775 Fix internal SDK Stats network metric names
- microsoft/ApplicationInsights-JS#2776 Increase version to 3.4.5 and fix SDK Stats access after sender unload
Full Changelog: v3.4.4...v3.4.5
3.4.4
This is a maintenance release for the 3.4.x version line containing runtime reliability and bundler compatibility fixes, build tooling and dependency security hardening, documentation corrections, and a test reliability fix. There are no SDK API changes. The @microsoft/1ds-post-js channel is numbered 4.4.4 and requires v3.4.4.
Significant Changes (since 3.4.3)
- ESM XHR Instrumentation: Fixed tree shaking of the XHR capability check so automatic XHR instrumentation is preserved in ESM bundles.
- Vite 8 and Rolldown Compatibility: Normalized generated PURE annotations by expression so invalid annotations on primitive literals no longer produce warnings, while valid call and
newexpression annotations remain tree-shakable. - OpenTelemetry Async Error Propagation: Fixed
startActiveSpan()so promise rejections from asynchronous callbacks propagate to callers instead of being swallowed. - Dependency Security Hardening: Resolved the repository's npm audit and Component Governance findings by updating vulnerable transitive build dependencies and replacing Puppeteer's vulnerable
extract-zipdependency with a maintained compatible package. Rush was upgraded to 5.178.1 and pnpm to 10.34.5, while API Extractor remains on the latest Node.js 18-compatible release. These are build/tooling changes and do not affect the published runtime code. - GitHub Actions Supply-Chain Hardening: Pinned third-party GitHub Actions to full-length commit SHAs and added grouped weekly Dependabot updates with a seven-day cooldown.
Changelog
- #2768 Fix ESM XHR instrumentation tree shaking
- #2767 docs: fix Offline Channel setup example
- #2766 fix: normalize PURE annotations for Vite 8 and Rolldown
- #2761 fix(deps): remediate Component Governance vulnerabilities
- #2762 Bump the github-actions group with 2 updates
- #2759 Bump the github-actions group across 1 directory with 9 updates
- #2758 Pin GitHub Actions to full-length commit SHAs
- #2757 fix(otel): propagate promise rejection from startActiveSpan async callback
- #2755 Bump Rush 5.178.1 and pnpm 10.34.5
- #2754 fix(test): stabilize flaky SpanLifeCycle custom endTime test
- #2753 fix(deps): remediate npm audit vulnerabilities and add local Puppeteer Edge fallback
Full Changelog: v3.4.3...v3.4.4
3.4.3
This is a maintenance release for the 3.4.x version line adding a new SDK statistics feature, a PostChannel reliability fix, and dependency security hardening. The @microsoft/1ds-post-js channel is numbered 4.4.3 and requires v3.4.3.
Significant Changes (since 3.4.2)
-
Customer SDK Stats: Added a new
SdkStatsfeature that periodically collects internal SDK usage/health statistics. It is enabled by default and can be disabled (or explicitly configured) via thefeatureOptInconfiguration (e.g.featureOptIn: { SdkStats: { mode: FeatureOptInMode.disable } }); the collection interval defaults to 15 minutes (sdkStats.int). -
PostChannel Auto-Flush Stall Fix: Fixed a permanent stall in
@microsoft/1ds-post-jswhere, under sustained intermittent send failures (e.g. a load balancer returning occasional 503s), auto flush could wedge behind theflush()wait-for-idle timer and permanently stop draining the in-memory queue â causing telemetry to be silently dropped asQueueFulluntil the process was restarted. Auto flush is now fire-and-forget and no longer parks the scheduler waiting for the manager to become completely idle. -
Dependency Security Hardening: Pinned
tarto>=7.5.16to remediate CVE-2026-53655 and resolved the remainingnpm auditfindings in build tooling via dependency overrides (js-yaml,yaml,markdown-it,linkify-it). These are build/tooling changes and do not affect the published runtime packages. -
Fixed
[INVALID_ANNOTATION]warnings in Rolldown / Vite 8 consumers (#2736): The per-moduledist-es5output (the packagemoduleentry that modern bundlers import) emitted parenthesized PURE tree-shaking annotations with whitespace after the opening parenthesis (e.g.( /*#__PURE__*/"http.")), which stricter bundlers such as Rolldown (Vite 8) rejected. The build now canonicalizes these annotations to the flush form ((/*#__PURE__*/"http.")) in thedist-es5output, accepted by all bundlers while preserving the wrapping parentheses required for older Rollup / Webpack / Terser to tree-shake the constants. This complements #2737, which only normalized the rollup-bundleddist/es5(main) output.
Changelog
- #2746 Fix PostChannel auto-flush permanent stall under sustained intermittent send failures
- #2745 fix(security): pin tar >=7.5.16 to remediate CVE-2026-53655
- #2744 fix(#2736): canonicalize PURE annotations in dist-es5 (module) output to fix Rolldown/Vite 8
[INVALID_ANNOTATION]warnings - #2707 Enable Customer SDK Stats
- Resolve remaining npm audit findings via dependency overrides (js-yaml, yaml, markdown-it, linkify-it)
Full Changelog: v3.4.2...v3.4.3
3.4.2
This is a maintenance release for the 3.4.x version line containing security hardening, bug fixes, build tooling improvements, and CI updates. The @microsoft/1ds-post-js channel is numbered 4.4.2 and requires v3.4.2.
Significant Changes (since 3.4.1)
-
Prototype Pollution Hardening: The
extend()andobjExtend()helpers now filter unsafe keys (__proto__,constructor,prototype) to prevent prototype pollution when merging untrusted objects. -
Dependency Vulnerability Resolution: Migrated the repository from npm to pnpm for dependency management and resolved all known dependency vulnerabilities. This is a build/tooling change and does not affect the published runtime packages.
-
OsPlugin Field Name Correction: The OsPlugin now emits the correct Common Schema 4.0 field names (
ext.os.nameandext.os.ver). Telemetry consumers relying on the previously emitted (incorrect) field names should update to the corrected names. -
RequestEnvelopeCreator Envelope Name Fix: Fixed
RequestEnvelopeCreatorso request telemetry is sent with the correct envelope name (Microsoft.ApplicationInsights.{ikey}.Request) instead ofRequestData. -
Offline Channel Reliability: Fixed a missing
returnafterreject()in the offline channel that could lead to a null provider dereference.
CI / Tooling
- Dropped Node.js 16 from CI matrix: Node.js 16 is End-of-Life and several dependencies (e.g.
puppeteer,@pnpm/error) now require Node.js 18 or later. The CI pipeline no longer runs against Node.js 16. - Added Node.js 22 and 24 to CI matrix: The CI pipeline now tests against Node.js 18, 20, 22, and 24.
- Migrated from npm to pnpm: Dependency management now uses pnpm.
Changelog
- #2733 fix: Migrate from npm to pnpm and resolve all dependency vulnerabilities
- #2742 fix(ci): repair Node.js CI (Chrome install, bundle-size limits, ts-async offline-channel hang)
- #2737 fix: remove invalid PURE literal annotations and add bundle validation tests
- #2735 fix: prevent prototype pollution in extend() and objExtend() via unsafe key filtering
- #2734 fix(offline-channel): Add missing return after reject() to prevent null provider dereference
- #2732 fix(OsPlugin): use correct CS 4.0 field names ext.os.name and ext.os.ver
- #2731 Drop Node.js 16 from CI matrix; add Node.js 22 and 24
- #2729 Potential fix for code scanning alert no. 2273: Workflow does not contain permissions
- #2728 Potential fix for code scanning alert no. 5940: Unused variable, import, function or class
- #2727 Potential fix for code scanning alert no. 5402: Semicolon insertion
- #2726 Potential fix for code scanning alert no. 5401: Unused variable, import, function or class
- #2725 Potential fix for code scanning alert no. 4240: Semicolon insertion
- #2724 fix: RequestEnvelopeCreator sends "RequestData" as envelope name instead of "Microsoft.ApplicationInsights.{ikey}.Request"
- #2722 Update Components
- #2721 Add CfgSync documentation
Full Changelog: v3.4.1...v3.4.2
3.4.1
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 thetracestateheader 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.
- Added additional "required" property accessors which update ONLY the current trace context instance and DO NOT update any parent context instances (
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 state implementation.- The properties
telemetryTraceis now a complete adpater to the existingcore.getTraceCtx()value and as such is now marked as deprecated and will be removed in a future release. - The value of the
appInsights.context.telemetryTraceis no longer an instance of this removed class.
- The properties
-
Trace Context Initialization: Due to the distributed tracing refactoring, the core instance and SDK will now always have a valid
traceIdavailable throughcore.getTraceCtx(). ThetraceIdwill be either a newly generated random value or inherited from any detected parent trace context. This ensures consistent trace context availability but may affect applications that previously relied on the absence of atraceIdto determine if distributed tracing was active. -
Dependencies Extension - ajaxRecord Class Removal: The internal
ajaxRecordclass has been removed and is no longer exported from the dependencies extension (@microsoft/applicationinsights-dependencies-js). The internal implementation now implements the newIAjaxRecordDatainterface. This class was previously used internally for AJAX request tracking and was referenced in theIInstrumentationRequirements.includeCorrelationHeaders()function signature. Important: The previous exporting of theajaxRecordclass was unintentional and was never meant to be part of the public API - it was an internal implementation detail that inadvertently became accessible to external code.- Previous Signature:
includeCorrelationHeaders(ajaxData: ajaxRecord, input?: Request | string, init?: RequestInit, xhr?: XMLHttpRequestInstrumented): any - New Signature:
includeCorrelationHeaders(ajaxData: IAjaxRecordData, input?: Request | string, init?: RequestInit, xhr?: XMLHttpRequestInstrumented): any - New Interface: The
IAjaxRecordDatainterface has been introduced to replace theajaxRecordclass in public API signatures and provides access to essential AJAX request properties:getAbsoluteUrl(): string | null- Gets the absolute URL for the requestgetPathName(): string | null- Gets the sanitized path name for the request URLtraceCtx: IDistributedTraceContext- The distributed trace context for the requestrequestHeaders: { [key: string]: string }- Object containing request headersaborted?: number- Indicates whether the request was abortedcontext?: { [key: string]: any }- Optional context object for dependency listeners
- Impact: This change only affects custom implementations that directly referenced the
ajaxRecordclass or implemented theIInstrumentationRequirementsinterface. Standard SDK usage and most custom dependency listeners/initializers are unaffected. - Migration: If your code previously referenced
ajaxRecordor implementedIInstrumentationRequirements, update it to use the newIAjaxRecordDatainterface, which provides the same essential properties with proper TypeScript definitions and comprehensive JSDoc documentation. - Need Help?: If you discover that your code depends on other functions or prope...
- Previous Signature:
3.4.0-beta
Significant Changes
-
AppInsightsCommon Merged into AppInsightsCore: The
@microsoft/applicationinsights-commonpackage has been merged into@microsoft/applicationinsights-core-jsto simplify dependency management and improve tree-shaking capabilities.- All exports previously in
applicationinsights-commonare now available fromapplicationinsights-core-js - The
applicationinsights-commonpackage continues to work as a compatibility layer (re-exports from Core) - No breaking changes to existing APIs
- See the Migration Guide for details on updating your imports
- Timeline: The Common package will be deprecated and eventually removed in version 4.0.0
- All exports previously in
-
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 thetracestateheader 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
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.
- Added additional "required" property accessors which update ONLY the current trace context instance and DO NOT update any parent context instances (
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 state implementation.- The properties
telemetryTraceis now a complete adpater to the existingcore.getTraceCtx()value and as such is now marked as deprecated and will be removed in a future release. - The value of the
appInsights.context.telemetryTraceis no longer an instance of this removed class.
- The properties
-
Trace Context Initialization: Due to the distributed tracing refactoring, the core instance and SDK will now always have a valid
traceIdavailable throughcore.getTraceCtx(). ThetraceIdwill be either a newly generated random value or inherited from any detected parent trace context. This ensures consistent trace context availability but may affect applications that previously relied on the absence of atraceIdto determine if distributed tracing was active. -
Dependencies Extension - ajaxRecord Class Removal: The internal
ajaxRecordclass has been removed and is no longer exported from the dependencies extension (@microsoft/applicationinsights-dependencies-js). This class was previously used internally for AJAX request tracking and was referenced in theIInstrumentationRequirements.includeCorrelationHeaders()function signature. Important: The previous exporting of theajaxRecordclass was unintentional and was never meant to be part of the public API - it was an internal implementation detail that inadvertently became accessible to external code.- Previous Signature:
includeCorrelationHeaders(ajaxData: ajaxRecord, input?: Request | string, init?: RequestInit, xhr?: XMLHttpRequestInstrumented): any - New Signature:
includeCorrelationHeaders(ajaxData: IAjaxRecordData, input?: Request | string, init?: RequestInit, xhr?: XMLHttpRequestInstrumented): any - New Interface: The
IAjaxRecordDatainterface has been introduced to replace theajaxRecordclass in public API signatures and provides access to essential AJAX request properties:getAbsoluteUrl(): string | null- Gets the absolute URL for the requestgetPathName(): string | null- Gets the sanitized path name for the request URLtraceCtx: IDistributedTraceContext- The distributed trace context for the requestrequestHeaders: { [key: string]: string }- Object containing request headersaborted?: number- Indicates whether the request was abortedcontext?: { [key: string]: any }- Optional context object for dependency listeners
- Impact: This change only affects custom implementations that directly referenced the
ajaxRecordclass or implemented theIInstrumentationRequirementsinterface. Standard SDK usage and most custom dependency listeners/initializers are unaffected. - Migration: If your code previously referenced
ajaxRecordor implementedIInstrumentationRequirements, update it to use the newIAjaxRecordDatainterface, which provides the same essential properties with proper TypeScript definitions and comprehensive JSDoc documentation. - Need Help?: If you discover that your code depends on other functions or properties from the dependencies extension that are no longer exported and you believe should be part of the public API, please raise an issue with details about your use case so we can review and potentially provide a proper public API alternative.
- Previous Signature:
Changelog
- [Beta] Add W3c Trace State support / handling and refactor distributed trace handling to prepare for OptenTelemetry Span style API / management
What's Changed
- [beta] Merge [main] into [beta] and set next release to minor by Nev (@MSNev) in #2493
- [beta] Update publishing scripts for nightly beta releases by Nev (@MSNev) in #2498
- [beta] Merge remote-tracking branch 'origin/main' into
betaby Nev (@MSNev) in #2509 - [beta] Merge [main] (3.3.7) to beta branch by Nev (@MSNev) in #2521
- [beta] Merge remote-tracking branch 'origin/main' into
betaby Nev (@MSNev) in #2528 - [Beta] Merge [main] to [beta] by Nev (@MSNev) in #2610
- [Beta] Updated and remerge [main] to [beta] by Nev (@MSNev) in #2611
- [Beta] Merge [main] into [beta] by Nev (@MSNev) in #2618
- [Beta] Add W3c Trace State support / handling and refactor distributed trace... by Nev (@MSNev) in #2620
- [Beta] Merge remote-tracking branch 'origin/main' into MSNev/beta by Nev (@MSNev) in #2623
- [Beta] Merge Main to Beta by Nev (@MSNev) in #2640
- Merge [main] 3.3.10 to [beta] by Nev (@MSNev) in #2677
- [Beta] Merge [main] Separate BeaconSendFailure from SizeLimitExceeded by Nev (@MSNev) in #2678
- [Beta] Merge [Main] v3.3.11 into [Beta] by Nev (@MSNev) in https://githu...
3.3.11
Changelog
- #2642 Separate BeaconSendFailure and BeaconSendFailure from SizeLimitExceeded
- #2675 Fix offline channel recovery for Offline -> Online (#2674)
- #2666 Fix unload() to return promise when called without parameters
- #2667 Add a check to prevent non-string URLs from being passed to fieldRedaction method
Infrastructure changes
- #2684 Fix minor issue with E2E test
- #2681 Add redact URL configuration in readme
- #2676 Fix Flakey Ajax test which has race condition
- #2670 Fix static web CDN test assertion (Fixes failing CI tests)
What's Changed
- [Main][Task] 35656109: [Snippet] Fix Snippet Loader Error by Karlie-777 in #2659
- @microsoft/applicationinsights-web-snippet 1.2.3 release by Hector Hernandez (@hectorhdzg) in #2662
- Fix static web CDN test assertion (Fixes failing CI tests) by Radhika Gupta (@rads-1996) in #2670
- Add a check to prevent non-string URLs from being passed to fieldRedaction method by Radhika Gupta (@rads-1996) in #2667
- Fix offline channel recovery for Offline -> Online (#2674) by Philip Peitsch (@peitschie) in #2675
- Fix unload() to return promise when called without parameters by @Copilot in #2666
- Fix Flakey Ajax test which has race condition by Nev (@MSNev) in #2676
- Separate BeaconSendFailure and BeaconSendFailure from SizeLimitExceeded by Ryan Gammon (@rggammon) in #2642
- Add redact URL configuration in readme by Hector Hernandez (@hectorhdzg) in #2681
- Fix minor issue with E2E test by Nev (@MSNev) in #2684
- [Release] Increase version to 3.3.11 by Nev (@MSNev) in #2687
New Contributors
- Ryan Gammon (@rggammon) made their first contribution in #2642
Full Changelog: 3.3.10...3.3.11
3.3.10
Changelog
This release includes:
- Support for custom providers for Offline Channel which has added
customProviderandcustomUnloadProviderto theIOfflineChannelConfiguration. IAnalyticsConfigis exported for Analytics extension.redactUrlsandredactQueryParamsare added toIConfigurationto support URL redaction.
#2649 [Main][Task] 27922617: Provide Custom Provider Under Web Worker for Offline Channel
#2638 [Main][Task] 34470593: Update Async Tests Under Dependencies Extension To Use the Modern AsyncQueue Pattern
#2637 [Main][Task] 34470593: Update AISKU Async Tests To Use the Modern AsyncQueue Pattern
#2636 Fix TypeError in Click Analytics Data Collector
#2633 Fix flush method root cause - handle async callbacks in _doSend with proper error handling
#2632 [Feature] Implement cookie caching when disabled and automatic flushing when enabled with backward compatibility option
#2625 Add Azure API Management proxy documentation to FAQ sections
#2607 Update Async Tests Under AISKULight to Use the Modern AsyncQueue Pattern
#2597 Fix TypeScript compatibility issue with ITelemetryPlugin interface
#2595 Fix trackPageView not resetting maxAjaxCallsPerView counter
#2583 Create IAnalyticsConfig interface to properly define AnalyticsPlugin configuration subset
#2625 Add Azure API Management proxy documentation to FAQ sections
#2627 Add weekly GitHub action to delete closed and merged branches
#2635 Fix issue #2634 moving the conditional check for filtering
#2549 Redacting urls before sending to telemetry data
#2622 Suppressed credentials inline to avoid credscan false positive
What's Changed
- Add TypeDoc links to README configuration tables by @Copilot in #2576
- Fix TypeScript compatibility issue with ITelemetryPlugin interface by @Copilot in #2597
- Remove unused jquery-1.11.1.js from the repository by @Copilot in #2600
- Create IAnalyticsConfig interface to properly define AnalyticsPlugin configuration subset by @Copilot in #2583
- Fix documentation links pointing to incorrect /docs/ path by @Copilot in #2604
- Adding copilot instructions by Hector Hernandez (@hectorhdzg) in #2605
- Redacting urls before sending to telemetry data. by Radhika Gupta (@rads-1996) in #2549
- [Main] Update the copilot instructions by Nev (@MSNev) in #2617
- [Task] Add tree-shaking annotations by @Copilot in #2616
- Suppressed credentials inline to avoid credscan false positive by Radhika Gupta (@rads-1996) in #2622
- Add Azure API Management proxy documentation to FAQ sections by @Copilot in #2625
- Add weekly GitHub action to delete closed and merged branches by @Copilot in #2627
- Fix trackPageView not resetting maxAjaxCallsPerView counter by @Copilot in #2595
- Fix jq syntax error in Delete Merged Branches workflow by @Copilot in #2630
- Update Async Tests Under AISKULight to Use the Modern AsyncQueue Pattern by @Copilot in #2607
- Fix flush method root cause - handle async callbacks in _doSend with proper error handling by @Copilot in #2633
- Fix issue #2634 moving the conditional check for filtering by aimbrenda in #2635
- Fix TypeError in Click Analytics Data Collector by Patrick (@pnoodles) in #2636
- [Feature] Implement cookie caching when disabled and automatic flushing when enabled with backward compatibility option by @Copilot in #2632
- [Main][Task] 34470593: Update AISKU Async Tests To Use the Modern AsyncQueue Pattern by Karlie-777 in #2637
- [Main][Task] 34470593: Update Async Tests Under Dependencies Extension To Use the Modern AsyncQueue Pattern by Karlie-777 in #2638
- [Main][Task] 27922617: Provide Custom Provider Under Web Worker for Offline Channel by Karlie-777 in #2649
- [Release] Increase version to 3.3.10 by Karlie-777 in #2650
New Contributors
- Radhika Gupta (@rads-1996) made their first contribution in #2549
- Patrick (@pnoodles) made their first contribution in #2636
Full Changelog: 3.3.9...3.3.10
3.3.9
Changelog
This release contains an important fix for a change introduced in v3.3.7 that caused the autoCaptureHandler to incorrectly evaluate elements within trackElementsType, resulting in some click events not being auto-captured. See more details here.
#2556 Update SDK Loader to rename the snippet postfix file to avoid CodeQL scanning issues
#2586 [AI][Task] 33246973: Update Readme on Error Handler
#2581 Export ICorrelationConfig interface from dependencies extension
#2587 Click Analytics - Fix capturning of HTML events
What's Changed
- Creates a github action to assign co-pilot to a task or PR if the label is assigned by a code owner by Nev (@MSNev) in #2550
- CodeQL Action major versions v1 and v2 have been deprecated. by Nev (@MSNev) in #2553
- Assign Co-Pilot updates by Nev (@MSNev) in #2554
- Potential fix for code scanning alert no. 2259: Unused variable, import, function or class by Nev (@MSNev) in #2551
- Auto Assign Copilot Updates by Nev (@MSNev) in #2555
- Auto assign copilot update -- add additional user name by Nev (@MSNev) in #2557
- Update SDK Loader to rename the snippet postfix file to avoid CodeQL scanning issues by Nev (@MSNev) in #2556
- Update to correctly reference the repository variable within the action by Nev (@MSNev) in #2558
- CodeQL - Don't attempt to upload from the CI by Nev (@MSNev) in #2560
- CodeQL - Add more exclusions as they are causing false positive alerts by Nev (@MSNev) in #2561
- CodeQL Update configuration to run on all branches by Nev (@MSNev) in #2564
- [Task] Add additional stale operations for wontfix Issues and PRs as well as inactive PR's by Nev (@MSNev) in #2563
- Add merge-queue setting for the ci tests by Nev (@MSNev) in #2565
- Auto Assign - Update the lookup for a valid user id. by Nev (@MSNev) in #2559
- Remove Auto-Assign workflow by Nev (@MSNev) in #2569
- Update analytics-js unit tests to use asyncQueue pattern by copilot-swe-agent in #2544
- Add documentation for disablePageUnloadEvents to address jQuery 3.7.1 deprecation warnings by copilot-swe-agent in #2533
- [Main][Task]32864048: Improve Offline Channel Test by Karlie-777 in #2534
- Restore CodeQL schedule back to previous value by Nev (@MSNev) in #2574
- [Fix] Export IConfiguration interface from AISKU package by copilot-swe-agent in #2579
- Export ICorrelationConfig interface from dependencies extension by copilot-swe-agent in #2581
- [Main][Task]32909441: Increase Web Snippet to 1.2.2 by Karlie-777 in #2577
- [AI][Task] 33246973: Update Readme on Error Handler by Karlie-777 in #2586
- Click Analytics - Fix capturning of HTML events by Barry Attwater (@Barry-RG) in #2587
- [Main][Task] 33497606: Add Tests for ClickAnalytics AutoCaptureHandler by Karlie-777 in #2592
- [Release] Increase version to 3.3.9 by Karlie-777 in #2593
New Contributors
- Barry Attwater (@Barry-RG) made their first contribution in #2587
Full Changelog: 3.3.8...3.3.9
3.3.8
Changelog
This release contains an important fix for a change introduced in v3.3.7 that caused a ReferenceError exception to be thrown when running in strict mode. See more details here.
#2524 Update Components to address governance issues
#2536 Fix ReferenceError in Click Analytics v3.3.7 by reordering variable declaration
#2530 Add negative isArray check to _isConfigDefaults
What's Changed
- Update Components to address governance issues by Nev (@MSNev) in #2524
- Add back "request" devDependency for now by Nev (@MSNev) in #2525
- Fix TestCase PollingAssert argument passing for testContext by Nev (@MSNev) in #2526
- add negative isArray check to _isConfigDefaults by linkgoron (@Linkgoron) in #2530
- Fix ReferenceError in Click Analytics v3.3.7 by reordering variable declaration by copilot-swe-agent in #2536
- Fix Click Analytics contentName callback in v3.3.7 by copilot-swe-agent in #2535
- [Release] Increase version to 3.3.8 by Karlie-777 in #2542
- [Task] Fix CodeQL version to v2 by copilot-swe-agent in #2547
New Contributors
- linkgoron (@Linkgoron) made their first contribution in #2530
- copilot-swe-agent made their first contribution in #2536
Full Changelog: 3.3.7...3.3.8