Skip to content

Commit 00b776c

Browse files
committed
Merge branch 'develop' into fn/replay-unwrapped-setTimeout-billy
2 parents 8d1c094 + 5317793 commit 00b776c

File tree

255 files changed

+3301
-7810
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

255 files changed

+3301
-7810
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,8 @@ jobs:
10031003
'create-remix-app-express',
10041004
'create-remix-app-express-vite-dev',
10051005
'debug-id-sourcemaps',
1006-
# 'esm-loader-node-express-app', # This is currently broken for upstream reasons. See https://github.com/getsentry/sentry-javascript/pull/11338#issuecomment-2025450675
1006+
'node-express-esm-loader',
1007+
'node-express-esm-without-loader',
10071008
'nextjs-app-dir',
10081009
'nextjs-14',
10091010
'react-create-hash-router',

.github/workflows/flaky-test-detector.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,17 @@ jobs:
7979
browser_integration: dev-packages/browser-integration-tests/suites/**/test.ts
8080
8181
- name: Detect flaky tests
82+
id: test
8283
run: yarn test:detect-flaky
8384
working-directory: dev-packages/browser-integration-tests
8485
env:
8586
CHANGED_TEST_PATHS: ${{ steps.changed.outputs.browser_integration_files }}
8687
TEST_RUN_COUNT: 'AUTO'
88+
89+
- name: Artifacts upload
90+
uses: actions/upload-artifact@v4
91+
if: failure() && steps.test.outcome == 'failure'
92+
with:
93+
name: playwright-test-results
94+
path: test-results
95+
retention-days: 5

.size-limit.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,33 @@ module.exports = [
211211
gzip: true,
212212
limit: '180 KB',
213213
},
214+
// AWS SDK (ESM)
215+
{
216+
name: '@sentry/aws-serverless',
217+
path: 'packages/aws-serverless/build/npm/esm/index.js',
218+
import: createImport('init'),
219+
ignore: [
220+
'node:http',
221+
'node:https',
222+
'node:diagnostics_channel',
223+
'async_hooks',
224+
'child_process',
225+
'perf_hooks',
226+
'fs',
227+
'os',
228+
'path',
229+
'inspector',
230+
'worker_threads',
231+
'http',
232+
'stream',
233+
'zlib',
234+
'net',
235+
'tls',
236+
'module',
237+
],
238+
gzip: true,
239+
limit: '140 KB',
240+
},
214241
];
215242

