Releases: LaFriska/kompakt
Releases · LaFriska/kompakt
v1.1.0
First Release - v1.1.0
The main addition to Kompakt in version v1.1.0 is that most serialisation configurations/settings are now in the form of annotations.
The old way to change these settings, which was overriding various methods from JSONSerialisable
are still mostly present, and annotations had been designed in a way as a shorthand notational sugar which relies on the functionalities of these methods.
Added Annotations
@DeepSerialise
, classes labeled with this annotation will have inherited fields serialised.@SerialiseAsString
, a stronger replacement of the oldserialiseIterables
option, which had now been deleted. This annotation forces a field to be serialised as a string by calling thetoString
method on that field.@Ignored
, a way to ignore fields from serialisation.
Removed Features
serialiseIterables()
were completely redundant in the previous feature. We have however, decided that this feature is utterly useless when we introduced@SerialiseAsString
, hence its deletion.
v1.0.1-alpha
This release composes of bug fixes and additional test cases.
The following bugs are fixed.
- Escape laterals, quotations and control characters not properly sanitised in field names during serialisation.
JSONObject
array equivalence break when array nesting takes place.- Duplicate fields are technically allowed in the JSON format, but breaks the parser. Duplicate fields are now detected and renamed using an integer suffix.
Test Cases
- Added extra test class ensuring that serialisation composed with deserialisation results in the identity function.
- Deleted some erroneous test cases after changing how duplicate fields are handled.
README.md
- v1.0.1-alpha now includes the README.md file in the source files.
v1.0.0-alpha
First (alpha testing) release of Kompakt.
- In general, all features are working.
- This software may be buggy, smaller features which did not get the chance to be tested may not function properly.
- We recommend against using this release for any softwares dealing with significantly complex JSONs, or any softwares dealing with important JSONs that could cause security risks.
- We do however, encourage using this release for educational purposes, or small-scale and low-risk softwares.