Repository navigation
Releases
Releases · shopware/sdk-go
Release (2026-11-13)
Module Highlights
github.com/shopware/sdk-go: v1.0.1- Bug Fix: Action button responses are always sent with a
payloadobject. Notifications putstatusandmessageinsidepayload, andReloadResponse()sends an emptypayload, so notifications and reloads now work in the Administration. - Bug Fix: Payment and refund statuses now use Shopware transition names:
authorize,failandcancelfor payments,complete,processandfailfor refunds.PaymentRedirect()andPaymentOpen()no longer send a status, so redirect payments work.PaymentStatusOpenis deprecated: leave the status empty to keep a payment open. - Dependencies: Updated AWS SDK for Go v2 (DynamoDB store),
modernc.org/sqliteandgolang.org/x/sync. - Documentation: We recommend Go 1.26.11+ (or 1.27.4+) for the latest standard library security fixes.
- Bug Fix: Action button responses are always sent with a
github.com/shopware/sdk-go/integrations/gin: integrations/gin/v1.0.1- Dependencies: Requires
github.com/shopware/sdk-gov1.0.1, so updating the Gin integration also brings theresponsefixes. - Dependencies: Updated
github.com/gabriel-vasile/mimetypeto v1.4.16; v1.4.15 was retracted by its author.
- Dependencies: Requires
clients/adminapi is unchanged and stays at v1.0.0.
Contributors
Thanks to everyone who contributed to this release:
Release (2026-11-06)
Module Highlights
github.com/shopware/sdk-go/clients/adminapi: clients/adminapi/v1.0.0- Release: First release of the Admin API client, a separate Go module. It depends only on the standard library and
golang.org/x/syncand can be used without the rest of the SDK, for example in CLI tools, workers or integrations. - Feature:
adminapi.NewClientwithIntegrationCredentials,PasswordCredentialsandRefreshTokenCredentials, or your ownCredentials. The client logs in on the first request, refreshes the token before it expires, retries once on401, and lets concurrent requests share one token request. - Feature:
Get,Post,Put,Patch,Delete,RequestandRequestRaw(non-JSON bodies such as uploads), withWithHeaderandWithQueryoptions.adminapi.Pathescapes path segments. - Feature: Typed errors:
*APIError(status, Shopware error details, body),*TokenError, andIsNotFound,IsUnauthorized,IsConflict. Redirects are not followed (ErrUnexpectedRedirect), and responses are limited to 32 MiB by default (ErrResponseTooLarge). - Feature: Package
tokenstorage:NewInMemory(default),NewNoOp,NewKVfor Redis, Valkey, Memcached or any key-value store (WithKeyPrefix,WithRefreshTokenTTL,WithCipher),NewScopedfor several apps on one backend, and aLockerinterface for one token fetch across instances.
- Release: First release of the Admin API client, a separate Go module. It depends only on the standard library and
github.com/shopware/sdk-go: v1.0.0- Release: First release of the core SDK. It is framework-agnostic, does not log, and adds no retries or caching unless you opt in.
- Feature:
app.Newwires registration, webhook verification, shop resolution and the Admin API client from oneapp.Config.App.NewClient(ctx, shopID)andApp.NewClientForShop(shop)return an*adminapi.Client; all clients of a shop share one token, kept in memory by default or in theTokenStorageyou configure (Locker,HTTPClientandUserAgentare optional).App.ClearShopTokendeletes the stored token of a shop. - Feature: App registration and confirmation (package
registration) with HMAC-SHA256 verification. A re-registration of a confirmed shop must be signed with its current shop secret, and the previous secret is still accepted for a short window after a rotation (InflightAllowance, 1 minute by default). - Feature: Signed webhooks, signed GET requests (admin iframes) and signed JSON POST requests (action buttons, payments) are verified by
webhook.Middlewareandresolver.Resolver, with replay protection.QueryPolicy,PostPolicy,WebhookPolicyandLifecyclePolicyset the timestamp mode, the maximum age (5 minutes by default) and the clock skew, and request bodies are limited to 5 MiB by default (MaxBodyBytes). - Feature: Shop storage behind one
store.ShopStoreinterface:NewInMemoryStore,NewSQLiteStore(pure Go, no CGo) andNewDynamoDBStore(ctx, cfg).store/middleware.NewRetryMiddlewareadds retries with exponential backoff to any store. - Feature: Response builders in package
responsefor action buttons (notification, reload, open new tab, open modal), payments and refunds, and structured errors in packagesdkerrorswith error types and HTTP status codes.store.ErrShopNotFoundandsdkerrors.ErrShopNotFoundare the same value, soerrors.Ismatches either name. - Documentation: Getting started, guide, token storage (Redis and Valkey, distributed locking, encryption), deployment, testing, architecture decisions, and three runnable examples (
examples/vanilla-service,examples/gin-service,examples/admin-extension) that are tested in CI.
github.com/shopware/sdk-go/integrations/gin: integrations/gin/v1.0.0- Release: First release of the Gin integration. Requires
github.com/shopware/sdk-gov1.0.0 andclients/adminapiv1.0.0. - Feature:
ginintegration.Configureregisters all app endpoints with one call: registration (/app/register,/app/register/confirm) and theapp.activated,app.deactivatedandapp.deletedlifecycle webhooks. Base paths are configurable (BasePath,RegistrationBasePath), and CORS is opt-in with an origin allowlist. - Feature: Responses on app routes are signed with the shop secret.
WebhookMiddleware,GetRequestVerifierandGetRequestVerifierWithPolicyverify your own routes;GetShopandGetVerifiedEventread the verified shop and event in handlers. - Feature: The
app.deletedhandler deletes the shop's Admin API token. Optional logging through a standard*slog.Logger(no logging by default).
- Release: First release of the Gin integration. Requires
Contributors
Thanks to everyone who contributed to this release: