Nocter v0.2.0 Release Notes
Nocter v0.2.0 completes the Allocator and ownership foundation required for practical owned String and Vec<T> programs and substantially expands the compiler-backed language server.
Highlights
- A checked
Layout, provenance-carryingRawBuffer, and explicitAllocatorcontract provide failure-atomic allocation, growth, and deallocation. - Recursive drop obligations cover partially initialized structs, fixed arrays, payload enums, and initialized vector prefixes.
Stringsupports empty construction, allocation, copy/from-string, reserve, append, clear, views, and deterministic drop.Vec<T>supports empty construction, capacity management, reserve, push, pop, clear, views, and deterministic recursive drop for copy and non-copy elements.- Runtime acceptance covers
Vec<String>,Vec<File>, andVec<Vec<String>>, including failed growth and close-once behavior. - LSP support includes diagnostics, semantic tokens, hover, definition, references, document symbols, semantic completion, generic signature help, incomplete-edit recovery, and consistent multi-file open-document overlays.
Distribution
The release asset contains one .nocter/ directory with the compiler, metadata, license files, and standard library. The supported native host and target are arm64-darwin.
Unpack the archive, move .nocter/ to the desired installation location, and place a symlink to .nocter/nocter on PATH. The compiler resolves the real executable path to find its standard library, so the binary should remain inside the .nocter/ directory.
Normal Nocter builds do not require LLVM, clang, as, ld, an external runtime library, or the Xcode Command Line Tools.
Verification
The release gate passed compiler checks, formatting, Clippy with warnings denied, 1,866 library tests, 294 CLI build tests, 423 native run tests, 112 distributed-home tests, LSP integration tests, and packaged-home execution. The generated release image passed nocter doctor and reported Nocter 0.2.0.
See the v0.2.0 development contract for the complete scope and explicit non-goals.