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

v0.6.1

Released 2 September 2026.

Pre-alpha. Everything below is implemented and tested, but the API may change without notice and there is no compatibility guarantee yet.

Install

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

Requires Go 1.25 or newer.

Fixed

Generated SQL follows GORM column names

Generated list queries previously treated an API’s JSON field name as its database column. That works only when the two happen to match. A conventional GORM CreatedAt field, for example, maps to created_at; an app can also choose gorm:"column:created_on" while still exposing created_at publicly.

The generator now carries a distinct database-column name for every field. It honours gorm:"column:..." and otherwise uses GORM’s default naming strategy; generated SELECT, filters, and ordering use that column, while JSON responses, query parameters, and OpenAPI keep their existing public names.

The regression suite covers parsing, generated source, and a real SQLite/GORM resource request that selects, filters, and orders against a custom column. See Filtering, Ordering & Pagination.

Added

Published request-path benchmark baselines

The new Performance & Benchmarks guide explains the three tracked request-path workloads, shows representative baseline metrics, links the raw sample file, and documents the PR regression gate.

It is intentionally a reproducibility page, not a universal speed claim: the benchmarks run a real generated HTTP resource over in-memory SQLite, but they do not represent a production network, proxy, PostgreSQL server, or application-specific middleware.

Links