Skip to content

Releases: hummingbird-project/hummingbird

v2.0.0 Release Candidate 2

06 Jul 15:30
50f887f
Compare
Choose a tag to compare
Pre-release

Minor release changes

  • Make MediaTypeCategory public. PR #498 from @CallumTodd7
  • Set hb_uri metric to NotFound in MetricsMiddleware 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 from HTTPResponseError 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

01 Jul 08:18
0e6de71
Compare
Choose a tag to compare
Pre-release

Breaking changes

  • HummingbirdJobs has been moved into its own repository https://github.com/hummingbird-project/swift-jobs.
  • Add FileIdentifier associated type to FileProvider. PR #487
  • Use RouterPath instead of String in Router endpoint functions. PR #491
  • Environment.shared has been removed.
  • DateCache is no longer a public symbol
  • MediaType.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 tagged unavailable. PR #486
  • MiddlewareGroup.add returns self 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 @availables 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 the Router. PR #484

Other changes

  • Fix Swift 6 concurrency errors in HTTP2 and TransportServices tests. PR #481

v2.0.0 Beta 8

18 Jun 07:33
Compare
Choose a tag to compare
v2.0.0 Beta 8 Pre-release
Pre-release
  • Include Collections in dependencies of HummingbirdCore

v2.0.0 Beta 7

17 Jun 09:48
1d10ee0
Compare
Choose a tag to compare
v2.0.0 Beta 7 Pre-release
Pre-release

Breaking changes

  • Rename Request.collateBody to Request.collectBody. PR #468
  • Replace RequestContext initialization parameters with an assoicatedtype Source and collapse RequestContext and BaseRequestContext into one protocol. PR #469, #474
  • Add add(middleware:) as a requirement to RouterMethods and conform Router

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

05 Jun 11:45
44aea61
Compare
Choose a tag to compare
v2.0.0 Beta 6 Pre-release
Pre-release

Major release changes

  • Move Error handling from HummingbirdCore to Application in Hummingbird. PR #462

Patch release changes

  • Fix router path precedence and parsing of OpenAPI style parameters. PR #464
  • Ensure server errors have CORS, server and date headers. PR #461

v2.0.0 Beta 5

21 May 16:37
aed1e36
Compare
Choose a tag to compare
v2.0.0 Beta 5 Pre-release
Pre-release

Breaking changes

  • Allow for LogRequestsMiddleware to filter headers logged. PR #433
  • Add services parameter to Application.init. PR #438
  • Don't add @_exported to Foundation symbols. PR #449
  • Add requirement that channel is accessible in ServerChildChannel.Value. PR #450
  • HTTPChannelBuilder renamed HTTPServerBuilder and builds Server instead of ServerChildChannel. PR #452
  • Address renamed back to BindAddress

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

29 Apr 10:19
23bedac
Compare
Choose a tag to compare
v2.0.0 Beta 4 Pre-release
Pre-release

Minor release changes

  • Add public to RouterMethods.on(_:path:use:)

v2.0.0 Beta 3

29 Apr 09:56
e5fbcd9
Compare
Choose a tag to compare
v2.0.0 Beta 3 Pre-release
Pre-release

Breaking changes

  • Remove ClientConnection code as this has been moved to hummingbird-websocket the only place it is used.
  • Remove RouteHandler protocol as this doesn't work with dependency injection.
  • Remove Sendable conformance requirement from ResponseEncoder, RequestDecoder protocols. PR #424
  • Remove ServerChildChannel generic parameter from ApplicationProtocol. PR #426
  • Add optional port parameter to TestClientProtocol

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 a Router. PR #421

Patch release changes

  • Remove SwiftNIO outbound HTTP header validation as HTTPTypes already does this for us. PR #417

v1.12.2

18 Apr 15:30
Compare
Choose a tag to compare

Patch release changes

  • Require hummingbird-core v1.6.1

v2.0.0 Beta 2

03 Apr 17:15
Compare
Choose a tag to compare
v2.0.0 Beta 2 Pre-release
Pre-release

Major release changes

  • Add FileProvider protocol to abstract file loading in FileMiddleware. Default to loading from the local file system, this could be used to load from S3, or using a cache. #405

Minor release changes

  • Make RequestID public #407

Patch release changes

  • Reinstate "hb_" prefix to logger metadata. #406
  • Fix crash in percentDecoding in HBParser. PR #404 from @tannerdsilva
  • Add support for running tests on macOS CI without access to the KeyChain. #409
  • Fix metrics timers to record length of request once all of the response has been written #412