From 4b877d98b354fc08046e29ed317402ab15bb130e Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 10:17:05 +0000 Subject: [PATCH] chore(release): v1.27.0 Moves [Unreleased] under [1.27.0] - 2026-10-11 (#125 ServiceTokenWithScopes, #123 docs), updates the compare links, the README install snippet and the guide's version note. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01GKRxaeYxyDhmt42cehLsGA --- CHANGELOG.md | 11 ++++++++++- README.md | 4 ++-- docs/CLIENT-INTEGRATION.md | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1208d0c..75e5c1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ All notable changes to backendkit are documented here. Format: ## [Unreleased] +## [1.27.0] - 2026-10-11 + +Minor release on the **v1** line: additive API only. `socrate.Client.ServiceTokenWithScopes` +requests a service-account token carrying given scopes (for example an application-defined scope +such as `swingdrift:worker`, granted in Socrate v1.14.0 or later), cached per scope set; a scope +Socrate does not grant is `ErrScopeNotGranted`. The README and the integration guides follow the +current code and Socrate v1.14. No changed signature and no changed default. + ### Added - **`socrate.Client.ServiceTokenWithScopes` and `socrate.ErrScopeNotGranted`: a service-account token carrying given scopes.** `ServiceToken` requests no scope, so Socrate issues its default @@ -858,7 +866,8 @@ are rejected. Confirm your Socrate server populates `aud` before enabling it in production. Making audience validation required-by-default is deferred to a future major (v2.0) and tracked separately. -[Unreleased]: https://github.com/ovander/backendkit/compare/v1.26.1...HEAD +[Unreleased]: https://github.com/ovander/backendkit/compare/v1.27.0...HEAD +[1.27.0]: https://github.com/ovander/backendkit/compare/v1.26.1...v1.27.0 [1.26.1]: https://github.com/ovander/backendkit/compare/v1.26.0...v1.26.1 [1.26.0]: https://github.com/ovander/backendkit/compare/v1.25.0...v1.26.0 [1.25.0]: https://github.com/ovander/backendkit/compare/v1.24.0...v1.25.0 diff --git a/README.md b/README.md index 7dce784..7feeace 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ to Socrate (`bff`, `pep`) and `ailang` for `aigateway`. ## Installation ```bash -go get github.com/ovander/backendkit@v1.26.1 +go get github.com/ovander/backendkit@v1.27.0 ``` ```go @@ -149,7 +149,7 @@ module github.com/your-org/my-service go 1.26.0 -require github.com/ovander/backendkit v1.26.1 +require github.com/ovander/backendkit v1.27.0 ``` --- diff --git a/docs/CLIENT-INTEGRATION.md b/docs/CLIENT-INTEGRATION.md index 9ff5144..7ee60a9 100644 --- a/docs/CLIENT-INTEGRATION.md +++ b/docs/CLIENT-INTEGRATION.md @@ -258,7 +258,7 @@ token without every listed scope gets **403** `insufficient_scope`. Socrate v1.14.0 or later issues such application-defined scopes (`:`) to the clients whose `allowed_scopes` list them, when they request them. -On the calling side (backendkit later than v1.26.1): +On the calling side (backendkit v1.27.0 or later): first register the scope in the calling client's `allowed_scopes` in Socrate (v1.14.0 or later), then request it with `ServiceTokenWithScopes`; the plain `ServiceToken` requests no scope and gets Socrate's default, `api`: