Flecs v3.2.5
Highlights
- Manually ran pipelines can now run multithreaded systems!
- Lots of bugfixes and small improvements :)
- The entity inspector in the explorer can now show incoming relationship edges:
Release notes
This version includes the following bugfixes:
- Fix leaking field in AlertInstance component
- Fix leak in query cache with entity filter (union relationships/bitset components/flattened trees)
- Fix issue where
ecs_count
didn't include prefabs and disabled entities - Fix issue with using
OVERRIDE
flag in plecs scripts - Fix issue with reporting alert severity in JSON serializer
- Fix issue with importing
flecs.monitor
withoutflecs.meta
- Fix compilation issues in FreeBSD (thanks @SirLynix!)
- Fix issue where
removed
argument was not correctly passed byecs_commit
- Fix issue where
ecs_commit
wouldn't enter deferred mode while executing the operation - Fix issue where
ecs_iter_t::other_table
would get reset for observers after event propagation - Fix issue with calling
.get()
onflecs::table
/flecs::range
from stage - Fix issue where REST API would return malformed JSON on seralization error (thanks @ZeroErrors!)
- Fix issue where C++ component with the same name as a core entity would be incorrectly registered
- Fix incorrect
ifdef
that checked forMSVC
instead ofPOSIX
(thanks @MilanDierick!) - Fix issue with change detection for queries with static sources
- Fix issue with change detection and writing to shared terms
- Fix issue in rule engine where variable writes in OR chains weren't treated as conditional
- Fix issue where getting the target of a union relationship could return not alive entity handle
- Fix issue with systems that configure both
interval
andrate
- Fix memory corruption issues when using nested iterators (thanks @johnse-hypixel!)
- Fix incorrect assert when computed alignment mismatched actual alignment
- Fix issue where world passed to C++ rule iterator wasn't used
This version includes the following improvements:
[core]
Remove ability to get entity id array as field with index 0 (thanks @ZeroErrors!)[c]
Addecs_singleton_set_ptr
(thanks @darkuranium!)[cpp]
Addentity_builder::scope
method that returns world object scoped to entity[cpp]
Addflecs::iter::entities
method (thanks @ZeroErrors!)[cpp]
Addworld::run_pipeline<T>
overload (thanks @ZeroErrors!)[cpp]
Addworld::target
method (thanks @ZeroErrors!)[cpp]
Addworld::get_info
, remove redundant functions (thanks @ZeroErrors!)[pipeline]
Add support for multithreading toecs_run_pipeline
(thanks @ZeroErrors!)[meta]
Add support for member value ranges[json]
Serialize alerts from children in entity serializer[json]
Add option to serialize incoming relationship edges for entity[alerts]
Addretain_period
to alert configuration[alerts]
Make it possible for alerts to change severity based on a condition[alerts]
Add ability to generate alerts for member values that are out of range[alerts]
Reduce alert detection interval to 0.5 seconds[monitor]
AddWorldSummary
component[expr]
Implementparent()
,name()
anddoc_name()
functions in expression parser[http]
Fix unused parameter warning (thanks @MilanDierick!)[doc]
Fix quickstart example[doc]
Fix filenames in documentation comments (thanks @ZeroErrors!)[doc]
Reduce usage ofauto
in C++ examples[doc]
Remove redundant functions from C++ examples[doc]
Update C++ examples that used older/more verbose API methods[ci]
Use stricter warning settings to compile code warning free[ci]
Switch asan build to run on Linux, which includes leakage reporting[ci]
Build code on additional compiler versions[cmake]
AddFLECS_STRICT
flag that enablesWerror
and stricter warning settings
Benchmark results
https://github.com/SanderMertens/ecs_benchmark/tree/8539a8634bc6cc99a61efd5919ffe8f02c6b3478
Breaking changes
- Passing 0 to
ecs_field
no longer returns the entity id array (#466 (comment)) - The
ecs_lookup_symbol
function has an additionalrecursive
argument (#466 (comment)) - The C API convention for naming component id variables has changed (#466 (comment))
- Redundant methods for obtaining world information have been removed (#466 (comment))
Known issues:
#965
#844
#765
#714
#620
#478
#314
New Contributors
- @SirLynix made their first contribution in #998
- @MilanDierick made their first contribution in #996
- @darkuranium made their first contribution in #1007
- @johnse-hypixel made their first contribution in #1012
Full Changelog: v3.2.4...v3.2.5