Skip to content

5.0.0

Compare
Choose a tag to compare
@ENikS ENikS released this 19 Oct 00:59

Release 5.0.0

After few years of inactivity we are finally updating Unity library. The main goal of this release was to preserve compatibility with previous distribution v4.0.1 as much as possible. Unfortunately loss of original signing key prevented creation of compatible assemblies. To eliminate conflicts assembly names and namespaces were changed.
The Unity Container has been split into following assemblies:

  • Unity.Abstractions.2.0.0
  • Unity.Container.5.0.0
  • Unity.ServiceLocation.2.0.0
  • CommonServiceLocator.2.0.1

Each of these is available as individual package but Abstractions and Container also distributed as library via Unity.5.0.0 package.

All 1220 tests from previous release are still passing.

New features

  • Unity container no longer references CommonServiceLocator
  • Added support for .NET 4.0, 4.5, 4.7, .NET Core 1.0+ and .NET Standard 1.0+ where available.
  • Container internally uses ConcurrentDictionary to improve multi threading
  • Added DelegateInjectionFactory which allows free form delegate to serve as Injection Factory
  • Added support for IEnumerable resolution
  • Registration speed increased almost order of magnitude See data

Breaking changes

  • Unity has been split into Unity.Abstractions and Unity.Container
  • Moved ServiceLocation functionality into separate package Unity.ServiceLocation
  • Interface IBuilderContext now has reference to IUnityContainer. This change was required to speed up dependency resoluton.
  • TearDown has been removed from IUnityContainer
  • ResolveAll has been converted to Extension method

Acknowledgements

  • Thank you everyone who offered support and help with this release
  • Special Thanks to JetBrains team for contributing ReSharper Ultimate license for this project