minVersion: '0.23.1' changelog: policy: simple preReleaseCommand: bash scripts/craft-pre-release.sh targets: # NPM Targets ## 1. Base Packages, node or browser SDKs depend on ## 1.1 Core SDKs - name: npm id: '@sentry/core' includeNames: /^sentry-core-\d.*\.tgz$/ ## 1.2 Types - name: npm id: '@sentry/types' includeNames: /^sentry-types-\d.*\.tgz$/ - name: npm id: '@sentry/node-core' includeNames: /^sentry-node-core-\d.*\.tgz$/ ## 1.3 Browser Utils package - name: npm id: '@sentry-internal/browser-utils' includeNames: /^sentry-internal-browser-utils-\d.*\.tgz$/ ## 1.4 Replay Internal package (browser only) - name: npm id: '@sentry-internal/replay' includeNames: /^sentry-internal-replay-\d.*\.tgz$/ ## 1.5 OpenTelemetry package - name: npm id: '@sentry/opentelemetry' includeNames: /^sentry-opentelemetry-\d.*\.tgz$/ ## 1.6 Feedback package (browser only) - name: npm id: '@sentry-internal/feedback' includeNames: /^sentry-internal-feedback-\d.*\.tgz$/ ## 1.7 ReplayCanvas package (browser only) - name: npm id: '@sentry-internal/replay-canvas' includeNames: /^sentry-internal-replay-canvas-\d.*\.tgz$/ ## 2. Browser & Node SDKs - name: npm id: '@sentry/browser' includeNames: /^sentry-browser-\d.*\.tgz$/ - name: npm id: '@sentry/node' includeNames: /^sentry-node-\d.*\.tgz$/ - name: npm id: '@sentry/profiling-node' includeNames: /^sentry-profiling-node-\d.*\.tgz$/ - name: npm id: '@sentry/node-native' includeNames: /^sentry-node-native-\d.*\.tgz$/ ## 3 Browser-based Packages - name: npm id: '@sentry/angular' includeNames: /^sentry-angular-\d.*\.tgz$/ - name: npm id: '@sentry/ember' includeNames: /^sentry-ember-\d.*\.tgz$/ - name: npm id: '@sentry/react' includeNames: /^sentry-react-\d.*\.tgz$/ - name: npm id: '@sentry/solid' includeNames: /^sentry-solid-\d.*\.tgz$/ - name: npm id: '@sentry/svelte' includeNames: /^sentry-svelte-\d.*\.tgz$/ - name: npm id: '@sentry/vue' includeNames: /^sentry-vue-\d.*\.tgz$/ - name: npm id: '@sentry/wasm' includeNames: /^sentry-wasm-\d.*\.tgz$/ ## 4. WinterCG Packages - name: npm id: '@sentry/vercel-edge' includeNames: /^sentry-vercel-edge-\d.*\.tgz$/ - name: npm id: '@sentry/cloudflare' includeNames: /^sentry-cloudflare-\d.*\.tgz$/ - name: npm id: '@sentry/deno' includeNames: /^sentry-deno-\d.*\.tgz$/ ## 5. Node-based Packages - name: npm id: '@sentry/aws-serverless' includeNames: /^sentry-aws-serverless-\d.*\.tgz$/ - name: npm id: '@sentry/google-cloud-serverless' includeNames: /^sentry-google-cloud-serverless-\d.*\.tgz$/ - name: npm id: '@sentry/bun' includeNames: /^sentry-bun-\d.*\.tgz$/ - name: npm id: '@sentry/elysia' includeNames: /^sentry-elysia-\d.*\.tgz$/ - name: npm id: '@sentry/hono' includeNames: /^sentry-hono-\d.*\.tgz$/ - name: npm id: '@sentry/nestjs' includeNames: /^sentry-nestjs-\d.*\.tgz$/ - name: npm id: '@sentry/effect' includeNames: /^sentry-effect-\d.*\.tgz$/ ## 6. Fullstack/Meta Frameworks (depending on Node and Browser or Framework SDKs) - name: npm id: '@sentry/nextjs' includeNames: /^sentry-nextjs-\d.*\.tgz$/ - name: npm id: '@sentry/nuxt' includeNames: /^sentry-nuxt-\d.*\.tgz$/ - name: npm id: '@sentry/remix' includeNames: /^sentry-remix-\d.*\.tgz$/ - name: npm id: '@sentry/solidstart' includeNames: /^sentry-solidstart-\d.*\.tgz$/ - name: npm id: '@sentry/sveltekit' includeNames: /^sentry-sveltekit-\d.*\.tgz$/ - name: npm id: '@sentry/tanstackstart' includeNames: /^sentry-tanstackstart-\d.*\.tgz$/ - name: npm id: '@sentry/tanstackstart-react' includeNames: /^sentry-tanstackstart-react-\d.*\.tgz$/ - name: npm id: '@sentry/gatsby' includeNames: /^sentry-gatsby-\d.*\.tgz$/ - name: npm id: '@sentry/astro' includeNames: /^sentry-astro-\d.*\.tgz$/ - name: npm id: '@sentry/react-router' includeNames: /^sentry-react-router-\d.*\.tgz$/ ## 7. Other Packages ## 7.1 - name: npm id: '@sentry-internal/typescript' includeNames: /^sentry-internal-typescript-\d.*\.tgz$/ - name: npm id: '@sentry-internal/eslint-plugin-sdk' includeNames: /^sentry-internal-eslint-plugin-sdk-\d.*\.tgz$/ ## 7.2 - name: npm id: '@sentry-internal/eslint-config-sdk' includeNames: /^sentry-internal-eslint-config-sdk-\d.*\.tgz$/ # AWS Lambda Layer target - name: aws-lambda-layer includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha|rc)\.\d+)?\.zip$/ layerName: SentryNodeServerlessSDKv{{{major}}} compatibleRuntimes: - name: node versions: - nodejs18.x - nodejs20.x - nodejs22.x - nodejs24.x license: MIT # CDN Bundle Target - name: gcs id: 'browser-cdn-bundles' includeNames: /.*\.js.*$/ bucket: sentry-js-sdk paths: - path: /{{version}}/ metadata: cacheControl: 'public, max-age=31536000' # Github Release Target - name: github includeNames: /^sentry-.*$/ # Sentry Release Registry Target - name: registry sdks: 'npm:@sentry/angular': onlyIfPresent: /^sentry-angular-\d.*\.tgz$/ 'npm:@sentry/astro': onlyIfPresent: /^sentry-astro-\d.*\.tgz$/ 'npm:@sentry/aws-serverless': onlyIfPresent: /^sentry-aws-serverless-\d.*\.tgz$/ 'npm:@sentry/browser': onlyIfPresent: /^sentry-browser-\d.*\.tgz$/ includeNames: /\.js$/ checksums: - algorithm: sha384 format: base64 'npm:@sentry/bun': onlyIfPresent: /^sentry-bun-\d.*\.tgz$/ 'npm:@sentry/cloudflare': onlyIfPresent: /^sentry-cloudflare-\d.*\.tgz$/ 'npm:@sentry/deno': onlyIfPresent: /^sentry-deno-\d.*\.tgz$/ 'npm:@sentry/ember': onlyIfPresent: /^sentry-ember-\d.*\.tgz$/ 'npm:@sentry/gatsby': onlyIfPresent: /^sentry-gatsby-\d.*\.tgz$/ 'npm:@sentry/google-cloud-serverless': onlyIfPresent: /^sentry-google-cloud-serverless-\d.*\.tgz$/ 'npm:@sentry/hono': name: 'Sentry Hono SDK' packageUrl: 'https://www.npmjs.com/package/@sentry/hono' mainDocsUrl: 'https://docs.sentry.io/platforms/javascript/guides/hono/' onlyIfPresent: /^sentry-hono-\d.*\.tgz$/ 'npm:@sentry/nestjs': onlyIfPresent: /^sentry-nestjs-\d.*\.tgz$/ 'npm:@sentry/nextjs': onlyIfPresent: /^sentry-nextjs-\d.*\.tgz$/ 'npm:@sentry/nuxt': onlyIfPresent: /^sentry-nuxt-\d.*\.tgz$/ 'npm:@sentry/node': onlyIfPresent: /^sentry-node-\d.*\.tgz$/ 'npm:@sentry/node-core': onlyIfPresent: /^sentry-node-core-\d.*\.tgz$/ 'npm:@sentry/react': onlyIfPresent: /^sentry-react-\d.*\.tgz$/ 'npm:@sentry/react-router': onlyIfPresent: /^sentry-react-router-\d.*\.tgz$/ 'npm:@sentry/remix': onlyIfPresent: /^sentry-remix-\d.*\.tgz$/ 'npm:@sentry/solid': onlyIfPresent: /^sentry-solid-\d.*\.tgz$/ 'npm:@sentry/solidstart': onlyIfPresent: /^sentry-solidstart-\d.*\.tgz$/ 'npm:@sentry/svelte': onlyIfPresent: /^sentry-svelte-\d.*\.tgz$/ 'npm:@sentry/sveltekit': onlyIfPresent: /^sentry-sveltekit-\d.*\.tgz$/ 'npm:@sentry/tanstackstart-react': onlyIfPresent: /^sentry-tanstackstart-react-\d.*\.tgz$/ 'npm:@sentry/vercel-edge': onlyIfPresent: /^sentry-vercel-edge-\d.*\.tgz$/ 'npm:@sentry/vue': onlyIfPresent: /^sentry-vue-\d.*\.tgz$/ 'npm:@sentry/wasm': onlyIfPresent: /^sentry-wasm-\d.*\.tgz$/ 'npm:@sentry/effect': name: 'Sentry Effect SDK' sdkName: 'sentry.javascript.effect' packageUrl: 'https://www.npmjs.com/package/@sentry/effect' mainDocsUrl: 'https://docs.sentry.io/platforms/javascript/guides/effect/' onlyIfPresent: /^sentry-effect-\d.*\.tgz$/ 'npm:@sentry/elysia': name: 'Sentry Elysia SDK' sdkName: 'sentry.javascript.elysia' packageUrl: 'https://www.npmjs.com/package/@sentry/elysia' mainDocsUrl: 'https://docs.sentry.io/platforms/javascript/guides/elysia/' onlyIfPresent: /^sentry-elysia-\d.*\.tgz$/