Skip to content

Flecs 2.3.2

Compare
Choose a tag to compare
@SanderMertens SanderMertens released this 23 Feb 12:38
· 3135 commits to master since this release

This release introduces a breaking change to fix C++ component registration. The symbol member of the EcsName (or flecs::Name) component now requires an allocation. If you explicitly assign members to the EcsName component (using get_mut, not using set) you will have to update your code.

Another change that was introduced to fix component registration is that the symbol member of the EcsName component for a module now always contains the fully qualified path to the entity. Previously this value contained the C or C++ typename, but this caused issues with module interop between C and C++. If your code relied on looking up modules by their C typename and not the fully qualified name, code will have to be updated.

This release contains the following improvements:

  • replace iostream with initializer_list (C++ API, thanks @ikrima!)
  • ensure entity::m_id is initialized to 0 (C++ API, thanks @ikrima!)
  • use ecs_os_malloc instead of new (C++ API, thanks @ikrima!)
  • remove superfluous copies of lambda functions (C++ API, thanks @ikrima!)
  • add CHANGELOG (thanks @ikrima!)

This release contains the following bugfixes:

  • fix matching for queries with shared componnents when base entity is deleted
  • fix various issues with component registration in C++
  • fix issue with setting target FPS on Apple M1 (thanks @prime31!)
  • fix issues with CMake file (thanks @SpaceIm!)
  • fix crash when creating & deleting queries
  • guarantee that id returned by new_component_id is unused