Releases: JujuAdams/Elephant
Releases · JujuAdams/Elephant
1.5.1
1.5.0
1.4.0
- Fixes circular reference deserialization when using
ElephantFromJSON()
ElephantFromJSON()
now executes callbacks- Fixes post-read callback execution for
ElephantRead()
- Fixes memory leak in
ElephantRead()
ElephantDuplicate()
now respects schemas and executes callbacks- Fixes crash when Elephant's exclude array is very long
- Fixes
ElephantDuplicate()
using clashing globals - Removes all uses of
lb_sort_ascending
- Makes custom buffer constants slightly safer in the long-run
- Fixes obscure crash when forcing to a schema without metadata
1.3.0
Addresses:
#10 - Elephant can now serialize to JSON instead of its own binary format
Additionally:
- Version number is now stored, and
ELEPHANT_SCHEMA_VERSION
is set appropriately, even if verbose mode is forced on
Known Issues:
- This version was published for GMS2.3 and as a result
array_sort()
used an old sorting constant. You will need to replacelb_sort_ascending
as per this pull request if you intend to use Elephant with newer versions of GameMaker
1.2.1
Address:
#9 - Schema version can now be forced by setting ELEPHANT_FORCE_VERSION
in the base ELEPHANT_SCHEMA
struct
#11 - Verbose serialization can be forced by setting ELEPHANT_VERSION_VERBOSE
in schema version structs
Additionally:
ELEPHANT_VERBOSE_EXCLUDE
allows for unwanted variables to not be serialized at all
1.2.0
1.1.0
Addresses:
#1 - Added ELEPHANT_SCHEMA_VERSION
which returns the schema version that's being used for a given struct. This is especially useful when used with callbacks. This macro works when both reading and writing
#5 - Circular references are now correctly serialized and deserialized
Additionally:
- Miscellaneous bug fixes