What's Changed
- http4s: Fix the configured
FieldFilternot 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/BigDecimaldefault values and@rangebounds losing precision when they don't fit in anInt/Double(e.g.4294967296becoming0,9007199254740993becoming9007199254740992), in #2002, fixing #2001. Values are now carried exactly and rendered asscala.math.BigDecimal("...")/scala.math.BigInt("...")string literals. IntegerDocumentdefaults beyond theLongrange are rendered withDocument.fromBigDecimalinstead of wrapping. As a side effect,@rangebounds on integer literals now print without a trailing.0in validation error messages (e.g.Input must be >= 1instead of>= 1.0). - Fix
@rangevalidation losing precision by converting every value throughDoublebefore comparing it to the bounds, in #2004, fixing #2003.Longvalues above 2^53,BigIntvalues beyond the double range (which used to be rejected as infinity) andBigDecimalvalues are now compared exactly. The matching codegen fix for@rangebounds rendered throughDoubleis in #2002. Validation messages for integral inputs no longer render a trailing.0(e.g.but was 11instead ofbut was 11.0). - Fix
@httproutes never matching when a greedy label ({foo+}) is followed by a static segment (e.g./base/{foo+}/end) in #1998.matchPathonly 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