Skip to content

Commit

Permalink
[Release] Increase version to v2.8.0 (#1806)
Browse files Browse the repository at this point in the history
  • Loading branch information
MSNev authored Apr 18, 2022
1 parent 3e8ed3c commit 64b7c7a
Show file tree
Hide file tree
Showing 27 changed files with 368 additions and 520 deletions.
2 changes: 1 addition & 1 deletion AISKU/Tests/Perf/src/AISKUPerf.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export class AppInsightsInitPerfTestClass {
* should update version after new release
* version with doperf(): after 2.5.6
* */
var defaultVer = "2.7.4";
var defaultVer = "2.8.0";
this.version = ver? ver:this._getQueryParameterVersion(defaultVer);
this.perfEventsBuffer = [];
this.perfEventWaitBuffer = [];
Expand Down
14 changes: 7 additions & 7 deletions AISKU/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@microsoft/applicationinsights-web",
"version": "2.7.4",
"version": "2.8.0",
"description": "Microsoft Application Insights JavaScript SDK - Web",
"homepage": "https://github.com/microsoft/ApplicationInsights-JS#readme",
"author": "Microsoft Application Insights Team",
Expand Down Expand Up @@ -66,12 +66,12 @@
"dependencies": {
"@microsoft/dynamicproto-js": "^1.1.4",
"@microsoft/applicationinsights-shims": "2.0.1",
"@microsoft/applicationinsights-analytics-js": "2.7.4",
"@microsoft/applicationinsights-channel-js": "2.7.4",
"@microsoft/applicationinsights-common": "2.7.4",
"@microsoft/applicationinsights-core-js": "2.7.4",
"@microsoft/applicationinsights-dependencies-js": "2.7.4",
"@microsoft/applicationinsights-properties-js": "2.7.4"
"@microsoft/applicationinsights-analytics-js": "2.8.0",
"@microsoft/applicationinsights-channel-js": "2.8.0",
"@microsoft/applicationinsights-common": "2.8.0",
"@microsoft/applicationinsights-core-js": "2.8.0",
"@microsoft/applicationinsights-dependencies-js": "2.8.0",
"@microsoft/applicationinsights-properties-js": "2.8.0"
},
"license": "MIT"
}
8 changes: 4 additions & 4 deletions AISKULight/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@microsoft/applicationinsights-web-basic",
"version": "2.7.4",
"version": "2.8.0",
"description": "Microsoft Application Insights Javascript SDK core and channel",
"homepage": "https://github.com/microsoft/ApplicationInsights-JS#readme",
"author": "Microsoft Application Insights Team",
Expand Down Expand Up @@ -51,9 +51,9 @@
"dependencies": {
"@microsoft/dynamicproto-js": "^1.1.4",
"@microsoft/applicationinsights-shims": "2.0.1",
"@microsoft/applicationinsights-common": "2.7.4",
"@microsoft/applicationinsights-channel-js": "2.7.4",
"@microsoft/applicationinsights-core-js": "2.7.4"
"@microsoft/applicationinsights-common": "2.8.0",
"@microsoft/applicationinsights-channel-js": "2.8.0",
"@microsoft/applicationinsights-core-js": "2.8.0"
},
"license": "MIT"
}
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -633,6 +633,8 @@ It is expected that most users will be using the `Public` URL, however, it is al
--- | --- | --- | --- | --- |
Latest ✔ | Latest ✔ | 9+ Full ✔<br>8- Compatible | Latest ✔ | Latest ✔ |
> Note: ES3/IE8 compatibility will be removed in the future v3.x.x releases (scheduled for mid-late 2022), so if you need to retain ES3 compatibility you will need to remain on the 2.x.x versions of the SDK or your runtime will need install polyfill's to your ES3 environment before loading / initializing the SDK.
## Contributing
Read our [contributing guide](./CONTRIBUTING.md) to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Application Insights.
Expand Down Expand Up @@ -660,6 +662,8 @@ git push
## ES3/IE8 Compatibility
> Future releases of the SDK numbered v3.x.x will be removing ES3 (IE8) support, so if you need to retain ES3 compatibility for your environment you will need to remain on the 2.x.x versions of the SDK or your runtime will need install polyfill's to your ES3 environment before loading / initializing the SDK.
As an SDK there are numerous users which cannot control the browsers that their customers use. As such we need to ensure that this SDK continues to "work" and does not break the JS execution when loaded by an older browser. While it would be ideal to just not support IE8 and older generation (ES3) browsers there are numerous large customers/users that continue to require pages to "work" and as noted they may or cannot control which browser that their end users choose to use.
This does NOT mean that we will only support the lowest common set of features, just that we need to maintain ES3 code compatibility and when adding new features they will need to be added in a manner that would not break ES3 Javascript parsing and added as an optional feature.
Expand Down
79 changes: 79 additions & 0 deletions RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,84 @@
# Releases

