Bugfix: buffer size overestimation fixed (for inherited objects).
Bugfix: inherited objects processing bug fixed.
Bugfix: singular form of embedded object field name was used even if it was not wrapped with array brackets.
BREAKING CHANGE: references made with prefix @ are not loaded from other files automatically, use @filename:refname in that case.
Object inheritance is now supported: "animal": { <fields> }, "cat@animal": { <additional fields> }.
Now it is possible to declare nested arrays: "matrix2x2": [["double"]].
Compiler rewritten from scratch: cleaner code, better more informative error handling.
Compiler command line now accepts file names (optionally): dart run packme <srcDirectory> <outDirectory> [file1, file2, file3...].
Bugfix: Uint8List with unexpected length caused out-of-range exception in pack/unpack methods.
Added support for binary type (uses Uint8List). Format: binary12, binary64 etc. - any buffer length in bytes.
Color schemes used to print messages are updated: list items are now displayed using color of corresponding data type.
Safari WebSocket data parsing bug fixed (it adds some extra bytes to buffer and actual Uint8List data size is smaller that its underlying buffer).
Added some additional log output for the compiler script.
Tests implemented.
Project structure updated.
MessageFactory no longer generated if no messages declared.
Examples updated.
ReadMe updated.
Enums and Types are now can be referenced from another manifest files.
Added some details for compiler error messages.
Bugfix: it was impossible to refer type declared after current one.
Enum declaration implemented.
Type (nested object) declaration implemented.
Single message or request and response messages declaration implemented.
$response method for request messages implemented.
Example provided.
You can’t perform that action at this time.