- New
RawJSONclass, allowing inclusion of pre-serialized content (PR #95), thanks to Silvio Tomatis
- Deserialize from
bytesandbytearrayinstances, ensuring they contain valid UTF-8 data - Speed up parsing of floating point numbers, avoiding intermediary conversion to a Python string (PR #94)
- Fix precision handling of DM_UNIX_TIME timestamps
- Fix memory leaks in
Decoder()andEncoder()classes, related to bad handling ofPyObject_GetAttr()result value - Fix compatibility with Python 3.7a
Implemented the streaming interface, see load() and dump() (issue #80)
Backward incompatibility: now the flags arguments on all the functions are keyword only, to mimic stdlib's
jsonstyle
- Reduce compiler warnings (issue #87)
- Fix Travis CI recipe to accomodate MacOS
Fix compilation on MacOS (issue #78)
Handle generic iterables (PR #89)
Backward incompatibility: the
dumps()function and theEncoder()constructor used to accept amax_recursion_depthargument, to control the maximum allowed nesting of Python structures; since the underlying function is now effectively recursive, it has been replaced by the generic sys.setrecursionlimit() mechanism
- Restore compatibility with Python < 3.6
- Fix memory leaks when using object_hook/start_object/end_object
- Fix bug where error handling code could raise an exception causing a confusing exception to be returned (PR #82)
- Fix bug where loads's
object_hookand dumps'sdefaultarguments could not be passedNoneexplicitly (PR #83) - Fix crash when dealing with surrogate pairs (issue #81)
- Fix compatibility with MacOS/clang
- Limit the precision of DM_UNIX_TIME timestamps to six decimal digits
- Nothing new, attempt to fix production of Python 3.6 binary wheels
- Nothing new, attempt to fix production of Python 3.6 binary wheels
- New
parse_modeoption, implementing relaxed JSON syntax (issue #73) - New
EncoderandDecoder, implementing a class-based interface - New
Validator, exposing the underlying JSON schema validation (issue #71)
- Remove beta status
- Make execution of the test suite on Appveyor actually happen
- Exclude CI configurations from the source distribution
- Fix Powershell wheel upload script in appveyor configuration
- Compilable with somewhat old g++ (issue #69)
- Backward incompatibilities:
- all
DATETIME_MODE_XXXconstants have been shortened toDM_XXXDATETIME_MODE_ISO8601_UTChas been renamed toDM_SHIFT_TO_UTC - all
UUID_MODE_XXXconstants have been shortened toUM_XXX
- all
- New option
DM_UNIX_TIMEto serialize date, datetime and time values as UNIX timestamps targeting issue #61 - New option
DM_NAIVE_IS_UTCto treat naïve datetime and time values as if they were in the UTC timezone (also for issue #61) - New keyword argument
number_modeto use underlying C library numbers - Binary wheels for GNU/Linux and Windows on PyPI (one would hope: this is the reason for the beta1 release)
- Fix a couple of refcount handling glitches, hopefully targeting issue #48.
- Fix source distribution to contain all required stuff (PR #64)
- CI testing on GitHub
- Allow using locally installed RapidJSON library (issue #60)
- Bug fixes (issue #37, issue #51, issue #57)