Repository navigation
ZigBase 0.4.1
·
1132 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Added
zigbase --version(and theversionsubcommand) prints build provenance —
thebuild.zig.zonversion, the git commit, the build mode, the target triple,
and the Zig version. Implemented at the framework level, so every binary built
on ZigBase (including the examples and downstream apps) inherits it.text.patternis now enforced on record writes via a pure-Zig, linear-time
(DoS-safe) Thompson-NFA matcher (src/regex.zig). Matching is unanchored (substring);
anchor with^…$for a full-string match. Supported syntax: literals,.(any codepoint
except\n), anchors^/$, character classes[…]/[^…]/ranges, predefined classes
\d \D \w \W \s \S(ASCII), escapes\t \n \r \f \vand\-escaped metacharacters,
alternation|, groups(…)/(?:…), and quantifiers* + ? {m} {m,} {m,n}. Patterns
are validated when a collection is saved (a bad regex is a400field error), and at build
time (@compileError) for comptime schema literals.datefieldmin/maxare now enforced on record writes, with date normalization
(src/datetime.zig) so mixed formats (e.g.2026-06-10 08:00:00vs
2026-06-10T08:00:00Z) compare correctly. Malformed or out-of-range date values are
rejected with400(validation_date). Bounds are validated at collection-save time
and at build time (@compileError) for comptime schema literals.
Changed
- Prebuilt server binaries are now stripped — release builds drop debug
symbols, cutting each@zigbase/server-<platform>package and GitHub-release
tarball from ~24 MiB to ~7 MiB (about 73% smaller) with no API or behavior
change.npm install @zigbase/serverandnpx @zigbase/typegendownload
much less.