- feat: New route type decorator
@All()to allow any HTTP method requests to be routed to handler
- feat: New
TrialClientservice to track client's trial usage of services (eg.: Recruitment, Hotel Universe, etc.)
- feat: New
AuthProviderservice to handle app auth. It's a generic and optional (not set by default) service - feat: Endpoint
GET /statusis exposed from framework by default (this can be removed from apps) - feat:
GlobalMetricsis a now service (previously available in theglobalobject) - BREAKING CHANGES:
- AcAuthProvider (and its dependencies) must be explicity setup (default implementation is available in the framework)
- Auth object (previously
AcAuth) has new format (check Auth docs) GlobalMetricsremoved fromglobalobject, now available as a service in mesh container
- feat: New
@AfterHook()decorator to handle after request flows
- It is no longer necessary to inherit from ClientError to have error in response; any error with numeric
statusfield will be presented as is.
- When using
NODE_ENV=test, the.env.testis loaded onapp.start() - When using
NODE_ENV=development, the.env.devis loaded onapp.start()
- Update transitive deps
- Env Generator works
- feat: Inversify ⇒ Mesh (#87)
- update to ESM + Logfmt Logging
- drop changelog generator
- remove timestamp from a gauge metric to prevent it's staleness in grafana
- migrate to mongodb@4
- Add HTTP_TEXT_LIMIT env variable
- Add Schema.create function
- Use a route path template instead of an actual path with params for the routes' execution histogram metric
- make altering middlewares a bit easier by moving them to the field on a HttpServer class as a list of objects
- add a HTTP_INCLUDE_UNPARSED_BODY config option
- feat: match requests with a trailing slash
- feat: multipart requests supported
- BREAKING CHANGE: new platform-wide auth conventions, and some more sneaked in
- BREAKING CHANGE:
@ubio/requestreplacedRequestFactory
- BREAKING CHANGE: drop
RequestFactory,Request, use @ubio/request instead - BREAKING CHANGE: drop
Configuration, seeenv.mdfor replacement - BREAKING CHANGE: drop
ForwardRequestHeaderAuthService, useAutomationCloudAuthServiceinstead - feat: add
AutomationCloudAuthServiceto support both old and new auth
- BREAKING CHANGE: drop
.bind,.bindAll,.bindSingleton,.unbindfrom Application
- feat: add
sortBy
- chore: merge
@ubio/node-esseentialsinto@ubio/node-framework.
- feat: add
generate-openapicommand
- feat: add
bindRoutermethod - deprecate:
Application.bind,Application.unbind,Application.bindAll,Application.bindSingleton— use Inversify directly instead.
- feat: add APIs for Prometheus metrics
- fix: child loggers merge data with context (previously their data was sitting in additional
datakey)
- fix: allow router to capture special symbols like
:in path params
- fix: error middleware expose
error.details
- feat: add HTTP_SHUTDOWN_DELAY configuration to control the delay between receiving a signal and stopping accepting new http connections
- feat: automate changelog version numbers
- Breaking change:
Applicationno longer bundlesHttpServer(see docs) - Breaking change:
Applicationlifecycle is defined by overridingbeforeStartandafterStopmethods - Breaking change:
.bindmethods family no longer returnthis, this is done to make apps more consistent in their binding syntax; they've also lost their type parameter because it is largely unused - feat:
EnvConfigis bundled in framework and is automatically bound toConfigurationservice identified - feat:
HttpServeris configured via default configuration instance, and understandsHTTP_TIMEOUTandPORTparameters out of box