Skip to content

Version 5.3.0

Compare
Choose a tag to compare
@svermeulen svermeulen released this 18 Sep 12:12
· 571 commits to master since this release

Some optimizations, bug fixes, and a few new bind methods

Notable

  • Added optimizations to speed up startup time for scenes with many transforms. In some cases it should be 5x faster to scan the initial scene hierarchy.
  • Added optimizations to minimize memory allocations
  • Added new bind methods FromNewComponentOnNewPrefab and FromNewComponentOnNewPrefabResource
  • Added new bind methods for FromSubContainerResolve() bindings: ByNewPrefabMethod, ByNewPrefabResourceMethod, ByNewPrefabInstaller, and ByNewPrefabResourceInstaller
  • Added support for having multiple "parent contract names" for the same scene
  • Fixed rare exception that was occurring sometimes with circular dependencies
  • Added better support for binding open generic types to open generic derived classes
  • Bug fix - FromNewComponentOnNewGameObject was causing [Inject] methods to be executed after awake
  • Added support for declaring collections of dependencies using IList<> instead of just List<>
  • Bug fix - validation wasn't working when using FromResolveGetter with identifiers
  • Changed to skip analyzing unity types (ie. those inside UnityEngine namespace) to minimize reflection costs
  • Fixed AutoMocking to work by upgrading to newer Moq dll

Minor

  • Added back Container.Install method as an alternative to FooInstaller.Install
  • Added ability to lazily initialize GameObjectContext
  • Added Position and Rotation to GameObjectCreationParameters
  • Changed execution order extension methods to be proper methods to avoid namespace issues
  • Added non-generic DeclareSignal overload
  • Added BindFactoryContract and FromIFactoryResolve methods to make it easier to have custom factory interfaces
  • Added support for custom memory pool interfaces
  • Added UnbindInterfacesTo method
  • Added support for loading asset bundles with FromComponentInNewPrefab instead of prefabs
  • Added ability to pass 'late bindings' to next scene dynamically using ZenjectSceneLoader
  • Added support for injecting into C# 4.6 get-only properties
  • Added more attributes to play more nicely with resharper
  • Changed to disable support for profiling Zenject methods by default (need to define ZEN_PROFILING_ENABLED)