Skip to content

v0.9.2

Latest

Choose a tag to compare

@richardbiely richardbiely released this 24 May 11:41
· 170 commits to main since this release
f2ea77a

This is a maintenance release bringing bug fixes.
Minor performance increase might be observed when matching queries thanks the improvements in the virtual machine code.

The project started to make use of Github actions fully. Every time the source code changes the actions do:

  1. check if the project can be built on variety of platforms in different build configurations
  2. run memory and address sanitizers for improved code stability
  3. upload code coverage reports - this way I can easily see what parts of code lack unit testing

Sanitization and compilation test were already done by me manually. However, having this automatized adds another layer of protection, and makes things a little bit easier in the long run.

Release Notes:

Fixed:

  • division by zero when reporting allocator statistics possible
  • memory alignment issue
  • the array holding job dependencies not reallocated properly in some cases
  • deletion of disabled entities
  • jobs with multiple dependencies
  • uninitialized value for mode when creating systems
  • chunk version accessors

Added:

  • support for code coverage
  • support for ccache for github jobs

Changed:

  • Picobench updated to 2.0.8
  • Catch2 updated to 3.8.1
  • GAIA_USE_VARIADIC_API disabled by default

Tweaked:

  • improved and faster world version handling
  • VM instruction recompilation possible
  • specialized opcodes for various versions of query complexity added for less branching when matching archetypes
  • improved query matching performance for simple queries
  • partitioned bloom filter available now which should give even better results when matching archetypes in queries (the non-partitioned one can be brought back via GAIA_USE_PARTITIONED_BLOOM_FILTER 0)

Removed:

  • sort_ct (compile-time version of sort that wasn't used or meant to stay for long)

Full Changelog: v0.9.1...v0.9.2