Skip to content
Snapshot of the v0.2 release. Fixes and additions since then are not in it. Current documentation →

v0.3.0

Released 20 August 2026.

Pre-alpha. Minor releases may contain breaking changes before v1.0.

Install

go install github.com/caspel26/goninja/cmd/goninja@v0.3.0
go get github.com/caspel26/goninja@v0.3.0

Requires Go 1.25 or newer.

Added

Router adapters without framework lock-in

goninja resources can now mount through a small goninja.Router interface. The Gin, Echo, and Chi adapters translate generated stdlib-style route patterns and retain req.PathValue("id") for generated handlers. Each adapter is its own Go module, so plain net/http users do not inherit router dependencies.

Benchmarks and a regression gate

make bench runs request-path benchmarks for list serialization, filter construction, and relation retrieval. make bench-check compares repeated runs against a committed baseline with benchstat, failing statistically significant regressions over the configured threshold; it also publishes a readable CI report. make bench-profile produces CPU and memory profiles for investigating a change.

See Performance & Benchmarks.

Changed

Resource.Register now accepts goninja.Router rather than *http.ServeMux. *http.ServeMux already satisfies the interface; only hand-written resource implementations need adapting.

Links