Releases: hummingbird-project/hummingbird
Releases · hummingbird-project/hummingbird
v2.0.0 Release Candidate 3
Breaking changes
- Renamed
RouterPath.appendPath
toRouterPath.appendingPath
as it is non-mutating. PR #511
Minor release changes
- Add MediaType
.applicationManifest
. PR #507 from @alephao - Allow user to add Middleware stack result builder to RouterMethods. PR #512
- Add
RouterMethods.group(_:context:)
to transform RequestContext into new type. PR #513 - Add
ContextTransform(to:)
to transform RequestContext in RouterBuilder. PR #513, #514 - Add
urlBasePath
parameter toFileMiddleware
that is removed from path when loading file. PR #510
Other changes
- Updated to using SwiftFormat 0.53.10
v2.0.0 Release Candidate 2
Minor release changes
- Make
MediaTypeCategory
public. PR #498 from @CallumTodd7 - Set
hb_uri
metric toNotFound
inMetricsMiddleware
for 404 errors. PR #499 from @CallumTodd7 - Use quiescing helper to implement graceful shutdown instead of
withGracefulShutdown
inside HTTP handling code. PR #453 - Add ExpressibleByStringInterpolation conformance to RouterPath. PR #505
- Remove
headers
member variable requirement fromHTTPResponseError
protocol. PR #506
Patch release changes
- Add test dependency to fix linking error in unit tests. PR #504 from @JonPulfer
v2.0.0 Release Candidate 1
Breaking changes
- HummingbirdJobs has been moved into its own repository https://github.com/hummingbird-project/swift-jobs.
- Add
FileIdentifier
associated type toFileProvider
. PR #487 - Use
RouterPath
instead ofString
in Router endpoint functions. PR #491 Environment.shared
has been removed.DateCache
is no longer a public symbolMediaType.Category
has been converted from an enum to a struct- Add options field to RouterBuilder and add
caseInsensitive
option. PR #483 - Deprecated symbols prefixed with
HB
have now been taggedunavailable
. PR #486 MiddlewareGroup.add
returnsself
to allow for builder pattern. PR #496 from @runhum
Patch release changes
- Router bug fixes. PR #479
- Fixed issue where tracing middleware span names weren't set with the RouterBuilder. PR #480
FileMiddleware
reports the resolved endpoint as "FileMiddleware", to avoid fragmentation of metrics and tracing data. PR #482- Remove unnecessary
@available
s where they are testing against older versions of swift that we don't support. PR #490 - Use TaskLocal instead of ServiceContext to store state while running the RouterBuilder result builder. PR #488
- Fix HTTPError serialisation and move error conversion to
Response
inside theRouter
. PR #484
Other changes
- Fix Swift 6 concurrency errors in HTTP2 and TransportServices tests. PR #481
v2.0.0 Beta 8
- Include
Collections
in dependencies of HummingbirdCore
v2.0.0 Beta 7
Breaking changes
- Rename
Request.collateBody
toRequest.collectBody
. PR #468 - Replace
RequestContext
initialization parameters with an assoicatedtypeSource
and collapseRequestContext
andBaseRequestContext
into one protocol. PR #469, #474 - Add
add(middleware:)
as a requirement toRouterMethods
and conformRouter
Minor release changes
- Make
chunkLength
a configurable option in HBFileIO.read functions. PR #471 - Make HTTPUserEventHandler final
Patch release changes
- Don't apply middleware to earlier routes in RouteCollection. PR #466
- Fix Swift.6 error in
Promise
used in tests
Miscellaneous
- Added CODEOWNERS file
v2.0.0 Beta 6
v2.0.0 Beta 5
Breaking changes
- Allow for LogRequestsMiddleware to filter headers logged. PR #433
- Add
services
parameter toApplication.init
. PR #438 - Don't add
@_exported
to Foundation symbols. PR #449 - Add requirement that channel is accessible in
ServerChildChannel.Value
. PR #450 HTTPChannelBuilder
renamedHTTPServerBuilder
and buildsServer
instead ofServerChildChannel
. PR #452Address
renamed back toBindAddress
Minor release changes
- Make
RequestBody.init(asynsSequence:)
public. - Make
LocalFileSystem.init()
public. PR #451 from @alephao - Ensure tracing span records correct duration. PR #435
- Add support for compiling against Musl. PR #446
Patch release changes
- Return 404 when user attempts to load folder from
FileMiddleware
. PR #432 - Include more descriptive error messages when returning errors. PR #431
- Add
content-length
header if we pass in a body to the router test framework - Optimize TrieRouter by using array of structs. PR #443
- Rely on NIO defaults for `maxMessagesPerRead. PR #441
- Minor optimisations, reducing number of allocations. PR #454
v2.0.0 Beta 4
Minor release changes
- Add
public
toRouterMethods.on(_:path:use:)
v2.0.0 Beta 3
Breaking changes
- Remove
ClientConnection
code as this has been moved tohummingbird-websocket
the only place it is used. - Remove
RouteHandler
protocol as this doesn't work with dependency injection. - Remove
Sendable
conformance requirement fromResponseEncoder
,RequestDecoder
protocols. PR #424 - Remove
ServerChildChannel
generic parameter fromApplicationProtocol
. PR #426 - Add optional
port
parameter toTestClientProtocol
Minor release changes
- Fix minimum nio version to use async FileIO. PR #414 from @sidepelican
- Update
content-length
header on setting Response body. PR #425 - Add
RouteCollection
type for passing around groups of routes unattached to aRouter
. PR #421
Patch release changes
- Remove SwiftNIO outbound HTTP header validation as HTTPTypes already does this for us. PR #417
v1.12.2
Patch release changes
- Require hummingbird-core v1.6.1