Skip to content

chore(release): new version - #107

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@openwallet-foundation/askar-nodejs@0.7.0

Minor Changes

  • 97808ff: feat: drop the CommonJS build. The packages are now published as ESM only, built with tsdown. This removes the dual package hazard, where a CommonJS and an ESM copy of a package are loaded side by side and instanceof checks fail. CommonJS code can still require() the packages, which now need Node.js 22.12 or newer
  • 94172a7: feat(nodejs): require Node.js 22 or newer and update koffi to v3. Node.js 20 is end of life. koffi 3 installs its native binary from a package for your platform (@koromix/koffi-<platform>) instead of shipping the binaries for all platforms. It also fixes a crash of Node.js 24.14 and newer when exiting after an async Askar call or a custom logger. The native handles of keys and entry lists (handle.handle) are now BigInts. JSON.stringify writes a handle as a string

Patch Changes

  • 740cdd2: fix: free native memory that leaked. Node.js and React Native now free the strings that Askar returns. React Native frees the state of every async call, and Node.js unregisters the custom logger callback when Askar rejects it. Store.scan frees the entry lists it reads, and the Session fetch methods free their list when reading it fails. EcdhEs and Ecdh1PU free the keys they create, also when encrypting or decrypting fails. Store.copyTo closes the copy that Askar opens. askarNodeJS.version() now returns the version instead of a pointer, and calling fetchAll on a Scan a second time starts a new scan instead of using the freed one
  • 2417b04: fix(nodejs): update koffi to 3.3.6, which fixes the memory leak when decoding arrays with a length, and remove the workaround for it.
  • 8643f17: fix: stop leaking about 20 bytes of native memory each time Node.js reads bytes from Askar, such as a signature, a public key, a ciphertext or an entry value. koffi leaked them on every koffi.decode call with a length
  • 740cdd2: fix(nodejs): setCustomLogger threw a koffi type error and never set the logger, and with enabled or flush set to true it would have crashed the process. Askar expects callbacks for these, not booleans. Both options are now deprecated and have no effect: use logLevel to filter the logs
  • Updated dependencies [97808ff]
  • Updated dependencies [740cdd2]
  • Updated dependencies [94172a7]
  • Updated dependencies [740cdd2]
  • Updated dependencies [d9b8fe6]
    • @openwallet-foundation/askar-shared@0.7.0

@openwallet-foundation/askar-react-native@0.7.0

Minor Changes

  • 97808ff: feat: drop the CommonJS build. The packages are now published as ESM only, built with tsdown. This removes the dual package hazard, where a CommonJS and an ESM copy of a package are loaded side by side and instanceof checks fail. CommonJS code can still require() the packages, which now need Node.js 22.12 or newer
  • d9b8fe6: feat: Store.listOpenSessions, Store.listOpenScans and keyGetSupportedBackends on React Native. keyGetSupportedBackends is now part of the Askar interface that both bindings implement
  • ea8840a: Support React Native 0.87 on iOS, and require React Native >= 0.77.

Patch Changes

  • 8d40281: fix(react-native): the native module is now a TurboModule generated with codegen, instead of a legacy module that React Native loads through its interop layer. On the New Architecture, React Native installs the bindings when it creates the module, on iOS and Android. The old architecture keeps working as before
  • d9b8fe6: fix(react-native): methods that failed or were missing on React Native now work as on Node.js: Key.aeadParams, Argon2.derivePassword (it failed with a preset, and returned an ArrayBuffer instead of a Uint8Array), Session.updateKey without an expiry (the key expired right away), Store.setDefaultProfile, Store.listProfiles, Store.copyProfile and Store.renameProfile
  • 740cdd2: fix: free native memory that leaked. Node.js and React Native now free the strings that Askar returns. React Native frees the state of every async call, and Node.js unregisters the custom logger callback when Askar rejects it. Store.scan frees the entry lists it reads, and the Session fetch methods free their list when reading it fails. EcdhEs and Ecdh1PU free the keys they create, also when encrypting or decrypting fails. Store.copyTo closes the copy that Askar opens. askarNodeJS.version() now returns the version instead of a pointer, and calling fetchAll on a Scan a second time starts a new scan instead of using the freed one
  • 740cdd2: fix(react-native): strings from Askar that aren't ASCII, such as entry names, tags and profile names, are no longer garbled
  • Updated dependencies [97808ff]
  • Updated dependencies [740cdd2]
  • Updated dependencies [94172a7]
  • Updated dependencies [740cdd2]
  • Updated dependencies [d9b8fe6]
    • @openwallet-foundation/askar-shared@0.7.0

@openwallet-foundation/askar-shared@0.7.0

Minor Changes

  • 97808ff: feat: drop the CommonJS build. The packages are now published as ESM only, built with tsdown. This removes the dual package hazard, where a CommonJS and an ESM copy of a package are loaded side by side and instanceof checks fail. CommonJS code can still require() the packages, which now need Node.js 22.12 or newer
  • 94172a7: feat(nodejs): require Node.js 22 or newer and update koffi to v3. Node.js 20 is end of life. koffi 3 installs its native binary from a package for your platform (@koromix/koffi-<platform>) instead of shipping the binaries for all platforms. It also fixes a crash of Node.js 24.14 and newer when exiting after an async Askar call or a custom logger. The native handles of keys and entry lists (handle.handle) are now BigInts. JSON.stringify writes a handle as a string
  • d9b8fe6: feat: Store.listOpenSessions, Store.listOpenScans and keyGetSupportedBackends on React Native. keyGetSupportedBackends is now part of the Askar interface that both bindings implement

Patch Changes

  • 740cdd2: fix: free native memory that leaked. Node.js and React Native now free the strings that Askar returns. React Native frees the state of every async call, and Node.js unregisters the custom logger callback when Askar rejects it. Store.scan frees the entry lists it reads, and the Session fetch methods free their list when reading it fails. EcdhEs and Ecdh1PU free the keys they create, also when encrypting or decrypting fails. Store.copyTo closes the copy that Askar opens. askarNodeJS.version() now returns the version instead of a pointer, and calling fetchAll on a Scan a second time starts a new scan instead of using the freed one
  • 740cdd2: fix(nodejs): setCustomLogger threw a koffi type error and never set the logger, and with enabled or flush set to true it would have crashed the process. Askar expects callbacks for these, not booleans. Both options are now deprecated and have no effect: use logLevel to filter the logs

@github-actions
github-actions Bot requested a review from a team as a code owner October 23, 2026 22:17
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from fc65b33 to 1f7367f Compare November 6, 2026 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants