Releases: hummingbird-project/hummingbird
Releases · hummingbird-project/hummingbird
v2.0.0 Alpha 2
Breaking changes
HBRequestBody
has been converted from anenum
to astruct
.HBBindAddress
renamed toHBAddress
and has been converted from anenum
to astruct
.HBHTTPChannelBuilder.http2
renamed toHBHTTPChannelBuilder.http2Upgrade
.HBServerConfiguration
is no longer passed toHBChildChannel.setup
.- Removed
HBRouterMethodOptions
as they are no longer needed. - Removed
loggerWithRequestId
global function. - Removed
HBApplicationConfiguration.noHTTPServer
as we don't use it. HBServer.makeServer
is no longer public..env
file loading is now async.
Minor release changes
- Added
HBRequestBody.makeStream
to construct a new back pressured stream of buffers for a request body. - Added generalized client type to setup client connection without defining the protocol being used (being used by WebSocket client).
HBApplicationConfiguration
members are allvar
instead oflet
.
Patch release changes
- Fix issue with
HBApplication.runBeforeServerStart
and testing using.router
framework. - Set StrictConcurrency=complete and fixed related warnings
Other changes
- Updated README for v2.
Full Changelog: 2.0.0-alpha.1...2.0.0-alpha.2
v2.0.0 Alpha 1
This is the first alpha release of Hummingbird v2. Below is a list of the major changes
- Complete rewrite of internals to be Swift structured concurrency based instead of NIO EventLoop
- All EventLoopFuture based APIs have been removed
- Integration with v2 of Swift Service Lifecycle.
- Removed ability to extend
HBApplication
andHBRequest
. These are replaced with direct dependency injection and a generic request context which is passed along with the request in route handlers and middleware. - In addition to the trie based router we have a new result builder based router.
- Uses new HTTPTypes from Apple.
- HummingbirdCore module is now in the same repository as Hummingbird
- Merged HummingbirdFoundation into Hummingbird
- Rewrite of Jobs system to use structured concurrency.
API Documentation can be found here and more details about differences between Hummingbird v1 and v2 can be found in the migration guide
Alongside the Hummingbird v2 alpha release, there will be alpha releases of HummingbirdAuth, HummingbirdRedis and HummingbirdFluent. WebSocket and Compression are not ready for release yet and will come later.
v.1.12.0
Minor release changes
- Add
RequestID
to generate unique ids for each request. The request id is no longer just an incrementing counter. It now includes an extra random element to identify the hummingbird process generating the request. It is also output as hex instead of decimal. PR #326
Other changes
- Removed unused documentation. Documentation is generated from https://github.com/hummingbird-project/hummingbird-docs.
- Documentation link now includes hummingbird version, in preparation for future major releases.
- Set documentation visibility to internal for
@_exported
symbols from other libraries.
v1.11.0
Minor release changes
- Make
HBMethods.constructResponder
public. PR #316
Other changes
- Update CONTRIBUTORS.md
- Fix small code mistake in Encoding and Decoding.md. PR #304 from @sidepelican
1.10.1
Patch release changes
- Return correct content-type for
index.html
file. PR #299 from @sidepelican
v1.10.0
Minor release changes
- Change scope of
HBXCTResponse.init
andHBXCTError
to public
v1.9.1
Patch release changes
- Remove global
ISO8601DateFormatter
used in URLEncodedForm encoder/decoder as it is not thread safe on Linux.
v1.9.0
Minor release changes
- Minimum supported version of Swift is 5.7. PR #242
- Add own version of EventLoopGroupProvider which only includes
shared
orsingleton
. DeprecateHBApplication.init
that uses swift-nio version. PR #241 - Added
HBApplication.run
which calls bothstart
andwait
PR #243 - Added
HBApplication.asyncWait
andHBApplication.asyncRun
that can be called from an asynchronous context. PR #243
Patch release changes
v1.8.4
v1.8.3
- Make
AsyncSequenceResponseBodyStreamer
public