Skip to content

Releases: hummingbird-project/hummingbird

v1.0.0

08 Feb 15:27
Compare
Choose a tag to compare

This is the first stable version of Hummingbird the lightweight and flexible HTTP server.

Hummingbird provides an HTTP server with

  • A router for sending requests to the correct endpoint handler
  • Middleware framework for processing requests and responses. CORS, Logging and metrics middlewares are already provided.
  • TLS/HTTP2 support
  • Request decoding, response encoding using Codable.
  • Basic connection pool management
  • Persistent data framework. A memory version is available with Hummingbird. Redis and Fluent versions are available from hummingbird-redis and hummingbird-fluent packages.

Hummingbird Foundation provides

  • Codable support for JSON and URLEncoded forms.
  • File serving and writing

Hummingbird Jobs provides

  • A framework for defining workloads that can be offloaded to separate servers.
  • Comes with an implementation that uses memory for storing and running the jobs locally.
  • A Redis version is available from hummingbird-redis.

HummingbirdXCT provides

  • A testing framework for Hummingbird. Making it easier to test your application.

Changes since v1.0.0-rc.1

  • Add idle state handler configuration
  • Ensure stored endpoint always starts with a "/" and never ends with a "/".
  • Extend Substring to conform with HBResponseGenerator.
  • Make HBEnvironment Sendable.

v1.0.0 Release Candidate 1

17 Jan 17:16
af1006c
Compare
Choose a tag to compare

Breaking Changes

  • Split HBRouter into two types: HBRouter which processes requests and HBRouterBuilder which is used to build an HBRouter. PR #156
  • The router is now run before any middleware. PR #156
  • XCTExecute can now return values from its closure and throw errors. PR #157

Patch Changes

  • Do deep copy of middleware chain, when creating new HBRouterGroup.

v1.0.0 Alpha 2

07 Dec 14:19
Compare
Choose a tag to compare

Major release changes

  • EventLoopStorage has been removed. The one use case for it has been removed.

Minor release changes

  • Hummingbird now requires Swift 5.5 (inline with SwiftNIO)
  • HBRequest, HBResponse and related types conform to Sendable

Patch release changes

  • Use new NIOAsyncTestingChannel.waitForOutboundWrite in HBXCTAsyncTesting
  • Add new HBHTTPConvertChannel to convert from HTTPServerResponsePart to Sendable type

Other changes

  • Fix integration test compilation

v1.0.0 Alpha 1

17 Nov 12:42
Compare
Choose a tag to compare

Major version changes

  • Add ServiceLifecycleProvider which allows you to pass in a lifecycle to the HBApplication, or create a new one. PR #142 from @slashmo
  • Remove backLog and tcpNoDelay configuration settings when using Network framework
  • Stop exporting so many symbols from dependencies.
  • Move XCTTestingSetup outside of HBApplication

Minor version changes

  • Add new XCT test setup .asyncTest for testing code using Swift Concurrency. PR #144
  • Add HBRequest.CollateBody which can be used in middleware to collate the request body. PR #147
  • Make HBApplication.Persist.driver public

Patch version changes

  • Use NIOLock instead of Lock. PR #143

v0.16.3

27 Sep 07:59
8a117a1
Compare
Choose a tag to compare
  • Support multiple query values with the same key
  • Add Swift Concurrency support for macOS 12.5 and iOS 13

v0.16.2

31 Jul 10:40
Compare
Choose a tag to compare
  • Fix hang inside HBApplication.start if an error occurs that would cause a shutdown.

v0.16.1

11 Jul 09:43
896ff39
Compare
Choose a tag to compare
  • Make HummingbirdXCT framework available in release
  • HBFileMiddleware not handles serving data from Bundles

v0.16.0

19 Feb 10:21
d007814
Compare
Choose a tag to compare
  • Add HBConnectionPoolGroup connection manager. Used to manage connections to external services on a per EventLoop basis. Use HBConnectionSource to generate connections to service (HBConnection).
  • Add Swift concurrency APIs for HBConnectionPoolGroup
  • Use hummingbird-core v0.13.5

v0.15.3

13 Dec 12:47
Compare
Choose a tag to compare
  • Add CustomStringConvertible conformance to HBRequest, HBResponse and HBEnvironment

v0.15.2

04 Dec 07:30
c3abc05
Compare
Choose a tag to compare
  • Add option in HBFileMiddleware to resolve folders as the file index.html inside the folder