Skip to content

Commit 7c15dfa

Browse files
authored
Merge pull request #12777 from getsentry/prepare-release/8.15.0
meta(changelog): Update changelog for 8.15.0
2 parents 0ab48f0 + 1af7d0a commit 7c15dfa

File tree

187 files changed

+4192
-2102
lines changed

Some content is hidden

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

187 files changed

+4192
-2102
lines changed

.github/workflows/build.yml

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ jobs:
100100
- 'packages/rollup-utils/**'
101101
- 'packages/utils/**'
102102
- 'packages/types/**'
103+
- 'dev-packages/test-utils/**'
103104
browser: &browser
104105
- *shared
105106
- 'packages/browser/**'
@@ -970,22 +971,19 @@ jobs:
970971

971972
job_e2e_tests:
972973
name: E2E ${{ matrix.label || matrix.test-application }} Test
973-
# We only run E2E tests for non-fork PRs because the E2E tests require secrets to work and they can't be accessed from forks
974974
# We need to add the `always()` check here because the previous step has this as well :(
975975
# See: https://github.com/actions/runner/issues/2205
976-
if:
977-
always() && needs.job_e2e_prepare.result == 'success' &&
978-
(github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
976+
if: always() && needs.job_e2e_prepare.result == 'success'
979977
needs: [job_get_metadata, job_build, job_e2e_prepare]
980978
runs-on: ubuntu-20.04
981979
timeout-minutes: 10
982980
env:
983-
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}
984-
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
981+
# We just use a dummy DSN here, only send to the tunnel anyhow
982+
E2E_TEST_DSN: 'https://username@domain/123'
985983
# Needed because some apps expect a certain prefix
986-
NEXT_PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
987-
PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
988-
REACT_APP_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
984+
NEXT_PUBLIC_E2E_TEST_DSN: 'https://username@domain/123'
985+
PUBLIC_E2E_TEST_DSN: 'https://username@domain/123'
986+
REACT_APP_E2E_TEST_DSN: 'https://username@domain/123'
989987
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
990988
E2E_TEST_SENTRY_PROJECT: 'sentry-javascript-e2e-tests'
991989
strategy:
@@ -1014,6 +1012,8 @@ jobs:
10141012
'node-express-esm-without-loader',
10151013
'node-express-cjs-preload',
10161014
'node-otel-sdk-node',
1015+
'ember-classic',
1016+
'ember-embroider',
10171017
'nextjs-app-dir',
10181018
'nextjs-14',
10191019
'nextjs-15',
@@ -1069,7 +1069,7 @@ jobs:
10691069
ref: ${{ env.HEAD_COMMIT }}
10701070
- uses: pnpm/action-setup@v4
10711071
with:
1072-
version: 8.3.1
1072+
version: 9.4.0
10731073
- name: Set up Node
10741074
uses: actions/setup-node@v4
10751075
with:
@@ -1106,12 +1106,12 @@ jobs:
11061106
- name: Build E2E app
11071107
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
11081108
timeout-minutes: 5
1109-
run: yarn ${{ matrix.build-command || 'test:build' }}
1109+
run: pnpm ${{ matrix.build-command || 'test:build' }}
11101110

11111111
- name: Run E2E test
11121112
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
11131113
timeout-minutes: 5
1114-
run: yarn test:assert
1114+
run: pnpm test:assert
11151115

11161116
- name: Deploy Astro to Cloudflare
11171117
uses: cloudflare/pages-action@v1
@@ -1146,8 +1146,6 @@ jobs:
11461146
strategy:
11471147
fail-fast: false
11481148
matrix:
1149-
is_dependabot:
1150-
- ${{ github.actor == 'dependabot[bot]' }}
11511149
test-application:
11521150
[
11531151
'react-send-to-sentry',
@@ -1156,8 +1154,17 @@ jobs:
11561154
]
11571155
build-command:
11581156
- false
1157+
assert-command:
1158+
- false
11591159
label:
11601160
- false
1161+
include:
1162+
- test-application: 'create-remix-app'
1163+
assert-command: 'test:assert-sourcemaps'
1164+
label: 'create-remix-app (sourcemaps)'
1165+
- test-application: 'create-remix-app-legacy'
1166+
assert-command: 'test:assert-sourcemaps'
1167+
label: 'create-remix-app-legacy (sourcemaps)'
11611168

