Skip to content

Commit a5dce0c

Browse files
committed
Merge branch 'develop' into simple-multiplexed-transport
2 parents a84582c + 9e3bc93 commit a5dce0c

File tree

4,112 files changed

+143270
-68441
lines changed

Some content is hidden

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

4,112 files changed

+143270
-68441
lines changed

.craft.yml

Lines changed: 63 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ targets:
55
# NPM Targets
66
## 1. Base Packages, node or browser SDKs depend on
77
## 1.1 Types
8+
# TODO(v9): Remove
89
- name: npm
910
id: '@sentry/types'
1011
includeNames: /^sentry-types-\d.*\.tgz$/
1112
## 1.2 Utils
13+
# TODO(v9): Remove
1214
- name: npm
1315
id: '@sentry/utils'
1416
includeNames: /^sentry-utils-\d.*\.tgz$/
@@ -58,6 +60,9 @@ targets:
5860
- name: npm
5961
id: '@sentry/react'
6062
includeNames: /^sentry-react-\d.*\.tgz$/
63+
- name: npm
64+
id: '@sentry/solid'
65+
includeNames: /^sentry-solid-\d.*\.tgz$/
6166
- name: npm
6267
id: '@sentry/svelte'
6368
includeNames: /^sentry-svelte-\d.*\.tgz$/
@@ -72,6 +77,9 @@ targets:
7277
- name: npm
7378
id: '@sentry/vercel-edge'
7479
includeNames: /^sentry-vercel-edge-\d.*\.tgz$/
80+
- name: npm
81+
id: '@sentry/cloudflare'
82+
includeNames: /^sentry-cloudflare-\d.*\.tgz$/
7583
- name: npm
7684
id: '@sentry/deno'
7785
includeNames: /^sentry-deno-\d.*\.tgz$/
@@ -94,14 +102,23 @@ targets:
94102
- name: npm
95103
id: '@sentry/bun'
96104
includeNames: /^sentry-bun-\d.*\.tgz$/
105+
- name: npm
106+
id: '@sentry/nestjs'
107+
includeNames: /^sentry-nestjs-\d.*\.tgz$/
97108

98109
## 6. Fullstack/Meta Frameworks (depending on Node and Browser or Framework SDKs)
99110
- name: npm
100111
id: '@sentry/nextjs'
101112
includeNames: /^sentry-nextjs-\d.*\.tgz$/
113+
- name: npm
114+
id: '@sentry/nuxt'
115+
includeNames: /^sentry-nuxt-\d.*\.tgz$/
102116
- name: npm
103117
id: '@sentry/remix'
104118
includeNames: /^sentry-remix-\d.*\.tgz$/
119+
- name: npm
120+
id: '@sentry/solidstart'
121+
includeNames: /^sentry-solidstart-\d.*\.tgz$/
105122
- name: npm
106123
id: '@sentry/sveltekit'
107124
includeNames: /^sentry-sveltekit-\d.*\.tgz$/
@@ -125,9 +142,26 @@ targets:
125142
id: '@sentry-internal/eslint-config-sdk'
126143
includeNames: /^sentry-internal-eslint-config-sdk-\d.*\.tgz$/
127144

