All Versions
13
Latest Version
Avg Release Cycle
45 days
Latest Release
-

Changelog History
Page 1

  • v1.8.0

  • v1.7.6

    January 25, 2020

    🚀 This release includes a fix for a security vulnerability. This upgrade is recommended for all Ratpack users.

    🔖 Versions of Ratpack 0.9.10 through and including 1.7.5 are vulnerable to CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') (aka. XSS),
    👻 in the development error handler. An attacker can utilize this to perform XSS when an exception message contains untrusted data.

    This vulnerability only exists in the handler that renders an internal server error as a readable HTML page which is activates when Ratpack is running in development mode. This mode is only activate by user request (i.e. setting development(true) in the ServerConfig, setting RATPACK_DEVELOPMENT=true in the environment), or when Ratpack detects it is running in an IDE (i.e. IntelliJ), being run by the Groovy shell, or attached to a debugger. By default, Ratpack sets development(false) when packaged as a Jar.

    👉 Users should verify that they are not running Ratpack with development mode activated in production environments.

    We would like to thank Jonathan Leitschuh for reporting this vulnerability.

    🔒 Please see the security advisory for this issue for more information.

  • v1.7.5

    October 09, 2019
  • v1.7.4

    September 25, 2019
  • v1.7.3

    August 18, 2019

    🚀 This release includes a fix for HttpClient idle timeout that was introduced in Ratpack 1.7.0. Specifically, this timeout was incorrectly applying to in-use HTTP connections from the pool that were idle waiting for a server response. This fixes this behavior and clarifies that idleTimeout applies only to connections that are not currently acquired from the pool. This upgrade is recommended for everyone using 1.7.x.

  • v1.7.2

    August 03, 2019

    🚀 This release includes a fix for a regression introduced in 1.7.0 that resulted in double URL encoded query parameters in redirect responses. Please see the issue list below for details. This upgrade is recommended for everyone using 1.7.x.

  • v1.7.1

    July 20, 2019

    Ratpack 1.7.1 is now available!
    🚀 This patch release fixes a bug with idle connection timeouts for Ratpack's HttpClient (introduced in 1.7.0) which prevented timeouts larger than 1 second to be specified.
    No other changes were introduced.

    --

    Team Ratpack

  • v1.7.0

    July 14, 2019

    Ratpack 1.7.0 is now available!
    🚀 This release adds support of idle timeouts when using connection pooling in HttpClient, an improved Promise.retry interface, a few dependency updates, deprecation of the ratpack-pac4j, ratpack-rx, and ratpack-thymeleaf modules and other improvements and bug fixes.

    ⬆️ The following core dependencies have been upgraded:

    • Netty 4.1.32.Final → 4.1.37.Final
    • Gradle 4.10 → 5.1.1
    • Groovy 2.4.15 → 2.5.4
    • ⬇️ Dropwizard Metrics 3.1.1 → 4.0.5
    • Spock 1.1-groovy-2.4 → 1.3-groovy-2.5
    • 🖐 Handlebars 4.0.7 → 4.1.2

    🔧 The idle timeout for Ratpack's HttpClient can now be configured using the HttpClientSpec.idleTimeout method. Specifying a non-zero value for this timeout will allow Ratpack to close unused connections.

    🗄 The new Promsie.retry method provides a mechanism for encoding complex retry logic in Promise behavior. With the addition of this method, the previous retry methods have been deprecated.

    Ratpack will now use the native OpenSSL libraries if available on the runtime system.

    ✅ The new MockApi and HandlerFactory classes provided additional fixtures for writing tests for Ratpack applications. Combined with a mocking framework such as Spock, they allow for declaring remote API behaviors for an application, inline to a test.

    🚀 As of this release the ratpack-pac4j library that is released as part of this project is officially deprecated and will be removed in Ratpack 2.0. Support for the latest version of Pac4j are provided via the ratpack-pac4j module maintained by the Pac4j team.

    🚀 As of this release the ratpack-rx and ratpack-thymeleaf libraries that are released as part of this project are officially deprecated and will be removed in Ratpack 2.0. Users should migrate to the ratpack-rx2 and ratpack-thymeleaf3 libraries.

    🚀 There are also many other new convenience methods, bug fixes and generally cool stuff added in this release.
    Thanks to all who contributed.

    We hope you enjoy Ratpack 1.7.

    --

    Team Ratpack

  • v1.6.1

    April 24, 2019

    🚀 This release fixes a security vulnerability around session ID generation and is recommended for all users.

    0️⃣ The issue stems from the default session ID generator using a cryptographically weak pseudo random number generator in the JDK's ThreadLocalRandom. This means that if an attacker can determine a small window for the server start time and obtain a session ID value, they can theoretically determine the sequence of session IDs. 1.6.1 uses system entropy when generating values to make the values non determinable.

    If you are using client side sessions, your application is not vulnerable as the session ID is not used.

    0️⃣ If you are using a version earlier than 1.6, you can fix the the issue by binding a custom SessionIdGenerator implementation based on the new version.

    Special thanks to Jonathan Leitschuh for discovering and reporting this vulnerability.

  • v1.6.0

    December 21, 2018

    Just in time to ring in 2019, Ratpack 1.6.0 is now available!
    🚀 This release adds integration with additional reactive programming libraries and many improvements that allow Ratpack to integrate more seamlessly with external libraries.

    ⬆️ The following core dependencies have been upgraded:

    • Netty 4.1.22.Final → 4.1.32.Final
    • Jackson 2.9.4 → 2.9.8
    • ReactiveStreams 1.0.0.final → 1.0.2
    • Caffeine 2.4.0 → 2.6.2
    • SnakeYAML 1.18 → 1.23
    • 🖐 Handlebars 4.0.6 → 4.0.7

    👍 The new ratpack-reactor module adds support for integrating Ratpack with Project Reactor types.

    👍 The new ratpack-rx2 module adds support for integrating Ratpack with version 2 of RxJava. This is a new module to support the new types introduced in RxJava 2.0.

    👍 The new ratpack-thymeleaf3 module adds support for integrating Ratpack with version 3 of Thymeleaf templating.

    📜 The new ratpack-gson module adds support for parsing request bodies and rendering responses using Google's Gson library.

    The new Promise.flatOp
    method allows for mapping a Promise directly into an `Operation.

    The new Promise.mapError and Promise.flatMapError which allow for providing a conditional Predicate for the mapping.

    🔧 The ability to configure request and response interceptors for Ratpack's HttpClient through the HttpClientSpec.requestIntercept, HttpClientSpec.responseIntercept(Action), HttpClientSpec.responseIntercept(Operation), and HttpClientSpec.errorIntercept methods.

    Create a new HttpClient instance by by inheriting from another instance using the HttpClient.copyWith method.

    👌 Improvements in Ratpack's integration with Retrofit by allowing the underlying HttpClient to be specified with the RatpackRetrofit.Builder.httpClient method. This allows for utilizing Retrofit outside of a Ratpack HTTP request (e.g. from a background service)

    Forked executions can now obtain references to their parent executions through the Execution.getParent() and [Execution.maybeParent()] (https://ratpack.io/manual/1.6.0/api/ratpack/exec/Execution.html#maybeParent--) methods.

    0️⃣ Applications can now register their own JVM shutdown hook to perform custom behaviors instead of Ratpack's default hook. Applications using a custom hook can disabled the default hook by setting ServerConfigBuilder.registerShutdownHook(false)

    👍 The ratpack-dropwizard-metrics module now supports exporting metrics to Prometheus (DropwizardMetricsConfig.prometheusCollection(true)) and collecting metrics on ByteBuf (DropwizardMetricsConfig.byteBufAllocator(Action)) and HttpClient (DropwizardMetricsConfig.httpClient(Action))

    🚀 There are also many other new convenience methods, bug fixes and generally cool stuff added in this release.
    Thanks to all who contributed.

    We hope you enjoy Ratpack 1.6.

    --

    Team Ratpack