Skip to content

3.0.0

Compare
Choose a tag to compare
@MSNev MSNev released this 12 Apr 21:52
· 175 commits to main since this release
053a8a0

Major release with breaking changes from v2.x see v3.x Breaking Changes for details.

Maintained from the main branch, v2.x is in maintenance mode on the master branch

Changelog

  • All code from 2.8.12 has been merged into the main branch and therefore this release

Major Changes

  • Removed ES3 (IE8) Support

  • Enabled dynamic config changes after initialization

    • #1427 Dynamically updating config (for extensions in my case)
  • Too many individual commits to include as most revolve around the breaking changes and enabling dynamic configuration support for each extension

    • All Extensions now share the same configuration object core.config in previous releases each component maintained their own copy with their own default values, now all defaults and configuration values are exposed on the shared config.
    • By default the config object passed in during initialization is NOT the same object as that used as the shared config. Any previous assumptions around this being the same object will now be broken as this was a previously unsupported scenario.
    • All properties of the config object are now using get/set functions (via Object.defineProperty) to allow listeners to be registered (core.onCfgChange and internally onConfigChange) so that the callback function will be called if any referenced config property is changed. Yes, this means you can register your own configuration listener via core.onCfgChange see the AISku Manual Test for an example.
    • All properties present during initialization are converted into dynamic properties and may be monitored, properties added "after" creation (initialization) are not. This is to continue to support IE which does not support Proxy implementation which also means we are not using the Proxy class.
    • Extensions are now responsible for listening and responding to the configuration changes that they want to support
    • Updating the config extensions and channels is NOT supported, you must use the individual plugin add / remove functions if you want to dynamically add / remove extensions / channels
    • Support for parallel channels was removed from the Core and SKU's and extracted to the new TeeChannel, if you require this support you will need to use npm and include this module.
  • v2.x Extension support.

    • While the basic API and support for Backward compatibility for the v2.x extension (plugin) API was maintained, due to the breaking changes (specifically the removal of the namespaced helpers) this will only support self contained components (without recompiling). Any npm module that attempts to import and use a removed helper function will potentially break and will need to be updated to use the newer or replacement helper functions (see the v3.x Breaking Changes for details), if you find an issue and are not able to work around please raise an issue.

