Skip to content

Commit 6a0f478

Browse files
authored
Merge pull request #9239 from getsentry/prepare-release/7.74.0
meta: Update CHANGELOG for 7.74.0
2 parents 02e3b9c + 85ac5e3 commit 6a0f478

File tree

226 files changed

+13048
-1319
lines changed

Some content is hidden

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

226 files changed

+13048
-1319
lines changed

.craft.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ targets:
8888
- name: npm
8989
id: '@sentry/gatsby'
9090
includeNames: /^sentry-gatsby-\d.*\.tgz$/
91+
- name: npm
92+
id: '@sentry/astro'
93+
includeNames: /^sentry-astro-\d.*\.tgz$/
9194

9295
## 7. Other Packages
9396
## 7.1
@@ -180,3 +183,5 @@ targets:
180183
onlyIfPresent: /^sentry-bun-\d.*\.tgz$/
181184
'npm:@sentry/vercel-edge':
182185
onlyIfPresent: /^sentry-vercel-edge-\d.*\.tgz$/
186+
'npm:@sentry/ember':
187+
onlyIfPresent: /^sentry-ember-\d.*\.tgz$/

.github/workflows/build.yml

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ jobs:
356356
- name: Pack
357357
run: yarn build:tarball
358358
- name: Archive artifacts
359-
uses: actions/[email protected].2
359+
uses: actions/[email protected].3
360360
with:
361361
name: ${{ github.sha }}
362362
path: |
@@ -379,7 +379,7 @@ jobs:
379379
- name: Set up Node
380380
uses: actions/setup-node@v3
381381
with:
382-
node-version: ${{ env.DEFAULT_NODE_VERSION }}
382+
node-version-file: 'package.json'
383383
- name: Restore caches
384384
uses: ./.github/actions/restore-cache
385385
env:
@@ -406,7 +406,7 @@ jobs:
406406
- name: Set up Node
407407
uses: actions/setup-node@v3
408408
with:
409-
node-version: ${{ matrix.node }}
409+
node-version-file: 'package.json'
410410
- name: Set up Bun
411411
uses: oven-sh/setup-bun@v1
412412
- name: Restore caches
@@ -419,6 +419,38 @@ jobs:
419419
- name: Compute test coverage
420420
uses: codecov/codecov-action@v3
421421

422+
job_deno_unit_tests:
423+
name: Deno Unit Tests
424+
needs: [job_get_metadata, job_build]
425+
timeout-minutes: 10
426+
runs-on: ubuntu-20.04
427+
strategy:
428+
fail-fast: false
429+
steps:
430+
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
431+
uses: actions/checkout@v4
432+
with:
433+
ref: ${{ env.HEAD_COMMIT }}
434+
- name: Set up Node
435+
uses: actions/setup-node@v3
436+
with:
437+
node-version-file: 'package.json'
438+
- name: Set up Deno
439+
uses: denoland/[email protected]
440+
with:
441+
deno-version: v1.37.1
442+
- name: Restore caches
443+
uses: ./.github/actions/restore-cache
444+
env:
445+
DEPENDENCY_CACHE_KEY: ${{ needs.job_build.outputs.dependency_cache_key }}
446+
- name: Run tests
447+
run: |
448+
cd packages/deno
449+
yarn build
450+
yarn test
451+
- name: Compute test coverage
452+
uses: codecov/codecov-action@v3
453+
422454
job_node_unit_tests:
423455
name: Node (${{ matrix.node }}) Unit Tests
424456
needs: [job_get_metadata, job_build]
@@ -823,6 +855,7 @@ jobs:
823855
'standard-frontend-react-tracing-import',
824856
'sveltekit',
825857
'generic-ts3.8',
858+
'node-experimental-fastify-app',
826859
]
827860
build-command:
828861
- false
@@ -894,6 +927,7 @@ jobs:
894927
job_browser_build_tests,
895928
job_browser_unit_tests,
896929
job_bun_unit_tests,
930+
job_deno_unit_tests,
897931
job_node_unit_tests,
898932
job_nextjs_integration_test,
899933
job_node_integration_tests,
@@ -951,7 +985,7 @@ jobs:
951985
GITHUB_TOKEN: ${{ github.token }}
952986

