Skip to content

Flecs v4.0.2

Compare
Choose a tag to compare
@SanderMertens SanderMertens released this 24 Sep 17:59
· 115 commits to master since this release
bf9ec9f

Highlights

Release notes

This version includes the following bugfixes:

  • [cpp] Fix spurious entities that are created when renaming C++ module
  • [cpp] Fix issue with non-$this fields in query iteration (thanks @Gaspard--!)
  • [cpp] Fix issue with computing component name from multiple threads/worlds
  • [cpp] Fix issue where C++ world object would sometimes not get freed (thanks @jpeletier!)
  • [cpp] Fix issue with observers and up traversal
  • [cpp] Fix clang 20 compiler error in enum reflection code
  • [core] Fix issue with using sparse components and ecs_new_w_table
  • [core] Fix issue with ecs_new_w_table and overriding components
  • [core] Fix issue with creating queries inside of hooks
  • [core] Fix issue with testing tables for wildcard pair ids
  • [core] Fix potential leak in ecs_clone due to double constructor call (thanks @jpeletier!)
  • [core] Fix issues with simple observers/queries for sparse components
  • [core] Fix issues with hooks for sparse components
  • [core] Fix issue with batched OnAdd + OnRemove observers
  • [queries] Fix issue with matching IsA -> IsA -> ChildOf up traversal
  • [queries] Fix issue with matching prefab/disabled entities for queries that start with not term
  • [systems] Fix issue with setting rate filter on system without tick source
  • [systems] Fix issue with cleaning up iterator resources for systems that match nothing
  • [json] Fix crash when serializing query plan for trivial query
  • [json] Fix issue where conflicting alerts member could serialize to invalid JSON
  • [script] Fix issue where script visitor function wasn't restored after parsing template
  • [stats] Fix issue where units module was not always imported by stats (thanks @domdom!)
  • [stats] Fix crash when fetching WorldSummary by REST API before it's initialized
  • [explorer] Fix issue with entity names that have contain / characters

This version includes the following improvements:

  • [cpp] Add flecs::ref::has
  • [cpp] Add missing overload for query_builder::with(const char*, id_t)
  • [cpp] Add flecs::iter::other_table()
  • [c] Remove const from ecs_ref_get
  • [core] Implement fine-grained feature tracking for add/remove operations
  • [core] Add performance tracing hooks to OS API
  • [core] Add perf trace when sleeping due to target_fps (thanks @waywardmonkeys!)
  • [core] Add support for AUTO_OVERRIDE to prefab children
  • [core] Implement deterministic ids for prefab children
  • [core] Use __alignof__ on clang
  • [core] Allow for restoring ranges with ecs_set_entity_range
  • [core] Add compile time flag to disable statistics counters
  • [core] Fix thread sanitizer warnings
  • [core] Prevent calling ecs_run_post_frame outside of frame
  • [core] Add ecs_id_from_str
  • [core] Allow for suspending readonly mode outside of multithreaded systems
  • [queries] Remove redundant query instruction constants
  • [queries] Allow (IsA, tgt|self) queries to be cached
  • [queries] Don't automatically cache queries with only not/optional terms
  • [observers] Add yield_existing support to OnRemove observers
  • [meta] Support calling ecs_meta_get_string on opaque string types
  • [meta] Make flaky alert tests not flaky (thanks @jpeletier!)
  • [meta] Add a const_string opaque type (thanks @jpeletier!)
  • [meta] Auto-generate lifecycle hooks for reflection-only types
  • [stats] Add counter for tracking component monitor evaluations
  • [units] Remove unused symbols from units addons
  • [docs] Fix typos in documentation on how to run tests (thanks @jpeletier!)
  • [docs] Add Meta copyright notice to LICENSE (has no impact on license which is still MIT!)
  • [docs] Fix typos (thanks @waywardmonkeys!)
  • [docs] Fix emit/event typo in observer manual (thanks @awest03!)
  • [docs] Add missing access modifier section to query language manual
  • [docs] Add link to storage in pictures to docs
  • [docs] Fix broken links in design guide
  • [build] Move flecs.c and flecs.h files to distr folder
  • [build] Migrate bazel build to bzlmod (thanks @reutermj!)
  • [build] Add bazel build definitions for examples and add bazel build/test to CI
  • [ci] Add spell check to CI (thanks @Georgiy-Tugai!)

Breaking changes

  • The flecs.c and flecs.h have moved to distr (#466)

New Contributors

Full Changelog: v4.0.1...v4.0.2