0.10.4 (2023-04-17)
glob
package updated to10.1.0
from10.2.2
- Fixed koa trailing slash handling
- Fixed controller method inheritance
0.10.3 (2023-04-17)
glob
package updated to10.1.0
from8.1.0
koa
package updated to2.14.2
from2.14.1
koa-bodyparse
package updated to4.4.0
from4.3.0
- updated various dev dependencies
- Fixed koa uploaded file accessor
0.10.2 (2023-03-06)
glob
package updated to8.1.0
from8.0.3
body-parser
package updated to1.20.2
from1.20.1
multer
package updated to1.4.5-lts.1
from1.4.4
- Note: This fixes vulnerability CVE-2022-24434
- updated various dev dependencies
- Added normalization to glob pattern resolver to fix Windows paths
0.10.1 (2023-01-13)
class-validator
package updated to0.14.0
from0.13.2
- Note: class-validator 0.14.0 enables
forbidUnknownValues
by default, but this is overridden in routing-controllers to prevent a breaking change. You can still enable it like before.
- Note: class-validator 0.14.0 enables
koa
package updated to2.14.1
from2.13.4
- updated various dev dependencies
0.10.0 (2022-12-9)
isArray
option for@QueryParam
class-transformer
package updated to0.5.1
from0.3.1
class-validator
package updated to0.13.2
from0.12.2
cookie
package updated to0.5.0
from0.4.0
glob
package updated to8.0.3
from7.1.4
express
package updated to4.18.2
from4.17.1
and moved tooptionalDependencies
express-session
package updated to1.17.1
from1.17.3
and moved tooptionalDependencies
body-parser
package updated to1.20.1
from1.19.0
multer
package updated to1.4.4
from1.4.2
koa
package updated to2.13.4
from2.8.2
koa-multer
package replaced with@koa/multer
koa-router
package replaced with@koa/router
- updated various dev dependencies
- Fixed parsing uuid as route parameter
- Fixed
target
property not set during controller inheritance - Fixed
NaN
check for number route parameters - Added missing null value handling in parameters
- Fixed middlewares not using the defined route prefix
- Add support for wildcard "all" routes (ref [#536])
- Controller inheritance - Added missing tests, code samples, and updated documentation (ref [#578][#301])
- Added a useResponseClassTransformer global option (ref [#329])
- Through [#329], it should now be possible to use classTransformer only for input (ref [#179])
- Added support for controller inheritance (ref [#147])
- Update all dependencies and changed it to use npm auto-update patches and minor versions (ex.: "class-validator": "^0.12.2", instead of "class-validator": "0.12.2" (ref [#550])
- Updated project tooling (ref [##618])
- Input-validation bypass vulnerability (ref [#518])
- Fixed issue that would cause multiple route executions per request (ref [#568])
- Fixed export of SessionParam at index (ref [#526])
- Through [#536], it should now prevent conflicts in routes names (ref [#547])
- Through [#568], it should now prevent a single request triggering multiple route executions that would cause Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client issue. (ref [#491])
- Fixed order of global interceptors (ref [#543])
- Fixed incorrect handling of rejected promises from Middleware.use() (ref [#438])
- Through [#329], it should fix performance issue with big json result (ref [#226])
- Through [#329], it should fix problem with mongoose model serialization (ref [#149])
- Local ValidationOptions are not overwriting global defaults (ref [#618])
- Added TypeDI service decorator to example in README (ref [#643])
- Translate document to Chinese (ref [#574])
- Fix typo in README (ref [#571])
- Add another example for using the response directly (ref [#546])
- class-transformer and class-validator are now peer dependencies.
- extract generic
@Session()
deocorator into@SessionParam()
and@Session()
(ref [#335][#348][#407]) - restore/introduce
@QueryParams()
and@Params()
missing decorators options (ref [#289][#289]) - normalize param object properties (for "queries", "headers", "params" and "cookies"), with this change you can easily validate query/path params using
class-validator
(ref [#289][#289]) - improved params normalization, converting to primitive types is now more strict and can throw ParamNormalizationError (e.g. when number is expected but an invalid string (NaN) has been received) (ref [#289][#289])
- feat(ErrorHandling): add support for custom toJSON method in errors (ref #325)
- fixed inconsistent roles parameter in authorizationChecker (ref #308)
- fixed bugs with undefined result code behaviour
- fixed bugs with undefined result code behaviour
- fixed bugs with undefined result code behaviour
- Support for returning Buffer and streams from action handler (controller's method) (ref #285)
- Custom driver support (ref #276)
- Directly calling response bug (ref #286)
- Missing parameter in @BodyParam error message (ref #284)
- Sync and async auth checker bug (ref (ref #283)
- Handling different content-type responses in JsonController (ref #277)
- Using
@Authorization
decorator with Koa caused 404 responses (ref #240) - Allow throwing custom errors in
authorizationChecker
(ref #233) - check auth permissions before accepting files for upload (ref #251)
- some routing-controllers options has been changed and renamed
- returned validation error value signature has changed
- controllers and middlewares now can be specified in routing-controllers options
MiddlewareInterface
was removed and insteadExpressMiddlewareInterface
orKoaMiddlewareInterface
should be usedErrorMiddlewareInterface
was renamed toExpressErrorMiddlewareInterface
- per-controller and per-action middlewares used in
@UseBefore
and@UseAfter
now should not be marked with@Middleware
decorator @MiddlewareGlobalBefore()
and@MiddlewareGlobalAfter()
were removed and instead new signatures should be used:@Middleware({ type: "before" })
and@Middleware({ type: "after" })
- named some decorator parameter names
- added few new decorators to get all parameters like
@QueryParams
,@Params
,@HeaderParams
etc. - added
@Authorized
and@CurrentUser
decorators - added new
@Ctx
decorator to use context with koa @NullResultCode
has been renamed to@OnNull
, now supports error classes@UndefinedResultCode
has been renamed to@OnUndefined
, now supports error classes@EmptyResultCode
has been removed. Use@OnUndefined
decorator instead and return concrete types in your controllers.- added ability to create custom decorators
- enabled validation by default
- multiple bug fixes
- codebase refactoring
- removed
JsonResponse
andTextResponse
decorators
- added integration with
class-transform-validator
for deserialization and auto validation request parameters
- made interceptors to support promises
- added interceptors support
- middleware and error handlers support
- everything packed into "routing-controllers" main export
- added few more new decorators
- fixed multiple issues with param decorators
- fixed multiple bugs
- refactored core
- removed
parseJson
from@Body
decorator - removed
ActionOptions
- removed
responseType
from action options and added@JsonResponse
and@TextResponse
decorators
- renamed package from
controllers.ts
torouting-controllers
- added integration with
constructor-utils
for serialization and deserialization