Releases: microsoft/ApplicationInsights-JS
2.7.5
- Updates React Plugin to v3.2.5 (with v2.7.5 as dependency)
- Updates React Native Plugin to 2.4.5 (with v2.7.5 as dependency)
- Updates Chrome Debug Extension to 0.2.5
Changelog
- #1823 [BUG] IE8 Support was broken by several components
- Updates to dynamicProto() v1.1.5 which also fixes IE8 issues
What's Changed
- [BUG] IE8 Support was broken by several components #1823 by @MSNev in #1825
- [Release] Increase version to 2.7.5 (Release2.7 branch) by @MSNev in #1826
Full Changelog: 2.7.4...2.7.5
2.8.1
- Updates React Plugin to v3.3.1 (with v2.8.1 as dependency) -- using React 17
- Updates React Native Plugin to 2.5.1 (with v2.8.1 as dependency)
- Updates Chrome Debug Extension to 0.3.0
This patch release restores TypeScript 3.x support for the Sdk.
Changelog
- #1807 [BUG] Angular project doesn't build after install latest version v.2.8.0
- #1810 v2.8.0 has incompatible TypeScript 3.x type declaration
- #1812 [BUG] Browser exceptions are no longer automatically tracked after 2.8.0
- #1814 [BUG]SPFx React project doesn't build after latest version of @microsoft/application-insights-core-js v.2.8.0 got published
What's Changed
- [BUG] Adding new on-by-default telemetry is a breaking change, and should involve a major version bump #1808 by @MSNev in #1809
- v2.8.0 has incompatible TypeScript 3.x type declaration by @MSNev in #1810
- [BUG] Browser exceptions are no longer automatically tracked after 2.8.0 #1812 by @MSNev in #1815
- [Release] Increase version to 2.8.1 by @MSNev in #1816
Full Changelog: 2.8.0...2.8.1
2.8.0
- Updates React Plugin to v3.3.0 (with v2.8.0 as dependency) -- using React 17
- Updates React Native Plugin to 2.5.0 (with v2.8.9 as dependency)
- Updates Chrome Debug Extension to 0.3.0
Potential Breaking Change
fetch
Ajax tracking was also been change to be on by default from this version moving forward, if you are running in an environment withoutfetch
support and you are using an incompatible polyfill (that doesn't identify itself as a polyfill) or the SDK you start seeing recursive or duplicate (fetch
andXHR
requests) being reported you WILL need to adddisableFetchTracking
with a value oftrue
to your configuration to disable this functionality.- TypeScript 4.x required for some typings from the core EnumHelperFuncs.d.ts
Significant changes
This release adds support for the SDK to
- TelemetryInitializers have been moved to
BaseCore
so they are now available as part of all Sku's and not just those using theanalytics
plugin (@microsoft/applicationinsights-analytics-js) using theappInsights.addTelemetryInitializer(...)
- Web Events (addEventHandler) now support "event namespaces" (similar to jQuery) to enable the removing of events by just specifying the namespace and new specific
eventOn(...)
andeventOff(...)
API's. - Fully unload, removing all internal event handlers (may be re-initialized) via the
appInsights.unload(...)
function. - Dynamically add a plugin to an already initialized SDK (optionally replacing an existing) via new
appInsights.addPlugin(...)
function - New helper to get any plugin from an initialized SDK via
appInsights.getPlugin("...identifier...")
- Dynamically remove a plugin via the
appInsights.getPlugin("...identifier..").remove()
- Enable / Disable any plugin (even if the plugin doesn't support disabling itself) via
appInsights.getPlugin("...identifier...").setEnabled(true/false)
- The standard name from the
analytics
plugin @microsoft/applicationinsights-analytics-js has been renamed and is now exported asAnalyticsPlugin
, for backward compatibility it is also exported as it's previous nameApplicationInsights
, if you are using it directly it is recommended that you update to use the new exported name.
While this release contains a substantial amount of additional functionality and code, there has also been significant minification efforts (which also drove some of the SDK naming) to keep the minified code around the same size. We intend to keep working on additional improvements to attempt to bring the size changes down further. However, the minification improvements do generally cause a lower level of GZip compression most because of the removal of duplicate names. The main readme for the AISKU has a table of the CDN base SKU sizes, as the CDN version includes all public API's (older versions for backward compatibility and newer smaller versions) when using NPM you should see smaller sizes than those shown.
Note:
Due to the above changes required to support the above, there may be some minor TypeScript Type compatibility warnings when you attempt to use components from v2.8.0 with older SDK's (forward compatibility), backward compatibility, using Core v2.8.0 with older components is supported and v2.8.0 is completely backward compatible. This is due to some API's now support both older (for back compat) and new enhanced arguments, we have attempted to keep these changes to a minimum.
If you are getting typing errors such as "Argument of type 'XXXXX' os not assignable to parameter of type 'YYYY'", please ensure that you are using all v2.8.0 components and raise an issue if this does not resolve you issue. As a work around casting to work around this warning should not cause any issues.
Due to the size of this change, the above date is the NPM release date and CDN deployment will be over an extended period.
Changelog - RELEASES.md
Changelog
- Task 13064945: Enable the option to remove all "added" SDK event listeners as part of calling teardown()
- Partial, foundational support for #1427 Dynamically updating config (for extensions in my case)
- #1773 [BUG] IConfig and IConfiguration define different configuration "names" for the cookie manager config
- #1779 Allow including custom properties in useTrackMetric
- #1791 Merge remote-tracking branch
upstream/beta
intomaster
- Update version update script to support default "next" release version (major/minor) not just patch (#1756)
- Additional Performance enhancements to use provided functions rather than internal polyfill's (#1758)
- Enable GitHub Actions on [beta] branch
- Beta Part 1: Part of Mega Dynamic Load/Unload support (#1766)
- Refactor TelemetryPluginChain ready to start supporting load/unload
- Move TelemetryInitializer to BaseCore
- add getPlugin (will be used for remove)
- Address Channel flush issue
- Additional Performance enhancements to use provided functions rather than internal polyfill's (#1758)
- Beta Part 2: Part of Mega Dynamic Load/Unload support (#1768)
- Add Event Namespace support
- Minification of constant values
- Add part of the unload functionality (required for unified
teardown()
functionality)
- Beta Part 3: Part of Mega Dynamic Load/Unload support (#1780)
- Add Core SDK Unload support
- Fix telemetry chain for null and undefined
- Beta Part 4: Part of Mega Dynamic Load/Unload support (#1781)
- Fix function typing issues
- Update Analytics Extension to start supporting teardown / unload (more tests required)
- Adds namespace option to instrumentation hooks (for debugging teardown issues)
- Update AITest Class to log and optionally assert events and hooks that have not been removed
- Add Update callback when plugins are added / removed (will be extended for config updates)
- Some minor minification improvements
- Add missing enum definition
- Update Sender tests
- Beta Part 5: Part of Mega Dynamic Load/Unload support (#1782)
- Add Missing Exports
- AnalyticsPlugin: Implement teardown and initial test validation
- Dependencies Plugin: Implement teardown and initial test validation
- Add flush() to IAppInsightsCore
- AI Beta: Minor bug fixes and additional debug info (#1787)
- Lint fixes: Enable Automatic formatting fixes (#1788)
- Beta Part 6: Part of Mega Dynamic Load/Unload support (#1782) (#1789)
- Add basic minimal unload / teardown support to all remaining components
- Update rollup cleanup dependencies
- Beta: Component Governance Updates to address known dependency issues (#1790)
- #1793 Master Minification Improvements
- #1796 Minification - Change to only use const enums internally
- #1798 More Common Minification Updates
- #1468 Enable fetch automatic dependency tracking by default
- #1805 Finalize and Update the processTelemetry helper functions
What's Changed
- remove article link in the ReadMe by @Karlie-777 in #1771
- Allow including custom properties in useTrackMetric by @simonurmi in #1779
- Merge remote-tracking branch 'upstream/beta' into MSNev/MergeBetaToMaster by @MSNev in #1791
- Master Minification Improvements by @MSNev in #1793
- Minification - Change to only use const enums internally by @MSNev in #1796
- More Common Minification Updates by @MSNev in #1798
- Enable fetch automatic dependency tracking by default by @hectorhdzg in #1468
- Finalize and Update the processTelemetry helper functions by @MSNev in #1805
- [Release] Increase version to v2.8.0 by @MSNev in #1806
New Contributors
- @simonurmi made their first contribution in #1779
Full Changelog: 2.7.4...2.8.0
2.7.4
- Updates React Plugin to v3.2.4 (with v2.7.4 as dependency)
- Updates React Native Plugin to 2.4.4 (with v2.7.4 as dependency)
- Updates Chrome Debug Extension to 0.2.4
This release is primarily a performance improvement release where we will now use any built in (or provided polyfill) function
over the internal polyfills for
- String trim()
- String endsWith()
- String startsWith()
- Additional Date toISOString()
- Array isArray()
- Array indexOf()
- Array map()
- Array reduce()
- Object freeze()
- Object seal()
Changelog - RELEASES.md
- #1754 update react plugin readme
- #1758 Additional Performance enhancements to use provided functions rather than internal polyfill's
What's Changed
- update react plugin readme by @Karlie-777 in #1754
- Update version update script to support default "next" release version (major/minor) not just patch by @MSNev in #1756
- Additional Performance enhancements to use provided functions rather than internal polyfill's by @MSNev in #1758
- [BUG] 2.7.4-nightly.2202-03 builds have a bug where objKeys() is not returning the keys #1763 by @MSNev in #1764
- Another fix for objKeys() should be Object.keys() by @MSNev in #1765
- Update version.json - [master] next version should be a patch not a minor bump by @MSNev in #1767
- [Release] Increase version to 2.7.4 by @MSNev in #1770
Full Changelog: 2.7.3...2.7.4
2.7.3
- Updates the @microsoft/applicationinsights-shims module to 2.0.1
- Updates React Plugin to v3.2.3 (with v2.7.3 as dependency)
- Updates React Native Plugin to 2.4.3 (with v2.7.3 as dependency)
- Updates Chrome Debug Extension to 0.2.3
ChangeLog - RELEASES.md
- #1735 [BUG] Dependency tracking is disabled when using an Embedded IE browser control
- #1736 [BUG] New Fetch keepAlive support can cause duplicate events to be sent during unload processing
- #1745 [Documentation] Document the deployed Module formats and release process
- #1746 [Documentation] Update AISku Size tracking
- #1744 Address CodeQL issues from https://github.com/microsoft/ApplicationInights-JS/security/code-scanning
- Update to Rush 5.61.3 and NPM 8.4.0
- #1750 [Performance] Use the Date.toISOString() native function if it exists
- #1753 [Performance] Cache the result of the getGlobal() to reduce the number of typeof expressions
What's Changed
- In getting IE version, prefer Trident version over MSIE version. by @cfeltner in #1726
- Document the deployed Module formats and release process by @MSNev in #1745
- [BUG] New Fetch keepAlive support can cause duplicate events to be sent during unload processing #1736 by @MSNev in #1743
- Update AISku Size tracking by @MSNev in #1746
- Address CodeQL issues from https://github.com/microsoft/ApplicationInights-JS/security/code-scanning by @MSNev in #1744
- [Performance] Use the Date.toISOString() native function if it exists #1750 by @MSNev in #1751
- [Release] Increase version to 2.7.3 by @MSNev in #1752
New Contributors
Full Changelog: 2.7.0...2.7.3
2.7.2
ChangeLog - RELEASES.md
Issues
- #1729 [BUG] Addition of stdDev metric support has broken custom metric reporting from #1680
- #1727 [BUG] Cannot track exception from service worker
- #1731 Component Governance - Upgrade to npm v8.1.4
What's Changed
- Karlie/refactor ai SKU test and add PerfTest by @Karlie-777 in #1707
- Address Security issues identified by internal component governance services by @MSNev in #1715
- TelemetryViewer: Add Chrome debug extension to master by @MSNev in #1713
- Update Chrome Debug Extension setActiveVersion script to expect 2 files by @MSNev in #1718
- Fix setActiveVersion script for unversion deployment of release with a pre release tag by @MSNev in #1719
- [Chrome-ext] Update nightly download link and add version check by @MSNev in #1720
- add configuration for account.microsoft.com by @techtor in #1725
- Update README.md by @KevBrown-MSFT in #1728
- [BUG] Cannot track exception from service worker #1727 by @MSNev in #1732
- [BUG] Addition of stdDev metric support has broken custom metric reporting from #1680 #1729 by @MSNev in #1730
- Component Governance - Upgrade to npm v8.1.4 by @MSNev in #1731
- [Release] Increase version to 2.7.2 by @MSNev in #1733
New Contributors
- @techtor made their first contribution in #1725
- @KevBrown-MSFT made their first contribution in #1728
Full Changelog: 2.7.1...2.7.2
2.7.1
ChangeLog - RELEASES.md
What's Changed
- Update Release script to provide better automated creation of nightly builds by @MSNev in #1664
- Update Perf Mark and Measure documentation and some exports by @MSNev in #1666
- Enable EsLint auto fixing rules for extra-semicolons, dangling commas and tailing spaces by @MSNev in #1669
- Refactor publishing script to combine shared content and support separate nightly container. by @MSNev in #1677
- expose internal log poller by @kryalama in #1674
- Update publishing list scripts to support new containers by @MSNev in #1682
- [BUG] When using Multiple instances of AI only the first instance is correctly reporting ajax events #1655 by @MSNev in #1686
- Add support to optionally configure the events used for detecting and handling when page unload and flushing occurs #1683 by @MSNev in #1684
- Update AISKU Readme with missed published versions by @MSNev in #1685
- Enable "Pause" and "Resume" of sending of messages #1093 by @MSNev in #1688
- Enable some more automatic eslint fixes by @MSNev in #1690
- [BUG] Field 'ai.operation.name' on type 'ContextTagKeys' is too long Expected: 1024 characters #1692 by @MSNev in #1693
- [BUG] Multiple errors are getting thrown and swallowed during initialization when no instrumentation Key is provided #1691 by @MSNev in #1695
- Governance Updates -- update used dependencies by @MSNev in #1694
- Update package.json to include the repository by @v-gjy in #1696
- add trackTrace and expose analytics extension to react plugin by @kryalama in #1697
- DiagnosticLogger: Fix typo in defining the console function by @MSNev in #1699
- fix readme traceID generate method by @Karlie-777 in #1687
- [BUG] trackMetric does not track stdDev nor sum #1680 by @MSNev in #1701
- [Release] Increase version to 2.7.1 by @MSNev in #1708
New Contributors
Full Changelog: 2.7.0...2.7.1
2.7.0
Major change: Upgrades build environment to TypeScript 4.x
- No known breaking, configuration or definition changes
Changelog
- #1640 [BUG] enableAjaxErrorStatusText: false (which is the default setting) does not turn off logging error response body
- #1642 trackEvent() doesn't allow replacing the iKey
- #1647 [BUG] customProperties parameter missing from trackException function
- #1648 Update error reporting when a plugin throws an exception
- #1650 [DebugPlugin] Add an option to disable DebugPlugin processTelemetry logging
- #1653 Some requests are returning a CORB error for responses containing text content type
- The warning is only being reported via the sendBeacon request, therefore not loss of events
- Changes the 'unload' operations to try and use fetch with keepalive if available, fallsback to sendBeacon()
- Also attempts to send as manay events as possible via sendBeacon, when the payload size is > 64kb
- #1656 [BUG] 'Cannot use 'in' operator to search for 'ver' in Timeout', name: 'TypeError'}
- #1660 [BUG] ITelemetryTrace parentId cannot be set to undefined
Includes: 2.7.0-beta.1 Milestone
- #1171 Update to TypeScript 4.x
- #1526 [TypeScript Compile Error] Property 'sessionManager' does not exist on type 'ITelemetryContext'
- #1627 Add sesId to allow access to sessionManager session info
- #1471 Convert undefined to blank in customDimensions?
- #1630 Convert undefined custom properties to empty string
- #1585 ai_user cookie not present after re-enabling the cookie
- #1561 How to enrich dependencies logs with context at the beginning of api call?
- #1624 Provide a way to enrich dependencies logs with context at the beginning of api call
- #1633 Add GitHub Automated Lock closed issue action
2.7.0-beta.1
Changelog
- #617 Add performance.mark and performance.measure for performance browser tool integration
- #1171 Update to TypeScript 4.x
- #1526 [TypeScript Compile Error] Property 'sessionManager' does not exist on type 'ITelemetryContext'
- #1627 Add sesId to allow access to sessionManager session info
- #1471 Convert undefined to blank in customDimensions?
- #1630 Convert undefined custom properties to empty string
- #1585 ai_user cookie not present after reenabling the cookie
- #1561 How to enrich dependencies logs with context at the beginning of api call?
- #1624 Provide a way to enrich dependencies logs with context at the beginning of api call
- #1633 Add GitHub Automated Lock closed issue action
Update React plugin to v3.2.0-beta.1
- Update Core dependency to v2.7.0-beta.1 Core changes
Update React Native plugin to v2.4.0-beta.1
- Update Core dependency to v2.7.0-beta.1 Core changes
2.6.5
Changelog
- #1608 [BUG] empty messages for unhandled promise rejections
- #1610 [BUG] error logging an error--need to null-check reason
- #1621 [Task] Create and publish Sub Resource Integrity (SRI) hashes for the generated scripts
- #1607 Remove AngularPlugin code from master and direct to new repo and angularplugin-legacy branch
- #1606 Split Tests into Unit / Perf and update all active tests to use common test project
- #1613 Update Dependencies
- #1617 Add Stale Issue / PR GitHub Action