Skip to content

meta(changelog): Update changelog for 8.43.0 #14639

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 131 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
26722d7
Init package files
aliu39 Oct 29, 2024
72f9cc0
Merge branch 'develop' into aliu/launch-darkly
aliu39 Oct 29, 2024
419cd83
Revert changelog and move types file
aliu39 Oct 29, 2024
610da4d
Add ld to dependencies and skeleton code. Get rid of core/
aliu39 Oct 29, 2024
5b2e5ec
Fix readme, rename types file, bring back core/
aliu39 Oct 29, 2024
66b1253
Fix readme 2
aliu39 Oct 30, 2024
023604a
Merge branch 'develop' into aliu/launch-darkly
aliu39 Oct 30, 2024
1f99c28
Merge branch 'aliu/launch-darkly' of https://github.com/getsentry/sen…
aliu39 Oct 30, 2024
85acc6d
Finish implementing, minus scope.flags
aliu39 Oct 30, 2024
3b3a767
Implement flag buffer in sentry scope
aliu39 Oct 30, 2024
ab3181d
Revert changelog
aliu39 Oct 30, 2024
22684ea
fix types
michellewzhang Oct 30, 2024
79e5b24
docstring
michellewzhang Oct 30, 2024
63649c5
Export FeatureFlag type in index.ts
aliu39 Oct 30, 2024
923500f
Merge branch 'aliu/launch-darkly' of https://github.com/getsentry/sen…
aliu39 Oct 30, 2024
bd04755
Clean up comments
aliu39 Oct 30, 2024
91a4db9
Fix build (uses yalc for scope changes) and use LRUMap util
aliu39 Oct 31, 2024
1849673
Merge branch 'develop' into aliu/launch-darkly
aliu39 Nov 5, 2024
1ca9d53
Tweak hook name and docs
aliu39 Nov 5, 2024
893cd62
FlagBuffer class and interface, add to scope._contexts. Remove old fl…
aliu39 Nov 6, 2024
f172683
Call clone in scope.clone()
aliu39 Nov 6, 2024
b96c17f
Rewrite as a util fx instead of class. Use in LD integration
aliu39 Nov 6, 2024
f9a659b
Delete LD pkg
aliu39 Nov 6, 2024
d9c5860
Delete LD from package.json and update lock
aliu39 Nov 6, 2024
cf24b75
Readd LD integration
aliu39 Nov 6, 2024
5561633
Fix dependencies and rename exports
aliu39 Nov 7, 2024
6eab55f
Fix normalize depth of 3 for contexts.flags, improve docstrings
aliu39 Nov 8, 2024
d90d346
Rm eslint rules, todos
aliu39 Nov 8, 2024
19ccb19
Merge branch 'develop' into aliu/launch-darkly-integration
aliu39 Nov 8, 2024
548858d
Update sentry dependency vers
aliu39 Nov 9, 2024
c289e63
Update insertToFlagBuffer and unit test it
aliu39 Nov 9, 2024
f5c6995
Move ld to devDependencies and rm shim-preact from build:types
aliu39 Nov 11, 2024
334aa51
Move to browser integrations, delete package
aliu39 Nov 11, 2024
c27f766
Init browser-integration-tests
aliu39 Nov 12, 2024
948cea7
Fix test
aliu39 Nov 12, 2024
d371316
Merge branch 'develop' into aliu/launch-darkly-integration
aliu39 Nov 12, 2024
aef6dba
Finialize test and make handler synchronous
aliu39 Nov 12, 2024
7b14926
Move util to browser pkg
aliu39 Nov 12, 2024
8ec8680
Review comments, fix buffer size import, clean up todos
aliu39 Nov 13, 2024
6e22c17
Restructure src and test modules, rename util and type files
aliu39 Nov 13, 2024
dc7e74a
Inline LD types
aliu39 Nov 13, 2024
3c686c5
Copy flags when attaching to event
aliu39 Nov 13, 2024
88f8251
Add withScope test and delete bad not modified test
aliu39 Nov 13, 2024
05036ae
Merge branch 'develop' into aliu/launch-darkly-integration
aliu39 Nov 13, 2024
fc79f4a
Del unnecesary devDep
aliu39 Nov 13, 2024
7a5f29d
Log insertToFlagBuffer error instead of throwing
aliu39 Nov 13, 2024
7e24158
Merge branch 'develop' into aliu/launch-darkly-integration
aliu39 Nov 13, 2024
969c5c0
Fix playwright tests
aliu39 Nov 13, 2024
ac8faf7
Use Sentry namespace in init
aliu39 Nov 13, 2024
b1cb0a5
(Temporarily?) move to exports
aliu39 Nov 13, 2024
3b784a6
Skip CDN bundle tests, fix unit test, un-export FLAG_BUFFER_SIZE, upd…
aliu39 Nov 13, 2024
b93c062
Merge branch 'develop' into aliu/launch-darkly-integration
aliu39 Nov 13, 2024
8ffafd1
Revert lockfile
aliu39 Nov 13, 2024
83ee34b
biome formatting
aliu39 Nov 13, 2024
a2ba257
Bump size limits for vue (w/tracing) and browser (w/async feedback)
aliu39 Nov 14, 2024
611df2c
Merge branch 'develop' into aliu/launch-darkly-integration
aliu39 Nov 14, 2024
be9ccc2
Merge branch 'develop' into aliu/launch-darkly-integration
billyvg Nov 19, 2024
7b3382f
make `shouldSkipLaunchDarklyTest` to be generic for feature flags
billyvg Nov 19, 2024
d292da2
Merge branch 'develop' into aliu/launch-darkly-integration
billyvg Nov 20, 2024
c4ba65b
fix tests
billyvg Nov 19, 2024
fb0bf05
Update dev-packages/browser-integration-tests/utils/helpers.ts
billyvg Nov 20, 2024
90577bf
import from core
billyvg Nov 20, 2024
c8e8c21
ref(flags): Refactor LaunchDarkly integration to reusable functions
billyvg Nov 19, 2024
ddf814b
split insertToFlagBuffer into 2 functions (insertFlagToScope and inse…
billyvg Nov 19, 2024
4195a8e
only copy flags if buffer is not empty
billyvg Nov 19, 2024
2d48782
ref(flags): Refactor LaunchDarkly integration to reusable functions
billyvg Nov 19, 2024
22e7e16
Add OpenFeature browser integration
cmanallen Nov 15, 2024
c9d3a74
Linting
cmanallen Nov 15, 2024
3dcf07e
Add missing semi-colons
cmanallen Nov 15, 2024
1e1d734
update tests to use `shouldSkipFeatureFlagsTest` and `getLocalTestUrl`
billyvg Nov 19, 2024
06e7fbb
ref; use featureFlags util functions
billyvg Nov 19, 2024
a47d337
export copyFlags/insertFlagToScope
billyvg Nov 19, 2024
afd4f78
add error hook test
billyvg Nov 20, 2024
ecc91bc
fix(profiling): Make prune script compatible with node 22 (#14491)
chargome Dec 2, 2024
a292a60
Merge pull request #14326 from getsentry/cmanallen/open-feature-integ…
cmanallen Dec 2, 2024
049e312
Merge pull request #14369 from getsentry/ref-ff-launch-darkly-integra…
cmanallen Dec 2, 2024
8be7d99
Merge branch 'develop' into aliu/launch-darkly-integration
cmanallen Dec 2, 2024
3c49dda
Fix types
cmanallen Dec 2, 2024
2901aa2
Remove deprecated type file
cmanallen Dec 2, 2024
97abe0a
fix(sveltekit): Fix git SHA not being picked up for release (#14540)
lforst Dec 2, 2024
ee89c68
Merge branch 'develop' into aliu/launch-darkly-integration
aliu39 Dec 2, 2024
0a0299e
Fix type import
aliu39 Dec 2, 2024
cf6992f
Update deprecated type imports to use core
aliu39 Dec 2, 2024
c8e81d5
feat(opentelemetry): Stop looking at propagation context for span cre…
mydea Dec 3, 2024
9defdce
ci(profiling): Fix yarn timeout for Windows (#14543)
JonasBa Dec 3, 2024
9581a2e
Merge pull request #14541 from getsentry/master
github-actions[bot] Dec 3, 2024
b0729b6
fix(react): Match routes with `parseSearch` option in TanStack Router…
luke-layerhealth Dec 3, 2024
256cf9f
fix(nextjs): Don't show warning about devtool option (#14552)
lforst Dec 3, 2024
9c55aa0
chore: Add external contributor to CHANGELOG.md (#14557)
HazAT Dec 3, 2024
1ec4c49
feat(nitro-utils): Export Rollup Plugin `wrapServerEntryWithDynamicIm…
s1gr1d Dec 4, 2024
20c267e
feat(node): Add `disableAnrDetectionForCallback` function (#14359)
timfish Dec 4, 2024
7f36772
feat(browser): Add `browserSessionIntegration` (#14551)
lforst Dec 4, 2024
fcd2935
feat(node): Add `trackIncomingRequestsAsSessions` option to http inte…
lforst Dec 4, 2024
81ec14a
test(ember): Fix ember-classic E2E test (#14574)
mydea Dec 4, 2024
cb1c7ee
chore(repo): Fix svelte/svelteKit issue label assignment (#14569)
Lms24 Dec 4, 2024
46eb462
review comments
aliu39 Dec 4, 2024
026acec
Merge branch 'develop' into aliu/launch-darkly-integration
aliu39 Dec 4, 2024
05dab63
Revert export ordering
aliu39 Dec 4, 2024
2a41c84
Merge pull request #14207 from getsentry/aliu/launch-darkly-integration
aliu39 Dec 4, 2024
d631127
feat(opentelemetry): Update OpenTelemetry dependencies to `1.28.0` (#…
mydea Dec 5, 2024
bd94e8d
ref(core): Streamline global handlers & add comments (#14568)
mydea Dec 5, 2024
d8bd0f5
fix(core): Decode `filename` and `module` stack frame properties in N…
Lms24 Dec 5, 2024
92ce807
fix(types): Fix generic exports with default (#14576)
lforst Dec 5, 2024
42ff876
meta(types): Remove Feature Flag APIs from deprecated package (#14591)
lforst Dec 5, 2024
1c72b31
feat(nestjs): Add fastify support (#14549)
chargome Dec 5, 2024
c6ae78b
fix(nextjs): Only apply tracing metadata to data fetcher data when da…
lforst Dec 5, 2024
045d8b4
feat(core): Deprecate APIs around `RequestSession`s (#14566)
lforst Dec 5, 2024
4103667
feat(core): Add `raw_security` envelope types (#14562)
timfish Dec 5, 2024
745775e
ref: Refactor some more `any` types (#14546)
mydea Dec 5, 2024
f4970f1
docs(ci): Add docs for automatic E2E test detection (#14593)
s1gr1d Dec 5, 2024
c696aac
feat(opentelemetry): Update OpenTelemetry dependencies to `^1.29.0` (…
mydea Dec 5, 2024
e35c691
feat(nextjs): Deprecate typedef for `hideSourceMaps` (#14594)
lforst Dec 5, 2024
3778482
feat(aws): Add v8 lambda layer craft target (#14599)
andreiborza Dec 6, 2024
121ae07
feat(nuxt): Add option `autoInjectServerSentry` (no default `import()…
s1gr1d Dec 6, 2024
ddd753f
feat(nuxt): Improve serverless event flushing and scope isolation (#1…
s1gr1d Dec 6, 2024
05e9dff
feat(nuxt): Add warning when Netlify or Vercel build is discovered (#…
s1gr1d Dec 6, 2024
05c7c89
feat(nitro-utils): Add `patchEventHandler` helper for nitro (#14614)
andreiborza Dec 6, 2024
da53004
chore(e2e): Pin react types for nextjs-t3 app (#14617)
andreiborza Dec 6, 2024
666e668
feat(replay): Upgrade rrweb packages to 2.30.0 (#14597)
billyvg Dec 6, 2024
a985d64
feat(flags): Add featureFlagsIntegration for custom tracking of flag …
aliu39 Dec 6, 2024
51e015c
feat(nitro-utils): Use `patchEventHandler` from nitro-utils (#14612)
andreiborza Dec 7, 2024
82fc95d
feat(deps): Bump @sentry/cli from 2.38.2 to 2.39.1 (#14626)
dependabot[bot] Dec 9, 2024
08b7e49
feat(node): Add @vercel/ai instrumentation (#13892)
AbhiPrasad Dec 9, 2024
7f0bd25
feat(astro): Add Astro 5 support (#14613)
Lms24 Dec 10, 2024
242ed75
fix(core): Filter out unactionable CEFSharp promise rejection error b…
Lms24 Dec 10, 2024
a5a4e8c
feat(deps): Bump @sentry/webpack-plugin from 2.22.6 to 2.22.7 (#14623)
dependabot[bot] Dec 10, 2024
4df242d
feat(deps): Bump @sentry/rollup-plugin from 2.22.6 to 2.22.7 (#14622)
dependabot[bot] Dec 10, 2024
f962eef
feat(deps): Bump @opentelemetry/instrumentation from 0.55.0 to 0.56.0…
dependabot[bot] Dec 10, 2024
a9cfd11
fix(node): Guard against invalid `maxSpanWaitDuration` values (#14632)
mydea Dec 10, 2024
a9dcdb8
test: Skip double installing playwright in E2E tests (#14633)
mydea Dec 10, 2024
5be252c
meta(changelog): Update changelog for 8.43.0
lforst Dec 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 18 additions & 0 deletions .craft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,24 @@ targets:
- nodejs20.x
license: MIT

# NOTE: We publish the v8 layer under its own name so people on v8 can still get patches
# whenever we release a new v8 version—otherwise we would overwrite the current major lambda layer.

# AWS Lambda Layer target
- name: aws-lambda-layer
includeNames: /^sentry-node-serverless-\d+.\d+.\d+(-(beta|alpha|rc)\.\d+)?\.zip$/
layerName: SentryNodeServerlessSDKv8
compatibleRuntimes:
- name: node
versions:
- nodejs10.x
- nodejs12.x
- nodejs14.x
- nodejs16.x
- nodejs18.x
- nodejs20.x
license: MIT

# CDN Bundle Target
- name: gcs
id: 'browser-cdn-bundles'
Expand Down
7 changes: 7 additions & 0 deletions .github/actions/install-playwright/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ inputs:
browsers:
description: 'What browsers to install.'
default: 'chromium webkit firefox'
cwd:
description: 'The working directory to run Playwright in.'
default: '.'

runs:
using: "composite"
Expand All @@ -12,6 +15,8 @@ runs:
id: playwright-version
run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> $GITHUB_OUTPUT
shell: bash
working-directory: ${{ inputs.cwd }}


- name: Restore cached playwright binaries
uses: actions/cache/restore@v4
Expand All @@ -26,11 +31,13 @@ runs:
run: npx playwright install chromium webkit firefox --with-deps
if: steps.playwright-cache.outputs.cache-hit != 'true'
shell: bash
working-directory: ${{ inputs.cwd }}

- name: Install Playwright system dependencies only (cached)
run: npx playwright install-deps ${{ inputs.browsers || 'chromium webkit firefox' }}
if: steps.playwright-cache.outputs.cache-hit == 'true'
shell: bash
working-directory: ${{ inputs.cwd }}

# Only store cache on develop branch
- name: Store cached playwright binaries
Expand Down
32 changes: 17 additions & 15 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -920,11 +920,6 @@ jobs:
if: steps.restore-tarball-cache.outputs.cache-hit != 'true'
run: yarn build:tarball

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium

- name: Get node version
id: versions
run: |
Expand All @@ -945,6 +940,12 @@ jobs:
timeout-minutes: 7
run: pnpm ${{ matrix.build-command || 'test:build' }}

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium
cwd: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}

- name: Run E2E test
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
timeout-minutes: 10
Expand Down Expand Up @@ -984,7 +985,7 @@ jobs:

# - We skip optional tests on release branches
job_optional_e2e_tests:
name: E2E ${{ matrix.label || matrix.test-application }} Test
name: E2E ${{ matrix.label || matrix.test-application }} Test (optional)
# 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
# We need to add the `always()` check here because the previous step has this as well :(
# See: https://github.com/actions/runner/issues/2205
Expand Down Expand Up @@ -1039,11 +1040,6 @@ jobs:
if: steps.restore-tarball-cache.outputs.cache-hit != 'true'
run: yarn build:tarball

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium

- name: Get node version
id: versions
run: |
Expand All @@ -1064,6 +1060,12 @@ jobs:
timeout-minutes: 7
run: pnpm ${{ matrix.build-command || 'test:build' }}

- name: Install Playwright
uses: ./.github/actions/install-playwright
with:
browsers: chromium
cwd: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}

- name: Run E2E test
working-directory: dev-packages/e2e-tests/test-applications/${{ matrix.test-application }}
timeout-minutes: 10
Expand Down Expand Up @@ -1408,6 +1410,10 @@ jobs:
key: ${{ needs.job_build.outputs.dependency_cache_key }}
enableCrossOsArchive: true

- name: Increase yarn network timeout on Windows
if: contains(matrix.os, 'windows')
run: yarn config set network-timeout 600000 -g

- name: Install dependencies
env:
SKIP_PLAYWRIGHT_BROWSER_INSTALL: "1"
Expand All @@ -1418,10 +1424,6 @@ jobs:
run: |
git config --global --add safe.directory "*"

- name: Increase yarn network timeout on Windows
if: contains(matrix.os, 'windows')
run: yarn config set network-timeout 600000 -g

- name: Setup python
uses: actions/setup-python@v5
if: ${{ !contains(matrix.container, 'alpine') }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/issue-package-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ jobs:
"@sentry.solid": {
"label": "Package: solidstart"
},
"@sentry.svelte": {
"label": "Package: svelte"
},
"@sentry.sveltekit": {
"label": "Package: sveltekit"
},
"@sentry.svelte": {
"label": "Package: svelte"
},
"@sentry.vue": {
"label": "Package: vue"
},
Expand Down
10 changes: 5 additions & 5 deletions .size-limit.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ module.exports = [
path: 'packages/browser/build/npm/esm/index.js',
import: createImport('init', 'browserTracingIntegration', 'replayIntegration', 'replayCanvasIntegration'),
gzip: true,
limit: '79 KB',
limit: '80 KB',
},
{
name: '@sentry/browser (incl. Tracing, Replay, Feedback)',
Expand Down Expand Up @@ -166,7 +166,7 @@ module.exports = [
name: 'CDN Bundle (incl. Tracing, Replay)',
path: createCDNPath('bundle.tracing.replay.min.js'),
gzip: true,
limit: '74 KB',
limit: '80 KB',
},
{
name: 'CDN Bundle (incl. Tracing, Replay, Feedback)',
Expand Down Expand Up @@ -194,7 +194,7 @@ module.exports = [
path: createCDNPath('bundle.tracing.replay.min.js'),
gzip: false,
brotli: false,
limit: '230 KB',
limit: '240 KB',
},
{
name: 'CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed',
Expand Down Expand Up @@ -228,7 +228,7 @@ module.exports = [
import: createImport('init'),
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: true,
limit: '140 KB',
limit: '170 KB',
},
{
name: '@sentry/node - without tracing',
Expand Down Expand Up @@ -260,7 +260,7 @@ module.exports = [
import: createImport('init'),
ignore: [...builtinModules, ...nodePrefixedBuiltinModules],
gzip: true,
limit: '130 KB',
limit: '135 KB',
},
];

Expand Down
109 changes: 109 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,115 @@

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

## 8.43.0

### Important Changes

- **feat(nuxt): Add option autoInjectServerSentry (no default import()) ([#14553](https://github.com/getsentry/sentry-javascript/pull/14553))**

Using the dynamic `import()` as the default behavior for initializing the SDK on the server-side did not work for every project.
The default behavior of the SDK has been changed, and you now need to **use the `--import` flag to initialize Sentry on the server-side** to leverage full functionality.

Example with `--import`:

```bash
node --import ./.output/server/sentry.server.config.mjs .output/server/index.mjs
```

In case you are not able to use the `--import` flag, you can enable auto-injecting Sentry in the `nuxt.config.ts` (comes with limitations):

```ts
sentry: {
autoInjectServerSentry: 'top-level-import', // or 'experimental_dynamic-import'
},
```

- **feat(browser): Adds LaunchDarkly and OpenFeature integrations ([#14207](https://github.com/getsentry/sentry-javascript/pull/14207))**

Adds browser SDK integrations for tracking feature flag evaluations through the LaunchDarkly JS SDK and OpenFeature Web SDK:

```ts
import * as Sentry from '@sentry/browser';

Sentry.init({
integrations: [
// Track LaunchDarkly feature flags
Sentry.launchDarklyIntegration(),
// Track OpenFeature feature flags
Sentry.openFeatureIntegration(),
],
});
```

- Read more about the [Feature Flags](https://develop.sentry.dev/sdk/expected-features/#feature-flags) feature in Sentry.
- Read more about the [LaunchDarkly SDK Integration](https://docs.sentry.io/platforms/javascript/configuration/integrations/launchdarkly/).
- Read more about the [OpenFeature SDK Integration](https://docs.sentry.io/platforms/javascript/configuration/integrations/openfeature/).

- **feat(browser): Add `featureFlagsIntegration` for custom tracking of flag evaluations ([#14582](https://github.com/getsentry/sentry-javascript/pull/14582))**

Adds a browser integration to manually track feature flags with an API. Feature flags are attached to subsequent error events:

```ts
import * as Sentry from '@sentry/browser';

const featureFlagsIntegrationInstance = Sentry.featureFlagsIntegration();

Sentry.init({
// Initialize the SDK with the feature flag integration
integrations: [featureFlagsIntegrationInstance],
});

// Manually track a feature flag
featureFlagsIntegrationInstance.addFeatureFlag('my-feature', true);
```

- **feat(astro): Add Astro 5 support ([#14613](https://github.com/getsentry/sentry-javascript/pull/14613))**

With this release, the Sentry Astro SDK officially supports Astro 5.

### Deprecations

- feat(nextjs): Deprecate typedef for `hideSourceMaps` ([#14594](https://github.com/getsentry/sentry-javascript/pull/14594))

The functionality of `hideSourceMaps` was removed in version 8 but was forgotten to be deprecated and removed.
It will be completely removed in the next major version.

- feat(core): Deprecate APIs around `RequestSession`s ([#14566](https://github.com/getsentry/sentry-javascript/pull/14566))

The APIs around `RequestSession`s are mostly used internally.
Going forward the SDK will not expose concepts around `RequestSession`s.
Instead, functionality around server-side [Release Health](https://docs.sentry.io/product/releases/health/) will be managed in integrations.

### Other Changes

- feat(browser): Add `browserSessionIntegration` ([#14551](https://github.com/getsentry/sentry-javascript/pull/14551))
- feat(core): Add `raw_security` envelope types ([#14562](https://github.com/getsentry/sentry-javascript/pull/14562))
- feat(deps): Bump @opentelemetry/instrumentation from 0.55.0 to 0.56.0 ([#14625](https://github.com/getsentry/sentry-javascript/pull/14625))
- feat(deps): Bump @sentry/cli from 2.38.2 to 2.39.1 ([#14626](https://github.com/getsentry/sentry-javascript/pull/14626))
- feat(deps): Bump @sentry/rollup-plugin from 2.22.6 to 2.22.7 ([#14622](https://github.com/getsentry/sentry-javascript/pull/14622))
- feat(deps): Bump @sentry/webpack-plugin from 2.22.6 to 2.22.7 ([#14623](https://github.com/getsentry/sentry-javascript/pull/14623))
- feat(nestjs): Add fastify support ([#14549](https://github.com/getsentry/sentry-javascript/pull/14549))
- feat(node): Add @vercel/ai instrumentation ([#13892](https://github.com/getsentry/sentry-javascript/pull/13892))
- feat(node): Add `disableAnrDetectionForCallback` function ([#14359](https://github.com/getsentry/sentry-javascript/pull/14359))
- feat(node): Add `trackIncomingRequestsAsSessions` option to http integration ([#14567](https://github.com/getsentry/sentry-javascript/pull/14567))
- feat(nuxt): Add option `autoInjectServerSentry` (no default `import()`) ([#14553](https://github.com/getsentry/sentry-javascript/pull/14553))
- feat(nuxt): Add warning when Netlify or Vercel build is discovered ([#13868](https://github.com/getsentry/sentry-javascript/pull/13868))
- feat(nuxt): Improve serverless event flushing and scope isolation ([#14605](https://github.com/getsentry/sentry-javascript/pull/14605))
- feat(opentelemetry): Stop looking at propagation context for span creation ([#14481](https://github.com/getsentry/sentry-javascript/pull/14481))
- feat(opentelemetry): Update OpenTelemetry dependencies to `^1.29.0` ([#14590](https://github.com/getsentry/sentry-javascript/pull/14590))
- feat(opentelemetry): Update OpenTelemetry dependencies to `1.28.0` ([#14547](https://github.com/getsentry/sentry-javascript/pull/14547))
- feat(replay): Upgrade rrweb packages to 2.30.0 ([#14597](https://github.com/getsentry/sentry-javascript/pull/14597))
- fix(core): Decode `filename` and `module` stack frame properties in Node stack parser ([#14544](https://github.com/getsentry/sentry-javascript/pull/14544))
- fix(core): Filter out unactionable CEFSharp promise rejection error by default ([#14595](https://github.com/getsentry/sentry-javascript/pull/14595))
- fix(nextjs): Don't show warning about devtool option ([#14552](https://github.com/getsentry/sentry-javascript/pull/14552))
- fix(nextjs): Only apply tracing metadata to data fetcher data when data is an object ([#14575](https://github.com/getsentry/sentry-javascript/pull/14575))
- fix(node): Guard against invalid `maxSpanWaitDuration` values ([#14632](https://github.com/getsentry/sentry-javascript/pull/14632))
- fix(react): Match routes with `parseSearch` option in TanStack Router instrumentation ([#14328](https://github.com/getsentry/sentry-javascript/pull/14328))
- fix(sveltekit): Fix git SHA not being picked up for release ([#14540](https://github.com/getsentry/sentry-javascript/pull/14540))
- fix(types): Fix generic exports with default ([#14576](https://github.com/getsentry/sentry-javascript/pull/14576))

Work in this release was contributed by @lsmurray. Thank you for your contribution!

## 8.42.0

### Important Changes
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 @@ -42,7 +42,7 @@
"dependencies": {
"@babel/preset-typescript": "^7.16.7",
"@playwright/test": "^1.44.1",
"@sentry-internal/rrweb": "2.29.0",
"@sentry-internal/rrweb": "2.30.0",
"@sentry/browser": "8.42.0",
"axios": "1.7.7",
"babel-loader": "^8.2.2",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { expect } from '@playwright/test';

import { sentryTest } from '../../../../../utils/fixtures';

import { envelopeRequestParser, shouldSkipFeatureFlagsTest, waitForErrorRequest } from '../../../../../utils/helpers';

const FLAG_BUFFER_SIZE = 100; // Corresponds to constant in featureFlags.ts, in browser utils.

sentryTest('Basic test with eviction, update, and no async tasks', async ({ getLocalTestUrl, page }) => {
if (shouldSkipFeatureFlagsTest()) {
sentryTest.skip();
}

await page.route('https://dsn.ingest.sentry.io/**/*', route => {
return route.fulfill({
status: 200,
contentType: 'application/json',
body: JSON.stringify({ id: 'test-id' }),
});
});

const url = await getLocalTestUrl({ testDir: __dirname, skipDsnRouteHandler: true });
await page.goto(url);

await page.evaluate(bufferSize => {
const flagsIntegration = (window as any).Sentry.getClient().getIntegrationByName('FeatureFlags');
for (let i = 1; i <= bufferSize; i++) {
flagsIntegration.addFeatureFlag(`feat${i}`, false);
}
flagsIntegration.addFeatureFlag(`feat${bufferSize + 1}`, true); // eviction
flagsIntegration.addFeatureFlag('feat3', true); // update
return true;
}, FLAG_BUFFER_SIZE);

const reqPromise = waitForErrorRequest(page);
await page.locator('#error').click(); // trigger error
const req = await reqPromise;
const event = envelopeRequestParser(req);

const expectedFlags = [{ flag: 'feat2', result: false }];
for (let i = 4; i <= FLAG_BUFFER_SIZE; i++) {
expectedFlags.push({ flag: `feat${i}`, result: false });
}
expectedFlags.push({ flag: `feat${FLAG_BUFFER_SIZE + 1}`, result: true });
expectedFlags.push({ flag: 'feat3', result: true });

expect(event.contexts?.flags?.values).toEqual(expectedFlags);
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import * as Sentry from '@sentry/browser';

window.Sentry = Sentry;

// Not using this as we want to test the getIntegrationByName() approach
// window.sentryFeatureFlagsIntegration = Sentry.featureFlagsIntegration();

Sentry.init({
dsn: 'https://[email protected]/1337',
sampleRate: 1.0,
integrations: [Sentry.featureFlagsIntegration()],
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
document.getElementById('error').addEventListener('click', () => {
throw new Error('Button triggered error');
});
Loading
Loading