This release adds 5 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryBroad release touches ir, vm, rt, and pre-commit.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Add .clj namespace resolution support via LG_READ_CLJ env var Add .clj namespace resolution support via LG_READ_CLJ env var Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Add xxh3 hash namespace via lginterop with .lg wrapper Add xxh3 hash namespace via lginterop with .lg wrapper Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Introduce bench‑ratchet system with v1.8.0 historical baseline Introduce bench‑ratchet system with v1.8.0 historical baseline Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Add Scope with hierarchical goroutine supervision tree (draft) Add Scope with hierarchical goroutine supervision tree (draft) Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Surface Go panic origin in VM crash reports Surface Go panic origin in VM crash reports Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Add chunked sequences support (substrate + chunk‑aware map/reduce/filter/take/pmap) Add chunked sequences support (substrate + chunk‑aware map/reduce/filter/take/pmap) Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Performance | Low |
Implement lock‑free Var.Deref using atomic root/curr instead of global bindingsMu Implement lock‑free Var.Deref using atomic root/curr instead of global bindingsMu Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fix HTTP response header string rendering Fix HTTP response header string rendering Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fix error output handling Fix error output handling Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Fix string index‑of and last‑index‑of to return rune indices for UTF‑8 safety Fix string index‑of and last‑index‑of to return rune indices for UTF‑8 safety Source: llm_adapter@2026-05-31 Confidence: high |
— |
Full changelog
Changelog
- 17ad803a10597e32e6c760523f80dd1a7415eda4 Add term/key-pending? non-blocking input peek (#118)
- 0044979da1f27587ed8c5928a9990b853881a5a8 Brew cask update for let-go version v1.8.0 (#74)
- 1738270add78ec370017835e66ce0133d645b709 Fix HTTP response header string rendering (#102)
- dbb3403e8472914ec09dd70e4b52b3bfbffe7ff3 Fix error output (#87)
- a34de7623276de59d6f097cd0f832888ce2b92a7 Thread doc metadata through def forms (#100)
- 155b9b0bedde5ab12bf5a21fdb08d6cd808637ac chore(pre-commit): bump golangci-lint to v2.12.2 to match v2 config (#93)
- d0371325cea74247ac8d57ab04a26236c19466d6 compiler/reader: namespace-qualify bare symbols in syntax-quote (#91)
- 49dd47b7823197df2b0899a446083ea73c05434c docs(policy)+ci+devx: contribution policy + staleness gates + parity tooling (issue #97) (#117)
- 3987b28683437eed4103502fd50e256f9fa843c1 feat(bytecode): LGB v2 format with per-tag versioning and batch decode (#80)
- 4b726d857c2c11d73c1d9dcf28839601c09681ef feat(core): graph ns (toposort, Tarjan SCC) + read-all-string + scripts/sort-defns.lg (#98)
- 896316d87b4dc2557b3e0b1d7dcb86eb263c4ae8 feat(ir): SSA IR + Lisp-side pass pipeline (#77)
- 8de2d0403ec2b141766d408626dd4b236fb4ba79 feat(ir): band2 — variadic, tail-call, destructure, multi-arity, type-infer (with review fixes) (#94)
- d2d75d9c73f9ba864ae4638bb5ed20537042d85d feat(ir+scripts): substrate observability + small ops + IR-stress harness (#114)
- 86e724fdbdc6c390714a7edff56698c19c08b38b feat(perf): bench-ratchet system + v1.8.0 historical baseline (#119)
- 4fc5f3478ad7b497fd507be3f866bcf2081fe793 feat(rt+vm): xxh3 namespace via lginterop + .lg wrapper (#108)
- 2154e3f5a95ce735746125208698eaa33d29764c feat(vm): Scope — hierarchical goroutine supervision tree (draft, depends on #120) (#123)
- 941cbe5d2337729e0e5dc55720a8586208c78e12 feat(vm): surface Go panic origin in crash reports (#127)
- 44d0ea4cae8624b1b5dd21458a7c9859ddf5c7ae feat(vm+rt): chunked seqs — substrate + chunk-aware map/reduce/filter/take/pmap (#109)
- f9565e89a2c215310077fde7c4313d5548aa2ec2 feat(vm+rt/async): goroutine registry + cancellable, correct core.async primitives (#120)
- a58b323702f11c6d3d10f5a838678e629fd904c0 feat/perf(ir): multi-arity closure captures + uses-cache infra + typeinfer overhaul + lower-go enhancements (#116)
- 4c4093475d471084c97a84792f2105b4b3ed7f20 feat: support .clj namespace resolution + LG_READ_CLJ env var (#129)
- 5f7556c670163680c5b1931b30ae4c697b89849e fix(compiler): in-ns compile-time hook must not trigger ns reload (#78)
- f754a374f6adeeb1f727bdfd11fdf28cc79c1518 fix(ir): build/lower minor bug fix bundle (#113)
- 60da8be008a6f49b7dbcce7c92a7114b5c876d68 fix(rt): identity short-circuit + hash fast-reject + visited-pair memoization in valueEquals (#111)
- 987c6f56f4132418acfd70c3717f1035cac3f816 fix(rt+resolver+lgbgen): land the missing call-site switches for #110 (#115)
- efce97984a641fed8817e95ca21cdf09b17717e1 fix(rt/term): guard syscall/js Value.Int() against undefined Atomics/SAB (#126)
- cbc22c8bca80a84dbb1adc2c02d3d9a4d4a3e002 fix(scripts): atomic gofmt write via .tmp + mv; trap cleanup (#92)
- 8d7dca24937197c9f93158bdf163464994b53590 fix(string): index-of / last-index-of return rune indices for UTF-8 safety (#89)
- d2b747487faa969cb438443ede0cd7df88cb6259 fix(test): make os-cwd-test hermetic — assert string, not checkout path (#121)
- aa4bd55214af2d7c8538704a0c96c729b6236479 fix(vm): Go-fn-call-boundary fixes + Closure as Fn interface (#112)
- 8bac4832c3e1bff5ec9fba94638838162cd7f2fd lginterop: compact positional exports, generics/methods/fields metadata (#85)
- 3ed77c742564a3fb6d24a3856fb872613c0230d9 perf(bench-ratchet): default to fast jank-suite gate (bytecode + gogen_ir variants); -full for the micro-bench fleet (#125)
- 6035aa3dc43c9070179b120c3a017fe6976db5c4 perf(gogen): lazy AddLine for synthetic positions (#95)
- 517d129732180abb6231b9e71e461b1a48494e6e perf(rt): atomic gensym + pmapv (eager parallel map), and a design note (#124)
- a898a39d0df5a068f6da680def07266d12e54c62 perf(vm): lock-free Var.Deref — atomic root/curr instead of global bindingsMu (#122)
- bc9b02c80a3ee3aa1c94384bf4a785aaaad45ad6 refactor(rt+resolver+lgbgen): reduce binding-add ceremony to a single drop (#110)
- 0051e636eacb0354faf685c77148b84688094058 repl: migrate from alimpfard/line to chzyer/readline for FreeBSD support (#90)
- ecc0584912002303df40593021a3f9cd80669909 resolver: deps.edn source path support + runtime deps-paths fn (#83)
- ba082dec226d26e9b9fd91625b2ce80b107fa38c runtime: enforce ns load semantics for require and qualified lookup (#81)
- 06bd643d012107151e323ac9a01ae8ee7e573a6e scripts: corpus-agnostic ir-stress harness (#96)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Track I made a Clojure-like language in Go, boots in 7ms
Get notified when new releases ship.
Sign up freeAbout I made a Clojure-like language in Go, boots in 7ms
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]