Changelog History
-
v0.11.1-RC1
November 08, 2018 -
v0.11.0 Changes
January 24, 2018Load 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 Changes
October 18, 2017An 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 outputNot found
. -
v0.10.0 Changes
October 18, 2017To 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 aHttpHeader
. For example:request.ok(HttpBody("text", HttpHeader("content-type", "application/json")))
Becomes
request.ok(HttpBody("text")).withContentType(ContentType.ApplicationJson)