Skip to content

Releases: pavelpascari/framework

Release list

v0.1.0

Choose a tag to compare

@pavelpascari pavelpascari released this 15 Jul 14:57
v0.1.0
d431956

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 (parsermodel IR → emit): go/packages + go/types load, transport-agnostic IR, committed zz_*.gen.go output — one emitter per transport.
  • HTTP emitter: New<Svc>HTTPHandler, typed <Svc>Client, <Svc>Caller seam; Go 1.22 pattern routing from framework:route directives.
  • Runtime (stdlib-only): Server.Run graceful SIGTERM drain; runtime.Error/Code with code→HTTP-status mapping; runtime.As / runtime.CodeOf.
  • HTTP transport: /healthz + /readyz, LoggingInterceptor, and Combine (multiple services on one port).
  • Parameter binding: path/query params, including encoding.TextMarshaler/TextUnmarshaler types (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