- f7f0e74: Minimum Saleor version required is now 3.21 (Saleor 3.20 is EOL)
- 6683590: Implemented APP_DELETED handler. On Saleor 3.23+ app will react to its own removal and prune APL data
- c8a4efe: When environment variables fail validation at startup, the app now prints a readable error message and the offending fields, then exits with code 1 — instead of dumping a long stack trace. Before: a wall of webpack stack frames around
Invalid environment variables. After: e.g.Validation error: Required at "SECRET_KEY"followed by a JSON list of the failing fields. - Updated dependencies [6683590]
- @saleor/webhook-utils@0.3.0
-
9044c32: Upgraded protobufjs to v7.5.8 to fix the following CVEs: CVE-2026-41242, CVE-2026-44290, CVE-2026-44291, CVE-2026-44292, CVE-2026-44293, CVE-2026-44294, CVE-2026-44295, CVE-2026-45740.
This is only relevant for you if you use & enabled OpenTelemetry.
- 2865a4f: Upgraded next.js to v15.5.18, more info: https://vercel.com/changelog/next-js-may-2026-security-release
-
0744721: Added support for changing
SECRET_KEYin production environment.In order to use new secret key add
NEW_SECRET_KEYenv variable. App will useNEW_SECRET_KEYfor saving new configurations, and will use existingSECRET_KEYas a fallback for decryption.To update all configurations in all app instances, use rotation script in each app:
pnpm rotate-secret-key.For more details read
packages/shared/src/key-rotation/README.mddocumentation -
Updated dependencies [0744721]
- @saleor/apps-shared@1.14.5
- 91f6d5f: Added support for OIDC between AWS and Vercel (using
@vercel/oidc-aws-credentials-provider). Now, whenAWS_ARNenv variable is provided, it will take precedence over IAM secrets. This is more secure way to authenticate and is preferred. IAM secrets stay supported, e.g. for local DynamoDB setup.
- ff4174e: Added more logs when fetching data from Saleor on failure to improve debugging.
- Updated dependencies [ff4174e]
- @saleor/apps-shared@1.14.4
- 622d13c: Updated GraphQL schema to 3.23
- 3ecde04: Updated @saleor/app-sdk to v1.7.1
- Updated dependencies [3ecde04]
- @saleor/apps-logger@1.6.4
- @saleor/apps-otel@2.4.1
- @saleor/sentry-utils@0.2.6
- @saleor/apps-shared@1.14.3
- @saleor/apps-ui@1.3.3
- fab1f78: Webhook responses now return plain text response to Saleor, so it should be properly displayed in dashboard "webhook errors". Previously app was returning
{"message": "..."}which is not recognized shape officially by Saleor nor Dashboard - it was rendered like text anyway.
- 0484f64: Add error cause for verifyJwt failures on tRPC
- 8cc005b: Updated aws-sdk packages and dynamodb-toolbox to latest versions
- ddfa9593: Changed how generated graphql->typescript types work. Now only types that are directly or indirectly connected to written documents (mutations, queries) are generated
- d9bb00f5: GraphQL schema has been refreshed to use latest 3.22 (this updates schema but does not change which APIs are executed)
- dec95470: Removed nested graphql.schema files for each app/package and added root schema. Now all packages have symlink pointing to the same file.
- Updated dependencies [f0d36e14]
- @saleor/apps-shared@1.14.2
- @saleor/apps-logger@1.6.3
- @saleor/apps-otel@2.4.0
- @saleor/sentry-utils@0.2.5
- @saleor/apps-ui@1.3.2
- d7ce7f67: Added client-side error capturing so client exceptions are reported to Sentry.
- 07057788: Update DynamoDB/AWS & Toolbox dependencies
- d5d7a4fe: Introduced lib t3-oss/env, which adds build-time env variables validation. Now all env variables are statically declared and exposed type-safe way
- 6eb71d91: Removed legacy SaleorCloudAPL initialization. This APL is deprecated and will be removed in app-sdk. Apps can no longer use it. This is not marked as a major change, because this API is private to Saleor Cloud
- 6e5f69c5: Added max DynamoDB connection and request limits (2s for connection, 5s for request), so in case of downtime, app will terminate earlier
- 560c3de4: Added logging to DynamoDB APL for better debugging and error visibility.
- 2a4f27ad: Fixed how AWS sdk is initialized by explicitly passing credentials. This is caused by Vercel issue, which started to implicitly override some of our credentials by injecting their own.
- 9e17703c: Updated tTRPC to 10.45.3
- Updated dependencies [37b91c88]
- @saleor/apps-otel@2.4.0
- @saleor/apps-logger@1.6.3
- 98459d79: Updated Next.js to 15.2.6
- b1f10da0: Added logs when app fails to install due to error in APL, or due to disallowed domain and when app installs successfully
- Updated dependencies [98459d79]
- @saleor/apps-logger@1.6.2
- @saleor/apps-otel@2.3.1
- @saleor/sentry-utils@0.2.5
- @saleor/apps-shared@1.14.1
- @saleor/apps-ui@1.3.2
- 16c6448f: After this change required Saleor version for running the app will be 3.20
- 86747b3c: When users open app outside of Saleor Dashboard's iframe we will now display an error message with explanation. Previously we rendered app's UI, which caused frontend to make requests to the app without any required data (tokens, saleorApiUrl, etc.) which resulted in error logs.
- Updated dependencies [6b9305d3]
- @saleor/apps-shared@1.14.0
- 16b87f53: Update MacawUI to 1.3.0
- a7c1cedf: Updated @saleor/app-sdk to 1.3.0
- Updated dependencies [16b87f53]
- @saleor/apps-shared@1.13.1
- @saleor/apps-ui@1.3.1
- 51b4d859: Installed DynamoDB APL (controlled via env variable).
- Updated dependencies [7a834f53]
- Updated dependencies [b1c0139a]
- Updated dependencies [7a834f53]
- Updated dependencies [674b4fa0]
- @saleor/apps-ui@1.3.0
- @saleor/apps-logger@1.6.1
- Updated dependencies [00070dc3]
- @saleor/apps-shared@1.13.0
- Updated dependencies [d3702072]
- Updated dependencies [c68f1e9f]
- @saleor/apps-logger@1.6.0
- @saleor/apps-otel@2.3.0
- e3c75265: Add new
ATTR_SERVICE_INSTANCE_IDOTEL attribute to app instrumentation. - 4c5c63d5: Use TypeScript unions instead of enums in types generated from Graphql files.
- Updated dependencies [e3c75265]
- Updated dependencies [b4ed42c9]
- Updated dependencies [e3c75265]
- Updated dependencies [b4ed42c9]
- @saleor/apps-otel@2.2.0
- @saleor/apps-shared@1.12.3
- @saleor/apps-logger@1.5.5
- 94c52129: Update to Next.js 15
- @saleor/apps-logger@1.5.4
- @saleor/apps-otel@2.1.5
- @saleor/sentry-utils@0.2.4
- @saleor/apps-shared@1.12.2
- @saleor/apps-ui@1.2.12
- Updated dependencies [1aff5e42]
- @saleor/apps-logger@1.5.4
- @saleor/apps-otel@2.1.5
- a76465fb: Update
@saleor/app-sdktov1.0.0 - Updated dependencies [a76465fb]
- @saleor/apps-logger@1.5.3
- @saleor/apps-otel@2.1.4
- 339518c2: Fixed how we initialize Sentry SDK for API routes when runtime is Node.js. After this change we will use
NodeClientdirectly from Sentry SDK to avoid interfering with our OTEL setup. We also removed not needed Sentry integration for edge runtime
- c8e61ac2: Updated Sentry to 9.6.1
- da9899d5: Cleanup deps, peerDeps & devDependencies for package
- Updated dependencies [da9899d5]
- @saleor/apps-logger@1.5.2
- @saleor/apps-shared@1.12.2
- @saleor/apps-otel@2.1.3
- @saleor/apps-ui@1.2.12
- @saleor/sentry-utils@0.2.4
- Updated dependencies [6e94e99c]
- @saleor/apps-otel@2.1.2
- 996d9be1: Use PNPM catalogs feature to ensure that dependencies are in sync between different packages in monorepo.
- aa1c7597: Added new attributes to OTEL setup - it will allow better GitHub integration with our OTEL provider
- Updated dependencies [996d9be1]
- Updated dependencies [aa1c7597]
- @saleor/apps-logger@1.5.1
- @saleor/apps-shared@1.12.1
- @saleor/apps-otel@2.1.1
- @saleor/apps-ui@1.2.11
- @saleor/sentry-utils@0.2.4
- Updated dependencies [8154e9e9]
- @saleor/apps-otel@2.1.0
- 3c4358ae: Setup OTEL via instrumentation hook. After this change app will use official way of setting up OTEL. There are no visible changes to the end user.
- defa0b60: Rename
wrapWithSpanAttributestowithSpanAttributes. No changes to the end user. - e3fe0f70: Use
@vercel/otelpackage to setup OTEL. After this change spans will be automatically flushed by Vercel. - Updated dependencies [3c4358ae]
- Updated dependencies [9cfb8ace]
- Updated dependencies [e3fe0f70]
- Updated dependencies [23a31eb4]
- Updated dependencies [defa0b60]
- Updated dependencies [defa0b60]
- @saleor/apps-otel@2.0.0
- @saleor/apps-logger@1.5.0
- @saleor/apps-shared@1.12.0
- b3e136b0: Add
saleor-appprefix topackage.jsonso names of npm app projects are in sync with names of Vercel projects. No visible changes to the user.
- 2f06b1e9: Bumping app-sdk to v0.52.0 - adding native APL support for vercel-kv and redis
- 0db174a8: Removed regex escape for
ALLOWED_DOMAINS_URLenv variable from register handler. It isn't user input and escaping regex was causing problem with apps installation.
- 9bbf9ee5: Increased Vercel log limit to new value - 256KB. See announcement blog post from Vercel for more details.
- 9bbf9ee5: Added new
LoggerVercelTransportsupport. It will help us send logs to our infrastructure without need of OTEL unstable logs API. - 9bbf9ee5: Escape ALLOWED_DOMAIN_PATTERN regex. It ensures that regex constructed from env variable is sanitized and can't be used to Denial of Service attack.
- 9bbf9ee5: Fixed autofixable linting issues. No functional changes.
- Updated dependencies [9bbf9ee5]
- Updated dependencies [9bbf9ee5]
- @saleor/apps-logger@1.4.3
- @saleor/apps-shared@1.11.4
- @saleor/apps-otel@1.3.5
- @saleor/apps-ui@1.2.10
- 83ad6531: Updated Node.js to 22.11
- Updated dependencies [1e70b997]
- Updated dependencies [83ad6531]
- @saleor/apps-logger@1.4.2
- @saleor/apps-otel@1.3.4
- @saleor/sentry-utils@0.2.4
- @saleor/apps-shared@1.11.3
- @saleor/apps-ui@1.2.9
- Updated dependencies [69992d56]
- @saleor/apps-logger@1.4.1
- Updated dependencies [92a2a5fd]
- @saleor/apps-logger@1.4.0
- d088ef37: Use new way of creating logger from
@saleor/apps-logger - Updated dependencies [2f37f075]
- Updated dependencies [d088ef37]
- Updated dependencies [6d528dc6]
- @saleor/apps-logger@1.3.0
- Updated dependencies [6be0103c]
- @saleor/apps-logger@1.2.10
- Updated dependencies [f1025fae]
- @saleor/apps-otel@1.3.3
- Updated dependencies [93969b2a]
- @saleor/apps-otel@1.3.2
- fe5d5d5e: Updated @saleor/app-sdk to 0.50.3. This version removes the limitation of body size for the webhook payloads.
- 2bc8c187: Now, the flag "bundlePagesExternals" is enabled, this means the cold-starts time were reduced for this app.
- 45a47156: Updated @saleor/app-sdk to 0.50.2. No functional changes are introduced
- 6fed4b19: Migrate to new newest MacawUI version. Functionally nothing has changed. UI may look a bit different but it will be on par with Dashboard UI.
- Updated dependencies [6fed4b19]
- @saleor/apps-shared@1.11.2
- @saleor/apps-ui@1.2.8
- e38c1417: You can now find how to run and test each app in README file
- 17077505: Updated TypeScript version to 4.5.4.
- Updated dependencies [17077505]
- @saleor/sentry-utils@0.2.3
- @saleor/apps-logger@1.2.9
- @saleor/apps-shared@1.11.1
- @saleor/apps-otel@1.3.1
- @saleor/apps-ui@1.2.7
- Updated dependencies [6f2d6abb]
- @saleor/apps-otel@1.3.0
- fbdbaa28: Remove custom Next.js + Sentry error. It was causing non existing paths to be reported as 500 instead of 404. We catch Sentry errors in implicit anyway in api routes.
- Updated dependencies [fbdbaa28]
- @saleor/sentry-utils@0.2.2
- 2f59041c: Reverted shared Sentry configuration (init() part). It was not working properly - source maps were not properly assigned. Now configuration is not shared, but repeated in every app separately
- Updated dependencies [2f59041c]
- @saleor/sentry-utils@0.2.1
- 0c4ba39f: Update next.js config after Sentry rollback.
- Updated dependencies [0c4ba39f]
- Updated dependencies [0c4ba39f]
- Updated dependencies [5c851a6c]
- @saleor/apps-otel@1.2.2
- @saleor/apps-logger@1.2.8
- 1a9912f5: Setup Sentry inside Next.js instrumentation file. It ensures that Sentry works properly for serverless environment.
- 37ecb246: Update pnpm to 9.2.0 version. It means that we also dropped support for Node.js less than 16.
- cc047b1d: Downgraded Sentry package to v7. Previous upgrade to 8.x cause Sentry to conflict with Open Telemetry setup and Sentry was not working
- Updated dependencies [37ecb246]
- Updated dependencies [c4dcb863]
- Updated dependencies [1a9912f5]
- @saleor/apps-logger@1.2.7
- @saleor/apps-otel@1.2.1
- @saleor/sentry-utils@0.2.0
- @saleor/apps-shared@1.11.0
- @saleor/apps-ui@1.2.6
- e7b909ed: Setup Sentry for Klaviyo app.
- Updated dependencies [e7b909ed]
- @saleor/sentry-utils@0.1.0
- 64d88b24: Update packages to ESM. See node docs for more info.
- 5cbd3b63: Updated @saleor/app-sdk package to 0.50.1
- a0724bb2: Setup Open Telemetry (OTEL) in Klaviyo app.
- Updated dependencies [64d88b24]
- Updated dependencies [5cbd3b63]
- Updated dependencies [e1ea31be]
- @saleor/apps-logger@1.2.6
- @saleor/apps-shared@1.10.3
- @saleor/apps-otel@1.2.0
- @saleor/apps-ui@1.2.5
- 4ffef6be: Update
@sentry/nextjsto 8.0.0 version. It should help us with attaching additional data to Sentry errors. - 2604ce1e: Updated Next.js to 14.2.3
- Updated dependencies [2604ce1e]
- @saleor/apps-shared@1.10.2
- @saleor/apps-ui@1.2.4
- Updated dependencies [f22f2b8a]
- @saleor/apps-shared@1.10.1
- b29318a2: Currently, Dashboard requires from a user to have "MANAGE_APPS" to have access to the apps tab. Since the release 3.20 Dashboard will allow all users to access to apps tabs without checking permission. This means that apps will be checking if the user has "MANAGE_APPS" internally and show message "You do not have permission to access this page" if the user does not have the permission.
- Updated dependencies [b29318a2]
- @saleor/apps-shared@1.10.0
- 29d10d4a: Update Next.js to version 14.1.0.
- Updated dependencies [29d10d4a]
- @saleor/apps-shared@1.9.4
- @saleor/apps-ui@1.2.3
- Updated dependencies [67afe8e4]
- @saleor/apps-shared@1.9.3
- 5f564a0: Updated @saleor/app-sdk to 0.47.2
- 531e7c1: Disabled Sentry tracing and Replays by default
- 99f7066: Updated Macaw UI to 1.0.0-pre.7. Removed legacy Material UI dependency from older Macaw. Code was updated to work properly with some API changes
- Updated dependencies [99f7066]
- @saleor/apps-shared@1.9.2
- @saleor/apps-ui@1.2.2
- a50df02: Reduced Sentry traces sample rate to 0.1
- fdabc51: Mapped app-sdk package to root library
- Updated dependencies [fdabc51]
- @saleor/apps-shared@1.9.1
- @saleor/apps-ui@1.2.1
- 148a6d7: Updated Sentry to 7.77.0
- 4aee4e1: Improved app layout to match modern style.
- 5dee65a: Updated dependencies:
- @graphql-codegen/cli@5.0.0
- 2e29699: Updated Sentry package
- 4aee4e1: Fixed error where config couldn't be saved
- 30140ee: Improved some text typos.
- Updated dependencies [e8660e8]
- Updated dependencies [e8660e8]
- Updated dependencies [e8660e8]
- Updated dependencies [e8660e8]
- @saleor/apps-shared@1.9.0
- a81f061: Updated Macaw to pre-127
- fcc37e7: Remove clsx package from the projects no longer using it.
- Updated dependencies [2a1385b]
- Updated dependencies [a81f061]
- Updated dependencies [fcc37e7]
- @saleor/apps-shared@1.8.1
- 8b3d961: Updated Macaw UI to pre.118
- Updated dependencies [8b3d961]
- Updated dependencies [c50797e]
- @saleor/apps-shared@1.8.0
- 261957f: Updated dependencies: vite, vitest, eslint, prettier, dotenv, turbo, syncpack, changesets, lint staged
- Updated dependencies [261957f]
- @saleor/apps-shared@1.7.6
- 2fab86b: Updated graphql package to 16.7.1 and @graphql-codegen related dependencies to the latest version.
- aa6fec1: Updated Macaw UI to pre-106
- Updated dependencies [aa6fec1]
- @saleor/apps-shared@1.7.5
- e7c2d3a: Updated and ESLint dependencies
- 3c6cd4c: Updated the @saleor/app-sdk package to version 0.41.1.
- 6210447: Updated tRPC packages to 10.34.0
- Updated dependencies [70cb741]
- Updated dependencies [e7c2d3a]
- Updated dependencies [3c6cd4c]
- @saleor/apps-shared@1.7.4
- a1f083c: Filled "about" field in App Manifest. Dashboard will display it in app details page now.
- 2d77bca: Updated Next.js to 13.4.8
- 6299e06: Update @saleor/app-sdk to 0.41.0
- Updated dependencies [2d77bca]
- Updated dependencies [6299e06]
- @saleor/apps-shared@1.7.3
- cbd763b: Prevent Server-side rendering in Klaviyo app to avoid hydration errors
- 1dead1e: Included dedicated logo and attached it to App's manifest. From Saleor 3.15 the logo will be visible in the Dashboard during and after installation.
- 37e50db: Rewritten app to use @saleor/macaw-ui/next. App should work faster and be visually more aligned with rest of the Dashboard.
- 860bac4: Updated @saleor/app-sdk to 0.40.1
- a1ad70e: Updated configuration and dependencies of GraphQL client - urql. All applications use now unified config for creating the client. Also unused related packages has been removed.
- ec68ed5: Updated Sentry package and config. Set Sentry release to match package.json version. Now Sentry will use semver version instead a commit
- cb6ee29: Updated dependencies
- Updated dependencies [860bac4]
- Updated dependencies [a1ad70e]
- Updated dependencies [cb6ee29]
- Updated dependencies [a1ad70e]
- @saleor/apps-shared@1.7.2
- a8834a1: Removed unused husky dependency
- a8834a1: Unified graphql version to 16.6
- a8834a1: Unified graphql codegen packages
- a8834a1: Removed unnecessary duplicated dependencies from apps and moved them to shared and root (types, eslint rules)
- a8834a1: Updated dev dependencies - Typescript, Eslint and Turborepo
- Updated dependencies [a8834a1]
- Updated dependencies [a8834a1]
- Updated dependencies [a8834a1]
- Updated dependencies [a8834a1]
- @saleor/apps-shared@1.7.1
- 0c2fc65: Update dev dependencies - Vite and Vitest. These changes will not affect runtime Apps, but can affect tests and builds
- Updated dependencies [0c2fc65]
- Updated dependencies [b75a664]
- @saleor/apps-shared@1.7.0
- 6e69f4f: Update app-sdk to 0.39.1
- Updated dependencies [6e69f4f]
- @saleor/apps-shared@1.6.1
- Updated dependencies [23b5c70]
- @saleor/apps-shared@1.6.0
- c406318: Updated dep @saleor/app-sdk to 0.38.0
- Updated dependencies [c406318]
- @saleor/apps-shared@1.5.1
- 8b22b1c: Restored Pino logger packages to each app, to fix failing logs in development. Also updated .env.example to contain up to date APP_LOG_LEVEL variable
- 830cfe9: Changed APP_DEBUG env to APP_LOG_LEVEL
- 830cfe9: Bumped Typescript version to 5.0.4
- Updated dependencies [830cfe9]
- @saleor/apps-shared@1.5.0
- 57f6d41: Updated Manifest to contain up to date support, privacy, homepage and author fields
- 2c0df91: Added lint:fix script, so
eslint --fixcan be run deliberately - e167e72: Update next.js to 13.3.0
- 74174c4: Updated @saleor/app-sdk to 0.37.3
- 2e51890: Update next.js to 13.3.0
- 2e51890: Update @saleor/app-sdk to 0.37.2
- 2e51890: Use useDashboardNotification hook from shared package, instead of direct AppBridge usage
- Updated dependencies [2c0df91]
- Updated dependencies [e167e72]
- Updated dependencies [74174c4]
- Updated dependencies [2e51890]
- Updated dependencies [2e51890]
- Updated dependencies [2e51890]
- @saleor/apps-shared@1.4.0
- eca52ad: Replace "export default" with named exports
- @saleor/apps-shared@1.3.0
- 7cb3b89: Added "author" field to the Manifest, set it to Saleor Commerce, so Dashboard can display it too
- 7cb3b89: Replace apps to avoid AppPermission (use Permission for client permissions) and authData.domain (use saleorApiUrl)
- 7cb3b89: Updated @saleor/app-sdk to 0.37.1
- e93a4dc: Updated GraphQL Code Generator package
- dca82bb: Update app-sdk to pre-0.34.0. Update Async Webhooks to use new API
- 2755ed2: Added extra padding on top of the app so it has some space between content and dashboard header
- 2d23480: Remove TitleBar component from apps, because it is moved to Dashboard, outside of iframe context
- Updated dependencies [2d23480]
- @saleor/apps-shared@1.3.0
- 289b42f: Breaking change for app maintainers: VercelAPL can no longer be set for the app since it's deprecated and will be removed in app-sdk 0.30.0. As a replacement, we recommend using Upstash APL or implementing your own. Read more about APLs: https://docs.saleor.io/developer/extending/apps/developing-apps/app-sdk/apl
- 1c9b2c4: Change public app names to be more readable
- 5fc88ed: Add shared theme provider with color overrides and globals
- Updated dependencies [5fc88ed]
- @saleor/apps-shared@1.2.0
- b874d10: Update @saleor/app-sdk to 0.29.0
- Updated dependencies [648d99b]
- @saleor/apps-shared@1.1.1
- 9f843b2: Update imports to @saleor/apps-shared
- 9f843b2: Use TitleBar and AppIcon from shared package
- 9f843b2: Remove generated folders form git history
- Updated dependencies [9f843b2]
- Updated dependencies [9f843b2]
- Updated dependencies [9f843b2]
- Updated dependencies [9f843b2]
- Updated dependencies [9f843b2]
- @saleor/apps-shared@1.1.0
- 4865d33: Add Klaviyo app to workspace