Skip to content

Releases: ninject/Ninject

4.0.0-beta.1

05 Oct 03:12
Compare
Choose a tag to compare
4.0.0-beta.1 Pre-release
Pre-release

What's changed

  • Dropped support for .NET Framework 4.5. We now only provide support for the .NET Framework 4.6, .NET 6 and .NET Standard 2.0.
  • Changed return value of IBindingResolver (and implementing classes) from IEnumerable<IBinding> to ICollection<IBinding>.
  • The IConstructorScorer ConstructorScorer and ICollection<IInjectionHeuristic> InjectionHeuristics properties has been removed from (I)Selector
  • Changed return value of ISelector.SelectConstructorsForInjection(Type type) (and implementing classes) from IEnumerable<ConstructorInfo> to ConstructorInfo[].
  • The T Get<T>(string key, T defaultValue) and void Set(string key, object value) methods have been removed from (I)NinjectSettings.
  • The GetBindings(Type service) method in IKernel and KernelBase now returns IBinding[] instead of IEnumerable<IBinding>.
  • Removed IHaveKernel inheritance from IBindingSyntax.
  • Removed IInjectorFactory InjectorFactory property from PropertyInjectionStrategy.
  • Added a PropertyInjection setting that can be used to control whether property injection is enabled. By default, property injection is enabled.
  • Added a MethodInjection setting that can be used to control whether method injection is enabled. By default, method injection is enabled.
  • Changed type of parameters argument in Request constructor from IEnumerable<IParameter> to IReadOnlyList<IParameter>.
  • Changed type of parameters argument in IResolutionRoot.CreateRequest(...) from IEnumerable<IParameter> to IReadOnlyList<IParameter>.
  • Changed type of parameters argument in KernelBase.CreateRequest(...) from IEnumerable<IParameter> to IReadOnlyList<IParameter>.
  • Changed type of Parameters property in IBindingConfiguration (and implementing classes) from ICollection<IParameter> to IList<IParameter>.
  • Changed type of Parameters property in Request and Context from IEnumerable<IParameter> to IReadOnlyList<IParameter>.
  • Added a object ResolveSingle(IRequest request) method to IResolutionRoot which is optimized for resolving a single instance of a given service.
    This new method is used in the Get, TryGet and TryGetAndThrowOnInvalidBinding extension method.
  • Bind/Rebind to a constant generic List always returns an empty list #333

Full Changelog: 3.3.6...v4.0.0-beta.1

3.3.6

27 May 14:59
Compare
Choose a tag to compare

Fixed

  • Infinite loop when call TryGet<T>(string name) #393
  • VerifycationException when inject pointer type (.NET Framework only)

3.3.5

23 Apr 09:08
Compare
Choose a tag to compare

Fixed

  • InvalidProgramException when constructor argument is Pointer or Value type #386 #389
  • Request for empty List<> returns non-empty List<> #263
  • Call kernel.Get<T>() two times do not give the same result #262

Changed

  • Changed IServiceProvider.GetService implementation #376
  • Consolidated handling of isUnique parameter for TryGet #378

3.3.5-rc2

17 Apr 11:08
Compare
Choose a tag to compare
3.3.5-rc2 Pre-release
Pre-release

Changed

  • Changed IServiceProvider.GetService implementation #376
  • Consolidated handling of isUnique parameter for TryGet #378

Full Changelog: 3.3.5-rc1...3.3.5-rc2

3.3.5-rc1

12 Apr 13:11
Compare
Choose a tag to compare
3.3.5-rc1 Pre-release
Pre-release

Fixed

  • InvalidProgramException when constructor argument is Pointer or Value type #386 #389
  • Request for empty List<> returns non-empty List<> #263
  • Call kernel.Get<T>() two times do not give the same result #262

Full Changelog: 3.3.4...3.3.5-rc1

3.3.4

13 Nov 11:00
476135b
Compare
Choose a tag to compare

Fixed:

  • Throw cyclic dependency exception when resolve a named binding with decoration pattern #261

3.3.3

22 Oct 15:29
Compare
Choose a tag to compare

Removed debug code from ModuleLoader.cs

3.3.2

22 Oct 14:54
Compare
Choose a tag to compare

Ninject for .NET Core can now load extensions automatically. Please note that due to the lack of AppDomain creation/unloading, all matched assemblies will be loaded even if the assembly does not contain NinjectModule. In most cases this won't be a problem.
Ninject is now CLS Compliant.

3.3.2-rc1

15 Oct 07:12
Compare
Choose a tag to compare
3.3.2-rc1 Pre-release
Pre-release

Ninject for .NET Core can now load extensions automatically. Please note that due to the lack of AppDomain creation/unloading, all matched assemblies will be loaded even if the assembly does not contain NinjectModule. In most cases this won't be a problem.

3.3.2-beta1

07 Oct 06:43
Compare
Choose a tag to compare
3.3.2-beta1 Pre-release
Pre-release

Ninject for .NET Core can now load extensions automatically. Please note that due to the lack of AppDomain creation/unloading, all matched assemblies will be loaded even if the assembly does not contain NinjectModule. In most cases this won't be a problem.
Another improvement is that when auto load assemblies, the executing assembly's directory is considered as one of the base directories.