Skip to content

Releases: hummingbird-project/hummingbird

v2.0.0 Release Candidate 6

09 Sep 12:25
8927764
Compare
Choose a tag to compare
Pre-release

Breaking changes

  • Renamed RouterMethods.add(middlewareStack:) to RouterMethods.addMiddleware(buildMiddlewareStack:). #540

Minor release changes

  • MetricsMiddleware reports metrics and dimensions conforming to OpenTelemetry conventions. #541
  • Added new meter http.server.active_requests measuring how active requests are in flight at this point in time. #541
  • Edited logger attributes to be a similar format to metrics. #541

Patch release changes

  • Fix for crash when decoding badly formatted ClosedRange using URLEncodedFormDecoder. #543
  • Add support to URLEncodedFormDecoder for decoding arrays formatted with array index eg arr[0]=url&arr[1]=encoded&arr[2]=form. #542 from @supersonicbyte

v2.0.0 Release Candidate 5

27 Aug 08:58
39362b4
Compare
Choose a tag to compare
Pre-release

Breaking changes

  • Make ResponseBodyWriter methods mutating. #529

Patch release changes

  • Fix serving of multiple files on the same connection. #531
  • Return empty response from FileIO for empty files . #532 from @andreasley

v2.0.0 Release Candidate 4

23 Aug 09:49
80fd368
Compare
Choose a tag to compare
Pre-release

Breaking changes

  • Removed allocator from RequestContext. #521
  • Server uses ResponseWriter to write HTTP response. #519
  • Removed ResponseBodyWriter.withTrailingHeaders. #519
  • ResponseBodyWriter closure should call finish(_:) once it is finished. It can also supply trailingHeaders to the `finish(_:) call. #519

Minor release changes

  • Added new Configuration parameter availableConnectionDelegate to control how many connections the server accepts. #518
  • Implemented MaximumAvailableConnections conforming to AvailableConnectionsDelegate which limits the number of connections the server allows to a specific amount. #518
  • Add support for binding server to NWEndpoint. #525
  • Add map to ResponseBodyWriter to support simple transforms of response bodies #526

Patch release changes

  • Fix compile errors for Musl. #517
  • Fix errors when compiling in Swift 6 mode. #523

Other changes

  • Always use fulfillment in tests. #524

v2.0.0 Release Candidate 3

22 Jul 08:41
a1028d2
Compare
Choose a tag to compare
Pre-release

Breaking changes

  • Renamed RouterPath.appendPath to RouterPath.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 to FileMiddleware 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

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