Flecs v4.1.2
Highlights
- The C++ API now needs to be compiled as C++17!
- Lots of bugfixes for the new
DontFragmentstorage - New API and explorer dashboard for detailed memory statistics
- New endpoints and explorer pages for inspecting tables, components and queries
Release notes
This version includes the following bugfixes:
[cpp]Fix assert when usingecs_query_nextinsystem.runcallback[cpp]Fix issue with setting term flags withflecs::term::flags()method[cpp]Fix compiler error when usingset/assignwith non-copyable type[core]Fix issue whereecs_ref_tcould point to incorrectecs_record_tafter shrink[core]Fix issue withremove_all()and query rematching[core]Fix issue where enqueueing command inon_addhook didn't work when bulk creating[core]Fix memory leak for error message whenFLECS_SOFT_ASSERTis defined[core]Fix memory corruption when overriding components withon_sethooks[core]Fix issue whereon_sethook could be called multiple times for same component on override[core]Fix issue whereECS_ON_ADD,ECS_ON_SET,ECS_ON_REMOVEmacros could provide bad address when bulk creating[core]Fix issue whereget_alive()could return current generation of not-alive entity[core]Fix issue whereon_addhooks could get incorrectly invoked duringdelete_empty_tables()[core]Fix assert when empty table is cleared with hooks registered[core]Fix issue withflecs_sparse_ensureand recycled entity ids[core]Fix issue where table edges forDontFragmentrelationships weren't cleaned up[core]Fix issue with deleting parent withDontFragmentrelationship to child[core]Fix issue with cleaning upDontFragmentcomponents during bulk deletion[core]Fix issue where component record for not-alive id would be created in table graph code[core]Fix issue where sometimes the wrong entity was removed from aDontFragmentsparse set[core]Fix issue with instantiating component with(With, DontFragmentComponent)[core]Fix issue where component was removed before calling regular component observer
This version includes the following improvements:
[cpp]Update to C++17[cpp]Addworld()method toflecs::untyped_ref[cpp]Use faster compile time alternative tostd::conditional(thanks @dementive!)[cpp]Add C++ API for singleton enum constants[core]Remove unused block allocators[core]Remove unuseddeser_stackallocator[core]Add error messages when adding traits after creating queries[core]Improve accuracy of frame pacing[core]Add compiler flags to build info type[core]Don't use private allocator in hashmap data structure[core]Add support for usingchildren()with sparse relationships[core]AddSingletontrait to module entities[os-api]Add Windows implementation forflecs_dump_backtrace()[queries]Make terms with Any wildcard cacheable[queries]Improve performance of toggle queries[observers]Removeecs_observer_desc_t::observablefield[meta]Parent anonymousas_types to opaque type to avoid anonymous types in root scope[meta]Implement lax member checks when deserializing[meta]Add support for character literals (thanks @degustaf!)[meta]Add filter callback to serializer that allows for blacklisting components[stats]Implement new API for getting detailed memory statistics[stats]Store pointer toecs_world_stats_tinEcsWorldStatsto improve memory utilization[stats]Fix isue with setting command count inWorldSummarycomponent[stats]Add more statistics toWorldSummarycomponent[rest]Add action endpoint with method to shrink memory[rest]Add/componentsREST endpoint[rest]Add/queriesREST endpoint[rest]Improve statistics of endpoint
Breaking changes:
- The C++ API must now be compiled as C++17 (https://github.com/SanderMertens/flecs/discussions/466#discussioncomment-14491474)
New Contributors
- @degustaf made their first contribution in https://github.com/SanderMertens/flecs/pull/1791
- @dementive made their first contribution in https://github.com/SanderMertens/flecs/pull/1788
- @thomashodgkinson1987 made their first contribution in https://github.com/SanderMertens/flecs/pull/1813
- @Real-Septicake made their first contribution in https://github.com/SanderMertens/flecs/pull/1834
Full Changelog: https://github.com/SanderMertens/flecs/compare/v4.1.1...v4.1.2