All Versions
10
Latest Version
Avg Release Cycle
54 days
Latest Release
645 days ago

Changelog History

  • v0.11.1-RC1

    November 08, 2018
  • v0.11.0

    January 24, 2018

    Load balancer

    👀 Previously clients had to be manually wrapped in a load balancer class to add load balancing and retry logic to clients. This logic is now built into clients and is configurable. The client is passed a sequence of addresses instead of just one. The default behavior is to retry using every host in the list with zero backoff. For example, with one host, only one attempt is made; with five hosts, five attempts will be made using each of the hosts. The number of retries and the backoff strategy is configurable, see the client docs for more details. The old load balancer has been deprecated and will be removed in a future version.

    Filters and HTTP compression

    👀 Filter functionality has been added to request handlers so if you want logic to be applied to every request you can add a filter. Specifically this means that compression has been added to HTTP services so requests can be uncompressed. See the services docs for more details.

    Consistent redis and memcache interfaces

    🚚 The redis API has been simplified so the default behavior is to return options, which matches the design of the memcache API. The old methods have been deprecated and will be removed in a future version.

  • v0.11.0-SNAPSHOT

    November 06, 2017
  • v0.11.0-RC1

    January 19, 2018
  • v0.11.0-M4

    January 11, 2018
  • v0.11.0-M3

    January 08, 2018
  • v0.11.0-M2

    December 07, 2017
  • v0.11.0-M1

    November 08, 2017
  • v0.10.1

    October 18, 2017

    An undefined route would return No route for ${request.head.url}, which could allow for a cross-site scripting attack. The code was change to just output Not found.

  • v0.10.0

    October 18, 2017

    To migration from 0.9.x to 0.10.x:

    📦 Package namespace changes, a non-exhausted list:

    • colossus.protocols.http.server.HttpServer => colossus.protocols.http.HttpServer
    • colossus.protocols.http.server.Initializer => colossus.protocols.http.Initializer
    • colossus.protocols.http.server.RequestHandler => colossus.protocols.http.RequestHandler
    • colosuss.metrics.LoggerSender => colosuss.metrics.senders.LoggerSender

    - colosuss.metrics.OpenTsdbSender => colosuss.metrics.senders.OpenTsdbSender

    🚚 Content type removed from HttpBody and is now correctly accessible as a HttpHeader. For example:

    request.ok(HttpBody("text", HttpHeader("content-type", "application/json")))
    

    Becomes

    request.ok(HttpBody("text")).withContentType(ContentType.ApplicationJson)