Ultrajson Versions Save

Ultra fast JSON decoder and encoder written in C with Python bindings

5.10.0

4 days ago

Added

  • Add support for Python 3.13 (#628) @hugovk

5.9.0

5 months ago

Breaking

  • Raise TypeError if toDict() returns a non-dict instead of silently converting it to null (#615) @eltoder
  • Use lowercase strings for bool dict keys (#614) @eltoder

Added

  • Deploy to PyPI using trusted publishing (#603) @hugovk
  • Replace PyPy3.8 wheel with PyPy3.10 (#602) @hugovk

Changed

  • Speed-up and cleanup objToJSON (#615) @eltoder
  • Use lowercase strings for bool dict keys (#614) @eltoder

Fixed

  • Fix typos found by codespell (#610) @DimitriPapadopoulos
  • Fix undefined behavior in Buffer_AppendLongUnchecked (#606) @WillAyd

5.8.0

11 months ago

Added

  • Build wheel for Python 3.12 beta (built against 3.12.0b2) (#594) @hugovk

Changed

  • Drop support for Python 3.7 (#595) @hugovk

Fixed

  • Include BSD-3-Clause and TCL license text (#584) @musicinmybrain

5.7.0

1 year ago

Added

  • Support ujson.loads(bytearray(...)) and other bytes-like objects. (#573) @bwoodsend

5.6.0

1 year ago

Added

  • Update vendored double-conversion to 3.2.1 (#570) @joemarshall

Fixed

  • Fix len integer overflow issue (#567) @marioga

5.5.0

1 year ago

Added

  • Add support for Python 3.11 and PyPy3.9 (#564) @hugovk
  • Add separators encoding parameter (#557) @JustAnotherArchivist

Fixed

  • Fix encoding of infinity (#80). (#562) @bwoodsend

5.4.0

1 year ago

Added

  • Add support for arbitrary size integers (#548) @JustAnotherArchivist

Fixed

  • CVE-2022-31116:
    • Replace wchar_t string decoding implementation with a uint32_t-based one (#555) @JustAnotherArchivist
    • Fix handling of surrogates on decoding (#550) @JustAnotherArchivist
  • CVE-2022-31117: Potential double free of buffer during string decoding @JustAnotherArchivist
  • Fix memory leak on encoding errors when the buffer was resized (#549) @JustAnotherArchivist
  • Integer parsing: always detect overflows (#544) @NaN-git
  • Fix handling of surrogates on encoding (#530) @JustAnotherArchivist

5.3.0

1 year ago

Added

  • Test Python 3.11 beta (#539) @hugovk

Changed

  • Benchmark refactor - argparse CLI (#533) @Erotemic

Fixed

  • Fix segmentation faults when errors occur while handling unserialisable objects (#531) @JustAnotherArchivist
  • Fix segmentation fault when an exception is raised while converting a dict key to a string (#526) @JustAnotherArchivist
  • Fix memory leak dumping on non-string dict keys (#521) @JustAnotherArchivist
  • Fix ref counting on repeated default function calls (#524) @JustAnotherArchivist
  • Remove redundant wheel dependency from pyproject.toml (#535) @hugovk

5.2.0

2 years ago

Added

  • Support parsing NaN, Infinity and -Infinity (#514) @Erotemic
  • Support dynamically linking against system double-conversion library (#508) @musicinmybrain
  • Add env var to control stripping debug info (#507) @musicinmybrain
  • Add JSONDecodeError (#498) @JustAnotherArchivist

Fixed

  • Fix buffer overflows (CVE-2021-45958) (#519) @JustAnotherArchivist
  • Upgrade Black to fix Click (#515) @hugovk
  • simplify exception handling on integer overflow (#510) @RouquinBlanc
  • Remove dead code that used to handle the separate int type in Python 2 (#509) @JustAnotherArchivist
  • Fix exceptions on encoding list or dict elements and non-overflow errors on int handling getting silenced (#505) @JustAnotherArchivist

5.1.0

2 years ago

Changed

  • Strip debugging symbols from Linux binaries (#493) @bwoodsend