Skip to content

v0.19.12

Latest

Choose a tag to compare

@kubukoz kubukoz released this 08 Sep 16:34
· 1 commit to series/0.19 since this release
416ece7

What's Changed

  • http4s: Fix the configured FieldFilter not being applied when a server encodes response metadata (e.g. HTTP headers) in #1992. SimpleRestJsonBuilder.withFieldFilter(...) now affects response header/metadata encoding on the server, matching the behavior already present on the client request side.
  • codegen: Fix BigInteger/BigDecimal default values and @range bounds losing precision when they don't fit in an Int/Double (e.g. 4294967296 becoming 0, 9007199254740993 becoming 9007199254740992), in #2002, fixing #2001. Values are now carried exactly and rendered as scala.math.BigDecimal("...")/scala.math.BigInt("...") string literals. Integer Document defaults beyond the Long range are rendered with Document.fromBigDecimal instead of wrapping. As a side effect, @range bounds on integer literals now print without a trailing .0 in validation error messages (e.g. Input must be >= 1 instead of >= 1.0).
  • Fix @range validation losing precision by converting every value through Double before comparing it to the bounds, in #2004, fixing #2003. Long values above 2^53, BigInt values beyond the double range (which used to be rejected as infinity) and BigDecimal values are now compared exactly. The matching codegen fix for @range bounds rendered through Double is in #2002. Validation messages for integral inputs no longer render a trailing .0 (e.g. but was 11 instead of but was 11.0).
  • Fix @http routes never matching when a greedy label ({foo+}) is followed by a static segment (e.g. /base/{foo+}/end) in #1998. matchPath only accumulated greedy segments when the greedy label was the last path segment, so such routes always 404'd.

New Contributors

Full Changelog: v0.19.11...v0.19.12