Releases: hummingbird-project/hummingbird
Releases · hummingbird-project/hummingbird
v1.6.0
Minor release changes
- Add
HBTracingMiddleware
implementing recording of tracing spans as defined in the Open Telemetry specification. - Add support for propagating tracing context through the EventLoop chain (via HBRequest), so it can be passed onto services used by route handlers.
Patch release changes
- Add support for
if-range
header inHBFileMiddleware
v1.5.1
Patch release changes
- Fixed issue parsing
.env
file with empty line at the end
v1.5.0
Minor release changes
- Update minimum required Swift version to 5.6.
- Remove all
#if compiler
checks for Swift concurrency and Sendable conformance
- Remove all
Patch release changes
- Fix issue with
.env
parsing of comments before an empty line. PR #189 from @sliemeobn
v1.4.0
Minor release changes
- Add support for loading
.env
files viaHBEnvironment.dotEnv()
- Add
HBEnvironment.merging
to create anHBEnvironment
by merging two otherHBEnvironment
together. Can use this alongside.dotEnv()
to merge contents of.env
file into your environment. - Add new
HBApplication.Configuration
membermaxStreamedUploadSize
so we can have different payload size requirements for streamed and non-streamed routes.maxUploadSize
applies to request payloads from non-streamed routes.maxStreamedUploadSize
applies to request payloads that are streamed.
## Patch release changes
- Fixed crash when collating large byte buffer for async route
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
.