# Changelog

## Unreleased

- Added a customer-use licence and versioned direct-download distribution.
- Replaced the unrecoverability claim with the tested, bounded threat model.

## 0.1.0 - 2026-06-02

Initial release. Sibling package to `jso-protector` that emits Electron
V8 bytecode (`.jsc`) from JSO-protected `.js` files.

- `compileDirectory({input, output, mode, extensions})` walks a tree
  of JSO-protected JS and emits per-file bytecode plus a
  `bytecode.manifest.json` cross-reference.
- `mode: "embedded"` (run under Electron) emits real bytecode via
  `vm.Script.createCachedData()`. Each `.jsc` carries an 8-byte magic
  + length-prefixed JSON header + the V8 cachedData blob.
- `mode: "scaffold-only"` (plain Node) emits the source plus a
  per-file `.bytecode-meta.json` so CI can preview coverage before
  the real Electron-aware build step runs.
- `mode: "auto"` picks based on `process.versions.electron`.
- CLI: `jso-protector-electron --input <dir> --output <dir> [--mode m]`.
- 14 tests covering both modes, the CLI surface, the .jsc header
  layout, the directory walk, and the actionable error when embedded
  mode is invoked under plain Node.

Pairs with:

- `jso-protector --sign-release` for Ed25519 attestation over the
  source bundle before bytecode compilation.
- `jso-protector compliance pci-dss-v4` for evidence-report
  generation (the bytecode manifest can be cited as a 6.4.3.b
  integrity artefact).
- `jso-protector/runtime/countermeasures` for in-Electron RASP
  reactions wired to the runtime-defense beacon.

Closes deep-research GAP 5 (Electron + React Native playbook).
