Skip to content

Commit 04eae14

Browse files
committed
Version bump to v0.3.0 with CHANGELOG
- Bump version from 0.2.0 to 0.3.0 in build.zig.zon and nREPL describe - Create CHANGELOG.md covering all work since v0.2.0 (143 commits) - Major areas: Architecture v2, crash hardening, testing, DX, library compat
1 parent 6ddc0dc commit 04eae14

4 files changed

Lines changed: 64 additions & 7 deletions

File tree

‎.dev/memo.md‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,17 @@ Java interop policy: Library-driven. Test real libraries as-is (no forking/embed
5959

6060
## Current Task
6161

62-
Phase 88: v0.2.0 Release
63-
88.1: Version bump + CHANGELOG
62+
Phase 88: v0.3.0 Release (v0.2.0 was premature, 143 commits since)
63+
88.2: Release notes
64+
- Write proper release notes for GitHub release
6465

6566
## Previous Task
6667

67-
Phase 87 COMPLETE (Developer Experience).
68-
87.1: cljw test (already existed). 87.2: nREPL macroexpand op. 87.3: REPL polish. 87.4: cljw new.
68+
88.1: Version bump to v0.3.0 + CHANGELOG created.
6969

7070
## Task Queue
7171

7272
```
73-
88.1: Version bump + CHANGELOG
7473
88.2: Release notes
7574
88.3: Benchmark record (full history entry)
7675
88.4: Binary audit (no debug symbols, no embedded secrets)

‎CHANGELOG.md‎

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Changelog
2+
3+
## v0.3.0 (2026-02-20)
4+
5+
### Architecture v2
6+
- Exception system unification: `Exception.` returns maps with hierarchy and `.getMessage`
7+
- ClassDef registry for unified interop dispatch (protocol-based)
8+
- UTF-8 codepoint correctness for all string operations
9+
- Handle memory safety with use-after-close detection
10+
- Scope-reduced All-Zig migration: hybrid architecture (Zig primitives + .clj composition) confirmed optimal
11+
12+
### Crash Hardening
13+
- Coverage-guided fuzzing harnesses for Reader, Analyzer, Compiler, and VM
14+
- Structure-aware Clojure form generator for fuzzing
15+
- Differential testing harness (CW vs JVM Clojure): 146 static + 100 random expressions
16+
- Resource limits for format, str, and analyzer depth
17+
- Internal error audit and panic removal
18+
- Vulnerability audit with VM hardening
19+
20+
### Error System
21+
- Layered error catalog (docs/errors.md)
22+
- Improved class/method error messages with suggestions
23+
24+
### Testing
25+
- 63 upstream test files (62/63 passing)
26+
- 13 CW-specific test files (exceptions, sorted collections, threading, destructuring, etc.)
27+
- Reader round-trip, stability, REPL output, and GC stress tests
28+
- Differential testing expanded to 146 expressions
29+
30+
### Library Compatibility
31+
- `cljw.io`, `cljw.shell`, `cljw.browse`, `cljw.process` namespace aliases
32+
- Library compatibility matrix: medley (82.5%), clojure.walk (100%), clojure.set (100%), data.csv (100%)
33+
34+
### Developer Experience
35+
- `cljw new <name>`: project scaffolding with deps.edn, src/, test/
36+
- nREPL macroexpand op (supports macroexpand, macroexpand-1, macroexpand-all)
37+
- REPL namespace-qualified tab completion (e.g., `str/tri<TAB>`)
38+
- REPL special commands: `:quit`, `:help`
39+
- Fixed nREPL cons cell rendering (sequences, not dotted pairs)
40+
- Fixed nREPL server shutdown panic
41+
42+
### CI/CD
43+
- GitHub Actions CI/CD foundation
44+
45+
### Bug Fixes
46+
- def/defn now returns var (Clojure compatibility)
47+
- macroexpand-1 qualified names
48+
- apply variadic dispatch
49+
- list* with cons/lazy-seq tails
50+
- Lazy-seq display uses formatPrStr
51+
52+
## v0.2.0 (2026-02-13)
53+
54+
Initial public release with zwasm v1.1.0 integration.
55+
56+
## v0.1.0 (2026-02-13)
57+
58+
First tagged release.

‎build.zig.zon‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.{
22
.name = .clojure_wasm,
3-
.version = "0.2.0",
3+
.version = "0.3.0",
44
.dependencies = .{
55
.zwasm = .{
66
.url = "https://github.com/clojurewasm/zwasm/archive/v1.1.0.tar.gz",

‎src/repl/nrepl.zig‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ fn opDescribe(
370370

371371
const version_entries = [_]BencodeValue.DictEntry{
372372
.{ .key = "major", .value = .{ .integer = 0 } },
373-
.{ .key = "minor", .value = .{ .integer = 1 } },
373+
.{ .key = "minor", .value = .{ .integer = 3 } },
374374
.{ .key = "incremental", .value = .{ .integer = 0 } },
375375
};
376376

0 commit comments

Comments
 (0)