Releases: hummingbird-project/hummingbird
Releases · hummingbird-project/hummingbird
v1.3.0
Minor release changes
- Router improvements. PRs #177, #179
**
catch all.- match path components with prefix
file.*
or suffix*.ext
. - Additional parameter capture format
${param}
which can also be used to capture the prefix or suffix of a path component.
- Added
HBParameters.getCatchAll()
to return array of path components caught by**
.
Other changes
- Using package-benchmark for benchmarking hummingbird. Includes CI to check for performance degradation.
- Added tests for
FlatDictionary
.
v1.2.0
v1.1.1
Patch release changes
- Fix bug where releasing Connections from ConnectionPool could reuse the connection immediately and also add it to the available connection list
v1.1.0
Minor release changes
- Conform
AsyncThrowingStream
andAsyncStream
toHBResponseGenerator
so they can be returned from a route. - Added
AsyncSequence.responseGenerator
which can be returned from a route.
Patch release changes
- Fix issue when
HBApplication.stop
was not waiting until the lifecycle was fully shutdown.
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.