Releases: loreste/mako
Release list
Mako v0.4.5
Mako v0.4.1
Mako v0.4.1
365 Mako tests + 81 Rust tests, 0 failures. 11/11 CI jobs green.
Runtime
- Zero-alloc
print(f"..."),log_*(f"..."),http_respond(f"...")— f-string bodies consumed directly from the stack buffer, no malloc/free writevprint on Unix — single syscall for data + newline- Stored hashes in string-keyed maps — skip
memcmpon hash mismatch during probing - Faster integer hash (splitmix64 replaces wyhash for int-keyed maps)
- Result/Option
= {0}aggregate init instead ofmemset - Fix memory leaks in
wrap_err,error_join,error_tag - Map probe
MAKO_LIKELYbranch hints
Codegen
len(f"...")computes length from stack buffer without materializing a string- Skip redundant old-pointer save on
s = append(s, v)self-append emit_fstring_as_view/emit_fstring_view_callhelpers for zero-alloc f-string consumers
Performance
- Inline introsort with corrected depth limit and linear sorted/reverse fast paths
- Map key ownership: avoid cloning fresh string keys (literals, interpolation, concatenation)
- Workload: ~23M req/s — tied with Rust, 2x faster than C and Go
Build
- Windows storage I/O: direct fd, mmap, WAL primitives
- Portable temp paths for Windows filesystem tests
- Fix Windows CI: skip plugin compilation test when cc is unavailable
- All 11 CI jobs pass: Ubuntu, macOS, Windows, ASan, UBSan, TSan, GCC, cross-compile, bench gates, claims
Install
# macOS / Linux
curl -fsSL https://github.com/loreste/mako/releases/latest/download/install-linux.sh | bash
# Or download the binary directly
curl -LO https://github.com/loreste/mako/releases/download/v0.4.1/mako-v0.4.1-darwin-arm64.tar.gzWhat's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
What's Changed
- Prevent Windows debug stack overflows by @attahn in #11
- Add compiler scaling fixtures by @attahn in #12
- Preserve Windows task results by @attahn in #13
- Fix runtime optimization correctness regressions by @attahn in #14
- Make filesystem tests portable on Windows by @attahn in #15
- Support Windows storage I/O primitives by @attahn in #16
Full Changelog: v0.4.0...v0.4.1
Mako v0.4.0
v0.4.0 — Performance, DCE, lint, runtime speed
362 Mako tests + 80 Rust tests, 0 failures. All CI jobs pass.
Performance
- 99.8% C output reduction (30,184 → 64 lines for hello.mko)
- Fast int-to-string (24x faster, no snprintf)
- Realloc string concat (16% faster chained ops)
- Dead code elimination (default-on)
- Demand-driven type helpers (tuples, arrays, channels)
- Compile-time folding: booleans, strings, len, contains, prefix, suffix, repeat, replace
Lint (mako lint)
- Unused imports, unreachable code, unused variables, shadowed variables
Concurrency
- Hardened channel select (thread-local state, seeded stress tests under TSan)
Build
--stripflag for smaller binaries- Improved Linux installer (distro detection, profile persistence)
Install
curl -fsSL https://github.com/loreste/mako/releases/download/v0.4.0/install-linux.sh | bashWhat's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
What's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
What's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
What's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
What's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
What's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
What's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
What's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
What's Changed
- Free discarded Option and Result payloads by @attahn in #8
- fix(installer): detect Linux distribution and persist shell environme… by @imfanee in #10
- Harden channel select concurrency by @attahn in #9
New Contributors
Full Changelog: v0.3.0...v0.4.0
Mako v0.3.0
v0.3.0 — Cross-platform, all CI green
360 Mako tests + 79 Rust tests, 0 failures. All 11 CI jobs pass.
Cross-platform
- Ubuntu, macOS, Windows, ASan, UBSan, GCC, TSan — all pass
- Cross-compile: Windows, Linux musl (static), WASI
- Windows CI: full suite (soft) + 17 core tests (strict)
- IPv6 tests fixed (non-blocking accept, socket timeouts)
Ownership hardening (SAFE-006)
- Match Own free, bind-scope free, alias-mut freer flags
- Path-local early-return free, arm-local cleanup
- 4 ASan ownership regression tests + leba build verified
Package integrity
- V2 digest format, build-time verification, legacy compatibility
Install
curl -fsSL https://github.com/loreste/mako/releases/download/v0.3.0/install-linux.sh | bashWhat's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
What's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
What's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
What's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
What's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
What's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
What's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
What's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
What's Changed
- Make package publication immutable by @attahn in #4
- Fix cross-platform CI failures by @attahn in #6
- Harden registry package verification by @attahn in #5
- Fix v0.2.4 Winget checksum by @attahn in #7
Full Changelog: v0.2.5...v0.3.0
Mako v0.2.5
v0.2.5 — Memory safety audit + LSP + honest docs
357 tests, 0 failures. Full suite passes under AddressSanitizer.
Memory safety (10 codegen ownership bugs fixed)
- Return-from-field clone, consumed-argument transfer, void-call sink
- Arena scope free suppression, stack-view boxing in Result/Option
- Ok/Err/Some transfer_own_on_return, struct-borrow from array indexing
- String/struct array reassign shallow-free
- Save/restore own_drop_live across if-branches
- Source temp marked as moved on reassign
Proven regression test
own_branch_regress_test reproduces the exact if-branch ownership defect:
fails with heap-use-after-free on the pre-fix compiler, passes on this release.
LSP v0.5.0
- Hover, inlay hints, signature help with parameter info
Infrastructure
- Per-test timeout, ASan + UBSan + GCC CI, Windows CI corrected
- Installer: --no-same-owner, graceful read-only shell RC
Install
curl -fsSL https://github.com/loreste/mako/releases/download/v0.2.5/install-linux.sh | bashFull Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Full Changelog: v0.2.4...v0.2.5
Mako v0.2.4
Mako 0.2.4
mako0.2.4 (CARGO_PKG_VERSION) — soundness wave and efficiency release after 0.2.3.
Highlights
- Memory-safe drops by construction (slices, maps, strings, structs,
?, break/continue) string_view+ stack POD array lits (no malloc tax on hot loops)- Opt-in scheduler pool (
sched_set_workers) and channel take-send ownership - Build-time locked dependency verification (PR #3)
Install (after GitHub Actions publish assets)
curl -fsSL https://github.com/loreste/mako/releases/download/v0.2.4/install-release.sh \
| bash -s -- --version v0.2.4 --yesLinux:
curl -fsSL https://github.com/loreste/mako/releases/download/v0.2.4/install-linux.sh \
| bash -s -- --version v0.2.4Packaging maintainers
./scripts/fill-release-packaging.sh v0.2.4See CHANGELOG.md section 0.2.4.
Full changelog: v0.2.3...v0.2.4
What's Changed
Full Changelog: v0.2.3...v0.2.4
What's Changed
Full Changelog: v0.2.3...v0.2.4
What's Changed
Full Changelog: v0.2.3...v0.2.4
Mako v0.2.3
Mako 0.2.3
mako0.2.3 (CARGO_PKG_VERSION) — security patch after 0.2.2.
Highlights
JWT / JWKS hardening
- Strict JSON number/literal/object/array skip with depth limit
- Reject trailing junk and malformed JWKS (
jwt_verify_jwksfails closed) - Safer
jwt_sign/jwt_verify(payload cap, HMAC length, free buffers)
HTTPS / listen
- Dual-stack HTTP listen (shared TCP backlog helper)
- Hardened TLS live tests (ports, SNI bind asserts)
Docs
- Verified HTTPS vs cleartext
http_*, OIDC, JWT SNI contracts
Install (after GitHub Release assets are published)
curl -fsSL https://github.com/loreste/mako/releases/download/v0.2.3/install-release.sh \
| bash -s -- --version v0.2.3 --yesLinux-only:
curl -fsSL https://github.com/loreste/mako/releases/download/v0.2.3/install-linux.sh \
| bash -s -- --version v0.2.3Fill brew/winget SHAs after tag CI:
./scripts/fill-release-packaging.sh v0.2.3See CHANGELOG.md section 0.2.3.
Full changelog: v0.2.2...v0.2.3
Full Changelog: v0.2.2...v0.2.3
Full Changelog: v0.2.2...v0.2.3
Full Changelog: v0.2.2...v0.2.3
Mako v0.2.2
Mako 0.2.2
mako0.2.2 (CARGO_PKG_VERSION) — patch after 0.2.1.
Highlights
TLS SNI (multi-cert servers)
- Concurrent-safe SNI set rebuild/swap on add
tls_server_sni_update/tls_server_sni_remove- Client hostname verification when peer verify is on
HTTPS client + identity
https_get/https_post/https_request(+ last status/headers)oidc_discovery/oidc_tokenjwt_verify_rs256/jwt_verify_jwks
Packaging
- SHA-256 lockfile integrity v2 (verify on install)
Install (after GitHub Release assets are published)
curl -fsSL https://github.com/loreste/mako/releases/download/v0.2.2/install-release.sh \
| bash -s -- --version v0.2.2 --yesLinux-only:
curl -fsSL https://github.com/loreste/mako/releases/download/v0.2.2/install-linux.sh \
| bash -s -- --version v0.2.2Fill brew/winget SHAs after tag CI:
./scripts/fill-release-packaging.sh v0.2.2See CHANGELOG.md section 0.2.2.
Full changelog: v0.2.1...v0.2.2
What's Changed
- Harden claims and add multi-certificate TLS SNI by @loreste in #1
- Enforce SHA-256 package lock integrity by @attahn in #2
New Contributors
Full Changelog: v0.2.1...v0.2.2
What's Changed
- Harden claims and add multi-certificate TLS SNI by @loreste in #1
- Enforce SHA-256 package lock integrity by @attahn in #2
New Contributors
Full Changelog: v0.2.1...v0.2.2
What's Changed
- Harden claims and add multi-certificate TLS SNI by @loreste in #1
- Enforce SHA-256 package lock integrity by @attahn in #2
New Contributors
Full Changelog: v0.2.1...v0.2.2