Getting Started
OverviewLanguage GuideFull Reference
Book
Table of ContentsIntroductionPrefaceGetting StartedLanguage TourOwnershipErrorsConcurrencyStdlibNetworkingDataPackagesSpeed & SafetyCross-PlatformToolingCookbookAppendix
Reference
Standard LibraryKeywordsPerformanceSecurityBuilt-in FunctionsStatusDebuggingABI
How-To
Getting StartedHTTP APIsErrorsPackagesConcurrencyMemoryWASITestingRelease Builds
Project
RoadmapVisionChangelogContributing

Changelog

Changelog

Unreleased

v0.1.10 — Deepen generics

v0.2.1 — Safety & correctness

v0.2.0 — Stdlib in Mako

Channels

0.1.9 — 2026-07-16

mako0.1.9 (CARGO_PKG_VERSION).

Patch after 0.1.8: generic types, interface bounds, and seed iterator / mutable-closure infrastructure — the foundation for writing the stdlib in Mako.

Generics

Interface bounds

Iterator protocol (seed)

Mutable closures (seed)

Docs / packaging

0.1.8 — 2026-07-16

mako0.1.8 (CARGO_PKG_VERSION).

Patch after 0.1.7: speed-first runtime and codegen wave — hashing, strings, channels/select, HTTP table scale, and compiler allocation cuts. Memory-safety and concurrency correctness retained (or tightened) on every change.

Speed optimizations

Memory safety & concurrency

Bug fixes

Storage / domain P0–P4 product surface

P0 — first-class handles + bloom rebuild - Domain handles (Bloom, PageMan, Predict, MultiMap, …) map to real C pointers (params / returns / struct fields), not int64_t. - bloom_clear resets bits without free/new.

P1 — range · multi-value · string keys - Range buffer grows (TLS 128 → heap up to 65 536); range_cap. - Iterator: range_rewind / range_next / range_key / range_val. - MultiMap multi-value ordered map (multimap_put / get_all / range). - String keys: bloom_add_str / bloom_maybe_str, btree_put_str / get_str / range_str, str_hash64.

P2 — durable sidecars - btree_save v2: magic MBT2 + FNV checksum (legacy v1 load still works). - pman_write_page / pman_read_page (full 4 KiB bulk).

P3 — ergonomics - str_slice_ci_index / str_slice_ci_starts, builder_write_slice. - file_append2 / file_append3 (writev multi-record flush). - Domain registry: domain_reg_put_* / get_* / del (int slots for handles).

P4 — extras - sst_build8 / sst_build_n (N≤8 pairs without C arrays). - Profile JSON schema remains mako.profile_samples.v1 (stable).

Tests: TestDomainHandleFieldsAndFns, TestDomainStoragePolishP0toP4.

0.1.7 — 2026-07-15

mako0.1.7 (CARGO_PKG_VERSION).

Patch after 0.1.6: binary codecs (CBOR/MessagePack/Avro), list combinators, GraphQL/protobuf packages, named timezone offsets.

Avro · GraphQL package · protobuf package · TZ offsets

CBOR + MessagePack + list combinators

0.1.6 — 2026-07-15

mako0.1.6 (CARGO_PKG_VERSION).

Patch after 0.1.5: YAML/TOML encoding packages, plugin product, rich collections, full time + syscall, unicode/utf8 depth.

YAML + TOML encoding

Plugin product · rich collections · full time · full syscall

Full unicode + utf8 package

List[T] + richer collections

Plugin as rich package

0.1.5 — 2026-07-15

mako0.1.5 (CARGO_PKG_VERSION).

Patch after 0.1.4: package-per-directory, unbuffered rendezvous channels, Go-style implicit interfaces, actor int payloads, const-fn depth (match / while / for / break·continue / strings / string const fn), error chain peel, and fallthrough.

Const fn string params / returns

Const string seed

Const-fn break / continue

Const-fn for loops

Const-fn depth (match · while)

Actor int message payload seed

Implicit interface method sets (Go-like)

Package-per-directory · unbuffered rendezvous channels

Seeds & syntax (error chain · fallthrough)

0.1.4 — 2026-07-15

mako0.1.4 (CARGO_PKG_VERSION).

Patch release after 0.1.3: language zero-copy string regions, storage polish, observability/debugger seeds, packaging dry-runs, comptime if fold, and product-path seeds (DAP stdio, profile-serve, live plugin reload).

