Releases: pavelpascari/framework
Releases · pavelpascari/framework
Release list
v0.1.0
First tagged release — a proof-of-concept, Go-first codegen service framework. Define a service as a Go interface plus request/response structs; the framework generates the HTTP server wiring, a typed client, and a shared caller interface. HTTP is the only transport in this release.
Added
- Codegen pipeline (
parser→modelIR →emit):go/packages+go/typesload, transport-agnostic IR, committedzz_*.gen.gooutput — one emitter per transport. - HTTP emitter:
New<Svc>HTTPHandler, typed<Svc>Client,<Svc>Callerseam; Go 1.22 pattern routing fromframework:routedirectives. - Runtime (stdlib-only):
Server.Rungraceful SIGTERM drain;runtime.Error/Codewith code→HTTP-status mapping;runtime.As/runtime.CodeOf. - HTTP transport:
/healthz+/readyz,LoggingInterceptor, andCombine(multiple services on one port). - Parameter binding: path/query params, including
encoding.TextMarshaler/TextUnmarshalertypes (e.g.uuid.UUID). - CLI:
framework gen,framework new,framework new --service,framework new --framework <path>.
Install
go install github.com/pavelpascari/framework/cmd/framework@v0.1.0 # the codegen CLI
go get github.com/pavelpascari/framework@v0.1.0 # the runtime, for consumers
Known limitations
- HTTP is the only implemented transport (the emitter/transport seams admit more).
- Pre-1.0: the public API may change without a major-version bump.
Full notes: CHANGELOG.md