Skip to content

Breaking changes #127

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Nov 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
9a787a8
Upgrade JS-commons. Updated type definitions & tests
EmilianoSanchez Oct 14, 2024
cfd4859
Revert some removed type definitions
EmilianoSanchez Oct 14, 2024
982bff3
Add type definition comment
EmilianoSanchez Oct 14, 2024
4c5f3c6
rc
EmilianoSanchez Oct 23, 2024
f0b7dfe
Remove sync.localhostMode option and validation utils
EmilianoSanchez Oct 25, 2024
23668a9
Remove 'full' subpackage, since there is not significant difference w…
EmilianoSanchez Oct 25, 2024
b935a91
1st step: move SplitIO namespace definition from Browser SDK to JS-Co…
EmilianoSanchez Oct 25, 2024
d5104b5
update JS-commons
EmilianoSanchez Oct 25, 2024
59106de
Merge branch 'remove_pluggable_localhost_mode' into remove_full_entry…
EmilianoSanchez Oct 25, 2024
d9a18dd
Update changelog entry
EmilianoSanchez Oct 25, 2024
1d4444c
Merge branch 'remove_pluggable_localhost_mode' into remove_full_entry…
EmilianoSanchez Oct 25, 2024
a331623
Merge branch 'remove_full_entrypoint' into refactor_type_definitions
EmilianoSanchez Oct 25, 2024
dabfdab
2nd step: move SplitIO namespace definition from React Native SDK to …
EmilianoSanchez Oct 25, 2024
3e5d640
3rd step: move SplitIO namespace definition from JS SDK to JS-Commons…
EmilianoSanchez Oct 26, 2024
41519cd
rc
EmilianoSanchez Oct 26, 2024
1fedc69
Update eslint config
EmilianoSanchez Oct 28, 2024
eb06c6a
Update comments
EmilianoSanchez Oct 28, 2024
cca40d9
Add TSDoc linter rules
EmilianoSanchez Oct 29, 2024
cf7c9c7
rc
EmilianoSanchez Oct 29, 2024
558dd0a
Fixes
EmilianoSanchez Oct 29, 2024
4cfbd3b
Merge pull request #128 from splitio/remove_pluggable_localhost_mode
EmilianoSanchez Oct 31, 2024
0ee9331
Revert "Remove 'full' subpackage, since there is not significant diff…
EmilianoSanchez Oct 31, 2024
32fed5c
Merge branch 'breaking_changes' into refactor_type_definitions
EmilianoSanchez Oct 31, 2024
752f1c4
Update ts test
EmilianoSanchez Oct 31, 2024
c7be832
Upgrade JS-commons
EmilianoSanchez Oct 31, 2024
964235a
rc
EmilianoSanchez Oct 31, 2024
be8b75f
Merge pull request #130 from splitio/refactor_type_definitions
EmilianoSanchez Nov 2, 2024
bfcf5c9
stable version
EmilianoSanchez Nov 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint",
"eslint-plugin-tsdoc",
"import"
],

Expand Down Expand Up @@ -44,7 +45,7 @@
],
"rules": {
"no-restricted-syntax": ["error", "ForOfStatement", "ForInStatement", "ArrayPattern"],
"compat/compat": ["error", "defaults, ie 10"],
"compat/compat": ["error", "defaults"],
"no-throw-literal": "error",
"import/no-default-export": "error",
"import/no-self-import": "error",
Expand All @@ -60,7 +61,14 @@
"files": ["types/**"],
"rules": {
"no-use-before-define": "off",
"no-undef": "off" // turned off to avoid issue with triple-slash path directive
"no-undef": "off" // turned off to avoid issue with SplitIO namespace not defined
}
},
{
// Enable TSDoc rules for TypeScript files, allowing the use of JSDoc in JS files.
"files": ["**/*.ts"],
"rules": {
"tsdoc/syntax": "warn"
}
}
],
Expand Down
18 changes: 11 additions & 7 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
0.16.0 (September XX, 2024)
- Added `factory.destroy()` method, which invokes the `destroy` method on all SDK clients created by the factory.
- Updated @splitsoftware/splitio-commons package to version 1.18.0 that includes minor updates:
- Added support for targeting rules based on large segments for browsers.
- Updated some transitive dependencies for vulnerability fixes.
1.0.0 (November 1, 2024)
- Added support for targeting rules based on large segments for browsers.
- Added `factory.destroy()` method, which invokes the `destroy` method of all clients created by the factory.
- Updated @splitsoftware/splitio-commons package to version 2.0.0 that includes major updates and updated some transitive dependencies for vulnerability fixes.
- BREAKING CHANGES:
- Renamed some TypeScript definitions in the SplitIO namespace to avoid conflicts with other Split packages: `SplitIO.IBrowserSettings` to `SplitIO.IClientSideSettings`, `SplitIO.IBrowserAsyncSettings` to `SplitIO.IClientSideAsyncSettings`, `SplitIO.ISDK` to `SplitIO.IBrowserSDK`, and `SplitIO.IAsyncSDK` to `SplitIO.IBrowserAsyncSDK`.
- Removed internal ponyfills for the `Map` and `Set` global objects, dropping support for IE and other outdated browsers. The SDK now requires the runtime environment to support these features natively or provide a polyfill.
- Removed the deprecated `GoogleAnalyticsToSplit` and `SplitToGoogleAnalytics` pluggable integration modules, along with the related interfaces in the TypeScript definitions.
- Removed the `LocalhostFromObject` export from the default import (`import { LocalhostFromObject } from '@splitsoftware/splitio-browserjs'`). It is no longer necessary to manually import and configure it in the `sync.localhostMode` option to enable localhost mode.

