All Versions
Latest Version
Avg Release Cycle
19 days
Latest Release
1021 days ago

Changelog History

  • v2.3.2 Changes

    February 23, 2021

    ๐Ÿ‘Œ 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

  • v2.3.1 Changes

    February 02, 2021

    ๐Ÿ‘Œ 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

  • v2.3.0 Changes

    January 17, 2021


    • ๐ŸŽ 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_term_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