953987
- name: Upload results
954-
uses: actions/[email protected].2
988+
uses: actions/[email protected].3
955989
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
956990
with:
957991
name: ${{ steps.process.outputs.artifactName }}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ jest/transformers/*.js
2121
# node tarballs
2222
packages/*/sentry-*.tgz
2323
.nxcache
24+
# The Deno types are downloaded before building
25+
packages/deno/lib.deno.d.ts
2426

2527
# logs
2628
yarn-error.log

.vscode/extensions.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"recommendations": [
55
"esbenp.prettier-vscode",
66
"dbaeumer.vscode-eslint",
7-
"augustocdias.tasks-shell-input"
8-
],
7+
"augustocdias.tasks-shell-input",
8+
"denoland.vscode-deno"
9+
]
910
}

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,6 @@
2828
{
2929
"mode": "auto"
3030
}
31-
]
31+
],
32+
"deno.enablePaths": ["packages/deno/test"]
3233
}

CHANGELOG.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,67 @@
44

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

7+
## 7.74.0
8+
9+
### Important Changes
10+
11+
- **feat(astro): Add `sentryAstro` integration (#9218)**
12+
13+
This Release introduces the first alpha version of our new SDK for Astro.
14+
At this time, the SDK is considered experimental and things might break and change in future versions.
15+
16+
The core of the SDK is an Astro integration which you easily add to your Astro config:
17+
18+
```js
19+
// astro.config.js
20+
import { defineConfig } from "astro/config";
21+
import sentry from "@sentry/astro";
22+
23+
export default defineConfig({
24+
integrations: [
25+
sentry({
26+
dsn: "__DSN__",
27+
sourceMapsUploadOptions: {
28+
project: "astro",
29+
authToken: process.env.SENTRY_AUTH_TOKEN,
30+
},
31+
}),
32+
],
33+
});
34+
```
35+
36+
Check out the [README](./packages/astro/README.md) for usage instructions and what to expect from this alpha release.
37+
38+
### Other Changes
39+
40+
- feat(core): Add `addIntegration` utility (#9186)
41+
- feat(core): Add `continueTrace` method (#9164)
42+
- feat(node-experimental): Add NodeFetch integration (#9226)
43+
- feat(node-experimental): Use native OTEL Spans (#9161, #9214)
44+
- feat(node-experimental): Sample in OTEL Sampler (#9203)
45+
- feat(serverlesss): Allow disabling transaction traces (#9154)
46+
- feat(tracing): Allow direct pg module to enable esbuild support (#9227)
47+
- feat(utils): Move common node ANR code to utils (#9191)
48+
- feat(vue): Expose `VueIntegration` to initialize vue app later (#9180)
49+
- fix: Don't set `referrerPolicy` on serverside fetch transports (#9200)
50+
- fix: Ensure we never mutate options passed to `init` (#9162)
51+
- fix(ember): Avoid pulling in utils at build time (#9221)
52+
- fix(ember): Drop undefined config values (#9175)
53+
- fix(node): Ensure mysql integration works without callback (#9222)
54+
- fix(node): Only require `inspector` when needed (#9149)
55+
- fix(node): Remove ANR `debug` option and instead add logger.isEnabled() (#9230)
56+
- fix(node): Strip `.mjs` and `.cjs` extensions from module name (#9231)
57+
- fix(replay): bump rrweb to 2.0.1 (#9240)
58+
- fix(replay): Fix potential broken CSS in styled-components (#9234)
59+
- fix(sveltekit): Flush in server wrappers before exiting (#9153)
60+
- fix(types): Update signature of `processEvent` integration hook (#9151)
61+
- fix(utils): Dereference DOM events after they have servered their purpose (#9224)
62+
- ref(integrations): Refactor pluggable integrations to use `processEvent` (#9021)
63+
- ref(serverless): Properly deprecate `rethrowAfterCapture` option (#9159)
64+
- ref(utils): Deprecate `walk` method (#9157)
65+
66+
Work in this release contributed by @aldenquimby. Thank you for your contributions!
67+
768
## 7.73.0
869

970
### Important Changes

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,25 @@
2727
"postpublish": "lerna run --stream --concurrency 1 postpublish",
2828
"test": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,overhead-metrics}\" test",
2929
"test:unit": "lerna run --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,overhead-metrics}\" test:unit",
30-
"test-ci-browser": "lerna run test --ignore \"@sentry/{bun,node,node-experimental,opentelemetry-node,serverless,nextjs,remix,gatsby,sveltekit,vercel-edge}\" --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,overhead-metrics}\"",
30+
"test-ci-browser": "lerna run test --ignore \"@sentry/{bun,deno,node,node-experimental,opentelemetry-node,serverless,nextjs,remix,gatsby,sveltekit,vercel-edge}\" --ignore \"@sentry-internal/{browser-integration-tests,e2e-tests,integration-shims,node-integration-tests,overhead-metrics}\"",
3131
"test-ci-node": "ts-node ./scripts/node-unit-tests.ts",
3232
"test-ci-bun": "lerna run test --scope @sentry/bun",
3333
"test:update-snapshots": "lerna run test:update-snapshots",
3434
"yalc:publish": "lerna run yalc:publish"
3535
},
3636
"volta": {
37-
"node": "16.19.0",
37+
"node": "18.17.0",
3838
"yarn": "1.22.19"
3939
},
4040
"workspaces": [
4141
"packages/angular",
4242
"packages/angular-ivy",
43+
"packages/astro",
4344
"packages/browser",
4445
"packages/browser-integration-tests",
4546
"packages/bun",
4647
"packages/core",
48+
"packages/deno",
4749
"packages/e2e-tests",
4850
"packages/ember",
4951
"packages/eslint-config-sdk",
@@ -126,7 +128,8 @@
126128
"yalc": "^1.0.0-pre.53"
127129
},
128130
"resolutions": {
129-
"**/agent-base": "5"
131+
"**/agent-base": "5",
132+
"**/terser/source-map": "0.7.4"
130133
},
131134
"version": "0.0.0",
132135
"name": "sentry-javascript"

packages/angular-ivy/src/sdk.ts

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { VERSION } from '@angular/core';
22
import type { BrowserOptions } from '@sentry/browser';
33
import { defaultIntegrations, init as browserInit, SDK_VERSION, setContext } from '@sentry/browser';
4+
import type { SdkMetadata } from '@sentry/types';
45
import { logger } from '@sentry/utils';
56

67
import { IS_DEBUG_BUILD } from './flags';
@@ -9,8 +10,21 @@ import { IS_DEBUG_BUILD } from './flags';
910
* Inits the Angular SDK
1011
*/
1112
export function init(options: BrowserOptions): void {
12-
options._metadata = options._metadata || {};
13-
options._metadata.sdk = {
13+
const opts = {
14+
_metadata: {} as SdkMetadata,
15+
// Filter out TryCatch integration as it interferes with our Angular `ErrorHandler`:
16+
// TryCatch would catch certain errors before they reach the `ErrorHandler` and thus provide a
17+
// lower fidelity error than what `SentryErrorHandler` (see errorhandler.ts) would provide.
18+
// see:
19+
// - https://github.com/getsentry/sentry-javascript/issues/5417#issuecomment-1453407097
20+
// - https://github.com/getsentry/sentry-javascript/issues/2744
21+
defaultIntegrations: defaultIntegrations.filter(integration => {
22+
return integration.name !== 'TryCatch';
23+
}),
24+
...options,
25+
};
26+
27+
opts._metadata.sdk = opts._metadata.sdk || {
1428
name: 'sentry.javascript.angular-ivy',
1529
packages: [
1630
{
@@ -21,20 +35,8 @@ export function init(options: BrowserOptions): void {
2135
version: SDK_VERSION,
2236
};
2337

24-
// Filter out TryCatch integration as it interferes with our Angular `ErrorHandler`:
25-
// TryCatch would catch certain errors before they reach the `ErrorHandler` and thus provide a
26-
// lower fidelity error than what `SentryErrorHandler` (see errorhandler.ts) would provide.
27-
// see:
28-
// - https://github.com/getsentry/sentry-javascript/issues/5417#issuecomment-1453407097
29-
// - https://github.com/getsentry/sentry-javascript/issues/2744
30-
if (options.defaultIntegrations === undefined) {
31-
options.defaultIntegrations = defaultIntegrations.filter(integration => {
32-
return integration.name !== 'TryCatch';
33-
});
34-
}
35-
3638
checkAndSetAngularVersion();
37-
browserInit(options);
39+
browserInit(opts);
3840
}
3941

4042
function checkAndSetAngularVersion(): void {

packages/angular/src/sdk.ts

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { VERSION } from '@angular/core';
22
import type { BrowserOptions } from '@sentry/browser';
33
import { defaultIntegrations, init as browserInit, SDK_VERSION, setContext } from '@sentry/browser';
4+
import type { SdkMetadata } from '@sentry/types';
45
import { logger } from '@sentry/utils';
56

67
import { IS_DEBUG_BUILD } from './flags';
@@ -9,8 +10,21 @@ import { IS_DEBUG_BUILD } from './flags';
910
* Inits the Angular SDK
1011
*/
1112
export function init(options: BrowserOptions): void {
12-
options._metadata = options._metadata || {};
13-
options._metadata.sdk = {
13+
const opts = {
14+
_metadata: {} as SdkMetadata,
15+
// Filter out TryCatch integration as it interferes with our Angular `ErrorHandler`:
16+
// TryCatch would catch certain errors before they reach the `ErrorHandler` and thus provide a
17+
// lower fidelity error than what `SentryErrorHandler` (see errorhandler.ts) would provide.
18+
// see:
19+
// - https://github.com/getsentry/sentry-javascript/issues/5417#issuecomment-1453407097
20+
// - https://github.com/getsentry/sentry-javascript/issues/2744
21+
defaultIntegrations: defaultIntegrations.filter(integration => {
22+
return integration.name !== 'TryCatch';
23+
}),
24+
...options,
25+
};
26+
27+
opts._metadata.sdk = opts._metadata.sdk || {
1428
name: 'sentry.javascript.angular',
1529
packages: [
1630
{
@@ -21,20 +35,8 @@ export function init(options: BrowserOptions): void {
2135
version: SDK_VERSION,
2236
};
2337

24-
// Filter out TryCatch integration as it interferes with our Angular `ErrorHandler`:
25-
// TryCatch would catch certain errors before they reach the `ErrorHandler` and thus provide a
26-
// lower fidelity error than what `SentryErrorHandler` (see errorhandler.ts) would provide.
27-
// see:
28-
// - https://github.com/getsentry/sentry-javascript/issues/5417#issuecomment-1453407097
29-
// - https://github.com/getsentry/sentry-javascript/issues/2744
30-
if (options.defaultIntegrations === undefined) {
31-
options.defaultIntegrations = defaultIntegrations.filter(integration => {
32-
return integration.name !== 'TryCatch';
33-
});
34-
}
35-
3638
checkAndSetAngularVersion();
37-
browserInit(options);
39+
browserInit(opts);
3840
}
3941

4042
function checkAndSetAngularVersion(): void {

packages/astro/.eslintrc.cjs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
module.exports = {
2+
env: {
3+
browser: true,
4+
node: true,
5+
},
6+
extends: ['../../.eslintrc.js'],
7+
overrides: [
8+
{
9+
files: ['vite.config.ts'],
10+
parserOptions: {
11+
project: ['tsconfig.test.json'],
12+
},
13+
},
14+
{
15+
files: ['src/integration/**', 'src/server/**'],
16+
rules: {
17+
'@sentry-internal/sdk/no-optional-chaining': 'off',
18+
'@sentry-internal/sdk/no-nullish-coalescing': 'off',
19+
},
20+
},
21+
],
22+
};

packages/astro/.npmignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# The paths in this file are specified so that they align with the file structure in `./build` after this file is copied
2+
# into it by the prepack script `scripts/prepack.ts`.
3+
4+
*
5+
6+
!/cjs/**/*
7+
!/esm/**/*
8+
!/types/**/*
9+
!/types-ts3.8/**/*
10+
!/integration/**/*

packages/astro/LICENSE

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Copyright (c) 2023 Sentry (https://sentry.io) and individual contributors. All rights reserved.
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
4+
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
5+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
6+
persons to whom the Software is furnished to do so, subject to the following conditions:
7+
8+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
9+
Software.
10+
11+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
12+
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
13+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
14+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

0 commit comments

Comments
 (0)