·
68 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
What's Changed
- chore(rescript): remove the 4 orphan .res files + the affine-res package by @hyperpolymath in #293
- fix(release): scope checksums-job gh calls with --repo to avoid the git probe by @hyperpolymath in #294
- feat(shim): close INT-10 — pin v0.1.1 (full coverage), bump shim 0.1.2 by @hyperpolymath in #295
- chore(gitignore): match nested target/ for all crates, not just the repo root by @hyperpolymath in #296
- feat(shim): cross-runtime (Deno/Bun/Node) + JSR fast-check types by @hyperpolymath in #298
- fix(shim): relicense the JSR shim package to MPL-2.0 by @hyperpolymath in #299
- fix(version): single source of truth via lib/version.ml + tag-time bake by @hyperpolymath in #300
- docs: catch up TECH-DEBT, PACKAGING + STATE.a2ml with the 2026-05-20 JSR publish by @hyperpolymath in #303
- chore(license): SPDX headers PMPL-1.0-or-later → MPL-2.0 (Closes #301) by @hyperpolymath in #304
- docs: post-#303 catch-up — #297/#300/#301/#302/#304 + repos-monorepo retirement by @hyperpolymath in #305
- chore(gitignore): ignore dune-generated *.install manifests by @hyperpolymath in #306
- chore(dune-project): restore symlink to .build/dune-project by @hyperpolymath in #307
- feat: initialize v2 grammar development track by @hyperpolymath in #313
- feat(res-to-affine): Phase-1 migration assistant skeleton (Refs #57) by @hyperpolymath in #314
- docs: README internal-drift fix + DOC-04/05/06 done-in-tree (Refs #176, Refs #175) by @hyperpolymath in #315
- chore(affine-vscode): finish PMPL→MPL sweep + truth-up Status paragraph (Refs #104) by @hyperpolymath in #316
- test(vscode): in-editor smoke harness via @vscode/test-electron (Closes #139) by @hyperpolymath in #317
- chore(gitignore): ignore packages/affine-js/deno.lock (sibling rule) by @hyperpolymath in #318
- docs(res-to-affine): corpus run + regex precision fixes (Refs #57) by @hyperpolymath in #319
- Qa 139 vscode smoke by @hyperpolymath in #320
- feat(res-to-affine): land tree-sitter grammar build pipeline (Phase 2a, Refs #57) by @hyperpolymath in #321
- feat(res-to-affine): tree-sitter AST walker for side-effect-import (Phase 2b, Refs #57) by @hyperpolymath in #322
- ci: bump actions/checkout from 4 to 6 by @dependabot[bot] in #326
- ci: bump actions/github-script from 8.0.0 to 9.0.0 by @dependabot[bot] in #325
- ci: bump actions/upload-artifact from 4.6.2 to 7.0.1 by @dependabot[bot] in #324
- ci: bump github/codeql-action from 4.32.6 to 4.36.0 by @dependabot[bot] in #323
- docs(tech-debt): split STDLIB-04 into 04a–04e per per-extern audit (Refs #175) by @hyperpolymath in #333
- feat(stdlib): STDLIB-04a — Mut effect externs (make_ref/get/set) → real impl (Closes #328) by @hyperpolymath in #334
- feat(borrow): NLL last-use expiry for ref-bindings (CORE-01 pt3 Slice A, Refs #177) by @hyperpolymath in #335
- feat(wasm): byte-level load/store IR + env_at/arg_at (ADR-015 S5) by @hyperpolymath in #339
- feat(stdlib): STDLIB-04b — wire Throws extern
error<T>(Closes #329) by @hyperpolymath in #340 - docs(adr): CORE-02 / #234 / ADR-016 — truth ledger to "DELIVERED" by @hyperpolymath in #336
- ci(migration-assistant): fix smoke-parse for tree-sitter-cli 0.25 by @hyperpolymath in #342
- ADR-015 S6a: WIT export lifting for WASI command components by @hyperpolymath in #343
- chore(stdlib): STDLIB-04c — remove dead
string_concatextern (Closes #330) by @hyperpolymath in #337 - feat(stdlib): STDLIB-04e — wire
string_to_intalias + lock pure-extern semantics (Closes #332) by @hyperpolymath in #338 - test(stdlib): STDLIB-04d — hermetic e2e coverage for IO externs (Closes #331) by @hyperpolymath in #341
- Claude/happy mendel b4 ie u by @hyperpolymath in #344
- fix(interp):
eval_declhandlesFnExtern(#328 build-failure root cause) by @hyperpolymath in #346 - refactor(codegen): extract affinescript.ownership emission to lib/tw_… by @hyperpolymath in #347
- docs(CLAUDE.md): agent operations notes from parallel-bot session exp… by @hyperpolymath in #348
- fix(borrow): escape
(*rinside doc-comment examples (unblocks main … by @hyperpolymath in #349 - Claude/lucid pascal 0x l5 x by @hyperpolymath in #345
- test: inline-extern shape coverage (Refs #346) by @hyperpolymath in #353
- feat(tw_verify): v2-parse support for affinescript.ownership (ADR-020) by @hyperpolymath in #352
- docs: restore ADR-020 + ADR-021 + coordination ledger (lost in #344 squash) by @hyperpolymath in #350
- Claude/lucid pascal 0x l5 x by @hyperpolymath in #354
- Claude/pr351 no techdebt by @hyperpolymath in #355
- PR #351 documentation changes only (TECH-DEBT-alt, CAPABILITY-MATRIX,… by @hyperpolymath in #356
- fix(interp): wire missing string_length builtin (Refs #332, #329) by @hyperpolymath in #362
- fix(ci): unblock the PR queue — bench/dune + adapter-load + .res-fixture exemption by @hyperpolymath in #361
- fix(stdlib): wire env_at / arg_at surface — codegen lowers via gen_str_at_via_get (ADR-015 S5, #180) by @hyperpolymath in #364
- chore(tidy): T-1 — adopt 0-AI-MANIFEST.a2ml + restore docs/TECH-DEBT.adoc by @hyperpolymath in #359
- chore(tidy): T-2 — remove out-of-scope submarine-game docs from root by @hyperpolymath in #360
- docs(claude): refresh language-policy tables for 2026-05-25 estate policy by @hyperpolymath in #363
- feat(borrow): CFG-join for ExprHandle + ExprTry catch arms (CORE-01 pt3 Slice C-light, Refs #177) by @hyperpolymath in #358
- fix(governance): rename CLAUDE.md TypeScript exemptions heading to match workflow regex by @hyperpolymath in #374
- feat(parser): record-update spread at start
#{ ..base, f: v }(Refs gitbot-fleet#148) by @hyperpolymath in #376 - feat(lexer): underscore-prefix idents
_key/_unused(Refs gitbot-fleet#148) by @hyperpolymath in #373 - rename: affinescript.ownership → typedwasm.ownership (producer-neutral) by @hyperpolymath in #375
- chore(tidy): T-4 — add RSR_COMPLIANCE.adoc documenting template alignment + exemptions by @hyperpolymath in #366
- chore(tidy): T-7 — session-note-2026-05-26 in STATE.a2ml records the Phase 2c + tidy-stack work by @hyperpolymath in #369
- feat(parser): trailing-comma in fn params and expr lists (Refs gitbot-fleet#148) by @hyperpolymath in #370
- fix(vscode-smoke): SKIP cleanly when @hyperpolymath/affine-vscode is unpublished by @hyperpolymath in #381
- feat(parser): fn-type with effect arrow in type position (Refs gitbot-fleet#148) by @hyperpolymath in #371
- chore(tidy): T-5 — refresh wiki README + honesty banners on overstated language pages by @hyperpolymath in #367
- chore(ci): convert hypatia-scan.yml to wrapper of standards reusable by @hyperpolymath in #382
- chore: extract road-skate to its own repo (hyperpolymath/road-skate) by @hyperpolymath in #391
- docs: AffineScript↔Ephapax disambiguation hooks (README + CLAUDE.md + a2ml) by @hyperpolymath in #393
- docs: AffineScript state snapshot 2026-05-26 (Stage map + CORE-01 detail + 1.0 distance) by @hyperpolymath in #394
- feat(borrow): CORE-01 ref-to-ref binding (#177 pt3) — let r2 = r / r = s alias the borrow-graph by @hyperpolymath in #395
- docs: session handoff 2026-05-27 — borrow deferred-items roundup (humans + machines) by @hyperpolymath in #401
- fix(borrow): whole-place assignment clears move-record (Refs #177) by @hyperpolymath in #399
- fix(borrow): self-assign guard + return-escape coverage for ref-to-ref (Refs #177, follow-up to #395) by @hyperpolymath in #400
- feat(borrow): CORE-01 Slice C' loop soundness — 2-iteration check on while/for (Refs #177) by @hyperpolymath in #396
- chore(ci): bump hypatia-scan-reusable pin off orphan SHA to canonical main by @hyperpolymath in #403
- docs: record tech-debt audit findings (2026-05-26) by @hyperpolymath in #383
- chore(ci): replace mirror.yml with reusable wrapper by @hyperpolymath in #386
- chore(ci): replace secret-scanner.yml with reusable wrapper by @hyperpolymath in #387
- docs: seed CHANGELOG.md (Keep-a-Changelog format) by @hyperpolymath in #389
- chore(ci): replace scorecard.yml with reusable wrapper by @hyperpolymath in #390
- feat(parser): builtin/lowercase qualified paths + TOTAL field name (Refs gitbot-fleet#148) by @hyperpolymath in #372
- feat(codegen): embed affine-vscode adapter at compile time (root-cause fix for #139/#104) by @hyperpolymath in #380
- feat(res-to-affine): walker parity for raw-js, untyped-exception, mutable-global (Phase 2c, Refs #57) by @hyperpolymath in #385
- fix(codegen): register struct_layouts for record-type aliases by @hyperpolymath in #388
- chore(tidy): T-3 — move loose root docs into the docs/ subtree by @hyperpolymath in #365
- ci: add concurrency blocks to 5 read-only workflows + drop dead master triggers by @hyperpolymath in #379
- chore(license): migrate to AGPL-3.0-or-later by @hyperpolymath in #384
- Phase 2c: Extend walker to all six anti-patterns, make it default by @hyperpolymath in #357
- fix(ci): self-provision GitHub Pages so casket-pages.yml stops failing on main by @hyperpolymath in #404
- security: assail-classifications for 8/9 panic-attack #378 findings + delete unfilled flake.nix scaffold by @hyperpolymath in #405
- feat(borrow): CORE-01 Slice D (#177 pt3) — reject @linear capture by closure at borrow check by @hyperpolymath in #397
- docs(adr): ADR-022 — origin variables + Polonius-style loan solver (Refs #177) — surgical refile of #398 by @hyperpolymath in #407
- ci: drop continue-on-error on test-run step (bisect_ppx) by @hyperpolymath in #409
- docs: bindings + stdlib + alib roadmaps (3 satellites) by @hyperpolymath in #410
- docs(bindings-roadmap): wss:// not ws:// (satisfies Semgrep) by @hyperpolymath in #417
- feat(stdlib): alib.affine conformance module (closes #416) by @hyperpolymath in #420
- feat(spec): add ARG + FRG profiles for AffineScript by @hyperpolymath in #423
- feat(spec): add TRG + CRG profiles for AffineScript by @hyperpolymath in #424
- feat(stdlib): motion library binding (bindings #4) by @hyperpolymath in #422
- feat(stdlib/json): v0.3 — RSR rewire to hpm-json-rsr Zig FFI by @hyperpolymath in #421
- feat(stdlib/Http): RSR rewire — surface hpm-http-rsr Zig FFI (10 exports) by @hyperpolymath in #425
- fix(ci): walker Js.Exn catch-arm detection + vscode E2E false-positive (closes #426) by @hyperpolymath in #428
- feat(bindings): close bindings roadmap #5 — AS-side wasmCall surface by @hyperpolymath in #431
- feat(stdlib): aLib aggregate.json schema loader (alib-roadmap #11) by @hyperpolymath in #432
- fix(loader): discover stdlib via walk-up + user-share fallbacks (closes #415) by @hyperpolymath in #433
- docs(stdlib-roadmap): rows #3 + #4 ◯→●, codegen bug closed by #257 by @hyperpolymath in #434
- feat(diagnostics): prelude-hint for UndefinedVariable / Unbound (stdlib #5) by @hyperpolymath in #427
- feat(stdlib): PixiJS binding restart (bindings #1) by @hyperpolymath in #429
- chore: rename affinescript-vite/example/logic.as → .affine by @hyperpolymath in #430
- feat(stdlib): @pixi/ui binding (bindings #3) by @hyperpolymath in #435
- feat(stdlib): motion binding — animateMini/tween/spring/ease (bindings #4 → ●) by @hyperpolymath in #436
- feat(stdlib): @pixi/sound binding (bindings #2) by @hyperpolymath in #437
- fix(ci): drop duplicate concurrency block from spark-theatre-gate caller (closes #438) by @hyperpolymath in #439
- feat(stdlib): wasmCall extern for invoking WebAssembly exports by name by @hyperpolymath in #440
- Docs/bindings roadmap top50 by @hyperpolymath in #441
- Claude/fix vscode smoke vscode import by @hyperpolymath in #442
- Feat/wasm call extern by @hyperpolymath in #443
- feat(stdlib): Deno scripting surface — walk/args/exit/iso/regex/stderr (step #242) by @hyperpolymath in #445
- feat(typecheck): module-qualified type/effect path resolution (ADR-014, Refs #228) by @hyperpolymath in #447
- refactor(tw): extract Tw_section.Encode.ownership; delete orphan tw_ownership_section.ml by @hyperpolymath in #456
- ci(scorecard): add job-level permissions for reusable workflow by @hyperpolymath in #457
- fix(codegen-js): emit \uXXXX/\u{X} for non-ASCII string literals (closes #460) by @hyperpolymath in #463
- feat(typecheck): String relational ops (<, >, <=, >=) (closes #458) by @hyperpolymath in #464
- feat(loops): wire
break/continueend-to-end (closes #459) by @hyperpolymath in #465 - style(lib/dune): apply ocamlformat to silence persistent build red by @hyperpolymath in #466
- docs(tw_section): update stale typed-wasm proposal 0001 reference (accepted + ADR-0002/0003) by @hyperpolymath in #468
- feat(stdlib): WasmValue + wasm_export_call typed wasm-exports binding (closes #455) by @hyperpolymath in #467
- ci: concurrency cancel-in-progress on 4 workflows missing it by @hyperpolymath in #469
Full Changelog: v0.1.1...v0.2.0