Skip to content

Releases: kartikk221/hyper-express

6.14.1

14 Nov 16:01
Compare
Choose a tag to compare

What's Changed

  • Fixed Router types bug due to conflicting UserRouteHandler and MiddlewareHandler spreadable arguments.

Full Changelog: 6.14.0...6.14.1

6.14.0

12 Nov 21:19
Compare
Choose a tag to compare

What's Changed

  • Added support for callback on the Server.listen() method for improved Express.js compatibility.
  • Implemented Router.route(pattern) method which returns a chainable Router instance for binding multiple method routes on the same pattern easier.
    • Example: Router.route('/api/v1').get(apiV1GetHandler).post(apiV1PostHandler)
  • Fixed bug with binding an any or all wildcard route on the * pattern which would lead to an incorrect duplicate route exception thrown when a not found handler was also defined.
  • Improved JSDoc and TypeScript Types.

Full Changelog: 6.13.0...6.14.0

6.13.0

11 Nov 16:58
Compare
Choose a tag to compare

What's Changed

  • Added a default not found handler which sends an HTTP 404 response with no body to prevent browsers from showing ERR_EMPTY_RESPONSE due to unhandled requests.
  • Optimized path_parameters to be lazy initialized.
  • Optimized Response.send() execution flow to lazy execute body cleanup functions depending on request state.
  • Updates uWebsockets.js to v20.34.0.

Full Changelog: 6.12.0...6.13.0

6.12.0

03 Nov 02:22
Compare
Choose a tag to compare

What's Changed

  • Optimized Request / Response constructor intialization cost by reducing arguments and inlining property assignments.
  • Fixed Response streaming bug where certain chunks get incorrectly retried randomly.
  • Migrated all # prefixed private properties to _ prefixed implicit private properties on Request / Response for faster access.
  • Improved Types & Comments.

Full Changelog: 6.11.0...6.12.0

6.11.0

29 Oct 18:22
Compare
Choose a tag to compare

What's Changed

  • Implemented Server.options.max_body_buffer property which allows for controlling of the server's highWaterMark behavior for pre-buffering incoming body data until consumed.
  • Optimized various object initializations in Request lifecycle.
  • Updated Docs and Types.

Full Changelog: 6.10.0...6.11.0

6.10.0

29 Oct 02:57
Compare
Choose a tag to compare

What's Changed

  • Re-implemented the Request body parsing logic to now use Uint8Array and various optimizations for improved performance.
  • Added Request event called received which can be used to determine when a request body has flushed and a response can be gracefully sent for more intricate implementations.
  • Updated Docs and Types.

Full Changelog: 6.9.0...6.10.0

6.9.0

27 Oct 17:10
Compare
Choose a tag to compare

What's Changed

  • Updated to uWebsockets.js v20.33.0 which results in support for Node.js 16, 18, 20 and 21.

Full Changelog: 6.8.7...6.9.0

6.8.7

20 Oct 18:34
Compare
Choose a tag to compare

What's Changed

  • Optimized Request constructor by re-using cached paths for non wildcard routes instead of reading from uWebsockets.js
  • Improved types and added tests

Full Changelog: 6.8.6...6.8.7

6.8.6

02 Oct 04:17
Compare
Choose a tag to compare

What's Changed

  • Optimized Response.header() method to now store each header value as a string on the first call and only allocate an Array when writing multiple headers of the same name.
  • Updated uWebsockets.js to v20.32.0

Full Changelog: 6.8.5...6.8.6

6.8.5

01 Sep 05:41
Compare
Choose a tag to compare

What's Changed

  • Re-implemented Response.drain() to now only provide events to the latest assigned handler at any given time.
  • Added support for object based chunk arguments in Response._write() and Response._writev() implementations which power streaming.

Full Changelog: 6.8.4...6.8.5