11621169
steps:
11631170
- name: Check out current commit (${{ needs.job_get_metadata.outputs.commit_label }})
@@ -1166,7 +1173,7 @@ jobs:
11661173
ref: ${{ env.HEAD_COMMIT }}
11671174
- uses: pnpm/action-setup@v4
11681175
with:
1169-
version: 8.3.1
1176+
version: 9.4.0
11701177
- name: Set up Node
11711178
uses: actions/setup-node@v4
11721179
with:
@@ -1200,12 +1207,12 @@ jobs:
12001207
- name: Build E2E app
12011208
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
12021209
timeout-minutes: 5
1203-
run: yarn ${{ matrix.build-command || 'test:build' }}
1210+
run: pnpm ${{ matrix.build-command || 'test:build' }}
12041211

12051212
- name: Run E2E test
12061213
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
12071214
timeout-minutes: 5
1208-
run: yarn test:assert
1215+
run: pnpm ${{ matrix.assert-command || 'test:assert' }}
12091216

12101217
job_profiling_e2e_tests:
12111218
name: E2E ${{ matrix.label || matrix.test-application }} Test
@@ -1245,7 +1252,7 @@ jobs:
12451252
ref: ${{ env.HEAD_COMMIT }}
12461253
- uses: pnpm/action-setup@v4
12471254
with:
1248-
version: 8.3.1
1255+
version: 9.4.0
12491256
- name: Set up Node
12501257
uses: actions/setup-node@v4
12511258
with:

.github/workflows/canary.yml

Lines changed: 7 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ jobs:
5656
runs-on: ubuntu-20.04
5757
timeout-minutes: 20
5858
env:
59-
E2E_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_AUTH_TOKEN }}
60-
E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
61-
# Needed because certain apps expect a certain prefix
62-
NEXT_PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
63-
PUBLIC_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
64-
REACT_APP_E2E_TEST_DSN: ${{ secrets.E2E_TEST_DSN }}
59+
# We just use a dummy DSN here, only send to the tunnel anyhow
60+
E2E_TEST_DSN: 'https://username@domain/123'
61+
# Needed because some apps expect a certain prefix
62+
NEXT_PUBLIC_E2E_TEST_DSN: 'https://username@domain/123'
63+
PUBLIC_E2E_TEST_DSN: 'https://username@domain/123'
64+
REACT_APP_E2E_TEST_DSN: 'https://username@domain/123'
6565
E2E_TEST_SENTRY_ORG_SLUG: 'sentry-javascript-sdks'
6666
E2E_TEST_SENTRY_PROJECT: 'sentry-javascript-e2e-tests'
6767
strategy:
@@ -103,7 +103,7 @@ jobs:
103103
ref: ${{ env.HEAD_COMMIT }}
104104
- uses: pnpm/action-setup@v4
105105
with:
106-
version: 8.3.1
106+
version: 9.4.0
107107

108108
- name: Set up Node
109109
uses: actions/setup-node@v4
@@ -151,45 +151,3 @@ jobs:
151151
with:
152152
filename: .github/CANARY_FAILURE_TEMPLATE.md
153153
update_existing: true
154-
155-
job_ember_canary_test:
156-
name: Ember Canary Tests
157-
runs-on: ubuntu-20.04
158-
timeout-minutes: 30
159-
strategy:
160-
fail-fast: false
161-
matrix:
162-
# scenario: [ember-release, embroider-optimized, ember-4.0]
163-
scenario: [ember-4.0]
164-
steps:
165-
- name: 'Check out current commit'
166-
uses: actions/checkout@v4
167-
with:
168-
ref: ${{ env.HEAD_COMMIT }}
169-
- name: Set up Node
170-
uses: actions/setup-node@v4
171-
with:
172-
node-version-file: 'package.json'
173-
- name: Install dependencies
174-
run: yarn install --ignore-engines --frozen-lockfile
175-
176-
- name: Build dependencies
177-
run: |
178-
yarn lerna run build:types --scope=@sentry/ember --include-dependencies
179-
yarn lerna run build:transpile --scope=@sentry/ember --include-dependencies
180-
181-
- name: Run Ember tests
182-
run: |
183-
cd packages/ember
184-
yarn ember try:one ${{ matrix.scenario }} --skip-cleanup=true
185-
186-
- name: Create Issue
187-
if: failure() && github.event_name == 'schedule'
188-
uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5
189-
env:
190-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
191-
RUN_LINK: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
192-
TITLE: Ember Canary ${{ matrix.scenario }} Test Failed
193-
with:
194-
filename: .github/CANARY_FAILURE_TEMPLATE.md
195-
update_existing: true

