Skip to content

Releases: margelo/react-native-quick-crypto

Release 1.1.1

28 Apr 23:38

Choose a tag to compare

1.1.1 (2026-04-28)

✨ Features - Security Audit Findings and Fixes

  • security: Phase 0 audit fixes — actively exploitable findings (#982) (7d9b0a9)
  • security: Phase 1 audit foundation — shared helpers (validateUInt, secureZero, EVP_CIPHER_CTX RAII, typed getUIntOption) (#983) (78a4f9e)
  • security: Phase 2 audit memory-safety sweep (#984) (e1b306a)
  • security: Phase 3 audit — TS-boundary validation + WebCrypto hardening (#985) (6870c90)
  • security: Phase 4 audit — test coverage + 11 impl fixes (#986) (3e06d95)
  • security: Phase 5 — cross-cutting security audit (CI hardening + tarball trim + audit gate) (#992) (e720ae2)

✨ Features

  • feature: Add fast path for utf16le encoding in stringToBuffer()/bufferToString() (#981) (391bc6d)

Release 1.1.0

26 Apr 22:40

Choose a tag to compare

1.1.0 (2026-04-26)

⚠ BREAKING CHANGES

String/Buffer conversion now matches Node.js Buffer semantics (#976)

stringToBuffer (and the conversion paths that use it) no longer validates hex input or masks high-bit ASCII characters. Behavior now mirrors Node.js's Buffer.from(str, encoding):

Input v1.0.19 v1.1.0
stringToBuffer('abc', 'hex') throws [0xAB] (trailing nibble dropped)
stringToBuffer('zzzz', 'hex') throws [] (invalid chars truncate)
stringToBuffer('über', 'ascii') [0x7C, 0x62, 0x65, 0x72] (masked to 7-bit) [0xFC, 0x62, 0x65, 0x72] (full byte preserved)

Migration:

  • If you relied on hex decoding throwing for odd-length or invalid input, validate the string yourself before calling (e.g. /^[0-9a-fA-F]+$/.test(s) && s.length % 2 === 0).
  • If you relied on ASCII encoding stripping the high bit, switch to an explicit mask or use a different encoding ('utf8' for text, 'latin1' for the previous full-byte-pass-through behavior).

✨ Features

  • use simdutf for faster string encoding/decoding (#976) (7b9c096)

🐛 Bug Fixes

  • Bump minimum requirement of nitro to 0.31.2 (peerDeps only) (#980) (ab84046)
  • use OpenSSL-Universal CocoaPods dependency instead of vendored xcframework (#977) (86273d5)

Release 1.0.19

06 Apr 02:50

Choose a tag to compare

1.0.19 (2026-04-06)

🐛 Bug Fixes

  • handle sliced Buffer byte ranges in ECDH/DH native bridge (#973) (d61a8e9)

Release 1.0.18

23 Mar 00:32

Choose a tag to compare

1.0.18 (2026-03-23)

🐛 Bug Fixes

  • return KeyObjects from generateKeyPairSync for Ed/X curves (#971) (193e4c0)
  • use IEEE P1363 format for SubtleCrypto ECDSA sign/verify (#968) (47da446)

Release 1.0.17

17 Mar 23:32

Choose a tag to compare

1.0.17 (2026-03-17)

✨ Features

  • native C++ encoding/decoding for hex, base64, and more (#967) (9a30242)

🐛 Bug Fixes

  • Improve Hash.digest(encoding) TypeScript return type (#964) (5ea5518)

Release 1.0.16

03 Mar 22:47
cb0a335

Choose a tag to compare

1.0.16 (2026-03-03)

🐛 Bug Fixes

  • global Buffer usage (#962) (e9ec818)
  • support EC keys in diffieHellman() and validate curve match (#960) (8446e86)
  • cast getRandomValues result and fix CI tsc error detection (#963) (62a8f87)

Release 1.0.15

27 Feb 14:36

Choose a tag to compare

1.0.15 (2026-02-27)

🐛 Bug Fixes

  • expo plugin sodium not working on SDK 55+ (#958) (4da3b62)

📚 Documentation

  • add missing API pages, llms.txt endpoints, and review fixes (#956) (750767b)

Release 1.0.14

23 Feb 05:56

Choose a tag to compare

1.0.14 (2026-02-23)

🐛 Bug Fixes

  • preserve existing keys in DH generateKeys() (#954) (8bab2be)
  • preserve TypedArray view byteOffset/byteLength in randomFill (#955) (dfee4e1)

📚 Documentation

Release 1.0.13

19 Feb 01:22

Choose a tag to compare

1.0.13 (2026-02-19)

🐛 Bug Fixes

  • default OAEP hash to sha1 for Node.js compatibility (#951) (67ffdfa)

Release 1.0.12

17 Feb 18:19

Choose a tag to compare

1.0.12 (2026-02-17)

✨ Features

  • add KMAC128/KMAC256 support to subtle API (#944) (3e06617)
  • add ML-KEM/ML-DSA raw-public and raw-seed export/import (#943) (ad5a961)
  • add SHA-3 and cSHAKE support to subtle.digest() (#942) (34e61cd)
  • implement ML-KEM encapsulate/decapsulate (#941) (e040d63)
  • implement X509Certificate class with all 25 methods/properties (#940) (674a146)

🐛 Bug Fixes

  • accept any OpenSSL curve name in EC generateKeyPair, add ECDSA stress tests (#930) (70a9650)
  • add JS-side validation for pbkdf2 iterations/keylen (#939) (c959f30)
  • copy symmetric key on export to prevent JSI ArrayBuffer GC corruption (#933) (8e4c9e7)
  • ecDeriveBits returns full backing ArrayBuffer instead of truncat… (#947) (7c1d6ba)
  • improve pbkdf2 type safety to match Node.js API (#932) (b585471)
  • prevent cipher reuse after final() and reset is_finalized in all init() overrides (#948) (2f1bdb2)
  • resolve circular dependencies causing KeyEncoding undefined (#928) (039e1e0)
  • support legacy RSA-* hash name aliases (#929) (e4b63a7)
  • use StringDecoder for cipher string encoding remainder buffering (#949) (4ef8b1f)