a23860be3e
ci / build (ubuntu) (push) Has been cancelled
ci / unit + fmt (push) Has been cancelled
ci / examples (push) Has been cancelled
ci / goldens + tools (push) Has been cancelled
ci / apps (push) Has been cancelled
ci / selfhost smoke (push) Has been cancelled
ci / macos smoke (push) Has been cancelled
ci / windows smoke (push) Has been cancelled
ci / CI gate (push) Has been cancelled
selfhost-loop / bootstrap determinism (push) Has been cancelled
Bump compiler banners and package version to 1.0.0, activate SEMVER policy, and add RELEASE_v1.0.0 notes. Fix closure auto-Drop leaking outer Array drops into nested capture bodies (iter_hof). Fmt-clean examples/src for CI.
1.9 KiB
1.9 KiB
Bux v1.0.0 — Language Freeze
Date: 2026-07-27
Tag: v1.0.0
What 1.0 means
- Language freeze for public surface: syntax, stdlib APIs, and CLI that
scripts depend on follow
docs/SEMVER.md. - Normative spec:
docs/LanguageRef.md. - Compilers: bootstrap (
buxc, Nim) and selfhost (buxc2, Bux) both target the same language for the shipped feature set. - Platform focus: Linux primary; cloud/containers; cross/static/minimal runtime. Windows is not a product platform.
Shipped surface (summary)
| Area | Highlights |
|---|---|
| Frontend | Pratt parser, recovery, macros (macro!, fragments, juxta/tt/type) |
| Types | Generics (mono), tuples, fat func ABI, algebraic enums |
| Ownership | @[Checked], @[Release], Drop/RAII, field-move + remaining Drop |
| Concurrency | M:N tasks, channels, async |
| Stdlib | Array/Map/Set/String/Iter HOF, Net/TLS, registry, Test |
| Tooling | fmt, test, doc, check, LSP (separate versioning), DWARF #line |
| Ecosystem | path/git/HTTP registry, lock + --locked, 4 apps, benches |
Explicitly not 1.0 blockers
- True freestanding / bare-metal (
runtime_freestanding.c, Cortex-M) - Operators-only token paste; full
Array<int>in:typefragments - Windows product investment
- LLVM / non-C backends
Upgrade notes from 0.5.x
No mandatory source migration for projects that already build on late 0.5.x.
New package scaffolds still default to package version 0.1.0 (package semver,
not language version).
Fix included in 1.0.0
- Closure Drop isolation: lowering a nested closure no longer emits
outer-function
Array_Drop/ auto-Drop on the closure’s return path (brokeiter_hofand any capturing HOF over droppable locals).
Verify
make build
./buxc --version # bux 1.0.0 (bootstrap)
make test # full gate
make selfhost # buxc2
# optional: make selfhost-loop