Allow customizing component_traits based on the entity type
Default group template parameters for Get and Exclude lists
Make basic_organizer support groups too
Fix a bug on view packs when combining views with uninitialized filters
Make built-in storage mixins support custom private/protected registries
Support to reserved entities (see start_from on the entity storage)
Make to_entity work properly with stable types
meta:
meta_sequence_container::rebind is no longer available
meta_associative_container::rebind is no longer available
meta_any::base() to return a const reference to the underlying any
Deprecated meta_any_policy, meta_any::policy() and meta_any::data()
Self-contained meta_factory<T> to avoid having to go through meta<T>
Support taking ownership of passed in pointers on construction for meta_any
meta_type::from_void allows transferring ownership of elements too
Standalone meta_data and meta_func implementations
Make empty meta_data, meta_func and meta_type safe to use no matter what
Self-moving a meta_any puts it in a safe bug unspecified state now
Allow attaching const values of non-Type type to meta types
Make as_ref return valid objects when the underlying type is void
meta_any::context() returns the underling meta context
Deprecated multi-setters meta data support
Deprecated context-aware meta_getter utilities
Get the context from the instance in the remaining meta_getter utilities
Deprecated context-aware meta_invoke utilities
Get the context from the instance in the remaining meta_invoke utilities
Support deducing meta pointers like types directly
Early exit for typed allow_cast
signal:
Make it possible to create uninitialized sink objects
Updated definition for emitter::publish (no forwarding references)
Slightly review sink API (these changes should be backward compatible)
Build system
Updated IWYU version
Updated lcov configuration to make gtest work with lcov2
ENTT_INSTALL to enable/disable installation steps as needed
Any other business
Removed all previously deprecated methods
Natvis support
All natvis files have been updated where necessary.
Breaking changes
core:
Reviewed any_policy values with breaking changes in names to avoid subtle errors on user side
entity:
Deprecated emplace in the storage entity, use generate instead
component_traits accepts entity types (possibly breaking if specialized when using a custom entity type), refine specializations
meta:
meta_sequence_container::rebind was removed, use the constructor instead
meta_associative_container::rebind was removed, use the constructor instead
Deprecated meta_any_policy, use any_policy instead
Deprecated meta_any::policy(), use .base().policy() instead
Deprecated meta_any::data(), use .base().data()
Deprecated meta<T>, use meta_factory<T> directly instead
Deprecated multi-setters meta data support, use variant or convertible types instead
Deprecated context-aware meta_getter utilities, rebind the handle as needed instead
Deprecated context-aware meta_invoke utilities, rebind the handle as needed instead
Any other business
The documentation is up-to-date and the library is battle-tested with 100% coverage as usual.
I started a long term process to reduce the number of instantiations and also speed up the compilation.
This release contains some changes in this regard. Still a work in progress though.