Flecs v3.2.0
Release announcement
Release notes
This version includes the following bugfixes:
- Fix issue with batched set commands and emitting OnSet events
- Fix issue where bitset iteration index could go out of bounds
- Fix issue where
ecs_get_target
would try inheritance for relationship withDontInherit
- Fix error in
custom_phases_no_builtin
C++ example - Fix issue in JSON serializer with large string values
- Fix issue in JSON serializer with entity ids at offset
- Fix potential crash in
ecs_get_target_id_for
- Correctly set
ecs_iter_t::offset
in component hooks - Fix issue with suspending deferred mode
- Fix issue in cursor API with double assignment after
dotmember
- Fix issue in script parser with binary operator followed by component assignment
- Fix issue with vectors in JSON serializer
- Fix issue where comments inside value blocks didn't work correctly in Flecs script
- Fix issue with setting name string that overlaps with existing name in deferred mode
- Add missing implementation of
ecs_rule_get_filter
- Fix issue with command ordering when setting name after reparenting
- Fix compilation issue with new version of emcc
- Fix issue where event for multiple ids triggered for wrong entity
- Fix issue where event for multiple ids triggered multiple times for same observer
- Fix issue where id in table was not updated after calling
ecs_set_entity_generation
- Fix issue that prevents using
ecs_get_target_for_id
from stage - Fix issue with component registration across binaries in multithreaded applications
- Fix memory leak in HTTP server
- Fix issue with importing C module in multiple worlds
- Fix component registration issue with binaries compiled by different compilers
- Fix issue with component registration of
world::vector
- Correct for overshoot value when returning
delta_system_time
for interval systems
This version includes the following improvements:
[c]
Add missingconst
qualifiers to query functions[c]
Add missingconst
qualifier toecs_id_in_use
[c]
Addecs_get_parent
convenience function[cpp]
Addflecs::rule::move
method[cpp]
Don't assert when creating invalid rule, addflecs::rule::is_valid
method[cpp]
Addflecs::entity_builder::set_alias
method[cpp]
Add API for singleton pairs toflecs::world
[cpp]
Ensure world is cleaned up whenapp().run()
returns[rules]
Rule engine refactor[rules]
Improved support forNot
,Optional
,Or
operators[rules]
Added support for fuzzy name matching[rules]
Added support for dependent terms[rules]
Added a query profiler for analyzing term performance[rules]
Many improvements to performance, VM, data structures, runtime[rules]
Add option to auto-match unresolved identifiers at query creation time by name[rules]
Add support for using any (_
) variable as term source[rules]
Add support for queries that start with Not/Optional terms[rules]
Add support for transitive queries with any (_
) target[rules]
Add support for transitive queries withself
modifier for target[rules]
Allow for usage of relationships other thanIsA
for component inheritance[rules]
Add support for parsing variable values from argument string[rules]
Add performance optimization for trivial rule queries[filters]
Default toInOutNone
if the term type is not known beforehand[filters]
Change interface for Or operator to allow for neighboring Or terms[queries]
Improve query sorting performance[queries]
Add assert on invalidorder_by
component id[core]
Implement relationship flattening[core]
Replace all remaining occurrences ofecs_vector_t
withecs_vec_t
[core]
Cache(ChildOf, *)
id record on world for improved performance[core]
Cache(Identifier, Name)
id record on world for improved performance[core]
AddAlwaysOverride
component property[core]
Ensure children of a prefab are also tagged as prefabs[core]
Add stricter check on adding properties to components that are already in use[meta]
Add conversion to cursor API from bool to int[meta]
Throw less confusing error in cursor API when assigning out of bounds element/member[rest]
Add validity checks onoffset
/limit
parameters[rest]
Add functions to call REST API from C[http]
Implement request caching (replaces caching mechanism of REST API)[doc]
Fix conflicting declaration in quickstart example[doc]
Fix outdated code example in systems manual[doc]
Add build instructions to quickstart for cmake and bake[doc]
Fix incorrect link in README to prefab documentation[doc]
Addparent()
,target_for()
to query section of relationship manual[doc]
Expand explorer section of REST manual with query examples[script]
Add experimental support for loading managed scripts[script]
Add experimental support for assemblies[script]
Allow for setting nested members in expression[script]
Add support for deriving variable name from assigned member[script]
Add support for adding variables as components[script]
MakeEXPR
/META
addon mandatory when using script addon[script]
Add support forusing foo.*
syntax[script]
Add support formodule foo
syntax[script]
Add Flecs script tutorial[script]
Add support for assigning singletons with$ :- Component{}
[log]
Addecs_log_get_level
Breaking Changes
- The interface for creating queries with Or operators has changed (#466 (comment))
- The
ecs_vector_t
type has been removed from the source and replaced withecs_vec_t
(#466 (comment))
Known issues
New Contributors
- @SaadiqDaniels made their first contribution in #933
- @icolwell made their first contribution in #937
- @benjitrosch made their first contribution in #944
Full Changelog: v3.1.5...v3.2.0