Skip to content

Releases: hummingbird-project/hummingbird

v0.14.0

16 Oct 09:36
c377c64
Compare
Choose a tag to compare

Minor version changes

  • Add new HummingbirdJobs library that allows you to offload work to another server. PR #104

Patch version changes

  • Apply application log level to lifecycle
  • Only patch responses on routes flagged .editResponse in async-await code

v0.13.3

06 Oct 07:17
Compare
Choose a tag to compare

Minor release changes

  • Added HBMediaType.withParameter to create new media type with a parameter.

Patch release changes

  • Optimisations
    • Don't capture all of HBRequest in HTTPResponder.respond closures.
    • Don't patch HBResponse if no patch has been setup
    • Added final to class definitions

v0.13.2

30 Sep 11:19
Compare
Choose a tag to compare
  • Fixed parsing of media types with non-alphanumeric characters in their names eg multipart/form-data

v0.13.1

24 Sep 07:00
Compare
Choose a tag to compare

Patch release changes

  • Ensure concurrency code is only compiled when _Concurrency framework is available
  • Remove _NIOConcurrency imports as NIO functions have been moved into NIOCore
  • URLEncodedForm.NodeValue is now a struct

Other changes

  • Use swift:5.5 docker images in CI

v0.13.0 (Async/Await)

21 Sep 09:15
Compare
Choose a tag to compare

Breaking changes

  • HBRequest and HBResponse have been changed from classes to structs. This is in a bid to reduce race conditions during async calls. This will impact any code where you are mutating either of these, but should make it clearer where edits are being made.
  • bodyCollation parameter in route handler functions has been changed into a set of options which include .streamBody.
  • Added option .editResponse which indicates you are going to edit a route response via HBRequest.response. Not setting this will cause a crash.

Minor release changes

  • Added support for async/await in Swift 5.5
    • Added async route handlers
    • Added HBAsyncMiddleware protocol
    • Added HBAsyncRouteHandler for async versions of HBRouteHandler
    • Added async versions of persist framework functions.
  • Added HBApplication.Configuration.with() to generate new configuration with edited change.
  • XCT test framework binds to port zero by default.

Patch release changes

  • Add more informative messaging for when an extension doesn’t exist.
  • HBRequest.cookies returns a temporary object instead of caching the cookies in an ‘HBRequest` extension.
  • Replace import NIO with NIOCore or NIOPosix where applicable.

v0.12.1

24 Aug 11:26
Compare
Choose a tag to compare
  • XCT test framework now binds test server to port 0
  • Conform HBParameters to Collection

v0.12.0

24 Jun 07:55
Compare
Choose a tag to compare
  • Update to v0.11.0 of hummingbird-core

v0.11.4

07 Jun 09:39
a0ddadd
Compare
Choose a tag to compare
  • Minor optimization: Remove one unnecessary EventLoopFuture.map for routes that return an EventLoopFuture
  • Minor optimization: Metrics middleware uses whenComplete instead of flatMap/map

v0.11.3

21 May 09:14
960603b
Compare
Choose a tag to compare
  • Use HBXCTClient from HummingbirdCoreXCT for testing instead of AsyncHTTPClient
  • Fix memory leaks associated with HBDateCache and HBXCTLive

v0.11.2

18 May 11:16
fb97a42
Compare
Choose a tag to compare
  • HBRequest.Persist.create throws an error if the key already exists.
  • XCT calls run on EmbeddedEventLoop to ensure all submit and execute calls are run
  • HBRequest logger stores id as .stringConvertible instead of .string
  • Setup up a performance executable for testing framework performance