Skip to content

v0.1.0

Latest
Compare
Choose a tag to compare
@jhump jhump released this 04 Oct 17:28
· 32 commits to main since this release
0a838d0

This release primarily contains improvements to the knitgateway command.

But it also includes a backwards-incompatible change, migrating from the old Connect Go runtime ("github.com/bufbuild/connect-go") to the new one ("connectrpc.com/connect"). This was deemed acceptable since Knit is still in an alpha state and has not yet had a v1.0 release. We are sorry for any breakages in user applications this causes. Please see Connect's migration instructions to remedy.

Command knitgateway

  • Release artifacts are now named knitgateway-... instead of knit-go-... since they contain only the knitgateway binary.

  • The gateway can now be configured to expose an admin web UI at /admin/. By default, they are served from an ephemeral port that is separate from application traffic. The web UI can be disabled or configured to serve from a different port via a knitgateway.yaml configuration file.

    The UI currently provides a way to view the current configuration, a way to view information about all supported services, and a mechanism to explicitly reload schemas for these services (instead of waiting until next scheduled polling).

  • The gateway now reports a user-agent of knitgateway/<version> (includes other details, like the version of the Connect Go library in use) when sending RPC requests to backends and when fetching the schema from a Buf Schema Registry.

Package github.com/bufbuild/knit-go

  • The Knit runtime now uses the Connect runtime via the "connectrpc.com/connect" import path. Previous versions used the "github.com/bufbuild/connect-go" import path. The two are not compatible and even linking both into the same program may cause issues. So users that import "github.com/bufbuild/knit-go" will need to migrate to using "connectrpc.com/connect" when upgrading to this release. We apologize for the inconvenience.
  • The original User-Agent from the client's request is no longer propagated when the gateway invokes backend RPCs to service the request. Instead, its own user-agent is sent. If not customized (via custom HTTP client or Connect interceptor), this will be the default user-agent of the Connect library, which will be connect-go/<connect-version> (go<go-version>) for the Connect protocol or grpc-go-connect/<connect-version> (go<go-version>) for gRPC and gRPC-Web protocols.