Skip to content

[Python] Release 0.53.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 20:00
· 227 commits to master since this release
9d09cf5

Fixed

  • Draft 4 type: integer matching a float or not depending on its repr; a float is never a draft 4 integer.
  • Draft 4 type: integer accepting Decimal("1E+2").
  • uniqueItems accepting 0 alongside -0.0 in arrays of more than 15 items.

Performance

  • Canonicalizing an allOf of object schemas walks their property maps once instead of looking every key up.
  • properties and required compare short names without memcmp.
  • type: integer, and type sets containing it, are up to 67x faster on float-heavy instances.
  • Draft 4 type: integer is up to 20x faster on float-heavy instances.
  • Raising ValidationError is up to 38% faster.
  • evaluate is up to 30% faster, from rendering each node's locations once.
  • Building a schema resolves each $ref target once instead of per reference site.
  • Building a schema with an $id encodes each absolute location once instead of re-validating it.
  • enum listing strings or integers, with or without null, matches against a set instead of comparing each candidate.