eco2d/code/vendors/flecs/CHANGELOG.md

6.7 KiB

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 🙏 :

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