Skip to content

0.42.63

Latest

Choose a tag to compare

@bryce-anderson bryce-anderson released this 19 Feb 23:07
· 20 commits to main since this release
1ba85e3

This is a minor maintenance release appropriate for all ServiceTalk users that contains several useful improvements and bug fixes. This release is expected to be a "drop-in" replacement for all prior 0.42.X releases.

Changes

Behavior Changes

  • cd847dc - Prevent users from blocking on IoThread or non-blicking Threads (#3422)
    • Blocking operations known to ServiceTalk will throw IllegalBlockingOperationException if they run on NonBlockingThread.
    • Users can set -Dio.servicetalk.concurrent.api.warnOnNonBlockingThread=true to emit a WARN logging instead of throwing an exception.
  • d9f496a - Increase default limits for HTTP/1.x and HTTP/2 configurations (#3427)
    1. H1ProtocolConfig.maxStartLineLength(): 4Kb -> 8Kb
    2. H1ProtocolConfig.maxHeaderFieldLength(): 8Kb -> 16Kb
    3. H1ProtocolConfig.maxTotalHeaderFieldsLength(): 8Kb -> 32Kb
    4. Http2Settings#maxHeaderListSize(): 8Kb -> 32Kb

New Features

  • b41e483 - http-api: Add filter support to the MultiAddressClientBuilder (#3420)
  • a033d6f - http-netty: add ability to delay service discovery errors in RetryingHttpRequesterFilter (#3413)
  • bc5224e - dns-discovery-netty: Add support for DNS backup requests (#3369)
  • a01fd9d - Add support for HTTP/1.x total header size limit (#3407, #3421, #3423, #3428)
    • -Dio.servicetalk.http.netty.temporarilyDefaultMaxTotalHeaderFieldsLength=value can be used to temporarily adjust default limit of 32Kb until it can be configured via H1ProtocolConfigBuilder#maxTotalHeaderFieldsLength(int) API.

Bug Fixes

  • e03f8ca - loadbalancer: fix bad interaction between subsetting and minConnectionsPerHost that led to creating excess connections (#3402)

Improvements

  • f5ce481 - Warn if users set -Dio.servicetalk.http.netty.skipConcurrentRequestCheck=true (#3430)
  • c60b67c - Improve debuggability of concurrent request check (#3424)
  • 12a2e5e - http-netty: use same HttpHeaders implementation for HTTP/1.x and HTTP/2 (#3409)
    • This helps to smooth upgrade from HTTP/1.x to HTTP/2 protocol by removing requirement to set all headers in lowercase, headers will be automatically lowercased if necessary
  • 807cea8 - http-netty: allow setting new ServiceDiscoverer with ON_NEW_CONNECTION strategy on a client builder (#3406)
  • 0935c98 - Ensure TooLongFrameException is thrown consistently for all HTTP/1.x limits (#3426)

Dependencies

  • 301f030 - Bump netty dependency: 4.1.130.Final -> 4.1.131.Final (#3431)

Thank you

Every idea, review, and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report any unintended omission.

@bryce-anderson
@idelpivnitskiy
@LiwaaCoder
@daschl

Full Changelog: 0.42.62...0.42.63