Product-path seeds (DAP stdio · profile-serve · live plugin reload · soft FB)

Comptime depth · hot-reload depth · prediction seed

DAP dispatch · profile HTTP · cross-target dry-run

Residual roadmap seeds (DAP · pprof · packaging · domain · interop)

Sampling CPU profiler seed

Debugger · OTLP · installer · actor/interface seeds

Storage polish seeds (bloom · range · page manager)

Core string region ops (no substring alloc)

Zero-copy SIP views (hot path)

Adversarial hardening (SIP NAT + SDP + SQL)

SDP (RFC 4566) proxy surface

SIP NAT full support (RFC 3261 §18.2 + RFC 3581)

SIP proxy library positioning

SIP RFC compliance polish (3261 / 3581)

SQL bind arity · SIP proxy production surface

Multi-level LSM · page-backed btree

Storage polish · hot reload seeds

0.1.3 — 2026-07-14

mako0.1.3 (CARGO_PKG_VERSION).

Runtime trust, observability, language ergonomics (closures, f-strings), storage/domain seeds (no SIPREC/WebRTC), packaging polish, and docs.

Storage product depth

Domain tracks batch (no SIPREC/WebRTC)

P4 storage depth · game snapshot seeds

P3 packaging · ShareInt capture · debug locals

Language · observability · runtime trust (since 0.1.2)

0.1.2 — 2026-07-14

mako0.1.2 (CARGO_PKG_VERSION).

Codegen — demand-driven map monomorphs

Language — Option/Result fields in map tuples

Language — nested bag slices as map values

Language — mixed bag nests as map values

Language — nested Option[Option[…]] map values + struct-chan 3-tuples

Language — 3-tuples with channel fields as map values

Language — [][]chan[T] and (chan[T], scalar) map values

Language — nested channel bags ([]Option[chan] / Option[[]chan])

Language — Option[chan[T]] / map[K]Option[chan] / Result[chan]

Language — map[K][]chan[T]

Language — nested maps depth 3

Fix — CI: Windows mutex, nested named-key maps, int-lit array types

Language — map[K]chan[T] channel values

Security — SCRAM proof compare

Language — map tuples with Struct/Enum + homogeneous 4-tuples

Language — map[K]Option[map[…]] / map[K]Result[map[…],E]

Language — map[K](T, U[, V]) tuple values

Language — map[K]Option[[]T] / map[K]Result[[]T,E]

Language — map[K][]Option[T] / map[K][]Result[T,E]

Security — at-rest, limits, cancel, mTLS, SCRAM cbind

Language — []Option[T] / []Result[T,E]

Docs — howto & book collections surface

Language — map[K]Option[T] / map[K]Result[T,E]

Fixes — Option[map[K]V] and annotated None/Some

Fixes — struct eq/hash with composite fields

Language — pack-qualified types & multi-return of structs

0.1.1 — 2026-07-13 (HTTP/2 production + free safety + CI)

Patch release for production edge stability and CI green. mako version reports mako0.1.1 (CARGO_PKG_VERSION).

Fixes — HTTP/2 frame size (mako-lang.com)

Fixes — empty-string free safety

Fixes — CI / portability

Ops / docs

0.1.0 — 2026-07-13 (intern + chan take + proxy splice)

Speed / memory

0.1.0 — 2026-07-13 (map take + HTTP zero-copy)

Speed / memory

0.1.0 — 2026-07-13 (speed audit: release hot path)

Performance

0.1.0 — 2026-07-13 (UUID/ULID + speed/safety)

UUID / ULID (POD Copy IDs — no GC on the value)

0.1.0 — 2026-07-13 (language residuals wave 41)

Ok(Some) · exotic ? · race stack · tracing GC · UCD/PCRE depth

0.1.0 — 2026-07-13 (language residuals wave 40)

Race / Send / NLL / patterns / stability / GC / reflect / JPEG / Unicode

0.1.0 — 2026-07-13 (hex / decimal / bases)

Numeric format & parse (all common bases)

0.1.0 — 2026-07-13 (fmt / print packages)

Go-style fmt and print

0.1.0 — 2026-07-13 (Go-style templates)

Template language (text/template / html/template)

0.1.0 — 2026-07-13 (Email / SMTP package)

Code email from Mako

0.1.0 — 2026-07-13 (MHA + quant GGUF + BPE)

Deeper local AI

