## v5.4.2 - 2026-02-10

- Chore: upgrade API documentation system

## v5.4.1 - 2025-11-18

- Fix: do to not send abort message to requester when acknowledge is false

## v5.4.0 - 2025-11-07

- Feat: expose `BaseStateManager.validateClassDescription` method
- Feat: implement acknowledge modifier for shared state parameters

## v5.3.0 - 2025-08-14

- Fix: add try / catch block around detach and delete callbacks
- Fix: throw if calling `SharedState#onDelete` on attached instance

## v5.2.1 - 2025-08-11

- Fix: Use CancelablePromise to cancel pending promise rather than reject when a state is deleted

## v5.2.0 - 2025-05-05

- Feat: add ServerStateManager#isClassDefined method
- Fix: Remove class description cache mechanism to avoid possible concurrency issues when recreating a SharedStateClass with same name

## v5.1.1 - 2025-04-28

- Hotfix: run behind https proxy

## v5.1.0 - 2025-02-19

- Feat: add SharedStateCollection reduce

## v5.0.3 - 2025-02-13

- Fix: unexpected error when getting description of shared state class with required parameter

## v5.0.0 - 2025-01-30

### Breaking

_Note that most breaking changes won't break but trigger a warning._

Change `SharedState` semantics:

- rename `SharedStateClassSchema` to `SharedStateClassDescription`
- rename `SharedState#schemaName` to `SharedState#className`
- rename `SharedState#getSchema()` to `SharedState#getDescription()`
- rename `SharedStateCollection#schemaName` to `SharedStateCollection#className`
- rename `SharedStateCollection#getSchema()` to `SharedStateCollection#getDescription()`
- rename `BaseStateManager.getSchema` to `BaseStateManager.getClassDescription`
- rename `ServerStateManager.registerSchema` to `ServerStateManager.defineClass`
- rename `ServerStateManager.deleteSchema` to `ServerStateManager.deleteClass`
- drop support for `context` in `SharedState.set(updates, context)`
- rename `ClientDescription.target` to `ClientDescription.runtime`
- rename `ServerEnvConfig.subpath` to `ServerEnvConfig.baseUlr`
- move `Server#useDefaultApplicationTemplate` into helpers: `configureHttpRouter(server)`
- review plugin creation API

### Feat

- allow `SharedState.set(key, value)`
- implement `ServerStateManager#registerCreateHook` and `ServerStateManager#registerDeleteHook`
- implement `SharedStateCollection#onChange` --> `onChange`

### Fix

- harmonize all error messages

## v4.0.0-alpha.29 - 2024-09-23

- Feat: add required option for SharedState parameter
- Chore: Renamed all classes to avoid namespace in doc and improve typescript support
- Chore: improve shared states abstractions naming

## v4.0.0-alpha.28 - 2024-09-06

- Fix: make it can work without `node_modules` when bundled to `.cjs` for use in Max

## v4.0.0-alpha.27 - 2024-09-06

- Fix: assign to `const`

## v4.0.0-alpha.26 - 2024-09-05

- Fix: improve reconnect strategy in case of socket connection failure

## v4.0.0-alpha.25 - 2024-05-24

- Fix: better default behavior for WebSocket connection URL

## v4.0.0-alpha.24 - 2024-05-24

- Fix: unexpected behavior with new `serverAddress` behavior on browser clients and self-signed certificates

## v4.0.0-alpha.23 - 2024-05-24

- Breaking: remove binary socket
- Fix: do not terminate socket on missed heartbeat, which seems to create false positive, just warn instead
- Refactor: some work toward upgrading code to ES2022

## v4.0.0-alpha.22 - 2024-05-16

- Feat: allow configuring socket endpoint on browser clients
- Feat: check and warn if version inconsistency between server and client

## v4.0.0-alpha.21 - 2024-05-06

- Fix: prevent multiple 'close' events
- Fix: disable heartbeat check on client-side, was unstable
- Feat: introduce 'local' option for SharedState parameters
- Feat: ability to filter parameters of interest in SharedState

## v4.0.0-alpha.20 - 2024-02-19

- Refactor heartbeat - #86
- Refactor state collection - #85
- Fix issue with self signed certs and config generated by wizard - #84

## v4.0.0-alpha.19 - 2024-01-17

- Hot fix for #85

## v4.0.0-alpha.18 - 2024-01-15

- Batch network message for SharedStates

## v4.0.0-alpha.17 - 2023-12-16

- Support bundling the server to common js for Max externals

## v4.0.0-alpha.16 - 2023-12-15

- Improve StateCollection performances

## v4.0.0-alpha.15 - 2023-12-13

- Fix several issues with shared states
- **Breaking Change**: by default, `StateManager::observe` and `SharedStateCollection` now retrieve locally created states
