Skip to content

Flecs v4.1.3

Choose a tag to compare

@SanderMertens SanderMertens released this 06 Dec 23:49
· 199 commits to master since this release
8f63134

Highlights

  • Improved RAM utilization (create fewer component records, reclaim more data from component vectors, smaller entity administration)
  • A new Building Flecs manual!

Release notes

This version includes the following bugfixes:

  • [core] Fix issue with reparenting named ordered children
  • [core] Fix issue with ecs_ref_get and ecs_shrink
  • [core] Fix issue where order or instantiated prefab children could be wrong
  • [core] Fix assert for DontFragment relationship during world cleanup
  • [core] Fix issue with how dtors get called for types that don't support non-destructive moves (thanks @Watermelon914!)
  • [os_api] Add missing WIN32_LEAN_AND_MEAN before new windows.h include
  • [queries] Fix assert when using set_varfor query with one cascad term
  • [meta] Fix corruption with deserializing into enum with non-32 bits underlying type

This version includes the following improvements:

  • [cpp] Allow set_ptr to be used for pairs (thanks @Reddy-dev!)
  • [cpp] Add owns_second() and auto_override_second() methods (thanks @Reddy-dev!)
  • [core] Don't always create (T, *), (*, T) component records (only create when used)
  • [core] Don't create component record when registering trait
  • [core] Don't create component record for ChildOf
  • [core] Prevent creation of (*, 0) component record
  • [core] Reclaim component vectors to actual count instead of power of 2
  • [core] Reclaim memory from map data structures on world.shrink()
  • [core] Reclaim memory from empty component records during world.shrink()
  • [core] Remove redundant component record lookup in observable code
  • [core] Add convenience macro's for iterating component records and queries
  • [core] Remve redundant ecs_map_params_t type and functions
  • [core] Remove redundant if (table) check in table cache
  • [core] Remove redundant check on cache initialized in ecs_table_cache_get
  • [core] Remove ecs_record_t::cr field
  • [core] Increase the maximum size of error strings
  • [core] Prevent modifications to map while iterating
  • [core] Don't call flecs_notify_on_add when creating entity in root table
  • [core] Add ecs_is_defer_suspended() function
  • [observers] Remove redundant check in flecs_emit
  • [queries] Add traversal tests for (ChildOf, _)
  • [queries] Add performance tracing to ecs_query_init
  • [os_api] Use ecs_os_free() instead of free() in flecs_dump_backtrace()
  • [stats] Track memory of new locked components map
  • [docs] Add Rescue Ops: Wildfire to README
  • [docs] Rename custom_runner examples to run_callback
  • [docs] Remove outdated references to .singleton() API
  • [docs] Add new "Building Flecs" manual (previously on quickstart)

Breaking changes:

  • None

New Contributors

Full Changelog: v4.1.2...v4.1.3