0.1.0 — 2026-07-13 (GGUF + transformer kernels + tokenizer)

Local AI depth for real models

0.1.0 — 2026-07-13 (local models: existing weights + your own)

Work with existing models or program your own

Path Surface
Hosted APIs llm_* (unchanged)
Local weights model_* + gpu_*

0.1.0 — 2026-07-13 (GPU AI building blocks)

GPU seed oriented for AI (not graphics)

North star: compose inference/training ops in Mako on multi-vendor GPUs.

0.1.0 — 2026-07-13 (GPU OpenCL multi-vendor)

GPU / accelerator seed (OpenCL + host)

Portable compute for NVIDIA, AMD, Intel (OpenCL ICDs) and macOS (Apple OpenCL → GPU), with host CPU fallback when no driver:

0.1.0 — 2026-07-13 (GPU compute seed)

GPU / accelerator seed (host path)

Initial host-only seed (superseded by OpenCL multi-vendor above).

0.1.0 — 2026-07-13 (WebSocket RFC 6455 complete)

WebSocket production surface

0.1.0 — 2026-07-13 (IPv6 + Happy Eyeballs)

Networking dual-stack

0.1.0 — 2026-07-13 (LLM stream / embeddings / retry)

LLM programming depth

0.1.0 — 2026-07-13 (strong logging)

Structured logging (runtime/mako_log.h)

Production logging surface:

0.1.0 — 2026-07-13 (security / crypto / TLS client)

Cryptography & TLS

Platform surface so you build secure systems in Mako (not a soft PKI product):

0.1.0 — 2026-07-13 (SIP platform: build stacks in Mako)

Position

Mako ships primitives so you can implement transaction engines, dialogs, SIPS, SRTP, proxies, and UAs in Mako — not a prebuilt softswitch/WebRTC stack.

SIP / SDP / RTP (runtime/mako_sip.h, std/sip)

Crypto building blocks for SRTP-in-Mako

0.1.0 — 2026-07-13 (database multi-row)

Multi-row result sets (sql_query_rows*)

0.1.0 — 2026-07-13 (database programming)

Unified SQL (sql_*)

0.1.0 — 2026-07-13 (LLM programming)

LLM runtime (runtime/mako_llm.h, std/llm)

First-class OpenAI-compatible LLM client focused on market gaps:

0.1.0 — 2026-07-13 (low-latency time)

Clocks

0.1.0 — 2026-07-13 (low-level networking)

TCP / UDP sockets

0.1.0 — 2026-07-13 (filesystem / storage production)

Filesystem & storage

0.1.0 — 2026-07-13 (HTTP/2 + HTTP/3 hardened path)

HTTP/2 hardened path (http2_conn_*)

HTTP/3 hardened path (quiche)

0.1.0 — 2026-07-13 (out-of-box one-shot install)

0.1.0 — 2026-07-13 (wave 39 queue)

0.1.0 — 2026-07-13 (wave 38 queue)

0.1.0 — 2026-07-13 (wave 37 queue)

0.1.0 — 2026-07-13 (wave 36 queue)

0.1.0 — 2026-07-13 (wave 35 queue)

0.1.0 — 2026-07-13 (wave 34 queue)

0.1.0 — 2026-07-13 (wave 33 queue)

0.1.0 — 2026-07-13 (wave 32 queue)

0.1.0 — 2026-07-13 (wave 31 queue)

0.1.0 — 2026-07-13 (wave 30 queue)

0.1.0 — 2026-07-13 (wave 29 queue)

0.1.0 — 2026-07-13 (wave 28 queue)

0.1.0 — 2026-07-13 (wave 27 queue)

0.1.0 — 2026-07-13 (wave 26 queue)

0.1.0 — 2026-07-13 (wave 25 queue)

0.1.0 — 2026-07-13 (wave 24 queue)

0.1.0 — 2026-07-13 (wave 23 queue)

0.1.0 — 2026-07-13 (wave 22 queue)

0.1.0 — 2026-07-13 (wave 21 queue)

0.1.0 — 2026-07-13 (wave 20 queue)

0.1.0 — 2026-07-13 (wave 19 queue)

0.1.0 — 2026-07-13 (wave 18 queue)

0.1.0 — 2026-07-13 (wave 17 queue)

0.1.0 — 2026-07-12 (wave 16 queue)

0.1.0 — 2026-07-12 (wave 15 queue)

0.1.0 — 2026-07-12 (wave 14 queue)

