Lispex grows through minor releases. Each minor marks the product boundary you install. Open a row to see the checkpoints that led to it, newest first. Inside is an engineering record, so internal names appear as they are.
Abbreviations
| Abbreviation | Meaning |
|---|---|
ABI | application binary interface |
AOT | ahead-of-time compilation |
DSSE | Dead Simple Signing Envelope |
IR | intermediate representation |
LIL | Lispex-in-Lispex, the Lispex interpreter written in Lispex |
LIT | Lispex-in-Topaz, the Lispex interpreter written in Topaz |
MCP | Model Context Protocol |
VM | virtual machine |
WASM | WebAssembly |
Releases
v1.20 — Aligns whole-source execution across Native, npm, WebAssembly, and Playground with portable terminal status and atomic resource termination.
The v1.20 public minor assembles five numbered development checkpoints, v1.19.1 through v1.19.5.
| Version | What changed |
|---|---|
| v1.20.0 | Adds exact five-axis resource usage to Rust and LIL execution, reports recursion safety exhaustion as resource status, and aligns whole-source output across Native, npm, WebAssembly, and Playground. Successful forms render in order, ordinary runtime faults retain committed output, and resource termination returns empty output with status 2. Browser results expose output, diagnostics, ok, and exit_status. The SICP site also receives refreshed link-preview artwork. |
| v1.19.5 | Adds exact usage for frontend transitions, tokens, normalization steps, machine transitions, and output bytes across Rust and LIL. Normalizes diagnostic families, reports recursion-safety exhaustion as non-tail-call-depth resource termination, aligns whole-source output across Native, npm, WebAssembly, and Playground, and refreshes the SICP link-preview artwork. |
| v1.19.4 | Publishes formal product-manifest claims, separates observation schema identity from observation contract identity, completes the observation identity envelope, and aligns LIL stdout effects with Rust. Batch execution omits automatic top-level values while the whole-source CLI renders each successful form. Normalizer diagnostics retain their original phase. |
| v1.19.3 | Moves unbound-identifier detection to the first demanded lookup. Dormant unbound identifiers remain admissible, while demanded lookups report E300 at the original identifier span and retain stdout committed before the fault. |
| v1.19.2 | Accepts zero-byte, whitespace-only, comment-only, and whitespace-plus-comment sources as empty programs with zero values, empty output, and status 0. |
| v1.19.1 | Recursively splices begin forms in top-level and internal-definition contexts in source order while preserving one definition scope. A define in an ordinary expression-context begin remains a static error. |
v1.19 — Finalizes the semantic structure of control flow and mutation. Introduces Meaning Graph v1 projected from Core IR and explicit Meaning Environment v1 independent of the Rust call stack.
All Meaning Graph and Meaning Environment work kept the v1.18.0 development identity until it was assembled as v1.19.0.
| Version | What changed |
|---|---|
| v1.19.0 | Adds Meaning Graph v1 and explicit Meaning Environment v1; shared-cell semantics for letrec, internal definitions, rest arguments, set!, and define; actual TCO; one-shot upward escape-only call/cc; outward-cleanup-only dynamic-wind; exact stdout, value, warning, and error observations; and non-Vouch meaning-diff. Resolves 15 named gaps across the selected 61-case corpus at the behavioral level. |
v1.18 — Establishes the SICP educational runtime and chapter-by-chapter system exercises now shipped through @lispex/sicp@1.0.0, lispex sicp run, and sicp.io.
All SICP P0 through P9 work kept the v1.17.0 development identity until it was
assembled as v1.18.0. The runtime and course continue in v1.20.0 with the same
@lispex/sicp@1.0.0 package identity.
| Version | What changed |
|---|---|
| v1.18.0 | Introduces the separately installable @lispex/sicp@1.0.0 educational runtime, explicit lispex sicp run command, Native and import-free Wasm execution, fixed resource limits, typed observations, and exact execution traces. It passes all 26 representative corpus cases and provides memoized streams, mutable Unicode strings, a deterministic real domain, arbitrary-precision numbers, chapter data and derived-syntax hosts, eight chapter systems consisting of metacircular, analyzing, lazy, and amb evaluators, logic query, register machine, explicit-control evaluator, and compiler, deterministic SVG, and a cooperative schedule explorer. It preserves 104 scoped external measurements against MIT/GNU Scheme, Racket SICP, Chibi, and Gauche. |
v1.17 — The path from signing a decision to the receiving side checking it on their own machine is now complete. Making a key, setting a recipient policy, and binding a request through an image all landed inside one ready-made refund example.
| Version | What changed |
|---|---|
| v1.17.0 | publishes the exact ready-made refund example with local key preparation, recipient policy composition, authenticated decision exchange, Image-backed request-bound Vouch, protocol-confusion refusals, and a six-value application handoff |
| v1.16.6 | adds one explicit current-host installed Native and npm practicality court runner, a static quick checker, and a closed mutation-site authority for the final F16 boundary |
| v1.16.5 | materializes the final handoff and canonical manifest, builds the exact 26-member archive of the ready-made refund example, adds a separate Native archive reader and independent ZIP court, and documents the full journey in three locales |
| v1.16.4 | adds Native-only workspace status with an embedded independent contract for the exact 26-file inventory, canonical 25-entry manifest, eight existence-only work slots, and two fixed candidate command names. It also completes the publication-final walkthrough with the decision exchange first and a separate Image-backed Vouch lane |
| v1.16.3 | activates direct Native and npm decision-policy creation and checking from one reviewed public key and four explicit serialized constraints, with byte identity to the retained directory-derived F14 policy path. It preserves the append-only A0 pre-admission failure, exact 23-path repair A1 ece930ea, and exact five-path direct child B fb07ae7c. A preservation-only recovery completed the exact final lispex.recipient-sample-provenance/v1 after the post-delete court stopped |
| v1.16.2 | adds Native-only operating-system-CSPRNG Ed25519 key generation into a caller-named new directory and Native and npm inspection that reports distinct decision-issuer and Vouch identifiers for the same exact public SPKI DER |
| v1.16.1 | activates F16 with a closed 26-file final workspace contract, an exact 21-file core, five byte-identical predecessor projections, and three refund facts mapped independently to portable strings and canonical decisions |
v1.16 — An evaluator for the whole language can now sit inside an application. The cost and permission of all 205 procedures came under one authority. The resource-controlled evaluator stays available as its own product.
| Version | What changed |
|---|---|
| v1.16.0 | publishes F15 as a separate exact import-free resource-controlled evaluator for all of lispex-profile-1.5, with a generated closed-world 205-row authority, distinct full-profile meter and component identities, explicit fresh-instance Native prepare, evaluate, inspect, verify, and replay, portable provider vectors, redistribution, and retained release-DAG records |
| v1.15.8 | freezes the separate full-profile evaluator provider and adds one machine-checkable, component-only Topaz handoff with distinct retained LPXART01 and full LPXFAR01 contracts, vectors, redistribution, retention, release-DAG records, and final court |
| v1.15.7 | adds a separate exact import-free full-profile Wasm evaluator and explicit Native prepare, evaluate, inspect, verify, and replay with a fresh instance for every execution |
| v1.15.6 | binds all 205 current-profile primitive rows to generated Fixed, Numeric, Text, Collection, Effect, or GuestCalling runtime permits with zero pending execution rows |
| v1.15.5 | closes fallible snapshots, callback vectors, conservative output buffers, final list/vector/string construction authority, and work-budget diagnostics for all 18 admitted GuestCalling rows |
| v1.15.4 | binds all 18 GuestCalling rows to one generated authority and the explicit VM control machine with exact work boundaries and zero host-recursive rows |
| v1.15.3 | closes a separate 205-row full-profile tariff design with zero Deferred rows and implements every portable codec-v1 data tag in a private iterative full-result encoder |
| v1.15.2 | makes one generated 205-row registry the only primitive-installation and Core IR identity authority |
| v1.15.1 | activates F15 and generates the exact current-profile reader, form, opcode, value, diagnostic, and 205-primitive surface plus contract-reuse decisions |
v1.15 — The first product for signing decisions and passing them on. The sender builds an envelope and the receiver checks it against their own policy. Images and the playground were aligned to carry the same decision.
| Version | What changed |
|---|---|
| v1.15.0 | publishes the complete authenticated decision exchange covering one task-first refund path, exact Native authoring handoff, Ed25519 issuer envelope, recipient-owned policy, canonical .lpxdecision, full Native lifecycle, and verification-only npm inspection and authentication |
| v1.14.6 | closes F14 with one clean-installed source-free Native/npm decision-exchange court, exact relocation and replay, and a compact nonauthoritative product receipt |
| v1.14.5 | adds one seven-member canonical .lpxdecision bundle, full Native issue/inspect/authenticate/replay, and verification-only npm inspect/authenticate |
| v1.14.4 | adds a distinct Ed25519 decision-issuer envelope over exact portable-core bytes, recipient-owned policy creation and validation, and nonexecuting Native authentication |
| v1.14.3 | adds a closed task-first refund mode to the Playground with one-click maintained input changes and three exact source-bearing Native authoring handoffs |
| v1.14.2 | separates development, published, documentation, semantic-profile, and immutable-distribution identities, and generates browser, Native, landing, and three-locale refund projections from one authority |
| v1.14.1 | advances canonical Lispex Images to the Sunlit Amber v2 image, profile, and codebook contracts across Native, npm, public WASM, Playground, and maintained samples |
v1.14 — Run one rule on JSON input, then inspect that run without executing it or replay it in a fresh instance.
| Version | What changed |
|---|---|
| v1.14.0 | publishes the complete checkable decision workflow covering strict JSON input, exact limits, atomic rule run, nonexecuting inspect and verify, fresh-instance replay, one generated refund example across human and agent docs, and the exact licensed evaluator redistribution archive |
| v1.13.4 | joins the generated refund fixture, strict JSON adapter, atomic decision directory, nonexecuting inspection and verification, fresh-instance replay, relocation, denial and tamper cases in one installed Native workflow. The landing page and three locales now teach the same exact example |
| v1.13.3 | adds lispex rule inspect, verify, and replay for the exact five-member decision directory, with deep prepared-bytecode and result binding checks and one fresh-instance replay |
| v1.13.2 | adds atomic Native lispex rule run over exact source, strict JSON, separate preparation/evaluation limits, and the built-in evaluator |
| v1.13.1 | adds one generated refund-rule fixture and a strict deterministic JSON-to-evaluator-value adapter with duplicate-key and inexact-number refusal |
v1.13 — The first way to put an evaluator inside an application, with separate limits for preparing and for running. The evaluator bytes were frozen and checked several different ways.
| Version | What changed |
|---|---|
| v1.13.0 | publishes Native lispex embed prepare/evaluate/inspect/verify, one exact import-free evaluator component, separate preparation/evaluation limits, the frozen resource-controlled profile, meter, ABI, value-codec, and portable-core contracts, plus a manifest-generated /llms.txt and current-only sitemap |
| v1.12.4 | freezes the exact resource-controlled profile, deterministic work/logical-allocation model, import-free Wasm ABI, and portable-core schema after the final evaluator bytes pass mutation, property, reachability, safety, installed-product, and cross-architecture courts |
| v1.12.3 | adds Native lispex embed prepare, evaluate, inspect, and verify over one exact embedded import-free Wasm evaluator. Preparation and evaluation use separate exact limits, every operation gets a fresh Store/Instance, and completed evaluations carry canonical result-value bytes |
| v1.12.2 | adds a reproducible import-free resource-controlled evaluator Wasm bundle, a closed value-only candidate ABI, canonical prepared-bytecode handoff, exact request ownership, and fresh-instance Rust VM execution for three maintained policy rules |
| v1.12.1 | replaces the obsolete generic step/allocation contract with four preparation axes and ten evaluation axes, removes consumed usage from the portable-core candidate, and adds independent Node/Rust vectors plus three maintained policy-fit cases |
v1.12 — Editors and AI tools gained a local desk for asking the installed Lispex directly. Nothing leaves the machine.
| Version | What changed |
|---|---|
| v1.12.0 | publishes exact installed reference lookup, size- and time-capped trusted-source Rust-tree authoring evaluation, diagnostic lookup, fixed closed route comparison, the public primer/descriptor, and the maintained installed-product court as one Native stdio authoring surface |
| v1.11.3 | adds the maintained installed Native MCP product court for the four exact tools, E100/E303/E321 CLI parity, denied capabilities, per-call state isolation, resource-budget termination and recovery, closed-court agreement/disagreement, and a deterministic clean-room authoring journey |
| v1.11.2 | adds lispex_compare_routes with the fixed tree-rust, rust-topaz, and all-four courts, strict startup-only companion admission, fresh per-request AOT builds, and explicit agreement or disagreement results |
| v1.11.1 | adds lispex mcp serve with stable MCP 2025-11-25 and exactly three Native tools for the installed language reference, size- and time-capped trusted-source Rust-tree authoring evaluation, and diagnostic lookup |
v1.11 — Fetching the tools a route needs, installing them, and pinning which one runs became one continuous path.
| Version | What changed |
|---|---|
| v1.11.0 | publishes the canonical route catalog and stored-ZIP installer, pinned exact companion fetch, admitted macOS ARM64 Topaz VM/AOT compiler cells, and the maintained fetch-to-relocation journey as one Native product |
| v1.10.4 | adds a maintained exact-product court and copyable journey that joins both companion installations with AOT build, four-route inventory and measurement, path-free VM/AOT locks, doctor, locked execution, and unchanged-lock relocation |
| v1.10.3 | adds official routes fetch --route aot-compiler for the exact eight-file Topaz 5.11 macOS ARM64 compiler companion, validates its immutable release manifest, and uses the relocated installed compiler in deterministic source-free AOT builds |
| v1.10.2 | adds Native routes fetch with one embedded exact official catalog and a deterministic companion package for the admitted Topaz 5.11 VM on aarch64-apple-darwin |
| v1.10.1 | adds Native routes install, canonical lispex.route-catalog/v1 and path-free lispex.route-installation/v1, and a canonical stored-ZIP profile for exact local Topaz VM or AOT compiler companions |
v1.10 — Tools for diagnosing which routes exist and pinning one of them. A failed route never quietly becomes another route.
| Version | What changed |
|---|---|
| v1.10.0 | publishes stable Native inventory, doctor, path-free route locks, configured route measurements, and locked tree/Rust VM/Topaz VM/AOT execution as one coherent product |
| v1.9.3 | adds locked routes run, aligns the four routes under one typed result, and closes F7 with tree retained as compatible default/reference/recovery |
| v1.9.2 | adds Native routes measure samples over tree, Rust VM, exact Topaz VM, and exact AOT beside a separate canonical comparison receipt |
| v1.9.1 | adds Native routes inventory, canonical no-clobber routes lock, and strict routes doctor for the tree, Rust VM, exact installed Topaz VM, and exact AOT routes |
v1.9 — Twenty checkpoints, covering images, verified bytecode, the Rust VM, source formatting, running on the Topaz VM, and comparing four routes.
| Version | What changed |
|---|---|
| v1.9.0 | publishes the beginner learning system, LIL 205/205 convergence, canonical Core IR, verified bytecode and Rust VM, request-bound compiled Vouch, source formatting, and the explicit exact Topaz VM/AOT plus four-route court as one coherent product |
| v1.8.20 | adds Native compare-routes with one source/input frontend derivation, exact matching AOT admission, explicit tree/Rust VM/Topaz VM/AOT execution, and a no-clobber lispex.route-comparison/v1 receipt with semantic and comparable-resource mismatch axes. It repairs AOT primitive-call charging and structured resource faults, and deterministically finalizes macOS executables by recording exact strip/sign tool identities and rebinding the Topaz artifact |
| v1.8.19 | adds complete-profile Lispex-to-Topaz AOT on Native macOS ARM64 with deterministic readable Topaz and source maps, exact installed Topaz/Rust build-tool admission, and strict source-free product build, inspect, validate, and run with canonical full-width u64 resources, diagnostics, warnings, and five visible zero fallback counters |
| v1.8.18 | adds the explicit macOS ARM64 Native bytecode run --engine topaz --topaz-vm route for the exact installed Topaz 5.11 lispex-topaz-vm/v1 product and compare-vms receipts over one verified bytecode artifact. Optimized Native builds also retain every Core IR and bytecode compilation operation |
| v1.8.17 | adds deterministic Native lispex fmt, quiet --check, safe --write, and VS Code/Open VSX Format Document integration while preserving comments, pragmas, tokens, and original literal spellings |
| v1.8.16 | adds canonical lispex.vouch-compiled-artifact/v1, Native vouch compiled build/inspect/validate, opt-in vouch verify --reexecute --compiled-artifact, and a compiled local gate requiring exact source derivation plus matching current tree/Meaning and verified Rust VM transcripts |
| v1.8.15 | adds canonical binary lispex.bytecode/v1, strict pre-execution lispex.bytecode-verifier/v1, complete-profile lispex-rust-vm/v1, Native bytecode build/inspect/validate/run, explicit source --engine vm, and exact no-clobber tree/VM comparison reports |
| v1.8.14 | adds canonical complete-profile lispex.core-ir/v1 with stable 205-row primitive IDs, resolved lexical/global cells, exact closure captures and tail positions, source anchors, Canonical Core audit projection, and Native core-ir build, validate, and inspect commands |
| v1.8.13 | implements %, list-first, and list-rest in LIL with their exact W330/W331 compatibility warnings, raising current capability coverage from 202/205 to 205/205 |
| v1.8.12 | implements display, write, newline, and println in LIL through a private effect sink with a fixed output budget, raising current support from 198/205 to 202/205 |
| v1.8.11 | implements all 12 remaining collection higher-order rows in LIL through explicit guest-machine continuation frames, raising current support from 186/205 to 198/205 and guest-calling coverage from 6/18 to 18/18 |
| v1.8.10 | implements nine exact-intermediate division rows and gcd/lcm folds in LIL, and admits exact-integer expt plus two-value exact-integer-sqrt through the recorded numeric kernel, raising current support from 173/205 to 186/205 |
| v1.8.9 | admits exactness-preserving floor, ceiling, round, truncate, exact/inexact conversion, and integer parity through the recorded numeric host kernel, and implements mixed-tower min/max folds in LIL, raising current support from 161/205 to 173/205 |
| v1.8.8 | admits 18 character/string case predicates, conversions, and case-insensitive ordering operations through LIL's explicitly recorded Unicode host kernel, raising current support from 143/205 to 161/205 |
| v1.8.7 | implements list copying, lookup and shared-tail navigation, deterministic list/string constructors, and character-indexed string/vector conversion inside LIL, raising current support from 135/205 to 143/205 |
| v1.8.6 | implements case-sensitive character and string ordering chains inside LIL using Unicode scalar and lexicographic order, raising current support from 127/205 to 135/205 |
| v1.8.5 | implements three finite-real tower predicates, structural !=, memv, assoc, assq, and assv inside LIL, raising current support from 119/205 to 127/205 |
| v1.8.4 | implements abs, square, three sign/zero predicates, boolean=?, and symbol=? by composition inside LIL, raising current support from 112/205 to 119/205 |
| v1.8.3 | implements all 27 previously missing composed pair accessors from caar through cddddr inside the Lispex-written LIL kernel, raising current LIL coverage from 85/205 to 112/205 |
| v1.8.2 | records all 205 current capabilities as normatively profile-required, separately classifies host-only and future-profile decisions, and gives every one of the 179 historical pair divergences one machine-checked primary reason |
| v1.8.1 | rebuilds the Modern documentation as a four-step beginner course, Syntax at a Glance, ten globally numbered groups, and 53 production-final English, Korean, and Russian surfaces. Downloads adds exact version verification, command recovery, and official VS Code and Open VSX guidance |
v1.8 — Lispex Images bring exact rule bytes, integrity commitments, and canonical recovery to Native, npm, WebAssembly, and the Playground.
| Version | What changed |
|---|---|
| v1.8.0 | publishes exact Lispex Images as one same-Rust product across Native, npm, Node/browser WASM, and the local Playground, then lets a canonical image supply the exact source bytes to the existing Request-Bound Vouch journey |
| v1.7.3 | lets a canonical Lispex Image supply the exact source bytes for Native Vouch identity, policy, issue, inspect, authentication, re-execution, and gate, plus npm identity, policy, and authenticated verify. The maintained refund-window flow now uses image ingress end to end |
| v1.7.2 | extends the one Rust image core to the npm CLI, Node/browser WASM, and a fully local Playground workflow with create/open, verified page navigation, exact recovery, download, and separate explicit run. Cross-surface single/multipage bytes match the fixed C1 goldens |
| v1.7.1 | introduces canonical Lispex Images in Native with exact source-to-PNG/ZIP encoding, public commitment inspection, byte-for-byte decoding, and explicit execution only after full canonical proof |
v1.7 — Verification now binds a rule together with its input. Any use that carries authority is tied to source and input the consumer supplied separately.
| Version | What changed |
|---|---|
| v1.7.0 | publishes Request-Bound Vouch as one consumer-owned journey. Derive exact identities, create and check policy, issue a bundle, authenticate it against an optional external source/input request on Native or npm, then re-execute and gate only that live request on Native |
| v1.6.4 | makes the verification-only npm Vouch WASM regenerate to the same tracked bytes from clean, dirty, or relocated source checkouts and keeps the standalone export-surface audit runnable from a clean checkout |
| v1.6.3 | Native bundle re-execution and gate require matching external source/input and pass only live request-bound evidence through re-execution to the grant. The localized documentation refresh adds the /v1.6 public-minor route namespace, Downloads, numbered current/Classic navigation, aligned document surfaces, concise browser titles, balanced responsive hero copy, a Korean 리스펙스 wordmark, and one readable locale-aware display-label system for landing eyebrows, form/data folios, results, pagers, and menu categories |
| v1.6.2 | Native/npm pinned bundle verify authenticates first and then compares separately supplied exact source/input bytes |
| v1.6.1 | Native/npm vouch key-id, engine-id, and input-id close public identity derivation beside source-id through shared Rust |
v1.6 — What verification needs can travel as one bundle, and each key can declare which sources it accepts.
| Version | What changed |
|---|---|
| v1.6.0 | aggregates portable bundle v0, key-local exact-source policy v1, shared-Rust source-id and policy tooling, and raw/bundle authentication into one consumer-owned Vouch workflow |
| v1.5.8 | Native/npm vouch policy create/check composes and validates canonical consumer trust policy v1 through shared Rust |
| v1.5.7 | Native/npm vouch source-id --source derives the exact source identity from bytes under the configured budget through the shared Rust core |
| v1.5.6 | trust policy v1 rejects a fully valid signed rule unless its exact source identity is allowed by the selected key |
| v1.5.5 | canonical envelope/source/input bundle with Native emission/consumption and npm authentication-only consumption |
| v1.5.4 | npm vouch verify authenticates signed Native envelopes and exact source/input/profile through a verification-only build of the shared Rust core, matching Native v0 report bytes and C-VN-06 outcomes |
| v1.5.3 | Native vouch gate --require-decision requires authentication, current complete-transcript agreement, and an exact decision match before returning a local grant |
| v1.5.2 | namespaced Vouch workflow, maintained refund-window flow, LIL 85/205 capability boundary, and native vouch verify --reexecute with separate authentication and current-execution agreement |
| v1.5.1 | native Vouch issuance. Qualifying checked decisions can be constructed and signed as DSSE envelopes, then authenticated against a consumer-supplied trust policy |
v1.5 — A Lispex interpreter written in Lispex and one written in Topaz began running side by side so their results could be compared.
| Version | What changed |
|---|---|
| v1.5.0 | capability-tracked LIL and LIT execution lines, 84-of-205 capability ledgers, a three-family joint receipt, and coordinated native/npm/WASM/Playground distribution |
v1.4 — Native, npm, the browser, and the playground were aligned to behave the same way, and downloads were pinned.
| Version | What changed |
|---|---|
| v1.4.0 | runtime and distribution refresh with apply and multiple-value paths in the checked evaluator, configured receipt fuel, native/npm/WASM/Playground alignment, and pinned native downloads |
| v1.3.11 | canonical Bridge read-side acceptance, closed-world nested checks, linked artifact and optional context checks |
| v1.3.10 | adversarial artifact-class checks and explicit authenticity non-goals |
| v1.3.9 | twelve-case welfare-style replay evaluation corpus |
| v1.3.8 | Vouch Bridge report shape, offline checker, and external-engine example |
| v1.3.1-v1.3.7 | closed the usable Vouch loop with native receipt generation, release-build engine identity, offline verify, versioned replay corpus, and an explicit authenticity boundary |
v1.3 — Runs began leaving a record that can be checked offline and replayed.
| Version | What changed |
|---|---|
| v1.3.0 | checked-profile decision receipts, offline verify, replay, and release gates |
| v1.2.15-v1.2.19 | external Scheme-oracle ledger, authored semantic vectors, strict artifact readers, tamper fixtures, and mutation drills |
| v1.2.14 | expanded the checked decision profile and gallery with search, rounding, any/all traversal, strict faults, and clearer replay ergonomics |
| v1.2.9-v1.2.13 | checked-profile boundary, intrinsic binding, control/arithmetic gallery, closures and traversals, host-input binding, npm offline verify, and replay UX |
| v1.2.2-v1.2.8 | versioned canonical Core, execution receipt, conformance manifest, Meaning Graph and lowering, separate Meaning Environment evaluator, and differential receipt contract |
v1.2 — The first v1 tag. Raising and recovering from errors got a fixed shape, and four ways to run opened up.
| Version | What changed |
|---|---|
| v1.2.0 | first consolidated v1 tag. It added recoverable raise, guard, and with-exception-handler semantics while shipping Native, Node/WASM, Playground, and download paths. The initial v1 implementation line from 2026-06-28 and 2026-06-29 supplied the deterministic reader, hygienic normalizer, trampoline evaluator, exact integer/rational plus finite-real profile, pinned rendering, one-shot upward call/cc, dynamic-wind, multiple values, proper-tail apply, R7RS-shaped procedures, WASM, and Playground |
Version ownership
- Language, package, and artifact-contract versions each advance with their own product change.
- The runtime profile owns evaluation behavior. Named CSK and Vouch contracts own their artifact schemas and compatibility identifiers.
- Backend records identify their capability rows, host routes, corpora, and receipts.
- Release entries state language-semantic changes directly.
Keep going
If Lispex is new to you, the Introduction is the practical entrance. The Roadmap holds what is planned next.