Releases: hummingbird-project/hummingbird
Releases · hummingbird-project/hummingbird
v1.0.0
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 withHBResponseGenerator
. - Make
HBEnvironment
Sendable.
v1.0.0 Release Candidate 1
Breaking Changes
- Split
HBRouter
into two types:HBRouter
which processes requests andHBRouterBuilder
which is used to build anHBRouter
. 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
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 toSendable
Patch release changes
- Use new
NIOAsyncTestingChannel.waitForOutboundWrite
inHBXCTAsyncTesting
- Add new
HBHTTPConvertChannel
to convert fromHTTPServerResponsePart
to Sendable type
Other changes
- Fix integration test compilation
v1.0.0 Alpha 1
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
andtcpNoDelay
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 ofLock
. PR #143
v0.16.3
- Support multiple query values with the same key
- Add Swift Concurrency support for macOS 12.5 and iOS 13
v0.16.2
- Fix hang inside
HBApplication.start
if an error occurs that would cause a shutdown.
v0.16.1
- Make HummingbirdXCT framework available in release
HBFileMiddleware
not handles serving data from Bundles
v0.16.0
- Add
HBConnectionPoolGroup
connection manager. Used to manage connections to external services on a per EventLoop basis. UseHBConnectionSource
to generate connections to service (HBConnection
). - Add Swift concurrency APIs for
HBConnectionPoolGroup
- Use
hummingbird-core
v0.13.5
v0.15.3
- Add
CustomStringConvertible
conformance toHBRequest
,HBResponse
andHBEnvironment
v0.15.2
- Add option in
HBFileMiddleware
to resolve folders as the fileindex.html
inside the folder