Skip to content

Release 7.18.0 - #774

Merged
rolljee merged 9 commits into
masterfrom
beta
Sep 30, 2026
Merged

rolljee merged 9 commits into
masterfrom
beta

Conversation

@rolljee

@rolljee rolljee commented Sep 30, 2026

Copy link
Copy Markdown
Member

Promotes 7.18.0-beta.1 to stable: the API contract types come from kuzzle-types ^1.0.0 (#771, #772), not breaking; React getting started restored (#770).

Validated on the published betas (kuzzle@2.58.0-beta.1 + kuzzle-sdk@7.18.0-beta.1): kuzzle-device-manager 2.12.0 (sources + tests) and kuzzle-plugin-commons 1.3.1 (type-check + build) compile against them.

No CI on this PR: the head of beta is semantic-release's [skip ci] release commit, which only touches CHANGELOG.md and the version in package.json / package-lock.json on top of the CI-tested #773 (green).

🤖 Generated with Claude Code

rolljee and others added 9 commits September 18, 2026 16:53
The React getting started pages were removed in 2e439ab because they
were outdated, which left /sdk/js/7/getting-started/react/* answering a
404 to every inbound link (#590).

They are restored here, rewritten against a current stack:

- Vite instead of create-react-app, Node 20 instead of Node 8
- function components and hooks instead of class components
- Redux Toolkit instead of hand-written actions/reducers + redux-saga
- the realtime subscription is opened before the history is fetched and
  is closed on unmount, so no message is lost and Strict Mode does not
  leak a room

Snippets are plain files, like the node-js and raw-web pages, instead of
symlinks into a full CRA application with its own Cypress suite.

react-native is deliberately left out.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…started

docs(getting-started): restore the React getting started, modernized
The types of src/types (JSONObject, KDocument*, RequestPayload / ResponsePayload, Notification, mappings, security definitions, m* requests and responses...) now come from kuzzle-types, the types-only package the server and the SDK share (Kuzzle ADR-0002 step 03). Every file of src/types stays, as a type re-export under the same names, so deep imports keep working.

Document stays here: it is a class, a runtime value, which kuzzle-types declares as an interface. DocumentHit, which extends it, stays too.

Not breaking: the 139 exported names and their kinds are unchanged, the 27 runtime exports are unchanged, and each contract type is identical to kuzzle-sdk 7.17.1's (Document included).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…anged

test/types/kuzzle-types.ts, type-checked in strict mode against the built declarations by `npm run test:types` (run in the unit-tests CI action after the build): every contract type is still exported, identical to kuzzle-types' — which asserts they are kuzzle-sdk 7.17.1's. Checked it bites.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat: take the API contract types from kuzzle-types
kuzzle-types 1.0.0 is published (kuzzleio/types#3): no prerelease runtime dependency in the SDK's next stable release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
build: depend on the stable kuzzle-types ^1.0.0
## [7.18.0-beta.1](v7.17.1...v7.18.0-beta.1) (2026-09-30)

### Features

* take the API contract types from kuzzle-types ([8354c80](8354c80))
@rolljee
rolljee merged commit 352e146 into master Sep 30, 2026
5 of 6 checks passed
@kuzzle

kuzzle commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 7.18.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants