Releases: SanderMertens/flecs
Flecs 2.0.4 beta
This is a pre-release of v2.0. Do not use this release for production code. Bugs are to be expected. The purpose of this release is to help existing users migrate from v1.0 to v2.0.
This is a beta release, indicating that the public API for v2.0 is stable, unless indicated otherwise. Any headers under include/flecs/private
are not part of the public API, and may be changed by patch & minor releases. Behavior changes may still occur as bugs are fixed and features are completed.
This release has the following new features:
- Add ability to iterate scope with filter
- Add ecs_get_child_count function
- Allow for creating filtered snapshots & blobs by providing an iterator
- Add ecs_set_time_scale function
This release implements the following improvements:
- Allow parsing type expressions without asserting on error
- Rename query sorting functions to sort_by and group_by
- Improve test coverage
- Remove inconsistencies in signatures between os API malloc, calloc and alloca
- Remove variable masking warnings
- Cleanup unused system declarations
- Reorganize headers and source files to make it clearer which parts of the code are required, optional and part of the public API
- improve file organization
- fix cmake build
This release addresses the following issues:
- Fix issue that could cause crash in map implementation
- Fix issue where OnSet system could trigger on columns that are not owned
- Remove references to UT_ macro's from bake.util
- Replace TRUE and FALSE with true and false
- Fix issue where new_from_path would add CHILDOF | 0 for entity in root
For a list of changes between v1 and v2 see the migration guide
Known issues:
- OnSet systems are not invoked for tables created while staged
- OnSet systems are not invoked when an overridden component is removed
Flecs 2.0.3 alpha
This is a pre-release of v2.0. Do not use this release for production code. Bugs are to be expected. The purpose of this release is to help existing users migrate from v1.0 to v2.0.
This code has not been as rigorously tested as a normal release, and documentation is not up to date.
This release addresses the following issues, amongst others:
- Implement namespacing
- Split core up into separate modules and utilities
- Add header documentation
- Fix issue with ecs_deactivate_systems
- Fix issues with multithreading
For a list of changes between v1 and v2 see the migration guide
For a list of changes between v1 and v2 see the migration guide
Known issues:
- OnSet systems are not invoked for tables created while staged
- OnSet systems are not invoked when an overridden component is removed
Flecs 1.3
This is the last v1 release. New applications should start with Flecs v2.
This version includes the following features:
- Port several functions from C to C++ API
- Add overloads for world::add & world::remove
- Add function to count inactive systems
This version includes the following improvements:
- Add periodic system example for C API
- Enforce that 'action' is last method called when constructing system in C++
- Enable staging when invoking ecs_run
- Store table_count in ecs_rows_t
- Added task examples
- Added target_include_directories to cmake file
This version includes the following bugfixes:
- Fix duplicate type definitions
- Fix bug where column count of 0 caused out of memory
- Fix sources list for meson build file
- Fix mismatching return types for get/set_target_fps
- Fix alignment issue with ecs_vector_t
- Fix bug with passing CONTAINER column into reactive system
- Remove invalid assert from ecs_import_from_library
- Fix issue with using OWNED / SHARED in a reactive system
- Fix issue where a disabled system could become enabled again
- Fix dangling pointer to world in entity::type()
- Fix issue where merge could happen twice
- Don't merge manual system when auto_merge is false
- Fix crash when deleting parent
- Fix issue where ecs_run would use filter where it shouldn't
Flecs 1.2
This version includes the following features:
- A C++11 API (#115)
- Snapshots (#7)
- Blob serialization & deserialization (#114)
- On demand systems (#82)
- System on enable/activate callbacks (#83)
- Filter-based iteration over entities (#117)
- An introspection API for improved debugging . (#100)
- A new statistics module (replaces old stats API, #88)
- A command-line debug console (https://github.com/flecs-hub/flecs-systems-console)
- A new prometheus module for server-side monitoring (https://github.com/flecs-hub/flecs-systems-prometheus)
This version includes the following improvements:
- Improved error messages when system signature parsing fails (#90)
- Many new examples (#55)
- Cleanup of flecs header, moved supporting functions to api_support.h (#116)
- Work with older versions of CMake (#87)
This version includes the following bugfixes:
- Fix issue with using singleton as parent entity (#81)
- Fix issue where manual systems are not correctly activated (#86)
- Fix issue with NOT operator in combination with FromEntity columns (#89)
- Fixed memory leak in ecs_chunked_t datastructure (#95)
- Fix issue where ECS_MODULE would take address of temporary variable (#98)
- Fix issue when get_parent is called while iterating (#97)
- Fix leak in on demand administration (#104)
- Fix leaking system signatures (#103)
- Add strdup to OS API, remove uses of strdup in code (#106)
- World time now starts counting when application starts vs. 0
This version adds the following functions:
- ecs_add_entity
- ecs_remove_entity
- ecs_has_entity_owned
- ecs_count_w_filter
- ecs_is_readonly
- ecs_table_type
- ecs_table_column
- ecs_filter_iter
- ecs_snapshot_filter_iter
- ecs_filter_next
- ecs_set_system_status_action
- ecs_snapshot_take
- ecs_snapshot_restore
- ecs_snapshot_copy
- ecs_snapshot_free
- ecs_reader_init
- ecs_snapshot_reader_init
- ecs_reader_read
- ecs_writer_init
- ecs_writer_write
- ecs_type_remove
- ecs_type_match_w_filter
- ecs_type_index_of
- ecs_enable_console
Flecs 1.1
This version includes the following features:
- Add API for bulk insertion of data (#60)
- Add API for bulk deletion (#33)
- Add API for bulk add/remove (#67)
This version includes the following improvements:
- Allow for direct access to table columns in systems (#59)
- Remove compiler warnings in strict mode (#70)
- Make EcsOnLoad phase unstaged, allowing for faster insertion of data (#74)
- Add optional example, improve documentation
This version includes the following bugfixes:
- Fix crash when calling ecs_quit from worker thread (#61)
- Fix crash when calling
ecs_new_w_count
from worker thread (#61) - Fix crash when dimensioning table with columns that have size 0 (#60)
- Fix bug where on some platforms the OS API struct was stored in RO memory, causing a crash (#68)
- Fix bug when
_ecs_field
is called with a 0 size (#75) - Fix bug when creating a system that only has an
OWNED
orSHARED
column (#78)
Flecs 1.0
The first official Flecs release!
This version includes the following features:
- A super fast archetypes-based ECS implementation in C99
- Expressive system queries with support for many operators and ways to subscribe for data
- Group systems with Flecs features
- Component sharing (see: inheritance)
- A web-based dashboard (see: flecs-systems-admin)
- Hierarchies [BETA] (see: hierarchies)
- Multithreading [BETA]
- ... and much, much more! See the manual for more details.