Ninject v4.0.0-beta.1 Release Notes

Release Date: 2022-10-05 // 4 months ago
  • ๐Ÿ”„ 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.

    ๐Ÿ›  Fixed

    • Bind/Rebind to a constant generic List always returns an empty list #333

Previous changes from v3.3.6

  • ๐Ÿ›  Fixed

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