Skip to content

Releases: JujuAdams/Elephant

1.5.1

10 Sep 14:20
Compare
Choose a tag to compare
  • Evacuates global scope
  • Small performance bump
  • Clearer constants, stored in a separate script

1.5.0

18 Jan 19:25
Compare
Choose a tag to compare
  • Adds "diffs only" writing mode
  • Adds ELEPHANT_DEFAULT_WRITE_DIFFS_ONLY to control default behaviour for the above

Thanks @gl326 !

1.4.0

18 Jan 17:34
Compare
Choose a tag to compare
  • 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

23 Jun 20:27
Compare
Choose a tag to compare

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 replace lb_sort_ascending as per this pull request if you intend to use Elephant with newer versions of GameMaker

1.2.1

19 Jun 09:13
ec50df3
Compare
Choose a tag to compare

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

12 Jun 10:22
Compare
Choose a tag to compare

Addresses:
#4 - Adds a Notes files with documentation
#6 - Added ElephantDuplicate()

Additionally:

  • Fixes incorrect header string and adds footer to format
  • Improves function JSDoc headers
  • Changes callback state macro behaviour slightly (now returning undefined when outside an Elephant function call)

1.1.0

11 Jun 23:01
Compare
Choose a tag to compare
1.1.0 Pre-release
Pre-release

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

1.0.0

11 Jun 12:18
727c707
Compare
Choose a tag to compare
1.0.0 Pre-release
Pre-release
Create README.md