> Note: ES3/IE8 compatibility will be removed in the future v3.x.x releases (scheduled for mid-late 2022), so if you need to retain ES3 compatibility you will need to remain on the 2.x.x versions of the SDK or your runtime will need install polyfill's to your ES3 environment before loading / initializing the SDK.
## 2.8.0 (Apr 16th, 2022)

- 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

### 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 the `analytics` plugin (@microsoft/applicationinsights-analytics-js) using the `appInsights.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(...)` and `eventOff(...)` 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)`
- `fetch` Ajax tracking was also been change to be on by default from this version moving forward, if you are running in an environment without `fetch` 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` and `XHR` requests) being reported you WILL need to add `disableFetchTracking` with a value of `true` to your configuration to disable this functionality.
- The standard name fro the `analytics` plugin @microsoft/applicationinsights-analytics-js has been renamed and is now exported as `AnalyticsPlugin`, for backward compatibility it is also exported as it's previous name `ApplicationInsights`, 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](https://github.com/microsoft/ApplicationInsights-JS/tree/master/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 the the size of this change, the above date is the NPM release date and CDN deployment will be over an extended period.
### 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` into `master`
* 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

## 2.7.4 (Feb 28th, 2022)

- Updates React Plugin to v3.2.4 (with v2.7.4 as dependency)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -699,7 +699,7 @@ export class SenderTests extends AITestClass {
QUnit.assert.ok(baseData.ver);
QUnit.assert.equal(2, baseData.ver);

QUnit.assert.equal("javascript:2.7.4", appInsightsEnvelope.tags["ai.internal.sdkVersion"]);
QUnit.assert.equal("javascript:2.8.0", appInsightsEnvelope.tags["ai.internal.sdkVersion"]);
}
})

Expand Down
6 changes: 3 additions & 3 deletions channels/applicationinsights-channel-js/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@microsoft/applicationinsights-channel-js",
"version": "2.7.4",
"version": "2.8.0",
"description": "Microsoft Application Insights JavaScript SDK Channel",
"homepage": "https://github.com/microsoft/ApplicationInsights-JS#readme",
"author": "Microsoft Application Insights Team",
Expand Down Expand Up @@ -47,8 +47,8 @@
"dependencies": {
"@microsoft/dynamicproto-js": "^1.1.4",
"@microsoft/applicationinsights-shims": "2.0.1",
"@microsoft/applicationinsights-core-js": "2.7.4",
"@microsoft/applicationinsights-common": "2.7.4"
"@microsoft/applicationinsights-core-js": "2.8.0",
"@microsoft/applicationinsights-common": "2.8.0"
},
"license": "MIT"
}
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ function EnvelopeCreatorInit(logger: IDiagnosticLogger, telemetryItem: ITelemetr
}

export const EnvelopeCreator = {
Version: "2.7.4"
Version: "2.8.0"
};

export function DependencyEnvelopeCreator(logger: IDiagnosticLogger, telemetryItem: ITelemetryItem, customUndefinedValue?: any): IEnvelope {
Expand Down
Loading

0 comments on commit 64b7c7a

Please sign in to comment.