143 lines
6.7 KiB
Markdown
143 lines
6.7 KiB
Markdown
flecs
|
|
CHANGELOG
|
|
=======================================================================
|
|
|
|
RELEASE NOTES: https://github.com/SanderMertens/flecs/releases
|
|
REPO: https://github.com/SanderMertens/flecs/commits/master
|
|
COMMUNITY: https://discord.gg/MRSAZqb
|
|
DOCS: https://flecs.docsforge.com/
|
|
FAQ: https://github.com/SanderMertens/flecs/blob/master/docs/FAQ.md
|
|
QUICKSTART: https://github.com/SanderMertens/flecs/blob/master/docs/Quickstart.md
|
|
MANUAL: https://github.com/SanderMertens/flecs/blob/master/docs/Manual.md
|
|
|
|
-----------------------------------------------------------------------
|
|
VERSION 2.3.2 (Released 2021-02-23)
|
|
-----------------------------------------------------------------------
|
|
|
|
## Improvements
|
|
- replace iostream with initializer_list (C++ API, thanks @ikrima!)
|
|
- ensure entity::m_id is initialized to 0 (C++ API, thanks @ikrima!)
|
|
- use ecs_os_malloc instead of new (C++ API, thanks @ikrima!)
|
|
- remove superfluous copies of lambda functions (C++ API, thanks @ikrima!)
|
|
- add CHANGELOG (thanks @ikrima!)
|
|
|
|
## Bugfixes
|
|
- fix matching for queries with shared componnents when base entity is deleted
|
|
- fix various issues with component registration in C++
|
|
- fix issue with setting target FPS on Apple M1 (thanks @prime31!)
|
|
- fix issues with CMake file (thanks @Spacelm!)
|
|
- fix crash when creating & deleting queries
|
|
- guarantee that id returned by new_component_id is unused
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
VERSION 2.3.1 (Released 2021-02-02)
|
|
-----------------------------------------------------------------------
|
|
|
|
## Improvements
|
|
- Improved lerp example
|
|
- Added OS API example C++ (thanks @mcmlevi!)
|
|
- Upgraded cmake buildfiles (thanks @rawbby!)
|
|
- Clarified text in README describing API/ABI stability
|
|
|
|
## Bugfixes
|
|
- Fix crash when using overlapping UnSet systems
|
|
- Fix issue with passing incorrect row to UnSet systems
|
|
- Added .hpp files to cmake install
|
|
- Fixed issue with using get_mut with traits
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
VERSION 2.3.0 (Released 2021-01-17)
|
|
-----------------------------------------------------------------------
|
|
|
|
## Highlights
|
|
- Big performance improvements & reduced memory usage for applications with lots of tables, such as when using hierarchies
|
|
- Component enabling/disabling allows for quick component mutations without moving entities between archetypes
|
|
- New statistics addon for retrieving metrics from running world (replaces stats module)
|
|
|
|
Thanks to @randy408, @sh-dave, @kevinresol, @jasonliang-dev and @Alexandre-P-J for submitting PRs! 🎉
|
|
|
|
Thanks to @ikrima and @jtferson for writing two awesome testimonials on using Flecs with Unreal Engine 4 🙏 :
|
|
- https://bebylon.dev/blog/ecs-flecs-ue4/
|
|
- https://jtferson.github.io/blog/flecs_and_unreal/
|
|
|
|
Thanks to the new Flecs sponsors ❤️ :
|
|
- @Zifkan
|
|
- @TFlippy
|
|
- @Hexlord
|
|
|
|
## Breaking changes
|
|
- calling ecs_get for a tag will no longer return NULL, but will assert
|
|
- statistics module is removed in favor of easier to use statistics addon
|
|
- unused table_offset member is removed from iterator
|
|
|
|
## Deprecated features
|
|
- ecs_entity() macro is now deprecated, use ecs_typeid()
|
|
|
|
## Features
|
|
- Direct access addon, which provides fast access to underlying storage
|
|
- Added singleton API to C++ world class
|
|
- Added orphaning for subqueries, which allows an application to check if a parent query still exists
|
|
- Added ecs_get_typeid function to get the component id for traits
|
|
- The type used for time keeping is now customizable
|
|
- New statistics addon for retrieving metrics from running world
|
|
- Added get_parent function that accepts entity/tag
|
|
- Added component enabling/disabling
|
|
- Added support for sorting on shared components
|
|
|
|
## Improvements
|
|
- Improved ecs_delete performance (reduced entity index accesses from 2 to 1)
|
|
- C & C++ code compiles warning-free with more warning flags, for more compiler versions & more platforms
|
|
- Improved error messages when application passes invalid entity id
|
|
- Made include paths relative so source code is easier to integrate with bazel
|
|
- Fixed typos in documentation
|
|
- Improve error message when trying to add 0 as base entity (using ECS_INSTANCEOF)
|
|
- Add check for conflicting source modifier in OR expressions
|
|
- Extended documentation, added new examples and fixed typos
|
|
- Removed dead/redundant code
|
|
- Improved performance of ecs_get
|
|
- Add sanitizer & custom builds to CI, remove Travis CI builds
|
|
- Don't add Name component when provided name for entity is NULL
|
|
- Allow flecs::system instances to be (re)created from entity id
|
|
- Added godbolt "try online" badge to README
|
|
- Improve allocation strategy of vector datastructure
|
|
- Improved performance for checking if entity id is a number
|
|
- Added missing query functions to C++ API for sorting
|
|
- Improved performance of table creation by two orders of magnitude
|
|
- Reduced memory footprint of table graph by a factor 60
|
|
- Added example to demonstrate world merging with direct access API
|
|
- Added more inline documentation for datastructures
|
|
- Added assert when trying to instantiate child as instance
|
|
- Improve errors when invalid operation is invoked on iterator
|
|
- Throw assert when invoking ecs_modified on entity that does not have the component
|
|
- Allow for type lookups in systems, as long as the type already exists
|
|
- Add return types to ecs_defer_begin and ecs_defer_end to obtain defer status of world
|
|
- Remove redundant table_offset member from ecs_iter_t
|
|
- Improved portability of POSIX OS API example
|
|
|
|
## Bugfixes
|
|
- Fixed issues with subqueries and query rematching
|
|
- Corrected wrong return type of ecs_field_size (was ecs_entity_t, is now size_t)
|
|
- Add missing \0 when appending to application buffer with strbuf datastructure
|
|
- Fixed crash when instantiating an empty prefab
|
|
- Fixed issue with shared tags and queries using each() in the C++ API
|
|
- Fixed issue with instantiating empty child table
|
|
- Fixed issue with ecs_bulk_new and traits
|
|
- Fixed issue when using ecs_entity_str with small buffers
|
|
- Fixed bug when adding trait to entity with switch
|
|
- Fixed name conflicts in amalgamated source
|
|
- Fixed path lookup in ecs_import
|
|
- Fixed EXPORT macro's in OS API examples
|
|
- Fixed issue with restoring worlds that have recycled ids
|
|
- Added missing EXPORT macro's to API functions
|
|
- Fixed assert after deleting entities from restored world
|
|
- Removed obsolete assert from ecs_modified
|
|
- Added missing statement to finalize system in C++
|
|
- Fixed issues with removing case values
|
|
- Fixed issues in C++ API with implicit component registration
|
|
- Fixed assert when removing from switch list
|
|
- Fixed bug where obtaining type from entity would generate a new entity id
|
|
- Fixed incorrect description of ecs_delete in manual
|
|
- Fixed issues with custom builds
|