- Optmizes SceneInjector, SceneInjector::Inject is now 27% faster + no more generates garbage
- Optmizes ProjectScope and SceneScope, no more generates garbage
- Display readable generic names on ReflexDebuggerWindow object instances
- Rename ResolverDescriptor to Binding (ResolverDescriptor was a bad name as it was not describing a resolver, but pairing a resolver to its contracts)
- Rename ContainerDescriptor to ContainerBuilder
- Moves container callsite registration to its ctor (clearer stack traces at debugger window)
- Removes unnecessary clear references at ContainerBuilder::Build
- Removes Container::Instantiate, now you should instantiate using unity methods (it also works with addressables now) then, use GameObjectInjector methods to inject your newly instantiated unity object
- ContainerBuilder::Scope no longer requires a name, you can opt-in to set a name using ContainerBuilder::SetName (however, highly recommended, helps a lot when debugging is required)
- Add ContainerBuilder::SetName
- Add ContainerBuilder::SetParent
- Exposes ContainerBuilder::Parent getter
- Exposes ContainerBuilder::Bindings list
- Builtin Decoration support removed, it can be added later as a opt-in plugin
- IStartable interface removed, eager services can be eagerly instantiated using containerBuilder.OnContainerBuilt, it can be added later as a opt-in plugin
- Improved GarbageCollectorTests making it also work when incremental GC is enabled