Releases: nestjs/nest
Releases · nestjs/nest
v5.3.12
v5.3.11
v5.3.0
Features
- common: caching mechanism - add
CacheModulemodule #695 - common: serialization - add
ClassSerializerInterceptorinterceptor - common: add
MulterModulemodule - core:
ExternalContextCreatornow supports pipes - websockets: support acknowledgments in socketio
IoAdapter#982
Bug Fixes
- core: expose valid
HttpServerwithinExpressAdapter#1017
Improvements
- core: injector improvements (mainly circular dependencies)
- websockets: improve adapters (
WsAdapterandIoAdapter)
v5.2.0
Features
- common: provide global config for axios instance
HttpModule.register()#846 - core: use default exception filter handler on condition (extend core class) #860
- core: add
@Optional()decorator #847 - core: enhance
ExternalContextCreator(for 3rd-party libraries purposes) - core: allow ModuleRef to get imported providers (strict/non-strict mode) #832
- core: support DynamicModule in
NestFactory.create[..]()#671
Bug Fixes
- common: multiple
FileInterceptorinterceptors per class #935 - common: custom decorators shouldn't require "data" parameter #892
- core: fastify & middleware wildcards bug #972
- core: innherited guards not being applied #879
- microservices: NATS subject wrapping no longer messing wildcards up #948
Improvements
v5.1.0
Features
- common:
FileFieldsInterceptorupload multiple files with different names (multer.fields) #741 - core: support async dynamic modules #800
- core: exclude routes in the
MiddlewareBuilder#790 - core: support
RouteInfoin theMiddlewareBuilder(restrict middleware to certain request method)
forRoutes(
{ path: 'cats', method: RequestMethod.GET },
{ path: 'cats', method: RequestMethod.POST },
)Bug Fixes
- common: empty body ends up with 500 error (
ValidationPipe) #734 - core: the last one of
APP_providers get registered #812 - core: middleware runs more than once #779
- core: custom decorators not being treated as default ones #765
- microservices: allow gRPC stream cancellation #773
Improvements
v5.0.1
Bug Fixes
- common: add missing
forbidUnknownValuesproperty (ValidationPipe) #706 - core: support circular structures in the dynamic module #678
- core: global prefix and middleware incompatibility #718
- core: exceptions are not handled in cascade way #729
- core: validate route path passed in
forRoutes()#692 - websockets:
@WebSocketGatewayand@SubscribeMessagedo not properly handle errors #683 - testing: fix misssing logger
v5.0.0
Features
- core: support async lifecycle hooks (
OnModuleInitandOnModuleDestroy) #569 - core: HTTP server independence, fastify integration (
FastifyAdapter) - core: allow binding global interceptors, filters, pipes, and guards from any module. Example:
{
provide: APP_INTERCEPTOR,
useClass: LoggerInterceptor,
}- core:
@UseGuards(),@UsePipes(),@UseFilters(), and@UseInterceptors()extend metadata, instead of overriding existing one - core: dependency injection everywhere (pipes, filters, interceptors, and guards)
- core: pass
ArgumentsHostto exception filters (ability to access each argument) - core: pass enhanced
ExecutionContextto both interceptors and guards (ability to access each argument and execution context) - microservices: rewrite existing transporters (TCP, Redis), provide new strategies: Nats, MQTT, gRPC
- all: improve execution context performance (http, ws, microservices)
Bug Fixes
- common: incorrent
multerdependency #532 - core: hanging
NestApplicationContextprocess #503 - microservices: concurrency issues (both TCP and Redis transporters) #505
Improvements
- all: remove
reflect-metadatapeer dependency #563 - all: upgrade RxJS to 6.0.0
- all: move to Node.js >= 8.9.0 (TypeScript target
es2017) - core: more descriptive exceptions (circular dependency) #493
- core: Nest container compatible with
useContainer()(class-validatorandtypeormpackages) #528 - core: remove static dependencies (webpack compatibility)
- websockets:
@WebSocketGateway()takes options argument that is passed to socket.io instance #508
Deprecations
- common: deprecate
@Component(),@Middleware(),@Interceptor(),@Pipe(), and@Guard()decorators (use@Injectable()instead) - common: removed
ExpressMiddleware(useMiddlewareFunction) - core: deprecate
modules: []property (useimports: []instead) - core: deprecate
components: []property (useproviders: []instead) - core: removed
MiddlewaresConsumer(useMiddlewareConsumer)
Notes
- move from traditional express middleware model: each middleware is solely bounded to a particular path, regardless of the request method
Migration guide: https://docs.nestjs.com/migration-guide
v5.0.0-beta.4
v5.0.0-beta.3
v5.0.0-beta.0
5.0.0-beta.0
Features
- core: support async lifecycle hooks (
OnModuleInitandOnModuleDestroy) #569 - core: HTTP server independence, fastify integration (
FastifyAdapter) - core: allow binding global interceptors, filters, pipes, and guards from any module. Example:
{
provide: APP_INTERCEPTOR,
useClass: LoggerInterceptor,
}- core:
@UseGuards(),@UsePipes(),@UseFilters(), and@UseInterceptors()extend metadata, instead of overriding existing one - core: dependency injection everywhere (pipes, filters, interceptors, and guards)
- core: pass
ArgumentsHostto exception filters (ability to access each argument) - core: pass enhanced
ExecutionContextto both interceptors and guards (ability to access each argument and execution context) - microservices: improve existing transporters (TCP, Redis), provide new strategies: Nats, MQTT, gRPC
Bug Fixes
- common: incorrent
multerdependency #532 - core: hanging
NestApplicationContextprocess #503 - microservices: concurrency issues (both TCP and Redis transporters) #505
Improvements
- all: remove
reflect-metadatapeer dependency #563 - all: upgrade RxJS (make use of pipeable operators)
- core: more descriptive exceptions (circular dependency) #493
- core: Nest container compatible with
useContainer()(class-validatorandtypeormpackages) #528 - core: remove static dependencies (webpack compatibility)
- websockets:
@WebSocketGateway()takes options argument that is passed to socket.io instance #508
Deprecations
- common: deprecate
@Component(),@Middleware(),@Interceptor(),@Pipe(), and@Guard()decorators (use@Injectable()instead) - core: deprecate
modules: []property (useimports: []instead) - core: deprecate
components: []property (useproviders: []instead)
Notes
- move from traditional express middleware model: each middleware is solely bounded to a particular path, regardless of the request method