Skip to content

Flecs v4.0.3

Latest
Compare
Choose a tag to compare
@SanderMertens SanderMertens released this 09 Nov 19:15
· 50 commits to master since this release
b3ad03c

Highlights

  • None, just a lot of small improvements and bugfixes ๐Ÿ›

Release notes

This version includes the following bugfixes:

  • [cpp] Fix issue with modified<R, T> where first type is a tag
  • [cpp] Fix conflicting identifier between flecs and magic_enum library
  • [cpp] Fix issue with reparenting module that is in root namespace
  • [cpp] Disable incorrect msvc warning on enum reflection code
  • [core] Remove FLECS_API in block_allocator.c which was causing linker errors (thanks @Indra-db!)
  • [core] Fix crash if component and entity w/component are deleted in same cleanup operation
  • [core] Fix linked list corruption in supporting data structure for Union relationships
  • [core] Fix issue where union relationships weren't copied from prefab to prefab instance
  • [core] Fix bug with component overriding for prefabs with union pairs
  • [core] Avoid size integer overflow of command buffer vector during world cleanup (thanks @jpeletier!)
  • [queries] Fix issue with queries that match empty tables and iterate individual entities
  • [queries] Fix issue with evaluating queries with any wildcards that match multiple tables
  • [queries] Fix issue where offset could be applied to NULL address
  • [observers] Fix issue with yield_existing observers and not terms
  • [observers] Fix issue with getting field in OnSet observer after removing override
  • [observers] Fix issue where (OnInstantiate, Override) would not trigger OnSet observers
  • [expr] Fix memory leak after failed multiline string assignment
  • [json] Fix JSON serialization for auto_override/toggle components
  • [json] Fix issue with serializing type info to JSON for sparse components
  • [log] Fix issue where ecs_log_set_level returns wrong value
  • [stats] Fix issue in flecs::stats module when global MatchEmptyTables flag is set
  • [alerts] Fix broken FLECS_NO_ALERTS macro (thanks @pfeodrippe!)

This version includes the following improvements:

  • [cpp] Implement iter::targets for easy iteration of relationship targets for a field
  • [cpp] Remove redundant call to strcpy in ecs_cpp_get_symbol_name
  • [cpp] Enforce correct type when using *_second operations in entity, entity_view and entity_builder
  • [queries] Return wildcard table records in ecs_iter_t::trs for any wildcard terms
  • [queries] Report errors for invalid usage of cascade and desc modifiers
  • [observers] Add yield_existing flags for customizing observer create/delete behavior
  • [observers] Trigger events for optional observer terms
  • [core] Add ecs_world_get_flags function
  • [core] Escape separator characters in entity name when using ecs_get_path
  • [core] Add option to escape characters for serialization in entity path
  • [core] Implement ecs_table_clear_entities (thanks @gsnook!)
  • [meta] Emit OnSet after modifying EcsEnum component (thanks @jpeletier!)
  • [json] Fix issue with serializing queries that have large numbers of fields
  • [json] Don't serialize base DontInherit components to JSON
  • [rest] Include query plan used to populate cache in REST reply
  • [http] Automatically test port range when creating HTTP server for multi-application support
  • [doc] Add UUID to doc addon
  • [docs] Add link to flecs raylib starter kit to documents
  • [docs] Add Hyperion to README
  • [docs] Add Age of Respair to README
  • [docs] Fix incomplete sentence in query manual
  • [docs] Fix find/replace errors in query manual
  • [docs] Show how to use lookup functions in hierarchy examples
  • [docs] Fix disabling typo in entity manual
  • [docs] Fix TermAt indexing in C# docs (thanks @deathbeam!)
  • [docs] Rename Routine to System in C# docs (thanks @deathbeam)
  • [docs] Fix comment typo in prefab example (thanks @Indra-db)
  • [docs] Fix broken link in relationship manual
  • [docs] Add note to prefab manual on how prefabs are only ignored for entities matched on $this
  • [docs] Add missing , in migration guide
  • [docs] Fix typo in scopes section of query manual
  • [tests] Fix duplicate test case
  • [build] Remove unnecessary version attribute from flecs bazel model definition (thanks @reutermj!)
  • [ci] macOS CI improvements (thanks @waywardmonkeys!)

Breaking changes

  • ecs_get_path_w_sep_buf now has an additional escape argument (#466 (comment))

New Contributors

Full Changelog: v4.0.2...v4.0.3