Releases: Balancingrock/VJson
Release 1.0.0
Swiftfire -and all its supporting packages- have been issued in their release 1.0.0
VJson has not undergone any code changes since the previous release.
Bugfix
Added tests for undo/redo.
Fixed bug on undo/redo for ARRAY and OBJECT with children introduced in 0.15.3
Bugfix
A bug was introduced in 0.15.3 on undo/redo of type changes. This release aims to fix that.
New undo/redo implementation
This is a maintenance update.
The undo/redo mechanism has been reimplemented, it is now object based rather than path based.
The file UndoRedo.swift has been removed.
The 'location' operation now has an optional 'source' parameter.
There have been no error reports for 0.15.2, so updating to 0.15.3 is probably not necessary. The reimplementation of the undo/redo mechanism was done to better support another project of ours.
Minor additions
Additions:
- Added an operation items:at to extract a number of JSON items from the JSON hierarchy.
Changes:
- Made the error closure optional for the parse functions.
- Updated dependencies.
Bugfix
Fixed a problem that could cause a crash when parsing files containing only whitespaces.
Minor meta change
This is a source breaking change for clarity.
Common operations on subitems of ARRAYs and OBJECTs are now called Child operations.
Thus there are three different types of operations, best illustrated by the remove operation:
ARRAY: remove:at
OBJECT: removeItems:forName
Common: removeChild, removeChildren:equalTo
I.e. the name now clarifies just how the operation should be regarded. Child operations are hierarchy operations that are (in theory) independent of the containers the subitems are in.
Als the operation index:ofChildrenEqualTo has been removed as it is too high level for a basic API. The source code (in Array.swift) is still present to aid clients in implementing this client side.
Top item parsing improvements
The ability to parse and codify top level items (including non-objects) has been expanded to include named items. Some related bugs were fixed.
Most notably this means that the parse functions now return an optional! This will break existing code. However fixing this should be easy.
Changes/Updates:
- Added name to top level item (if the top level item has a name)
- Fixed error when reading top level string value
- Added reading of named top level values
- Added return of nil when parsing empty data or only whitespace data
- Updated several documentation texts
Minor bugfix
Fixed the error message when parsing illegal null value's.
2nd Parsing bugfix
The previous bug -once fixed- unearthed another -even bigger- bug.
Its fixed now, but it will have effectively made releases 0.13.0 and 0.13.1 unusable.
So please make sure to upgrade to the latest. (0.13.2)