216243
function createImport(...args) {

CHANGELOG.md

Lines changed: 164 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,169 @@
44

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

7+
## 8.2.1
8+
9+
- fix(aws-serverless): Fix build of lambda layer (#12083)
10+
- fix(nestjs): Broaden nest.js type (#12076)
11+
12+
## 8.2.0
13+
14+
- feat(redis-cache): Create cache-span with prefixed keys (get/set commands) (#12070)
15+
- feat(core): Add `beforeSendSpan` hook (#11886)
16+
- feat(browser): Improve idle span handling (#12065)
17+
- fix(node): Set transactionName for unsampled spans in httpIntegration (#12071)
18+
- fix(core): Export Scope interface as `Scope` (#12067)
19+
- fix(core): Avoid looking up client for `hasTracingEnabled()` if possible (#12066)
20+
- fix(browser): Use consistent timestamps (#12063)
21+
- fix(node): Fix check for performance integrations (#12043)
22+
- ref(sveltekit): Warn to delete source maps if Sentry plugin enabled source maps generation (#12072)
23+
24+
## 8.1.0
25+
26+
This release mainly fixes a couple of bugs from the initial [8.0.0 release](#800). In addition to the changes below, we
27+
updated some initially missed points in our migration guides and documentation.
28+
29+
- feat(aws-serverless): Fix tree-shaking for aws-serverless package (#12017)
30+
- feat(node): Bump opentelemetry instrumentation to latest version (#12028)
31+
- feat(scope): Bring back `lastEventId` on isolation scope (#11951) (#12022)
32+
- fix(aws-serverless): Export `awslambda-auto`
33+
- fix(node): Do not warn for missing instrumentation if SDK is disabled (#12041)
34+
- fix(react): Set dependency-injected functions as early as possible (#12019)
35+
- fix(react): Warn and fall back gracefully if dependency injected functions are not available (#12026)
36+
- ref(core): Streamline `parseSampleRate` utility function (#12024)
37+
- ref(feedback): Make `eventId` optional and use `lastEventId` in report dialog (#12029)
38+
39+
## 8.0.0
40+
41+
The Sentry JS SDK team is proud to announce the release of version `8.0.0` of Sentry's JavaScript SDKs - it's been a
42+
long time coming! Thanks to everyone for your patience and a special shout out to the brave souls testing preview builds
43+
and reporting issues - we appreciate your support!
44+
45+
---
46+
47+
### How to Upgrade to Version 8:
48+
49+
We recommend reading the
50+
[migration guide docs](https://docs.sentry.io/platforms/javascript/migration/v7-to-v8/#migration-codemod) to find out
51+
how to address any breaking changes in your code for your specific platform or framework.
52+
53+
To automate upgrading to v8 as much as possible, use our migration codemod `@sentry/migr8`:
54+
55+
```sh
56+
npx @sentry/migr8@latest
57+
```
58+
59+
All deprecations from the v7 cycle, with the exception of `getCurrentHub()`, have been removed and can no longer be used
60+
in v8. If you have an advanced Sentry SDK setup, we additionally recommend reading the
61+
[in-depth migration guide](./MIGRATION.md) in our repo which highlights all changes with additional details and
62+
information.
63+
64+
The rest of this changelog highlights the most important (breaking) changes and links to more detailed information.
65+
66+
### Version Support
67+
68+
With v8, we dropped support for several old runtimes and browsers
69+
70+
**Node SDKs:** The Sentry JavaScript SDK v8 now supports **Node.js 14.8.0 or higher**. This applies to `@sentry/node`
71+
and all of our node-based server-side sdks (`@sentry/nextjs`, `@sentry/remix`, etc.). Furthermore, version 8 now ships
72+
with full support for ESM-based node apps using **Node.js 18.19.0 or higher**.
73+
74+
**Browser SDKs:** The browser SDKs now require
75+
[**ES2018+**](https://caniuse.com/?feats=mdn-javascript_builtins_regexp_dotall,js-regexp-lookbehind,mdn-javascript_builtins_regexp_named_capture_groups,mdn-javascript_builtins_regexp_property_escapes,mdn-javascript_builtins_symbol_asynciterator,mdn-javascript_functions_method_definitions_async_generator_methods,mdn-javascript_grammar_template_literals_template_literal_revision,mdn-javascript_operators_destructuring_rest_in_objects,mdn-javascript_operators_destructuring_rest_in_arrays,promise-finally)
76+
compatible browsers. New minimum browser versions:
77+
78+
- Chrome 63
79+
- Edge 79
80+
- Safari/iOS Safari 12
81+
- Firefox 58
82+
- Opera 50
83+
- Samsung Internet 8.2
84+
85+
For more details, please see the
86+
[version support section in our migration guide](./MIGRATION.md#1-version-support-changes).
87+
88+
### Initializing Server-side SDKs (Node, Bun, Deno, Serverless):
89+
90+
In v8, we support a lot more node-based packages than before. In order to ensure auto-instrumentation works, the SDK now
91+
needs to be imported and initialized before any other import in your code.
92+
93+
We recommend creating a new file (e.g. `instrumentation.js`) to import and initialize the SDK. Then, import the file on
94+
top of your entry file or detailed instructions, check our updated SDK setup docs
95+
[initializing the SDK in v8](https://docs.sentry.io/platforms/javascript/guides/node/).
96+
97+
### Performance Monitoring Changes
98+
99+
The API around performance monitoring and tracing has been streamlined, and we've added support for more integrations
100+
out of the box.
101+
102+
- [Performance Monitoring API](./MIGRATION.md#performance-monitoring-api)
103+
- [Performance Monitoring Integrations](./MIGRATION.md#performance-monitoring-integrations)
104+
105+
### Functional Integrations
106+
107+
Integrations are now simple functions instead of classes. Class-based integrations
108+
[have been removed](./MIGRATION.md#removal-of-class-based-integrations):
109+
110+
```javascript
111+
// old (v7)
112+
Sentry.init({
113+
integrations: [new Sentry.BrowserTracing()],
114+
});
115+
116+
// new (v8)
117+
Sentry.init({
118+
integrations: [Sentry.browserTracingIntegration()],
119+
});
120+
```
121+
122+
### Package removal
123+
124+
The following packages have been removed or replaced and will no longer be published:
125+
126+
- [`@sentry/hub`](./MIGRATION.md#sentryhub)
127+
- [`@sentry/tracing`](./MIGRATION.md#sentrytracing)
128+
- [`@sentry/integrations`](./MIGRATION.md#sentryintegrations)
129+
- [`@sentry/serverless`](./MIGRATION.md#sentryserverless)
130+
- [`@sentry/replay`](./MIGRATION.md#sentryreplay)
131+
132+
### Changes since `8.0.0-rc.3`
133+
134+
- **feat(nextjs): Remove `transpileClientSDK` (#11978)**
135+
136+
As we are dropping support for Internet Explorer 11 and other other older browser versions wih version `8.0.0`, we are
137+
also removing the `transpileClientSDK` option from the Next.js SDK. If you need to support these browser versions,
138+
please configure Webpack and Next.js to down-compile the SDK.
139+
140+
- **feat(serverless): Do not include performance integrations by default (#11998)**
141+
142+
To keep Lambda bundle size reasonable, the SDK no longer ships with all performance (database) integrations by
143+
default. Add the Sentry integrations of the databases and other tools you're using manually to your `Sentry.init` call
144+
by following
145+
[this guide](https://docs.sentry.io/platforms/javascript/configuration/integrations/#modifying-default-integrations).
146+
Note that this change does not apply if you use the SDK with the Sentry AWS Lambda layer.
147+
148+
- feat(feedback): Simplify public css configuration for feedback (#11985)
149+
- fix(feedback): Check for empty user (#11993)
150+
- fix(replay): Fix type for `replayCanvasIntegration` (#11995)
151+
- fix(replay): Fix user activity not being updated in `start()` (#12001)
152+
153+
## 8.0.0-rc.3
154+
155+
### Important Changes
156+
157+
- **feat(bun): Add Bun Global Unhandled Handlers (#11960)**
158+
159+
The Bun SDK will now capture global unhandled errors.
160+
161+
### Other Changes
162+
163+
- feat(node): Log process and thread info on initialisation (#11972)
164+
- fix(aws-serverless): Include ESM artifacts in package (#11973)
165+
- fix(browser): Only start `http.client` spans if there is an active parent span (#11974)
166+
- fix(feedback): Improve CSS theme variable names and layout (#11964)
167+
- fix(node): Ensure `execArgv` are not sent to worker threads (#11963)
168+
- ref(feedback): Simplify feedback function params (#11957)
169+
7170
## 8.0.0-rc.2
8171

9172
### Important Changes
@@ -287,7 +450,7 @@ The following packages will no longer be published
287450

288451
### Initializing Server-side SDKs (Node, Bun, Next.js, SvelteKit, Astro, Remix):
289452

290-
Initializing the SDKs on the server-side has been simplified. See more details in our migration docs about
453+
Initializing the SDKs on the server-side has been simplified. More details in our migration docs about
291454
[initializing the SDK in v8](./MIGRATION.md/#initializing-the-node-sdk).
292455

293456
### Performance Monitoring Changes

0 commit comments

Comments
 (0)