Files
bux-lang/docs/RELEASE_v1.0.2.md
T
dimgigov d8c21609fd
ci / build (ubuntu) (push) Has been cancelled
ci / macos smoke (push) Has been cancelled
ci / windows smoke (push) Has been cancelled
selfhost-loop / bootstrap determinism (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 / CI gate (push) Has been cancelled
fix(v1.0.2): Array grow from 0, Map/Set rehash, checked div/mod
- Array_Push grows from cap 0 (same min as Insert) to avoid segfault
- Map/StringMap/Set: default min cap 8 and auto-rehash at ~50% load
- Integer / and % emit bux_div_i64 / bux_mod_i64 (panic instead of SIGFPE)
- Bump version to 1.0.2; stdlib golden regressions; fmt clean
2026-07-29 00:03:22 +03:00

25 lines
840 B
Markdown

# Bux v1.0.2 — Patch
**Date:** 2026-07-28
**Tag:** `v1.0.2`
Patch release on the **v1.0 language freeze**. No language-surface breakage;
stdlib + codegen correctness only.
## Fixes
| Area | Issue | Fix |
|------|--------|-----|
| `Array_Push` | `Array_New(0)` + push → segfault (`cap * 2 == 0`) | Grow to at least 4 when capacity was 0 (same as `Array_Insert`) |
| `Map` / `StringMap` | Full table → infinite loop in open-addressing probe; `cap == 0` → SIGFPE on `%` | Default min cap 8; auto-rehash when load ≥ 50% |
| `Set` | Same as Map | Same grow / min-cap policy |
| Integer `/` and `%` | Divisor 0 → raw SIGFPE | Emit `bux_div_i64` / `bux_mod_i64` (bootstrap LIR + C backends, selfhost C backend) |
## Verify
```bash
make build
./buxc --version # bux 1.0.2 (bootstrap)
make test-stdlib test-examples
```