Repository navigation
[Rust] Release 0.60.1
·
56 commits
to master
since this release
- Panic on numbers past
f64inconst,enum,minimum,maximum,exclusiveMinimum,exclusiveMaximumandtype: integerwhen another crate in the build enablesserde_json/arbitrary_precisionwhile thearbitrary-precisionfeature is off. #1790 #[jsonschema::validator]panicking during expansion, or generating code that panics, on schema numbers pastf64when another crate in the build enablesserde_json/arbitrary_precisionwhile thearbitrary-precisionfeature is off. Such numbers are compile errors, as without thatserde_jsonfeature. #1790const,enumanduniqueItemstreating objects with the same members in a different key order as unequal when another crate in the build enablesserde_json/preserve_order. #1791- Wrong results in
type: integer,const,enum,uniqueItems,multipleOf,minimum,maximum,exclusiveMinimumandexclusiveMaximumfor numbers with exponents past one million, such as1e-2000000, with thearbitrary-precisionfeature. #[jsonschema::validator]rejectingmultipleOfwith a positive divisor below the smallestf64, such as1e-400, with thearbitrary-precisionfeature.
Performance
- Validation of numbers with many digits or large exponents in
const,enum,uniqueItems,type: integer,multipleOf,minimum,maximum,exclusiveMinimumandexclusiveMaximumwith thearbitrary-precisionfeature taking time growing faster than the square of the digit count, instead of at most the square. - Validation of numbers with more than ten thousand digits, written or implied by their exponent, with the
arbitrary-precisionfeature taking time linear in their written length instead of quadratic in their digit count.