Skip to content

Commit

Permalink
Merge pull request #13036 from getsentry/prepare-release/8.20.0
Browse files Browse the repository at this point in the history
meta(changelog): Update changelog for 8.20.0
  • Loading branch information
s1gr1d authored Jul 24, 2024
2 parents 9b39c25 + 84f6fee commit 13d29c3
Show file tree
Hide file tree
Showing 162 changed files with 3,420 additions and 334 deletions.
9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/internal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 💡 [Internal] Blank Issue
description: Only for Sentry Employees! Create an issue without a template.
body:
- type: textarea
id: description
attributes:
label: Description
validations:
required: true
3 changes: 3 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1010,12 +1010,15 @@ jobs:
'generic-ts3.8',
'node-fastify',
'node-hapi',
'node-nestjs-basic',
'node-nestjs-distributed-tracing',
'nestjs-basic',
'nestjs-distributed-tracing',
'nestjs-with-submodules',
'node-exports-test-app',
'node-koa',
'node-connect',
'nuxt-3',
'vue-3',
'webpack-4',
'webpack-5'
Expand Down
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,29 @@

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

## 8.20.0

### Important Changes

- **feat(node): Allow to pass `registerEsmLoaderHooks` to preload (#12998)**

You can write your own custom preload script and configure this in the preload options. `registerEsmLoaderHooks` can be
passed as an option to `preloadOpenTelemetry`, which allows to exclude/include packages in the preload.

- **fix(node): Do not emit fetch spans when tracing is disabled (#13003)**

Sentry will not emit "fetch" spans if tracing is disabled. This is relevant for user who use their own sampler.

### Other Changes

- feat(feedback): Trigger button aria label configuration (#13008)
- feat(nestjs): Change nest sdk setup (#12920)
- feat(node): Extend ESM hooks options for iitm v1.10.0 (#13016)
- feat(node): Send client reports (#12951)
- feat(nuxt): Automatically add BrowserTracing (#13005)
- feat(nuxt): Setup source maps with vite config (#13018)
- feat(replay): Improve public Replay APIs (#13000)

## 8.19.0

- feat(core): Align Span interface with OTEL (#12898)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { Module } from '@nestjs/common';
import { ScheduleModule } from '@nestjs/schedule';
import { SentryModule } from '@sentry/nestjs/setup';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
imports: [ScheduleModule.forRoot()],
imports: [SentryModule.forRoot(), ScheduleModule.forRoot()],
controllers: [AppController],
providers: [AppService],
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,13 @@
import './instrument';

// Import other modules
import { BaseExceptionFilter, HttpAdapterHost, NestFactory } from '@nestjs/core';
import * as Sentry from '@sentry/nestjs';
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

const PORT = 3030;

async function bootstrap() {
const app = await NestFactory.create(AppModule);

const { httpAdapter } = app.get(HttpAdapterHost);
Sentry.setupNestErrorHandler(app, new BaseExceptionFilter(httpAdapter));

await app.listen(PORT);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"noImplicitAny": false,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false
"noFallthroughCasesInSwitch": false,
"moduleResolution": "Node16"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
import './instrument';

// Import other modules
import { BaseExceptionFilter, HttpAdapterHost, NestFactory } from '@nestjs/core';
import * as Sentry from '@sentry/nestjs';
import { NestFactory } from '@nestjs/core';
import { TraceInitiatorModule } from './trace-initiator.module';
import { TraceReceiverModule } from './trace-receiver.module';

Expand All @@ -12,10 +11,6 @@ const TRACE_RECEIVER_PORT = 3040;

async function bootstrap() {
const trace_initiator_app = await NestFactory.create(TraceInitiatorModule);

const { httpAdapter } = trace_initiator_app.get(HttpAdapterHost);
Sentry.setupNestErrorHandler(trace_initiator_app, new BaseExceptionFilter(httpAdapter));

await trace_initiator_app.listen(TRACE_INITIATOR_PORT);

const trace_receiver_app = await NestFactory.create(TraceReceiverModule);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { Module } from '@nestjs/common';
import { SentryModule } from '@sentry/nestjs/setup';
import { TraceInitiatorController } from './trace-initiator.controller';
import { TraceInitiatorService } from './trace-initiator.service';

@Module({
imports: [],
imports: [SentryModule.forRoot()],
controllers: [TraceInitiatorController],
providers: [TraceInitiatorService],
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
import { Module } from '@nestjs/common';
import { SentryModule } from '@sentry/nestjs/setup';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { ExampleModule } from './example-module/example.module';
import { ExampleModuleGlobalFilterWrongRegistrationOrder } from './example-module-global-filter-wrong-registration-order/example.module';
import { ExampleModuleGlobalFilter } from './example-module-global-filter/example.module';
import { ExampleModuleLocalFilter } from './example-module-local-filter/example.module';

@Module({
imports: [ExampleModule],
imports: [
ExampleModuleGlobalFilterWrongRegistrationOrder,
SentryModule.forRoot(),
ExampleModuleGlobalFilter,
ExampleModuleLocalFilter,
],
controllers: [AppController],
providers: [AppService],
})
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { Controller, Get } from '@nestjs/common';
import { ExampleExceptionWrongRegistrationOrder } from './example.exception';

@Controller('example-module-wrong-order')
export class ExampleController {
constructor() {}

@Get('/expected-exception')
getCaughtException(): string {
throw new ExampleExceptionWrongRegistrationOrder();
}

@Get('/unexpected-exception')
getUncaughtException(): string {
throw new Error(`This is an uncaught exception!`);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export class ExampleExceptionWrongRegistrationOrder extends Error {
constructor() {
super('Something went wrong in the example module!');
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { ArgumentsHost, BadRequestException, Catch } from '@nestjs/common';
import { BaseExceptionFilter } from '@nestjs/core';
import { ExampleExceptionWrongRegistrationOrder } from './example.exception';

@Catch(ExampleExceptionWrongRegistrationOrder)
export class ExampleExceptionFilterWrongRegistrationOrder extends BaseExceptionFilter {
catch(exception: unknown, host: ArgumentsHost) {
if (exception instanceof ExampleExceptionWrongRegistrationOrder) {
return super.catch(new BadRequestException(exception.message), host);
}
return super.catch(exception, host);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { Module } from '@nestjs/common';
import { APP_FILTER } from '@nestjs/core';
import { ExampleController } from './example.controller';
import { ExampleExceptionFilterWrongRegistrationOrder } from './example.filter';

@Module({
imports: [],
controllers: [ExampleController],
providers: [
{
provide: APP_FILTER,
useClass: ExampleExceptionFilterWrongRegistrationOrder,
},
],
})
export class ExampleModuleGlobalFilterWrongRegistrationOrder {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { Controller, Get } from '@nestjs/common';
import * as Sentry from '@sentry/nestjs';
import { ExampleException } from './example.exception';

@Controller('example-module')
export class ExampleController {
constructor() {}

@Get('/expected-exception')
getCaughtException(): string {
throw new ExampleException();
}

@Get('/unexpected-exception')
getUncaughtException(): string {
throw new Error(`This is an uncaught exception!`);
}

@Get('/transaction')
testTransaction() {
Sentry.startSpan({ name: 'test-span' }, () => {
Sentry.startSpan({ name: 'child-span' }, () => {});
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ import { ExampleExceptionFilter } from './example.filter';
},
],
})
export class ExampleModule {}
export class ExampleModuleGlobalFilter {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Controller, Get, UseFilters } from '@nestjs/common';
import { LocalExampleException } from './example.exception';
import { LocalExampleExceptionFilter } from './example.filter';

@Controller('example-module-local-filter')
@UseFilters(LocalExampleExceptionFilter)
export class ExampleControllerLocalFilter {
constructor() {}

@Get('/expected-exception')
getCaughtException() {
throw new LocalExampleException();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export class LocalExampleException extends Error {
constructor() {
super('Something went wrong in the example module with local filter!');
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { ArgumentsHost, BadRequestException, Catch } from '@nestjs/common';
import { BaseExceptionFilter } from '@nestjs/core';
import { LocalExampleException } from './example.exception';

@Catch(LocalExampleException)
export class LocalExampleExceptionFilter extends BaseExceptionFilter {
catch(exception: unknown, host: ArgumentsHost) {
if (exception instanceof LocalExampleException) {
return super.catch(new BadRequestException(exception.message), host);
}
return super.catch(exception, host);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { ExampleControllerLocalFilter } from './example.controller';

@Module({
imports: [],
controllers: [ExampleControllerLocalFilter],
providers: [],
})
export class ExampleModuleLocalFilter {}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,13 @@
import './instrument';

// Import other modules
import { BaseExceptionFilter, HttpAdapterHost, NestFactory } from '@nestjs/core';
import * as Sentry from '@sentry/nestjs';
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

const PORT = 3030;

async function bootstrap() {
const app = await NestFactory.create(AppModule);

const { httpAdapter } = app.get(HttpAdapterHost);
Sentry.setupNestErrorHandler(app, new BaseExceptionFilter(httpAdapter));

await app.listen(PORT);
}

Expand Down
Loading

0 comments on commit 13d29c3

Please sign in to comment.