Skip to content
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

Prepare release v11.0.1 #840

Merged
merged 4 commits into from
Nov 11, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
5 changes: 5 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
11.0.1 (November 8, 2024)
- Bugfixing - Revert removal of TypeScript `SplitIO` namespace at `/types/splitio.d.ts` to allow explicit imports of types from the JavaScript SDK package. E.g., `import type { IBrowserSettings } from '@splitsoftware/splitio/types/splitio';`.

11.0.0 (November 1, 2024)
- Added support for targeting rules based on large segments for browsers (client-side API).
- 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.
- Renamed distribution folders from `/lib` to `/cjs` for CommonJS build, and `/es` to `/esm` for ECMAScript Modules build.
- BREAKING CHANGES:
- NOTE: Refer to ./MIGRATION-GUIDE.md for instructions on how to migrate your codebase from version 0.x to 1.0.0.
- Dropped support for Split Proxy below version 5.9.0, when using in the browser (client-side API). The SDK now requires Split Proxy 5.9.0 or above.
- Dropped support for NodeJS v6. The SDK now requires NodeJS v14 or above.
- Removed TypeScript `SplitIO` namespace from `@splitsoftware/splitio/types/splitio`. Reverted in 11.0.1.
- 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 `GOOGLE_ANALYTICS_TO_SPLIT` and `SPLIT_TO_GOOGLE_ANALYTICS` integrations. The `integrations` configuration option has been removed from the SDK factory configuration, along with the associated interfaces in the TypeScript definitions.
- Removed the `core.trafficType` configuration option (`SplitIO.IBrowserSettings['core']['trafficType]`) and the `trafficType` parameter from the SDK `client()` method in Browser (`SplitIO.IBrowserSDK['client']`). As a result, traffic types can no longer be bound to SDK clients, and the traffic type must be provided in the `track` method.
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@splitsoftware/splitio",
"version": "11.0.0",
"version": "11.0.1",
"description": "Split SDK",
"files": [
"README.md",
Expand Down
2 changes: 1 addition & 1 deletion src/settings/defaults/version.js
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const packageVersion = '11.0.0';
export const packageVersion = '11.0.1';
8 changes: 8 additions & 0 deletions ts-tests/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,17 @@
* @author Nico Zelaya <[email protected]>
*/

import type * as SplitTypes from '../types/splitio';

import { SplitFactory } from '../types/index';
import { SplitFactory as SplitFactoryCS } from '../types/client';
import { SplitFactory as SplitFactorySS } from '../types/server';

// Validate that the SplitIO namespace is available and matches the types when imported explicitly
let ambientType: SplitIO.ISDK;
let importedType: SplitTypes.ISDK;
ambientType = importedType;

let stringPromise: Promise<string>;
let splitNamesPromise: Promise<SplitIO.SplitNames>;
let splitViewPromise: Promise<SplitIO.SplitView>;
Expand Down Expand Up @@ -468,6 +475,7 @@ let attr: SplitIO.Attributes = {
stringArrayAttribute: ['value1', 'value2'],
numberArrayAttribute: [1, 2]
}
let attr2: SplitTypes.Attributes = attr;

stored = browserClient.setAttributes(attr);
let storedAttr: SplitIO.Attributes = browserClient.getAttributes();
Expand Down
2 changes: 1 addition & 1 deletion types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// Project: http://www.split.io/
// Definitions by: Nico Zelaya <https://github.com/NicoZelaya/>

import '@splitsoftware/splitio-commons';
/// <reference path="./splitio.d.ts" />

export = JsSdk;

Expand Down
6 changes: 6 additions & 0 deletions types/splitio.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// Type definitions for JavaScript and NodeJS Split Software SDK

import '@splitsoftware/splitio-commons';

export as namespace SplitIO;
export = SplitIO;
Loading