Skip to content

meta(changelog): Update changelog for 9.6.0 #15703

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Mar 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
bdb8621
Merge pull request #15613 from getsentry/master
github-actions[bot] Mar 6, 2025
df0636d
fix(remix): Null-check `options` (#15610)
onurtemizkan Mar 6, 2025
e386281
fix(sveltekit): Guard process variable (#15605)
s1gr1d Mar 7, 2025
aa92e85
test(nuxt): Fix failing e2e tests (#15625)
Lms24 Mar 10, 2025
0b754c9
chore(deps): bump axios in /dev-packages/browser-integration-tests
dependabot[bot] Mar 10, 2025
ee95723
Merge pull request #15626 from getsentry/dependabot/npm_and_yarn/dev-…
Lms24 Mar 11, 2025
d71e6ad
fix(sveltekit): Correctly parse angle bracket type assertions for aut…
Lms24 Mar 4, 2025
90685e2
cleanup
Lms24 Mar 4, 2025
9f33bae
extract recast parser config into extra file, add vendor information …
Lms24 Mar 4, 2025
25a39d2
fix type error
Lms24 Mar 4, 2025
0ec758b
add remaining options
Lms24 Mar 4, 2025
62f3b09
fix e2e test
Lms24 Mar 10, 2025
dfc2b52
feat(deps): bump @sentry/webpack-plugin from 3.2.1 to 3.2.2 (#15627)
dependabot[bot] Mar 11, 2025
c27a09a
feat(tanstackstart): Refine initial API (#15574)
lforst Mar 11, 2025
d0b2f7d
Merge pull request #15578 from getsentry/lms/fix-sveltekit-type-asser…
Lms24 Mar 11, 2025
9cae1a0
feat(tanstackstart): Add `@sentry/tanstackstart-react` package and ma…
lforst Mar 11, 2025
47f95e5
fix(core): Ensure `fill` only patches functions (#15632)
Lms24 Mar 11, 2025
9e0b4c0
chore: Fix link in migration doc
AbhiPrasad Mar 11, 2025
defeaaf
Merge pull request #15637 from getsentry/abhi-migration-doc-fix
stephanie-anderson Mar 12, 2025
9cb8684
feat(astro): Accept all vite-plugin options (#15638)
angelikatyborska Mar 13, 2025
ce1ced8
chore: Add external contributor to CHANGELOG.md (#15640)
HazAT Mar 13, 2025
5c4cab7
chore(deps): Deduplicate `@babel` dependencies (#15639)
nwalters512 Mar 13, 2025
e15988c
chore: Add external contributor to CHANGELOG.md (#15642)
HazAT Mar 14, 2025
48ed271
chore(deps): bump esbuild from 0.20.0 to 0.25.0 in /dev-packages/e2e-…
dependabot[bot] Mar 14, 2025
7d88266
chore(ci): Remove `type` from canary failure template (#15698)
chargome Mar 16, 2025
2b55265
fix(nextjs): Consider `pageExtensions` when looking for instrumentati…
andreiborza Mar 17, 2025
7889768
meta(changelog): Update changelog for 9.6.0
lforst Mar 17, 2025
8dc6e50
Remove unnecessary changelog item
lforst Mar 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,9 @@ targets:
- 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$/
Expand Down
1 change: 0 additions & 1 deletion .github/CANARY_FAILURE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
---
title: '{{ env.TITLE }}'
labels: 'Type: Tests, Waiting for: Product Owner'
type: 'task'
---

Canary tests failed: {{ env.RUN_LINK }}
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ body:
- '@sentry/solidstart'
- '@sentry/svelte'
- '@sentry/sveltekit'
- '@sentry/tanstackstart-react'
- '@sentry/vue'
- '@sentry/wasm'
- Sentry Browser Loader
Expand Down
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,28 @@

- "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott

## 9.6.0

### Important Changes

- **feat(tanstackstart): Add `@sentry/tanstackstart-react` package and make `@sentry/tanstackstart` package a utility package ([#15629](https://github.com/getsentry/sentry-javascript/pull/15629))**

Since TanStack Start is supposed to be a generic framework that supports libraries like React and Solid, the `@sentry/tanstackstart` SDK package was renamed to `@sentry/tanstackstart-react` to reflect that the SDK is specifically intended to be used for React TanStack Start applications.
Note that the TanStack Start SDK is still in alpha status and may be subject to breaking changes in non-major package updates.

### Other Changes

- feat(astro): Accept all vite-plugin options ([#15638](https://github.com/getsentry/sentry-javascript/pull/15638))
- feat(deps): bump @sentry/webpack-plugin from 3.2.1 to 3.2.2 ([#15627](https://github.com/getsentry/sentry-javascript/pull/15627))
- feat(tanstackstart): Refine initial API ([#15574](https://github.com/getsentry/sentry-javascript/pull/15574))
- fix(core): Ensure `fill` only patches functions ([#15632](https://github.com/getsentry/sentry-javascript/pull/15632))
- fix(nextjs): Consider `pageExtensions` when looking for instrumentation file ([#15701](https://github.com/getsentry/sentry-javascript/pull/15701))
- fix(remix): Null-check `options` ([#15610](https://github.com/getsentry/sentry-javascript/pull/15610))
- fix(sveltekit): Correctly parse angle bracket type assertions for auto instrumentation ([#15578](https://github.com/getsentry/sentry-javascript/pull/15578))
- fix(sveltekit): Guard process variable ([#15605](https://github.com/getsentry/sentry-javascript/pull/15605))

Work in this release was contributed by @angelikatyborska and @nwalters512. Thank you for your contributions!

## 9.5.0

### Important Changes
Expand Down
2 changes: 1 addition & 1 deletion MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ These docs walk through how to migrate our JavaScript SDKs through different maj
- Upgrading from [SDK 4.x to 5.x/6.x](./docs/migration/v4-to-v5_v6.md)
- Upgrading from [SDK 6.x to 7.x](./docs/migration/v6-to-v7.md)
- Upgrading from [SDK 7.x to 8.x](./docs/migration/v7-to-v8.md)
- Upgrading from [SDK 8.x to 9.x](./docs/migration/v8-to-v9.md#upgrading-from-7x-to-8x)
- Upgrading from [SDK 8.x to 9.x](#upgrading-from-8x-to-9x)

# Upgrading from 8.x to 9.x

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ package. Please refer to the README and instructions of those SDKs for more deta
- [`@sentry/nestjs`](https://github.com/getsentry/sentry-javascript/tree/master/packages/nestjs): SDK for NestJS
- [`@sentry/nextjs`](https://github.com/getsentry/sentry-javascript/tree/master/packages/nextjs): SDK for Next.js
- [`@sentry/remix`](https://github.com/getsentry/sentry-javascript/tree/master/packages/remix): SDK for Remix
- [`@sentry/tanstackstart-react`](https://github.com/getsentry/sentry-javascript/tree/master/packages/tanstackstart-react): SDK for TanStack Start React
- [`@sentry/aws-serverless`](https://github.com/getsentry/sentry-javascript/tree/master/packages/aws-serverless): SDK
for AWS Lambda Functions
- [`@sentry/google-cloud-serverless`](https://github.com/getsentry/sentry-javascript/tree/master/packages/google-cloud-serverless):
Expand Down
2 changes: 1 addition & 1 deletion dev-packages/browser-integration-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
"@playwright/test": "~1.50.0",
"@sentry-internal/rrweb": "2.34.0",
"@sentry/browser": "9.5.0",
"axios": "1.7.7",
"axios": "1.8.2",
"babel-loader": "^8.2.2",
"fflate": "0.8.2",
"html-webpack-plugin": "^5.5.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"@playwright/test": "~1.50.0",
"@sentry/node": "latest || *",
"@sentry/profiling-node": "latest || *",
"esbuild": "0.20.0",
"esbuild": "0.25.0",
"typescript": "^5.7.3"
},
"volta": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
"nuxt": "^3.14.0"
},
"devDependencies": {
"@nuxt/test-utils": "^3.14.1",
"@playwright/test": "~1.50.0",
"@sentry-internal/test-utils": "link:../../../test-utils"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
import { fileURLToPath } from 'node:url';
import type { ConfigOptions } from '@nuxt/test-utils/playwright';
import { getPlaywrightConfig } from '@sentry-internal/test-utils';

const nuxtConfigOptions: ConfigOptions = {
nuxt: {
rootDir: fileURLToPath(new URL('.', import.meta.url)),
},
};

/* Make sure to import from '@nuxt/test-utils/playwright' in the tests
* Like this: import { expect, test } from '@nuxt/test-utils/playwright' */

const config = getPlaywrightConfig({
startCommand: `pnpm start`,
use: { ...nuxtConfigOptions },
});

export default config;
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { expect, test } from '@nuxt/test-utils/playwright';
import { expect, test } from '@playwright/test';
import { waitForError } from '@sentry-internal/test-utils';

test.describe('client-side errors', async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { expect, test } from '@nuxt/test-utils/playwright';
import { expect, test } from '@playwright/test';
import { waitForTransaction } from '@sentry-internal/test-utils';
import type { Span } from '@sentry/nuxt';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"nuxt": "3.7.0"
},
"devDependencies": {
"@nuxt/test-utils": "^3.14.1",
"@playwright/test": "~1.50.0",
"@sentry-internal/test-utils": "link:../../../test-utils"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,7 @@
import { fileURLToPath } from 'node:url';
import type { ConfigOptions } from '@nuxt/test-utils/playwright';
import { getPlaywrightConfig } from '@sentry-internal/test-utils';

const nuxtConfigOptions: ConfigOptions = {
nuxt: {
rootDir: fileURLToPath(new URL('.', import.meta.url)),
},
};

/* Make sure to import from '@nuxt/test-utils/playwright' in the tests
* Like this: import { expect, test } from '@nuxt/test-utils/playwright' */

const config = getPlaywrightConfig({
startCommand: `pnpm start:import`,
use: { ...nuxtConfigOptions },
});

export default config;
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { expect, test } from '@nuxt/test-utils/playwright';
import { expect, test } from '@playwright/test';
import { waitForError } from '@sentry-internal/test-utils';

test.describe('client-side errors', async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { expect, test } from '@nuxt/test-utils/playwright';
import { expect, test } from '@playwright/test';
import { waitForTransaction } from '@sentry-internal/test-utils';
import type { Span } from '@sentry/nuxt';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
"nuxt": "^3.14.0"
},
"devDependencies": {
"@nuxt/test-utils": "^3.14.1",
"@playwright/test": "~1.50.0",
"@sentry-internal/test-utils": "link:../../../test-utils"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,7 @@
import { fileURLToPath } from 'node:url';
import type { ConfigOptions } from '@nuxt/test-utils/playwright';
import { getPlaywrightConfig } from '@sentry-internal/test-utils';

const nuxtConfigOptions: ConfigOptions = {
nuxt: {
rootDir: fileURLToPath(new URL('.', import.meta.url)),
},
};

/* Make sure to import from '@nuxt/test-utils/playwright' in the tests
* Like this: import { expect, test } from '@nuxt/test-utils/playwright' */

const config = getPlaywrightConfig({
startCommand: `pnpm start`,
use: { ...nuxtConfigOptions },
});

export default config;
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { expect, test } from '@nuxt/test-utils/playwright';
import { expect, test } from '@playwright/test';
import { waitForError } from '@sentry-internal/test-utils';

test.describe('client-side errors', async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { expect, test } from '@nuxt/test-utils/playwright';
import { expect, test } from '@playwright/test';
import { waitForTransaction } from '@sentry-internal/test-utils';
import type { Span } from '@sentry/nuxt';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
"nuxt": "^3.14.0"
},
"devDependencies": {
"@nuxt/test-utils": "^3.14.1",
"@playwright/test": "~1.50.0",
"@sentry-internal/test-utils": "link:../../../test-utils"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,7 @@
import { fileURLToPath } from 'node:url';
import type { ConfigOptions } from '@nuxt/test-utils/playwright';
import { getPlaywrightConfig } from '@sentry-internal/test-utils';

const nuxtConfigOptions: ConfigOptions = {
nuxt: {
rootDir: fileURLToPath(new URL('.', import.meta.url)),
},
};

/* Make sure to import from '@nuxt/test-utils/playwright' in the tests
* Like this: import { expect, test } from '@nuxt/test-utils/playwright' */

const config = getPlaywrightConfig({
startCommand: `pnpm start:import`,
use: { ...nuxtConfigOptions },
});

export default config;
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { expect, test } from '@nuxt/test-utils/playwright';
import { expect, test } from '@playwright/test';
import { waitForError } from '@sentry-internal/test-utils';

test.describe('client-side errors', async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { expect, test } from '@nuxt/test-utils/playwright';
import { expect, test } from '@playwright/test';
import { waitForTransaction } from '@sentry-internal/test-utils';
import type { Span } from '@sentry/nuxt';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"nuxt": "^3.13.2"
},
"devDependencies": {
"@nuxt/test-utils": "^3.14.2",
"@playwright/test": "~1.50.0",
"@sentry-internal/test-utils": "link:../../../test-utils"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,7 @@
import { fileURLToPath } from 'node:url';
import type { ConfigOptions } from '@nuxt/test-utils/playwright';
import { getPlaywrightConfig } from '@sentry-internal/test-utils';

const nuxtConfigOptions: ConfigOptions = {
nuxt: {
rootDir: fileURLToPath(new URL('.', import.meta.url)),
},
};

/* Make sure to import from '@nuxt/test-utils/playwright' in the tests
* Like this: import { expect, test } from '@nuxt/test-utils/playwright' */

const config = getPlaywrightConfig({
startCommand: `pnpm start:import`,
use: { ...nuxtConfigOptions },
});

export default config;
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<script lang="ts">
export let data
</script>

<h1>Type Assertion</h1>

<p>
This route only exists to ensure we don't emit a build error because of the angle bracket type assertion in +page.ts
see https://github.com/getsentry/sentry-javascript/issues/9318
</p>

<p>
Message: {data.msg}
</p>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export async function load() {
let x: unknown = 'foo';
return {
// this angle bracket type assertion threw an auto instrumentation error
// see: https://github.com/getsentry/sentry-javascript/issues/9318
msg: <string>x,
};
}
6 changes: 6 additions & 0 deletions dev-packages/e2e-tests/verdaccio-config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,12 @@ packages:
unpublish: $all
# proxy: npmjs # Don't proxy for E2E tests!

'@sentry/tanstackstart-react':
access: $all
publish: $all
unpublish: $all
# proxy: npmjs # Don't proxy for E2E tests!

'@sentry/types':
access: $all
publish: $all
Expand Down
6 changes: 6 additions & 0 deletions docs/new-sdk-release-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ differ slightly for other SDKs depending on how they are structured and how they
- [ ] If the package you're adding is a dependency of fullstack framework (e.g. Remix or NextJS) SDKs, make sure that
your package is added to the integration test apps' `"resolutions"` field in their `package.json`s.

- [ ] Add the new package to the "root" README inside the repository.

- [ ] Add the new package to the GitHub Issue bug template.

- [ ] Create label inside the GitHub repo named "Package: foobar".

## Cutting the Release

When you’re ready to make the first release, there are a couple of steps that need to be performed in the **correct
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@
"packages/svelte",
"packages/sveltekit",
"packages/tanstackstart",
"packages/tanstackstart-react",
"packages/types",
"packages/typescript",
"packages/vercel-edge",
Expand Down
17 changes: 10 additions & 7 deletions packages/astro/src/integration/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export const sentryAstro = (options: SentryOptions = {}): AstroIntegration => {
};

const sourceMapsNeeded = sdkEnabled.client || sdkEnabled.server;
const uploadOptions = options.sourceMapsUploadOptions || {};
const { unstable_sentryVitePluginOptions, ...uploadOptions } = options.sourceMapsUploadOptions || {};
const shouldUploadSourcemaps = (sourceMapsNeeded && uploadOptions?.enabled) ?? true;

// We don't need to check for AUTH_TOKEN here, because the plugin will pick it up from the env
Expand Down Expand Up @@ -68,23 +68,26 @@ export const sentryAstro = (options: SentryOptions = {}): AstroIntegration => {
project: uploadOptions.project ?? env.SENTRY_PROJECT,
authToken: uploadOptions.authToken ?? env.SENTRY_AUTH_TOKEN,
telemetry: uploadOptions.telemetry ?? true,
_metaOptions: {
telemetry: {
metaFramework: 'astro',
},
},
...unstable_sentryVitePluginOptions,
debug: options.debug ?? false,
sourcemaps: {
assets: uploadOptions.assets ?? [getSourcemapsAssetsGlob(config)],
filesToDeleteAfterUpload:
uploadOptions?.filesToDeleteAfterUpload ?? updatedFilesToDeleteAfterUpload,
...unstable_sentryVitePluginOptions?.sourcemaps,
},
bundleSizeOptimizations: {
...options.bundleSizeOptimizations,
// TODO: with a future version of the vite plugin (probably 2.22.0) this re-mapping is not needed anymore
// ref: https://github.com/getsentry/sentry-javascript-bundler-plugins/pull/582
excludePerformanceMonitoring: options.bundleSizeOptimizations?.excludeTracing,
...unstable_sentryVitePluginOptions?.bundleSizeOptimizations,
},
_metaOptions: {
telemetry: {
metaFramework: 'astro',
},
},
debug: options.debug ?? false,
}),
),
],
Expand Down
Loading
Loading