SDK changelog
Release history for @relai-team/access-sdk. The current version is 0.22.0.
npm install @relai-team/access-sdk
Versions below 1.0 can change shape between minor releases. Anything that needs a code change on upgrade is marked Breaking; everything else is additive and safe to take.
0.22.0October 23, 20263 changes
- Added
RelaiLockNotActuated, for an open the lock did not complete
A Parent answers [AUTH] ACCEPT when it has verified the command, then runs it and reports what the lock did on a second line. The SDK now reads that line, so a Parent that accepted an open and then could not move the lock raises this instead of returning success. It carries .command and .detail (the Parent's own words, e.g. no ACK) for your logs. Nothing about it is retryable, and it is deliberately not a RelaiUnlockRejected: a rejection means the credential needs fixing, this means the compartment does. A Parent that sends no verdict is reported exactly as before, so firmware without those lines is unaffected.
- Fixed
A refused challenge is reported to the platform
A Parent that rejects the CHALLENGE ends the open on its first write, and that failure reached no telemetry: the rejection leaves the candidate loop as the caller's error, and nothing on the way past recorded it. Your insights and status pages now show these as unlock_failed with the Parent's reason, so an open failing at the challenge is visible without reading a phone's console. Nothing to change in your app.
- Fixed
The challenge is encoded for the characteristic too
The Parent base64-decodes every line it receives, its two bootstrap words included, so requestNonce now writes base64("CHALLENGE") rather than the word itself. A Parent handed the bare word answers REJECT B64 and issues no nonce, which ends the open on its first write: this is the same encoding rule 0.21.2 applied to the minted token, one step earlier in the exchange. Upgrade to open an authenticated Parent over BLE. Nothing to change in your app.
- Added
0.21.2October 22, 20261 change
- Fixed
Command writes are encoded for the characteristic
react-native-ble-plx takes base64 and writes the decoded bytes, and the Parent base64-decodes the line it receives. sendCommand now encodes the minted token for the write exactly as the CHALLENGE leg does, so the Parent receives the token's characters and decodes them back to the wire message. Without it a Parent can answer REJECT B64. Nothing to change in your app: the token is still opaque and still relayed as it arrives.
- Fixed