- Added symbol-based JavaScript host values, including atomic and composite Ferret capability protocols, synchronous and asynchronous iteration, stable object identity, runtime integration, and explicit output serialization.
- Added an explicit
http.allowLocalhostengine option for trusted loopback access while preserving Ferret's secure HTTP defaults. - Added declarative JavaScript modules through
defineModule()andcreate({ modules }), including asynchronous engine, plan, and session lifecycle hooks. - Added optional FQL namespaces for JavaScript module functions while keeping module registration identity independent.
- Replaced Go's WASM HTTP adapter with per-engine browser and Node transports. Node validates and pins DNS results while Ferret policy-checks redirects; browsers allow same-origin requests only and reject redirects.
- Made plan compilation and session creation asynchronous across the JavaScript/WASM boundary.
- Added cancellation options for compilation and session creation.
- Exposed synchronous
closedmetadata on engines, plans, and sessions. - Unified legacy
create({ functions })registration with the Ferret module bootstrap path while keeping the public shorthand backward-compatible.
- Migrated the compiler and runtime to Ferret v2.0.0-alpha.30.
- Replaced the v1 JavaScript API with explicit
Engine,Plan, andSessionlifecycles. - Replaced the Go 1.12 runtime fork with the official runtime matching the build toolchain.
- Added ESM, CommonJS, Node.js, and browser package exports.
- Updated the build and test stack to TypeScript 5, tsup, Vitest, Playwright, and GitHub Actions.
- Immutable synchronous and asynchronous JavaScript host functions.
- AbortSignal cancellation.
- Named sources, plan parameter metadata, custom WASM sources, and deterministic cascading cleanup.
- Node.js and Chromium integration coverage.
- Ferret v1, mutable function registration,
exec,destroy, the customwasm_exec.tsimplementation, legacy polyfills, TSLint, Husky, and Travis CI.
- Upgraded Ferret to v0.8.2.
- Added
compiler.destroyto clean up cached programs.