0.1.0 — 2026-07-12 (wave 13 queue)

0.1.0 — 2026-07-12 (wave 12 queue)

0.1.0 — 2026-07-12 (wave 11 queue)

0.1.0 — 2026-07-12 (wave 10 queue)

0.1.0 — 2026-07-12 (wave 9 queue)

0.1.0 — 2026-07-12 (wave 8 queue)

0.1.0 — 2026-07-12 (concurrency / result / CI)

0.1.0 — 2026-07-12 (wiring audit)

0.1.0 — 2026-07-12 (module layout)

Compiler modules (implementation order)

  1. src/overflow.rs + runtime/mako_overflow.h + codegen trap path
  2. src/recovery.rs + multi-error emit via diag
  3. src/shutdown.rs + runtime/mako_shutdown.h
  4. runtime/mako_rt.hMAKO_BOUNDS_CHECK / MAKO_BOUNDS_ALWAYS
  5. src/errors.rsResult[T, Enum] helpers for codegen
  6. src/leak.rs + runtime/mako_leak.h

0.1.0 — 2026-07-12 (complete: Result enum, const fn, crew drain)

Language / runtime (completion pass)

0.1.0 — 2026-07-12 (overflow, shutdown, recovery, leak, trace)

Compiler / runtime safety

Tests: examples/testing/overflow_shutdown_test.mko.

0.1.0 — 2026-07-12 (proxy hot path)

Networking / reverse-proxy runtime

0.1.0 — 2026-07-12 (networking & auth)

Networking

Security / auth

Fixes

0.1.0 — 2026-07-12 (expressions & assignment)

Language

Security / stdlib

Concurrency

Security / KDF

HTTP/2

TLS

OS

Networking

Examples

Tooling

Fixes


0.1.0 — 2026-07-12 (control-flow surface)

Control flow & statements

Fixes


0.1.0 — 2026-07-11 (gap close wave 6)

Struct channels · tagged errors

Waves 1–5


0.1.0 — 2026-07-11 (path-style import blocks)

Imports — service-scale groups


0.1.0 — 2026-07-11 (low ceremony + pain map + flair)

Product — real work, less typing

Product — Go/Rust pain → Mako answers

Units — Done


0.1.0 — 2026-07-11 (docs + syntax identity)

Mako-owned syntax (Done)

Language wave 10 (Done)


0.1.0 — 2026-07-10

STATUS north-star / MVP: 100% (homebrew-core publish remains an external blocker).

The Mako Book + docs accuracy pass (Done)

Stdlib Wave 9 regexp increment (Done)

General-purpose package offline/private registry increment (Done)

Stdlib Wave 8 + CLI polish (Done)

General-purpose Toolchain/IDE debug increment (Done)

General-purpose Toolchain/IDE dependency audit increment (Done)

General-purpose Toolchain/IDE documentation generator increment (Done)

General-purpose Toolchain/IDE testing-tools increment (Done)

General-purpose Observability profile increment (Done)

General-purpose Release packaging docs increment (Done)

General-purpose Data/SQL compile-time serialization increment (Done)

General-purpose Data/SQL multi-store compatibility increment (Done)

General-purpose Data/SQL MySQL/Redis polish increment (Done)

General-purpose Data/SQL typed-checker increment (Done)

General-purpose Data/SQL migration increment (Done)

General-purpose Data/SQL transaction increment (Done)

General-purpose Data/SQL increment (Done)

Stdlib Wave 7 (Done)

mako version — Done

Grouped imports — Done

Stdlib Wave 6 (Done)

Stdlib Wave 5 (Done)

Operators (Done)

Stdlib Wave 4 (Done)

Stdlib Wave 3 (Done — raised area coverage)

Stdlib Waves 1–2 (Done — Partials noted)

Stdlib polish (Done)

Stdlib Partials closed (Done)

Standard library expansion (Done)

Security / safety language (Done)

HTTP library + how-tos (Done)

Memory & CPU efficiency (Done)

Incremental builds + native objects (Done)

Performance (Done)

Backend / systems / API / DB engines (Done)

Package manager (Done)

Errors & debugging (Done)

Labeled loops (Done)

CFG NLL (Done)

Packaging

Servers (beachhead Done)

Product / packaging (earlier)

Language / runtime (already in tree)

External blocker

Out of STATUS 100% bar (VISION Later)

Edit this page on GitHub Report an issue