- Made compatible with XP 12 - @thekid
- Added PHP 8.4 to test matrix - @thekid
- Fixed an off-by-one in maximum nesting level calculation - @thekid
- Merged PR #15: Migrate to new testing library - @thekid
- Merged PR #14: Fix WrappedFormat indentation, fixing #13 - @thekid
- Fixed "Creation of dynamic property" warnings in PHP 8.2 - @thekid
- Fixed PHP 7.0 and 7.1 compatibility: Call to undefined function spl_object_id(), see https://www.php.net/spl_object_id (@thekid)
- Made compatible with PHP 8.1 - add
ReturnTypeWillChange
attributes to iterator, see https://wiki.php.net/rfc/internal_method_return_types - Implemented xp-framework/rfc#341, dropping compatibility with XP 9 (@thekid)
- Fixed up file-based input and output tests to clean up temporary files they create as their fixture (@thekid)
- Made all of
text.json.Format
,text.json.Input
andtext.json.Output
implementlang.Value
and provide string representations (@thekid)
- Fixed warnings from iconv library on Un*x systems - @thekid
- Implemented xp-framework/rfc#334: Drop PHP 5.6: . Heads up: Minimum required PHP version now is PHP 7.0.0 . Rewrote code base, grouping use statements (@thekid)
- Implemented xp-framework/rfc#335: Remove deprecated key/value pair annotation syntax (@thekid)
- Made compatible with XP 10 - @thekid
- Fixed
Output::write()
not to call the underlying stream'sclose()
method implicitely, this is unexpected. (@thekid)
- Fixed issue #12: Error reading lists ending with 0 - @thekid
- Fixed issue #11: Sequential output and empty arrays/objects - @thekid
- Heads up: Dropped PHP 5.5 support - @thekid
- Added forward compatibility with XP 9.0.0 - @thekid
- Fixed detection for UTF-16 (LE, BE) encoding - @thekid
- Added maximum nesting level to all input sources - @thekid
- Read Parsing JSON is a Minefield
and fixed various noncompliant behaviors:
- Support for UTF-16 without BOM
- Raise errors for unexpected delimiters in arrays or objects
- Be stricter than
is_numeric()
when parsing numbers - Raise errors when encountering malformed or unclosed escape sequences
- Implement a maximum nesting level for arrays and objects, default 512 (@thekid)
- Added forward compatibility with XP 8.0.0: Use File::in() instead of the deprecated getInputStream() (@thekid)
- Fixed issue #9: Integer keys produce invalid JSON - @thekid
- Merged PR #7: Add support for all traversables to
Json::write()
(@thekid) - Merged PR #8: Add reset() operation. Enable calling the
elements()
,pairs()
andread()
methids again after explicitly resetting the stream. This operation may raise an exception if the input is not seekable, e.g. if the underlying stream is socket I/O. (@thekid)
- Merged PR #6: Fix unicode surrogate pairs not being handled correctly (@thekid)
- Added version compatibility with XP 7 - @thekid
- Changed code base to no longer use deprecated FILE_MODE_* constants (@thekid)
- Merged PR #4: Simplify JSON API - @thekid
- Ensured I/O objects are closed after reading / writing has finished (@thekid)
- Changed text.json.FileOutput and text.json.FileInput to not close open files passed to its constructor. (@thekid)
- Changed text.json.FileOutput and text.json.FileInput to also accept file names - @thekid
- Changed dependency to use XP ~6.0 (instead of dev-master) - @thekid
- Made available via composer - @thekid
- First public release - (@thekid)