getsentry/sentry-javascript (@sentry/node)
### [`v8.17.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#8170)
[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.16.0...8.17.0)
- feat: Upgrade OTEL deps ([#12809](https://togithub.com/getsentry/sentry-javascript/issues/12809))
- fix(nuxt): Add module to build:transpile script ([#12843](https://togithub.com/getsentry/sentry-javascript/issues/12843))
- fix(browser): Allow SDK initialization in NW.js apps ([#12846](https://togithub.com/getsentry/sentry-javascript/issues/12846))
### [`v8.16.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#8160)
[Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.15.0...8.16.0)
##### Important Changes
- **feat(nextjs): Use spans generated by Next.js for App Router ([#12729](https://togithub.com/getsentry/sentry-javascript/issues/12729))**
Previously, the `@sentry/nextjs` SDK automatically recorded spans in the form of transactions for each of your top-level
server components (pages, layouts, ...). This approach had a few drawbacks, the main ones being that traces didn't have
a root span, and more importantly, if you had data stream to the client, its duration was not captured because the
server component spans had finished before the data could finish streaming.
With this release, we will capture the duration of App Router requests in their entirety as a single transaction with
server component spans being descendants of that transaction. This means you will get more data that is also more
accurate. Note that this does not apply to the Edge runtime. For the Edge runtime, the SDK will emit transactions as it
has before.
Generally speaking, this change means that you will see less *transactions* and more *spans* in Sentry. You will no
longer receive server component transactions like `Page Server Component (/path/to/route)` (unless using the Edge
runtime), and you will instead receive transactions for your App Router SSR requests that look like
`GET /path/to/route`.
If you are on Sentry SaaS, this may have an effect on your quota consumption: Less transactions, more spans.
- **- feat(nestjs): Add nest cron monitoring support ([#12781](https://togithub.com/getsentry/sentry-javascript/issues/12781))**
The `@sentry/nestjs` SDK now includes a `@SentryCron` decorator that can be used to augment the native NestJS `@Cron`
decorator to send check-ins to Sentry before and after each cron job run:
```typescript
import { Cron } from '@nestjs/schedule';
import { SentryCron, MonitorConfig } from '@sentry/nestjs';
import type { MonitorConfig } from '@sentry/types';
const monitorConfig: MonitorConfig = {
schedule: {
type: 'crontab',
value: '* * * * *',
},
checkinMargin: 2, // In minutes. Optional.
maxRuntime: 10, // In minutes. Optional.
timezone: 'America/Los_Angeles', // Optional.
};
export class MyCronService {
@Cron('* * * * *')
@SentryCron('my-monitor-slug', monitorConfig)
handleCron() {
// Your cron job logic here
}
}
```
##### Other Changes
- feat(node): Allow to pass instrumentation config to `httpIntegration` ([#12761](https://togithub.com/getsentry/sentry-javascript/issues/12761))
- feat(nuxt): Add server error hook ([#12796](https://togithub.com/getsentry/sentry-javascript/issues/12796))
- feat(nuxt): Inject sentry config with Nuxt `addPluginTemplate` ([#12760](https://togithub.com/getsentry/sentry-javascript/issues/12760))
- fix: Apply stack frame metadata before event processors ([#12799](https://togithub.com/getsentry/sentry-javascript/issues/12799))
- fix(feedback): Add missing `h` import in `ScreenshotEditor` ([#12784](https://togithub.com/getsentry/sentry-javascript/issues/12784))
- fix(node): Ensure `autoSessionTracking` is enabled by default ([#12790](https://togithub.com/getsentry/sentry-javascript/issues/12790))
- ref(feedback): Let CropCorner inherit the existing h prop ([#12814](https://togithub.com/getsentry/sentry-javascript/issues/12814))
- ref(otel): Ensure we never swallow args for ContextManager ([#12798](https://togithub.com/getsentry/sentry-javascript/issues/12798))
docker/build-push-action (docker/build-push-action)
### [`v6.4.0`](https://togithub.com/docker/build-push-action/releases/tag/v6.4.0)
[Compare Source](https://togithub.com/docker/build-push-action/compare/v6.3.0...v6.4.0)
- Set `repository` and `ghtoken` attributes for [GitHub Actions cache backend](https://docs.docker.com/build/cache/backends/gha/#avoid-github-actions-cache-api-throttling) by [@crazy-max](https://togithub.com/crazy-max) in [https://github.com/docker/build-push-action/pull/1133](https://togithub.com/docker/build-push-action/pull/1133)
- Bump [@docker/actions-toolkit](https://togithub.com/docker/actions-toolkit) from 0.31.0 to 0.33.0 in [https://github.com/docker/build-push-action/pull/1179](https://togithub.com/docker/build-push-action/pull/1179)
**Full Changelog**: https://github.com/docker/build-push-action/compare/v6.3.0...v6.4.0
nodejs/node (node)
### [`v20.15.1`](https://togithub.com/nodejs/node/compare/v20.15.0...v20.15.1)
[Compare Source](https://togithub.com/nodejs/node/compare/v20.15.0...v20.15.1)
prettier/prettier (prettier)
### [`v3.3.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#333)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.3.2...3.3.3)
[diff](https://togithub.com/prettier/prettier/compare/3.3.2...3.3.3)
##### Add parentheses for nullish coalescing in ternary ([#16391](https://togithub.com/prettier/prettier/pull/16391) by [@cdignam-segment](https://togithub.com/cdignam-segment))
This change adds clarity to operator precedence.
```js
// Input
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;
// Prettier 3.3.2
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;
// Prettier 3.3.3
foo ? (bar ?? foo) : baz;
(foo ?? bar) ? a : b;
a ? b : (foo ?? bar);
```
##### Add parentheses for decorator expressions ([#16458](https://togithub.com/prettier/prettier/pull/16458) by [@y-schneider](https://togithub.com/y-schneider))
Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5.
```ts
// Input
@(foo`tagged template`)
class X {}
// Prettier 3.3.2
@foo`tagged template`
class X {}
// Prettier 3.3.3
@(foo`tagged template`)
class X {}
```
##### Support `@let` declaration syntax ([#16474](https://togithub.com/prettier/prettier/pull/16474) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
Adds support for Angular v18 `@let` declaration syntax.
Please see the following code example. The `@let` declaration allows you to define local variables within the template:
```html
@let name = 'Frodo';
Dashboard for {{name}}
Hello, {{name}}
```
For more details, please refer to the excellent blog post by the Angular Team: [Introducing @let in Angular](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f).
We also appreciate the Angular Team for kindly answering our questions to implement this feature.
Configuration
📅 Schedule: Branch creation - "before 12pm on Sunday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^8.15.0
->^8.17.0
^8.5.10
->^8.5.11
v6.3.0
->v6.4.0
20.15.0
->20.15.1
^3.3.2
->^3.3.3
Release Notes
getsentry/sentry-javascript (@sentry/node)
### [`v8.17.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#8170) [Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.16.0...8.17.0) - feat: Upgrade OTEL deps ([#12809](https://togithub.com/getsentry/sentry-javascript/issues/12809)) - fix(nuxt): Add module to build:transpile script ([#12843](https://togithub.com/getsentry/sentry-javascript/issues/12843)) - fix(browser): Allow SDK initialization in NW.js apps ([#12846](https://togithub.com/getsentry/sentry-javascript/issues/12846)) ### [`v8.16.0`](https://togithub.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#8160) [Compare Source](https://togithub.com/getsentry/sentry-javascript/compare/8.15.0...8.16.0) ##### Important Changes - **feat(nextjs): Use spans generated by Next.js for App Router ([#12729](https://togithub.com/getsentry/sentry-javascript/issues/12729))** Previously, the `@sentry/nextjs` SDK automatically recorded spans in the form of transactions for each of your top-level server components (pages, layouts, ...). This approach had a few drawbacks, the main ones being that traces didn't have a root span, and more importantly, if you had data stream to the client, its duration was not captured because the server component spans had finished before the data could finish streaming. With this release, we will capture the duration of App Router requests in their entirety as a single transaction with server component spans being descendants of that transaction. This means you will get more data that is also more accurate. Note that this does not apply to the Edge runtime. For the Edge runtime, the SDK will emit transactions as it has before. Generally speaking, this change means that you will see less *transactions* and more *spans* in Sentry. You will no longer receive server component transactions like `Page Server Component (/path/to/route)` (unless using the Edge runtime), and you will instead receive transactions for your App Router SSR requests that look like `GET /path/to/route`. If you are on Sentry SaaS, this may have an effect on your quota consumption: Less transactions, more spans. - **- feat(nestjs): Add nest cron monitoring support ([#12781](https://togithub.com/getsentry/sentry-javascript/issues/12781))** The `@sentry/nestjs` SDK now includes a `@SentryCron` decorator that can be used to augment the native NestJS `@Cron` decorator to send check-ins to Sentry before and after each cron job run: ```typescript import { Cron } from '@nestjs/schedule'; import { SentryCron, MonitorConfig } from '@sentry/nestjs'; import type { MonitorConfig } from '@sentry/types'; const monitorConfig: MonitorConfig = { schedule: { type: 'crontab', value: '* * * * *', }, checkinMargin: 2, // In minutes. Optional. maxRuntime: 10, // In minutes. Optional. timezone: 'America/Los_Angeles', // Optional. }; export class MyCronService { @Cron('* * * * *') @SentryCron('my-monitor-slug', monitorConfig) handleCron() { // Your cron job logic here } } ``` ##### Other Changes - feat(node): Allow to pass instrumentation config to `httpIntegration` ([#12761](https://togithub.com/getsentry/sentry-javascript/issues/12761)) - feat(nuxt): Add server error hook ([#12796](https://togithub.com/getsentry/sentry-javascript/issues/12796)) - feat(nuxt): Inject sentry config with Nuxt `addPluginTemplate` ([#12760](https://togithub.com/getsentry/sentry-javascript/issues/12760)) - fix: Apply stack frame metadata before event processors ([#12799](https://togithub.com/getsentry/sentry-javascript/issues/12799)) - fix(feedback): Add missing `h` import in `ScreenshotEditor` ([#12784](https://togithub.com/getsentry/sentry-javascript/issues/12784)) - fix(node): Ensure `autoSessionTracking` is enabled by default ([#12790](https://togithub.com/getsentry/sentry-javascript/issues/12790)) - ref(feedback): Let CropCorner inherit the existing h prop ([#12814](https://togithub.com/getsentry/sentry-javascript/issues/12814)) - ref(otel): Ensure we never swallow args for ContextManager ([#12798](https://togithub.com/getsentry/sentry-javascript/issues/12798))docker/build-push-action (docker/build-push-action)
### [`v6.4.0`](https://togithub.com/docker/build-push-action/releases/tag/v6.4.0) [Compare Source](https://togithub.com/docker/build-push-action/compare/v6.3.0...v6.4.0) - Set `repository` and `ghtoken` attributes for [GitHub Actions cache backend](https://docs.docker.com/build/cache/backends/gha/#avoid-github-actions-cache-api-throttling) by [@crazy-max](https://togithub.com/crazy-max) in [https://github.com/docker/build-push-action/pull/1133](https://togithub.com/docker/build-push-action/pull/1133) - Bump [@docker/actions-toolkit](https://togithub.com/docker/actions-toolkit) from 0.31.0 to 0.33.0 in [https://github.com/docker/build-push-action/pull/1179](https://togithub.com/docker/build-push-action/pull/1179) **Full Changelog**: https://github.com/docker/build-push-action/compare/v6.3.0...v6.4.0nodejs/node (node)
### [`v20.15.1`](https://togithub.com/nodejs/node/compare/v20.15.0...v20.15.1) [Compare Source](https://togithub.com/nodejs/node/compare/v20.15.0...v20.15.1)prettier/prettier (prettier)
### [`v3.3.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#333) [Compare Source](https://togithub.com/prettier/prettier/compare/3.3.2...3.3.3) [diff](https://togithub.com/prettier/prettier/compare/3.3.2...3.3.3) ##### Add parentheses for nullish coalescing in ternary ([#16391](https://togithub.com/prettier/prettier/pull/16391) by [@cdignam-segment](https://togithub.com/cdignam-segment)) This change adds clarity to operator precedence. ```js // Input foo ? bar ?? foo : baz; foo ?? bar ? a : b; a ? b : foo ?? bar; // Prettier 3.3.2 foo ? bar ?? foo : baz; foo ?? bar ? a : b; a ? b : foo ?? bar; // Prettier 3.3.3 foo ? (bar ?? foo) : baz; (foo ?? bar) ? a : b; a ? b : (foo ?? bar); ``` ##### Add parentheses for decorator expressions ([#16458](https://togithub.com/prettier/prettier/pull/16458) by [@y-schneider](https://togithub.com/y-schneider)) Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5. ```ts // Input @(foo`tagged template`) class X {} // Prettier 3.3.2 @foo`tagged template` class X {} // Prettier 3.3.3 @(foo`tagged template`) class X {} ``` ##### Support `@let` declaration syntax ([#16474](https://togithub.com/prettier/prettier/pull/16474) by [@sosukesuzuki](https://togithub.com/sosukesuzuki)) Adds support for Angular v18 `@let` declaration syntax. Please see the following code example. The `@let` declaration allows you to define local variables within the template: ```html @let name = 'Frodo';Dashboard for {{name}}
Hello, {{name}} ``` For more details, please refer to the excellent blog post by the Angular Team: [Introducing @let in Angular](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f). We also appreciate the Angular Team for kindly answering our questions to implement this feature.Configuration
📅 Schedule: Branch creation - "before 12pm on Sunday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.