Download Latest Version Flecs v4.0.5 source code.tar.gz (23.0 MB)
Email in envelope

Get an email when there's a new version of Flecs

Home / v4.0.2
Name Modified Size InfoDownloads / Week
Parent folder
Flecs v4.0.2 source code.tar.gz 2024-09-24 19.9 MB
Flecs v4.0.2 source code.zip 2024-09-24 20.8 MB
README.md 2024-09-24 5.5 kB
Totals: 3 Items   40.7 MB 0

Highlights

  • New blog: Building an ECS [#3]: Storage in pictures
  • Runtime types now automatically generate hooks that cleanup resources (thanks @jpeletier!)
  • New OS API hooks that enable integration with tracy-style profilers!

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 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 (https://github.com/SanderMertens/flecs/discussions/466)

New Contributors

Full Changelog: https://github.com/SanderMertens/flecs/compare/v4.0.1...v4.0.2

Source: README.md, updated 2024-09-24