Skip to content

Releases: hummingbird-project/hummingbird

v1.6.0

28 Jun 13:56
1179f5e
Compare
Choose a tag to compare

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 in HBFileMiddleware

v1.5.1

03 May 10:51
a2b45b9
Compare
Choose a tag to compare

Patch release changes

  • Fixed issue parsing .env file with empty line at the end

v1.5.0

29 Apr 10:07
Compare
Choose a tag to compare

Minor release changes

  • Update minimum required Swift version to 5.6.
    • Remove all #if compiler checks for Swift concurrency and Sendable conformance

Patch release changes

  • Fix issue with .env parsing of comments before an empty line. PR #189 from @sliemeobn

v1.4.0

23 Mar 15:13
3c07665
Compare
Choose a tag to compare

Minor release changes

  • Add support for loading .env files via HBEnvironment.dotEnv()
  • Add HBEnvironment.merging to create an HBEnvironment by merging two other HBEnvironment together. Can use this alongside .dotEnv() to merge contents of .env file into your environment.
  • Add new HBApplication.Configuration member maxStreamedUploadSize 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

20 Mar 16:27
f38a3ab
Compare
Choose a tag to compare

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

27 Feb 17:32
91256df
Compare
Choose a tag to compare

Minor release changes

  • Add HBRequest.id to return a unique id for your request. PR #173
  • Add HBResponse.redirect to create a redirect response. PR #174

v1.1.1

22 Feb 07:07
9134719
Compare
Choose a tag to compare

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

21 Feb 13:22
b9bdaf7
Compare
Choose a tag to compare

Minor release changes

  • Conform AsyncThrowingStream and AsyncStream to HBResponseGenerator 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

08 Feb 15:27
Compare
Choose a tag to compare

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 with HBResponseGenerator.
  • Make HBEnvironment Sendable.

v1.0.0 Release Candidate 1

17 Jan 17:16
af1006c
Compare
Choose a tag to compare

Breaking Changes

  • Split HBRouter into two types: HBRouter which processes requests and HBRouterBuilder which is used to build an HBRouter. 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.