What's Changed

  • Merge [master] to [beta] by @MSNev in #1757
  • Merge [master] branch to [beta] and Enable GitHub Actions on [beta] branch by @MSNev in #1762
  • Beta Part 1: Part of Mega Dynamic Load/Unload support by @MSNev in #1766
  • Merge remote-tracking branch 'upstream/master' into beta by @MSNev in #1772
  • Beta Part 2: Part of Mega Dynamic Load/Unload support by @MSNev in #1768
  • Beta Part 3: Part of Mega Dynamic Load/Unload support by @MSNev in #1780
  • Beta Part 4: Part of Mega Dynamic Load/Unload support by @MSNev in #1781
  • Beta Part 5: Part of Mega Dynamic Load/Unload support by @MSNev in #1782
  • AI Beta: Minor bug fixes and additional debug info by @MSNev in #1787
  • Beta Lint fixes: Enable Automatic formatting fixes by @MSNev in #1788
  • Beta Part 6: Part of Mega Dynamic Load/Unload support (#1782) by @MSNev in #1789
  • Beta: Component Governance Updates to address known dependency issues by @MSNev in #1790
  • Merge remote-tracking branch 'origin/master' into MSNev/beta by @MSNev in #1821
  • Update README.md to redirect to Node.JS by @pizzaz93 in #1828
  • Update to dynamicProto v1.1.6 and add manual test page by @MSNev in #1830
  • Extracting HOC tracked component class base for re-use by @bittola in #1829
  • fix: add children prop to error boundary props by @brainrepo in #1834
  • [Release] Increase version to 2.8.3 by @MSNev in #1833
  • deprecate ikey by @Karlie-777 in #1817
  • add web snippet npm package by @Karlie-777 in #1802
  • add disableIkeyMessage config by @Karlie-777 in #1840
  • Adding Microsoft SECURITY.MD by @microsoft-github-policy-service in #1841
  • add snippet readme and update version to 1.0.1 by @Karlie-777 in #1844
  • [master] Task 14447552: Fix Component Governance vulnerabilities by @MSNev in #1838
  • [beta] Task 14447552: Fix Component Governance vulnerabilities by @MSNev in #1839
  • add readme for ikey error messge by @Karlie-777 in #1845
  • Task 7496325: Add Distributed tracing population for the properties for the core #1846 by @MSNev in #1847
  • [Release] Increase version to 2.8.4 by @MSNev in #1849
  • [BUG] Snippet initialization with IE8 fails with minified code (works with un-minified code) #1852 by @MSNev in #1854
  • [BUG] CDN Packaging is not exposing the internal tools (CoreUtils / Telemetry / etc) #1857 by @MSNev in #1858
  • fix stopTrackEvent by @Karlie-777 in #1859
  • Add Automatic Name replacing / Crunching by @MSNev in #1811
  • Address Component Governance issues by @MSNev in #1860
  • [Release] Increase version to 2.8.5 by @MSNev in #1861
  • Update and add legal compliance notices and license terms by @MSNev in #1865
  • Remove React-JS and React-Native code from this repo by @MSNev in #1866
  • Merge master to beta @ 200e0f1 by @MSNev in #1867
  • [BUG] Remote Dependency requests don't "always" have the correct ai.operation.id tag (page view race condition) #1862 by @MSNev in #1869
  • [Beta] Update size tests to automatically use the major number from the current version by @MSNev in #1873
  • [BUG] Performance improvements when calling newGuid multiple times by @MSNev in #1871
  • [Release] Increase version to 2.8.6 by @MSNev in #1872
  • Add clickanalytics plugin url config back by @Karlie-777 in #1874
  • fix(AISKULight): call getSKUDefaults after it's defined, change this.… by @lindsayevans in #1876
  • Merge master to beta @ 6ba2c0d by @MSNev in #1877
  • [JS SDK] Update Retry logic to handle additional response codes by @MSNev in #1878
  • Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1880
  • Cherry-Picking beta fix so merging master -> beta stops breaking nightly beta release by @MSNev in #1881
  • Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1883
  • [Task]15072182: Add the core property as optional to IPlugin by @Karlie-777 in #1884
  • Fix size test auto updating -- the version needs to be the current version for the auto update to work by @MSNev in #1885
  • Merging upstream/master as at ae6daa2 by @MSNev in #1886
  • V3 Beta - Remove Legacy code and ES3 support from V2 SDK by @MSNev in #1888
  • [BUG] Behavior difference for an empty endpointUrl when upgrading from v1 to v2 #1890 by @MSNev in #1891
  • [Beta] Merge 'upstream/master' into beta #1892 by @MSNev in #1894
  • Fix incorrect disableFetchTracking documentation by @FineTralfazz in #1895
  • maxAjaxCallsPerView doesn't account for filtering by TelemetryInitializer #1887 by @MSNev in #1893
  • Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1896
  • [Release] Increase version to 2.8.7 by @MSNev in #1898
  • [Task]15465575: add getErrorstackObj from reason.stack by @Karlie-777 in #1900
  • [Feature] Add option to block the creation and usage of the cookies by name #1901 by @MSNev in #1902
  • [Beta] Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1903
  • Fixed release notes, previously used a deprecated file. by @josephsivits in #1904
  • [Release] Increase version to 2.8.8 by @MSNev in #1909
  • [Beta] Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1910
  • Update PerfTests to use the latest version by @MSNev in #1912
  • [Beta] Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1914
  • [Beta] [AI/1DS] Support dynamic Configuration changes (after the SDK has been initialized) by @MSNev in #1897
  • Fix CodeQL Identified potential Issues by @MSNev in #1915
  • [Beta] Fix removal of _InternalMessageId on signature by @MSNev in #1917
  • [Bug] Fix randomly failing tests by @MSNev in #1916
  • [Beta] Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1918
  • [Beta] Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1919
  • [Task]14569737: add throttle cdn config by @Karlie-777 in #1906
  • Update to DynamicProto v1.1.7 by @MSNev in #1920
  • [Beta] Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1921
  • Uncaught ReferenceError: global is not defined #1911 by @MSNev in #1913
  • [Beta] Rework the Dynamic Handler and default setting to avoid exceptions when not used as expected by @MSNev in #1922
  • [Beta] Uncaught ReferenceError: global is not defined #1911 by @MSNev in #1923
  • [Beta] Fix config deep copy for extensionConfig by @MSNev in #1924
  • [Beta] Fix issue with no NotificationManager during initialization by @MSNev in #1925
  • [Beta] Remove config.extensionConfig.NotificationManager assignment by @MSNev in #1926
  • [Beta] Propagate and throw the swallowed exceptions from watchers by @MSNev in #1927
  • [Beta] Fix issue with updating / setting config when not initialized. by @MSNev in #1928
  • [Beta] Fix issue with updating / setting config when not initialized. by @MSNev in #1929
  • Remove the source-map-loader from the package.json as we don't use it. by @MSNev in #1930
  • [Beta] Fix issue with replacing a value (object) on the config which … by @MSNev in #1933
  • [Shims-Release] Increase version to 2.0.2 by @MSNev in #1934
  • [Task]14569737: Add support to throttle the deprecation message by @Karlie-777 in #1882
  • Update to @microsoft/applicationinsights-shims: 2.0.2 by @MSNev in #1935
  • [Release] Increase version to 2.8.9 by @MSNev in #1936
  • [Beta] Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1937
  • update grunt file to build config by @Karlie-777 in #1939
  • [Beta] Add pluginVersionString properties and getWParam() by @MSNev in #1943
  • [Beta] Fixup log polling by @MSNev in #1944
  • [Beta] Plugin does not wire itself into the Channel Configuration when... by @MSNev in #1945
  • [Beta] Merge remote-tracking branch 'origin/master' into beta by @MSNev in #1946
  • [Beta] Update Rush and component packages by @MSNev in #1955
  • [Beta] Task 16030248: Dynamic config for AILight by @Karlie-777 in #1954
  • Add --no-sandbox to test runs by @MSNev in #1962
  • [Beta] Merge remote-tracking branch 'upstream/master' into beta by @MSNev in #1963
  • [Beta][Task]15982350: Dynamic config for Dependencies plugin by @Karlie-777 in #1957
  • [AI Light][Task]14130466: Instrumentation key API is being deprecated - need to add support by @Karlie-777 in #1956
  • Update QUnit and tests by @MSNev in #1964
  • Update Rush version to address CVE Issues by @MSNev in #1969
  • Fix size check which "nightly" is added to the bundle by @MSNev in #1971
  • [Beta][Task]15982342: Dynamic config for extension click analytics by @Karlie-777 in #1967
  • [Beta][Task]15982296: Dynamic config for Sender by @Karlie-777 in #1966
  • [Beta][Task]15982357: Dynamic config for Properties extension by @Karlie-777 in #1972
  • [Beta][AI] Add tee channel tests by @Karlie-777 in #1968
  • Followup for [Beta][Task]15982357: Dynamic config for Properties extension #1972 by @MSNev in #1976
  • Address dynamic corner-cases - Task 15982357: [Beta] [AI] Dynamic config for Properties extension by @MSNev in #1977
  • [AI][Task]16961420: fix throttleMgr incorrectly fires based on the number of days past by @Karlie-777 in #1981
  • [BUG] Application Insights reports 'not_specified' to Azure when tracking unhandled browser exception #1940 by @MSNev in #1980
  • [Beta][Task]16961420: fix throttleMgr tests by @Karlie-777 in #1978
  • Add the Aborted flag to the dependency initializer / listeners #1970 by @MSNev in #1982
  • update throttle test by @Karlie-777 in #1983
  • [Beta]update throttle test by @Karlie-777 in #1984
  • Merge remote-tracking branch 'upstream/master' into MSNev/beta by @MSNev in #1985
  • [Release] Increase version to 2.8.10 by @MSNev in #1987
  • Update AISku size tracking readme.md by @MSNev in #1988
  • Internal Task 17133116: Add Policheck exclusion file by @MSNev in #1991
  • [Beta] Merge remote-tracking branch 'upstream/master' into beta by @MSNev in #1992
  • [Beta] Add support for setting default values recursively. by @MSNev in #1994
  • change readme by @siyuniu-ms in #1997
  • [Beta] [BUG] SharedWorker does not Instrument fetch correctly #1996 by @MSNev in #2000
  • Documentation updates to address #1794 and #1792 by @siyuniu-ms in #2002
  • [Master] [BUG] SharedWorker does not Instrument fetch correctly #1996 by @MSNev in #2001
  • Add snippet connection string tests by @siyuniu-ms in #1999
  • [Beta][Task]17282501: Add samples by @Karlie-777 in #1998
  • [AI][Task]17099792: Add sample and doc to dependency plugin by @Karlie-777 in #1989
  • [Beta] Merge remote-tracking branch 'upstream/master' into beta by @MSNev in #2003
  • [Beta] Merge remote-tracking branch 'upstream/master' into beta by @MSNev in #2004
  • [Beta][Task]16954171: Dynamic config for ThrottleMgr by @Karlie-777 in #1993
  • add one more restriction on the length of exception #1990 by @siyuniu-ms in #2006
  • [Beta] Make Core configuration Generic so 1DS can override by @MSNev in #2008
  • fetch default value sync #2005 by @siyuniu-ms in #2010
  • [Release] Increase version to 2.8.11 by @MSNev in #2009
  • [Beta] Merge remote-tracking branch 'upstream/master' into beta by @MSNev in #2012
  • [Main] ReadMe updates to prepare for promoting [beta] to [release] by @MSNev in #2015
  • [Main] Fix links for when deployed to microsoft/github.io/ApplicationInsights-JS by @MSNev in #2017
  • [Main] Fix extension / channel not being readonly by @MSNev in #2018
  • [Main] Add support to tag objects to force or block dynamic conversion by @MSNev in #2020
  • [Main] [BUG] The documentation for enableDebug is incorrect, it should reference enableDebugExceptions #2014 by @MSNev in #2021
  • [Main] Add npm-pack and npm-publish tasks by @MSNev in #2033
  • Fix CDN Publishing location by @MSNev in #2039
  • More nightly CDN publishing fixes by @MSNev in #2040
  • [Main][BUG] Don't attempt to send message batch when known to be offline #2034 (#2036) by @MSNev in #2041
  • [Rollup-ES5 Release] Increase version to 1.0.2 by @MSNev in #2043
  • [Main] Update to support tests that don't pass in a core instance by @MSNev in #2044
  • [Master] Merge latest main to master by @MSNev in #2047
  • [Release] Increase version to 3.0.0 by @MSNev in #2048

New Contributors

Full Changelog: 2.8.2...3.0.0