.github/workflows/external-contributors.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ jobs:
1717
&& github.actor != 'dependabot[bot]'
1818
steps:
1919
- uses: actions/checkout@v4
20-
with:
21-
ref: ${{ github.head_ref }}
2220
- name: Set up Node
2321
uses: actions/setup-node@v4
2422
with:

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,20 @@
88

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

11+
## 8.15.0
12+
13+
- feat(core): allow unregistering callback through `on` (#11710)
14+
- feat(nestjs): Add function-level span decorator to nestjs (#12721)
15+
- feat(otel): Export & use `spanTimeInputToSeconds` for otel span exporter (#12699)
16+
- fix(core): Pass origin as referrer for `lazyLoadIntegration` (#12766)
17+
- fix(deno): Publish from build directory (#12773)
18+
- fix(hapi): Specify error channel to filter boom errors (#12725)
19+
- fix(react): Revert back to `jsxRuntime: 'classic'` to prevent breaking react 17 (#12775)
20+
- fix(tracing): Report dropped spans for transactions (#12751)
21+
- ref(scope): Delete unused public `getStack()` (#12737)
22+
23+
Work in this release was contributed by @arturovt and @jaulz. Thank you for your contributions!
24+
1125
## 8.14.0
1226

1327
### Important Changes

dev-packages/e2e-tests/README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ current state.
88
Prerequisites: Docker
99

1010
- Copy `.env.example` to `.env`
11-
- Fill in auth information in `.env` for an example Sentry project
12-
- Run `yarn build:tarball` in the root of the repository
11+
- OPTIONAL: Fill in auth information in `.env` for an example Sentry project - you only need this to run E2E tests that
12+
send data to Sentry.
13+
- Run `yarn build:tarball` in the root of the repository (needs to be rerun after every update in /packages for the
14+
changes to have effect on the tests).
1315

1416
To finally run all of the tests:
1517

@@ -90,6 +92,8 @@ test apps enables us to reuse the same test suite over a number of different fra
9092

9193
### Standardized Frontend Test Apps
9294

95+
TODO: This is not up to date.
96+
9397
A standardized frontend test application has the following features:
9498

9599
- Just for the sake of consistency we prefix the standardized frontend tests with `standard-frontend-`. For example

dev-packages/e2e-tests/lib/validate.ts

Lines changed: 0 additions & 33 deletions
This file was deleted.

dev-packages/e2e-tests/prepare.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
/* eslint-disable no-console */
22
import * as dotenv from 'dotenv';
33

4-
import { validate } from './lib/validate';
54
import { registrySetup } from './registrySetup';
65

76
async function run(): Promise<void> {
87
// Load environment variables from .env file locally
98
dotenv.config();
109

11-
if (!validate()) {
12-
process.exit(1);
13-
}
14-
1510
try {
1611
registrySetup();
1712
} catch (error) {

dev-packages/e2e-tests/run.ts

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ import { resolve } from 'path';
44
import * as dotenv from 'dotenv';
55
import { sync as globSync } from 'glob';
66

7-
import { validate } from './lib/validate';
87
import { registrySetup } from './registrySetup';
98

9+
const DEFAULT_DSN = 'https://username@domain/123';
10+
const DEFAULT_SENTRY_ORG_SLUG = 'sentry-javascript-sdks';
11+
const DEFAULT_SENTRY_PROJECT = 'sentry-javascript-e2e-tests';
12+
1013
function asyncExec(command: string, options: { env: Record<string, string | undefined>; cwd: string }): Promise<void> {
1114
return new Promise((resolve, reject) => {
1215
const process = spawn(command, { ...options, shell: true });
@@ -39,17 +42,21 @@ async function run(): Promise<void> {
3942
// Allow to run a single app only via `yarn test:run <app-name>`
4043
const appName = process.argv[2];
4144

42-
if (!validate()) {
43-
process.exit(1);
44-
}
45+
const dsn = process.env.E2E_TEST_DSN || DEFAULT_DSN;
4546

4647
const envVarsToInject = {
47-
NEXT_PUBLIC_E2E_TEST_DSN: process.env.E2E_TEST_DSN,
48-
PUBLIC_E2E_TEST_DSN: process.env.E2E_TEST_DSN,
49-
REACT_APP_E2E_TEST_DSN: process.env.E2E_TEST_DSN,
48+
E2E_TEST_DSN: dsn,
49+
NEXT_PUBLIC_E2E_TEST_DSN: dsn,
50+
PUBLIC_E2E_TEST_DSN: dsn,
51+
REACT_APP_E2E_TEST_DSN: dsn,
52+
E2E_TEST_SENTRY_ORG_SLUG: process.env.E2E_TEST_SENTRY_ORG_SLUG || DEFAULT_SENTRY_ORG_SLUG,
53+
E2E_TEST_SENTRY_PROJECT: process.env.E2E_TEST_SENTRY_PROJECT || DEFAULT_SENTRY_PROJECT,
5054
};
5155

52-
const env = { ...process.env, ...envVarsToInject };
56+
const env = {
57+
...process.env,
58+
...envVarsToInject,
59+
};
5360

5461
try {
5562
console.log('Cleaning test-applications...');

dev-packages/e2e-tests/test-applications/aws-lambda-layer-cjs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
},
1515
"devDependencies": {
1616
"@sentry-internal/test-utils": "link:../../../test-utils",
17-
"@playwright/test": "^1.41.1",
17+
"@playwright/test": "^1.44.1",
1818
"wait-port": "1.0.4"
1919
},
2020
"volta": {

dev-packages/e2e-tests/test-applications/aws-lambda-layer-cjs/start-event-proxy.mjs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ import { startEventProxyServer } from '@sentry-internal/test-utils';
33
startEventProxyServer({
44
port: 3031,
55
proxyServerName: 'aws-serverless-lambda-layer-cjs',
6-
forwardToSentry: false,
76
});

dev-packages/e2e-tests/test-applications/create-next-app/tests/server-transactions.test.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import { expect, test } from '@playwright/test';
22
import { waitForTransaction } from '@sentry-internal/test-utils';
33

4-
const authToken = process.env.E2E_TEST_AUTH_TOKEN;
5-
const sentryTestOrgSlug = process.env.E2E_TEST_SENTRY_ORG_SLUG;
6-
const sentryTestProject = process.env.E2E_TEST_SENTRY_PROJECT;
7-
const EVENT_POLLING_TIMEOUT = 90_000;
8-
94
test('Sends server-side transactions to Sentry', async ({ baseURL }) => {
105
const transactionEventPromise = waitForTransaction('create-next-app', transactionEvent => {
116
return (

dev-packages/e2e-tests/test-applications/create-remix-app-express-legacy/app/entry.client.tsx

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,6 @@ Sentry.init({
2121
tunnel: 'http://localhost:3031/', // proxy server
2222
});
2323

24-
Sentry.addEventProcessor(event => {
25-
if (
26-
event.type === 'transaction' &&
27-
(event.contexts?.trace?.op === 'pageload' || event.contexts?.trace?.op === 'navigation')
28-
) {
29-
const eventId = event.event_id;
30-
if (eventId) {
31-
window.recordedTransactions = window.recordedTransactions || [];
32-
window.recordedTransactions.push(eventId);
33-
}
34-
}
35-
36-
return event;
37-
});
38-
3924
startTransition(() => {
4025
hydrateRoot(
4126
document,

0 commit comments

Comments
 (0)