0.15.0 (September 13, 2024)
- Updated @splitsoftware/splitio-commons package to version 1.17.0 that includes minor updates:
Expand Down Expand Up @@ -58,7 +62,7 @@
- Updated some transitive dependencies for vulnerability fixes.
- Updated @splitsoftware/splitio-commons package to version 1.8.3 that includes:
- Updated SDK_READY_TIMED_OUT event to be emitted immediately when a connection error occurs using pluggable storage (i.e., when the wrapper `connect` promise is rejected) in consumer and partial consumer modes.
- Bugfixing - The `destroy` method has been updated to immediately flag the SDK client as destroyed, to prevent unexpected behaviours when `getTreatment` and `track` methods are called synchronously after `destroy` method is called.
- Bugfixing - The `destroy` method has been updated to immediately flag the SDK client as destroyed, to prevent unexpected behaviors when `getTreatment` and `track` methods are called synchronously after `destroy` method is called.

0.9.5 (May 15, 2023)
- Updated @splitsoftware/splitio-commons package to version 1.8.2 that includes minor improvements.
Expand All @@ -68,7 +72,7 @@

0.9.4 (May 4, 2023)
- Updated some transitive dependencies for vulnerability fixes.
- Bugfixing - Updated `unfetch` package as a runtime dependency, required when using the "full" entrypoint (`import { SplitFactory } from '@splitsoftware/splitio-browserjs/full'`).
- Bugfixing - Updated `unfetch` package as a runtime dependency, required when using the "full" import (`import { SplitFactory } from '@splitsoftware/splitio-browserjs/full'`).

0.9.3 (March 20, 2023)
- Updated @splitsoftware/splitio-commons package to version 1.8.1 that includes minor improvements.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This SDK is designed to work with Split, the platform for controlled rollouts, w
## Compatibility
The JS Browser SDK is a library for Web browser environments.

The library was build to support ES5 syntax and all major browsers. *However, there are a few polyfills that would be required when targeting old browsers that don't have native support for Promises and Fetch Web API. You should include a Promise polyfill like [es6-promise](https://github.com/stefanpenner/es6-promise), and a Fetch polyfill such as [whatwg-fetch](https://cdn.jsdelivr.net/npm/whatwg-fetch@3.5.0/dist/fetch.umd.min.js) or the lightweight [unfetch](https://unpkg.com/unfetch/polyfill).*
The library was build to support ES5 syntax and all major browsers. *However, there are a few polyfills that would be required when targeting old browsers that don't have native support for Promises, Maps, Sets and Fetch Web API. You should include a polyfill, like [es6-promise](https://github.com/stefanpenner/es6-promise) for Promises, and [whatwg-fetch](https://cdn.jsdelivr.net/npm/whatwg-fetch@3.5.0/dist/fetch.umd.min.js) or the lightweight [unfetch](https://unpkg.com/unfetch/polyfill) for the Fetch API.*

## Getting started
Below is a simple index.js example that describes the instantiation and most basic usage of our SDK:
Expand Down
20 changes: 0 additions & 20 deletions karma/e2e.gaIntegration.karma.conf.js

This file was deleted.

Loading
Loading