145+
# TODO(v9): Remove this target
146+
# NOTE: We publish the v8 layer under its own name so people on v8 can still get patches
147+
# whenever we release a new v8 version—otherwise we would overwrite the current major lambda layer.
148+
- name: aws-lambda-layer
149+
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha|rc)\.\d+)?\.zip$/
150+
layerName: SentryNodeServerlessSDKv8
151+
compatibleRuntimes:
152+
- name: node
153+
versions:
154+
- nodejs10.x
155+
- nodejs12.x
156+
- nodejs14.x
157+
- nodejs16.x
158+
- nodejs18.x
159+
- nodejs20.x
160+
license: MIT
161+
128162
# AWS Lambda Layer target
129163
- name: aws-lambda-layer
130-
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha)\.\d+)?\.zip$/
164+
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha|rc)\.\d+)?\.zip$/
131165
layerName: SentryNodeServerlessSDK
132166
compatibleRuntimes:
133167
- name: node
@@ -157,37 +191,49 @@ targets:
157191
# Sentry Release Registry Target
158192
- name: registry
159193
sdks:
194+
'npm:@sentry/angular':
195+
onlyIfPresent: /^sentry-angular-\d.*\.tgz$/
196+
'npm:@sentry/astro':
197+
onlyIfPresent: /^sentry-astro-\d.*\.tgz$/
198+
'npm:@sentry/aws-serverless':
199+
onlyIfPresent: /^sentry-aws-serverless-\d.*\.tgz$/
160200
'npm:@sentry/browser':
161201
onlyIfPresent: /^sentry-browser-\d.*\.tgz$/
162202
includeNames: /\.js$/
163203
checksums:
164204
- algorithm: sha384
165205
format: base64
166-
'npm:@sentry/node':
167-
onlyIfPresent: /^sentry-node-\d.*\.tgz$/
168-
'npm:@sentry/react':
169-
onlyIfPresent: /^sentry-react-\d.*\.tgz$/
170-
'npm:@sentry/vue':
171-
onlyIfPresent: /^sentry-vue-\d.*\.tgz$/
206+
'npm:@sentry/bun':
207+
onlyIfPresent: /^sentry-bun-\d.*\.tgz$/
208+
'npm:@sentry/cloudflare':
209+
onlyIfPresent: /^sentry-cloudflare-\d.*\.tgz$/
210+
'npm:@sentry/deno':
211+
onlyIfPresent: /^sentry-deno-\d.*\.tgz$/
212+
'npm:@sentry/ember':
213+
onlyIfPresent: /^sentry-ember-\d.*\.tgz$/
172214
'npm:@sentry/gatsby':
173215
onlyIfPresent: /^sentry-gatsby-\d.*\.tgz$/
174-
'npm:@sentry/angular':
175-
onlyIfPresent: /^sentry-angular-\d.*\.tgz$/
176-
'npm:@sentry/astro':
177-
onlyIfPresent: /^sentry-astro-\d.*\.tgz$/
178-
'npm:@sentry/wasm':
179-
onlyIfPresent: /^sentry-wasm-\d.*\.tgz$/
216+
'npm:@sentry/google-cloud-serverless':
217+
onlyIfPresent: /^sentry-google-cloud-serverless-\d.*\.tgz$/
180218
'npm:@sentry/nextjs':
181219
onlyIfPresent: /^sentry-nextjs-\d.*\.tgz$/
220+
'npm:@sentry/node':
221+
onlyIfPresent: /^sentry-node-\d.*\.tgz$/
222+
'npm:@sentry/react':
223+
onlyIfPresent: /^sentry-react-\d.*\.tgz$/
182224
'npm:@sentry/remix':
183225
onlyIfPresent: /^sentry-remix-\d.*\.tgz$/
226+
'npm:@sentry/solid':
227+
onlyIfPresent: /^sentry-solid-\d.*\.tgz$/
228+
'npm:@sentry/solidstart':
229+
onlyIfPresent: /^sentry-solidstart-\d.*\.tgz$/
184230
'npm:@sentry/svelte':
185231
onlyIfPresent: /^sentry-svelte-\d.*\.tgz$/
186232
'npm:@sentry/sveltekit':
187233
onlyIfPresent: /^sentry-sveltekit-\d.*\.tgz$/
188-
'npm:@sentry/bun':
189-
onlyIfPresent: /^sentry-bun-\d.*\.tgz$/
190234
'npm:@sentry/vercel-edge':
191235
onlyIfPresent: /^sentry-vercel-edge-\d.*\.tgz$/
192-
'npm:@sentry/ember':
193-
onlyIfPresent: /^sentry-ember-\d.*\.tgz$/
236+
'npm:@sentry/vue':
237+
onlyIfPresent: /^sentry-vue-\d.*\.tgz$/
238+
'npm:@sentry/wasm':
239+
onlyIfPresent: /^sentry-wasm-\d.*\.tgz$/

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ module.exports = {
2121
'examples/**',
2222
'test/manual/**',
2323
'types/**',
24+
'scripts/*.js',
2425
],
2526
reportUnusedDisableDirectives: true,
2627
overrides: [

.github/CODEOWNERS

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
1+
packages/replay-internal @getsentry/replay-sdk-web
2+
packages/replay-worker @getsentry/replay-sdk-web
3+
packages/replay-canvas @getsentry/replay-sdk-web
4+
packages/feedback @getsentry/feedback-sdk
5+
dev-packages/browser-integration-tests/suites/replay @getsentry/replay-sdk-web

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: 🐞 Bug Report
22
description: Tell us about something that's not working the way we (probably) intend.
3-
labels: ['Type: Bug']
3+
type: 'bug'
44
body:
55
- type: checkboxes
66
attributes:
@@ -31,18 +31,23 @@ body:
3131
setup.
3232
options:
3333
- '@sentry/browser'
34-
- '@sentry/astro'
34+
- '@sentry/node'
3535
- '@sentry/angular'
36+
- '@sentry/astro'
3637
- '@sentry/aws-serverless'
3738
- '@sentry/bun'
39+
- '@sentry/cloudflare'
3840
- '@sentry/deno'
3941
- '@sentry/ember'
4042
- '@sentry/gatsby'
4143
- '@sentry/google-cloud-serverless'
44+
- '@sentry/nestjs'
4245
- '@sentry/nextjs'
43-
- '@sentry/node'
46+
- '@sentry/nuxt'
4447
- '@sentry/react'
4548
- '@sentry/remix'
49+
- '@sentry/solid'
50+
- '@sentry/solidstart'
4651
- '@sentry/svelte'
4752
- '@sentry/sveltekit'
4853
- '@sentry/vue'
@@ -56,7 +61,7 @@ body:
5661
attributes:
5762
label: SDK Version
5863
description: What version of the SDK are you using?
59-
placeholder: ex. 7.8.0
64+
placeholder: ex. 8.10.0
6065
validations:
6166
required: true
6267
- type: input
@@ -66,21 +71,26 @@ body:
6671
description:
6772
If you're using one of our framework-specific SDKs (`@sentry/react`, for example), what version of the
6873
_framework_ are you using?
69-
placeholder: ex. React 17.0.0
74+
placeholder: ex. React 18.3.0 or Next 14.0.0
7075
- type: input
7176
id: link-to-sentry
7277
attributes:
7378
label: Link to Sentry event
7479
description:
7580
If applicable, please provide a link to the affected event from your Sentry account. The event will only be
76-
viewable by Sentry staff.
81+
viewable by Sentry staff; however, the event URL will still appear on your public GitHub issue.
7782
placeholder: https://sentry.io/organizations/<org-slug>/issues/<issue-id>/events/<event-id>/?project=<project-id>
7883
- type: textarea
7984
id: sdk-setup
8085
attributes:
81-
label: SDK Setup
82-
description: How do you set up your Sentry SDK? Please show us your `Sentry.init` options.
86+
label: Reproduction Example/SDK Setup
87+
description:
88+
To ensure that we can help you as fast as possible, please share a link to a reproduction example (GitHub repo or online code editor).
89+
This enables us to quickly understand and address your issue.
90+
If you do not post a link, kindly paste your `Sentry.init` code, so we can see how you set up Sentry.
8391
placeholder: |-
92+
https://some-JS-online-code-editor.com/my-example
93+
8494
```javascript
8595
Sentry.init({
8696
dsn: __YOUR_DSN__

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: 💡 Feature Request
22
description: Create a feature request for a sentry-javascript SDK.
3-
labels: ['Type: Improvement']
3+
type: 'enhancement'
44
body:
55
- type: markdown
66
attributes:

.github/ISSUE_TEMPLATE/flaky.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: ❅ Flaky Test
22
description: Report a flaky test in CI
33
title: '[Flaky CI]: '
4+
type: 'task'
45
labels: ['Type: Tests']
56
body:
67
- type: dropdown
@@ -18,7 +19,7 @@ body:
1819
id: job-name
1920
attributes:
2021
label: Name of Job
21-
placeholder: Build & Test / Nextjs (Node 14) Tests
22+
placeholder: "CI: Build & Test / Nextjs (Node 14) Tests"
2223
description: name of job as reported in the status report
2324
validations:
2425
required: true
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: 💡 [Internal] Blank Issue
2+
description: Only for Sentry Employees! Create an issue without a template.
3+
type: 'task'
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: Make sure to apply relevant labels and issue types before submitting.
8+
- type: textarea
9+
id: description
10+
attributes:
11+
label: Description
12+
validations:
13+
required: true
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: "Install yarn dependencies"
2+
description: "Installs yarn dependencies and caches them."
3+
4+
outputs:
5+
cache_key:
6+
description: "The dependency cache key"
7+
value: ${{ steps.compute_lockfile_hash.outputs.hash }}
8+
9+
runs:
10+
using: "composite"
11+
steps:
12+
- name: Compute dependency cache key
13+
id: compute_lockfile_hash
14+
run: node ./scripts/dependency-hash-key.js >> "$GITHUB_OUTPUT"
15+
shell: bash
16+
17+
- name: Check dependency cache
18+
uses: actions/cache@v4
19+
id: cache_dependencies
20+
with:
21+
path: ${{ env.CACHED_DEPENDENCY_PATHS }}
22+
key: ${{ steps.compute_lockfile_hash.outputs.hash }}
23+
24+
- name: Install dependencies
25+
if: steps.cache_dependencies.outputs.cache-hit != 'true'
26+
run: yarn install --ignore-engines --frozen-lockfile
27+
shell: bash
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: "Install Playwright dependencies"
2+
description: "Installs Playwright dependencies and caches them."
3+
inputs:
4+
browsers:
5+
description: 'What browsers to install.'
6+
default: 'chromium webkit firefox'
7+
cwd:
8+
description: 'The working directory to run Playwright in.'
9+
default: '.'
10+
11+
runs:
12+
using: "composite"
13+
steps:
14+
- name: Get Playwright version
15+
id: playwright-version
16+
run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> $GITHUB_OUTPUT
17+
shell: bash
18+
working-directory: ${{ inputs.cwd }}
19+
20+
21+
- name: Restore cached playwright binaries
22+
uses: actions/cache/restore@v4
23+
id: playwright-cache
24+
with:
25+
path: |
26+
~/.cache/ms-playwright
27+
key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}
28+
29+
# We always install all browsers, if uncached
30+
- name: Install Playwright dependencies (uncached)
31+
run: npx playwright install chromium webkit firefox --with-deps
32+
if: steps.playwright-cache.outputs.cache-hit != 'true'
33+
shell: bash
34+
working-directory: ${{ inputs.cwd }}
35+
36+
- name: Install Playwright system dependencies only (cached)
37+
run: npx playwright install-deps ${{ inputs.browsers || 'chromium webkit firefox' }}
38+
if: steps.playwright-cache.outputs.cache-hit == 'true'
39+
shell: bash
40+
working-directory: ${{ inputs.cwd }}
41+
42+
# Only store cache on develop branch
43+
- name: Store cached playwright binaries
44+
uses: actions/cache/save@v4
45+
if: github.event_name == 'push' && github.ref == 'refs/heads/develop'
46+
with:
47+
path: |
48+
~/.cache/ms-playwright
49+
key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}

0 commit comments

Comments
 (0)