v0.6.0
Released 27 August 2026.
Install
go install github.com/caspel26/goninja/cmd/goninja@v0.6.0
go get github.com/caspel26/goninja@v0.6.0Requires Go 1.25 or newer.
Added
List endpoints select only list fields
Generated list queries now select the columns exposed by <Model>List rather
than fetching every database column and discarding retrieve-only fields after
the fact. This avoids reading large detail-only fields such as bodies or blobs
on every list request; COUNT continues to cover every matching row.
Changed
OpenAPI construction lives in the runtime
Generated resources now provide their model-specific schemas and filters to
goninja.BuildResourceOpenAPI. The shared routes, operations, list envelope,
and security structure are built once in goninja instead of repeated in every
generated file. The generated prototype became roughly 25% smaller while the
resulting OpenAPI document kept the same behaviour.
One path builder for routes and OpenAPI
goninja.ActionPath is now used by both route registration and documentation,
so a custom action’s mounted URL and documented URL cannot drift apart.
Fixed
- OpenAPI summaries choose the correct article: “Create a user,” not “Create an user.”
- A
filter-onlytime.Timefield no longer produces an unusedstrconvimport in generated code.