Windsor

Castle Windsor is a best of breed, mature Inversion of Control container available for .NET

APACHE-2.0 License

Stars
1.5K
Committers
116

Bot releases are visible (Hide)

Windsor - 6.0.0 Latest Release

Published by jonorossi over 1 year ago

Target Framework changes

  • Added net6.0 (@Jevonius, #630)
  • .NET Standard changed from 1.6 to 2.0 (@generik0, #572)
  • .NET Framework changed from 4.5 to 4.6.2

Enhancements

  • Added fast lookup to check for already registered types (@sqeezy, #618)
  • Castle.Windsor.Extensions.DependencyInjection: Change Microsoft.Extensions.Logging dependencies to their abstract counterparts (@ikkentim, #626, #624)

Bugfixes

  • Castle.Windsor.Extensions.DependencyInjection: support parallel containers (@rvdginste, @generik0, #563, #577)

Breaking Changes

  • Microsoft.Extensions.Hosting related methods have been moved from the Castle.Windsor.Extensions.DependencyInjection package to the Castle.Windsor.Extensions.Hosting package (@ikkentim, #625, #628)
  • Obsolete APIs in Castle.Facilities.Logging have been removed. Extensions methods for built-in logging factories have been added, however LogUsing<T> is still ideal. (@Jevonius, #636)
    • Removed enum Castle.Facilities.Logging.LoggerImplementation
    • Removed constructor Castle.Facilities.Logging.LoggingFacility(LoggerImplementation loggingApi)
    • Removed constructor Castle.Facilities.Logging.LoggingFacility(LoggerImplementation loggingApi, string configFile)
    • Removed constructor Castle.Facilities.Logging.LoggingFacility(string customLoggerFactory, string configFile)
    • Removed method Castle.Facilities.Logging.LoggingFacility.LogUsing(LoggerImplementation loggingApi)
    • Removed method Castle.Facilities.Logging.LoggingFacility.UseLog4Net()
    • Removed method Castle.Facilities.Logging.LoggingFacility.UseLog4Net(string configFile)
    • Removed method Castle.Facilities.Logging.LoggingFacility.UseNLog()
    • Removed method Castle.Facilities.Logging.LoggingFacility.UseNLog(string configFile)
Windsor - 5.1.2

Published by jonorossi over 2 years ago

  • Restrict Castle.Core dependency to 4.4.1+ and less than 5.x to prevent NuGet using 5.x which has breaking changes (@Jevonius, #610)
Windsor - 5.1.1

Published by jonorossi almost 4 years ago

  • Upgrade minimum Castle.Core version to 4.4.1 (@generik0, #576)

Bugfixes

  • Fix CollectionResolver to allow propagation of inline dependencies (@dvdwouwe, #562)
  • Allow DefaultNamingSubSystem derivatives to invalidate the cache which was accidentally removed in 5.1.0 (@nativenolde, #569)
  • Replace usage of obsolete Castle.Core.Internal.Lock (@generik0, #576)
  • Fix dictionary bug when using XML configuration; A reference to list components inside a dictionary didn't work (@ni-mi, #575)
Windsor - 5.1.0

Published by jonorossi almost 4 years ago

Bugfixes

  • .NET Extensions' DependencyInjection:
    • Change WindsorServiceProviderFactory to follow SOLID behaviour (@generik0, #540)
    • Fix "An item with the same key has already been added" exception related to scoped lifestyle (@generik0, #547)
    • Fix issue using existing container with ASP.NET (@robertcoltheart, #548)
    • Extra extensions for BasedOnDescriptor (@ltines, #554)
    • Use generic registration instead of reflection (@robertcoltheart, #555)
    • Use the container from the method call, not the root container (@generik0, #558)
    • Add InvalidateCache to DependencyInjectionNamingSubsystem (@generik0, @twenzel, #556)
Windsor - 5.1.0-beta001

Published by jonorossi over 4 years ago

Enhancements

  • .NET Extensions' DependencyInjection support via new Castle.Windsor.Extensions.DependencyInjection package (@ltines, #517)
  • Enable explicitly specified null values to satisfy System.Nullable<> dependencies (@jnm2, #521)
  • Embed icon in NuGet packages (@generik0, #520)

Bugfixes

  • Typed Factory: handle multiple calls to Dispose and Release after Dispose (@ivan-danilov. #458)
Windsor - 5.0.1

Published by jonorossi about 5 years ago

Bugfixes

  • Fix ProxyOptions equality with additional interfaces (@DamirAinullin, #477)
  • WCF Facility: Fix exception message (@DamirAinullin, #476)
  • ASP.NET MVC Facility: Fix controller lookup to be case insensitive (@yitzchok, #480)
  • ASP.NET Core Facility: FrameworkDependencyResolver must not throw NRE if dependency has no type (e.g. depending on a named component) (@dariuslf, #489)
  • ASP.NET Core Facility: Register ViewComponents and TagHelpers correctly (@dariuslf, #489)
  • ASP.NET Core Facility: Allow crosswiring multiple implementations of the same service (@dariuslf, #489)
  • ASP.NET Core Facility: Treat TagHelper classes with __Generated__ in their name (e.g. TagHelpers generated for ViewComponents) as framework classes (@dariuslf, #489)
Windsor - 5.0.0

Published by jonorossi over 5 years ago

Bugfixes

  • Fixed first-chance HandlerException for optional parameters (@jnm2, #450)
Windsor - 5.0.0-beta001

Published by jonorossi almost 6 years ago

Enhancements

  • Upgraded to Castle.Core 4.2.0 to 4.3.1 (@fir3pho3nixx, #413)
  • Created Castle.Facilities.AspNetCore facility to support ASP.NET Core web applications on .NET Core and .NET Framework (@fir3pho3nixx, #120)
  • Created Castle.Facilities.AspNet.Mvc facility to support ASP.NET MVC web applications on .NET Framework (@fir3pho3nixx, #283)
  • Created Castle.Facilities.AspNet.WebApi facility to support ASP.NET Web API IIS and self hosted applications on .NET Framework (@fir3pho3nixx, #283)
  • Added XML documentation to BeginScope and RequireScope lifetime extensions (@jonorossi)
  • Upgraded build to use NUnit Adapters (@fir3pho3nixx, #243)
  • Make formatting of type names with TypeUtil.ToCSharpString (and hence in diagnostic messages) resemble C# more closely (@stakx, #404, #406)

Breaking Changes

  • Built-in System.Web support has been moved to the new Castle.Facilities.AspNet.SystemWeb facility (@fir3pho3nixx, #283)
  • Removed obsolete ActAs, Parameters, Properties and ServiceOverrides methods from component registration (@fir3pho3nixx, #338)
  • Removed obsolete indexer, AddComponent*, AddFacility and Resolve methods from IKernel and IWindsorContainer (@fir3pho3nixx, #338)
  • Facility XML configuration specifying an 'id' attribute will now throw, it has been ignored since v3.0 (@fir3pho3nixx, #338)
  • Removed deprecated classes AllTypes and AllTypesOf (@fir3pho3nixx, #338)
  • Removed deprecated BasedOn methods that reset registrations when fluently chained (@fir3pho3nixx, #338)
  • Removed deprecated member LifestyleHandlerType on CustomLifestyleAttribute (@fir3pho3nixx, #338)
  • Removed Event Wiring, Factory Support and Synchronize facilities (@jonorossi, #403)
  • Arguments class and Resolve overloads refactor (@fir3pho3nixx, @jonorossi, #444)
    • Removed WindsorContainer.Resolve(object/IDictionary) overloads in favour of new WindsorContainer.Resolve(Arguments)
    • Reworked Arguments class, including to no longer implement IDictionary
    • Removed IArgumentsComparer[] constructors from Arguments
    • Added WindsorContainer.Resolve(IEnumerable<KeyValuePair<string, object>>) extension methods
    • Changed CreationContext.AdditionalArguments to use Arguments instead of IDictionary
    • Replaced ComponentDependencyRegistrationExtensions(Insert, InsertAnonymous, InsertTyped, InsertTypedCollection) with Add, AddNamed and AddTyped Arguments instance methods
    • Changed ComponentRegistration.DependsOn and ComponentRegistration.DynamicParameters to use Arguments via DynamicParametersDelegate
    • Added ComponentRegistration.DependsOn(Arguments) overload
    • Changed ComponentModel CustomDependencies and ExtendedProperties to use Arguments instead of IDictionary
    • Changed IComponentModelBuilder.BuildModel to use Arguments instead of IDictionary
    • Changed ILazyComponentLoader.Load to use Arguments instead of IDictionary
Windsor - 4.1.1

Published by jonorossi about 6 years ago

Bugfixes

  • Fixed components resolved from typed factories being disposed along with unrelated objects (@jnm2, #439)
Windsor - 4.1.0

Published by jonorossi about 7 years ago

Bugfixes

  • Fix warnings regarding non-existent System.ComponentModel.TypeConverter NuGet package by updating minimum Castle Core version to 4.1.0 (#321)
  • Fix disposal of faulted WCF client channels (@jberezanski, #322)
  • Fix binding errors because assembly version had too much detail, assembly version is now x.0.0.0 (@fir3pho3nixx, #329)
  • Update Castle Core to 4.2.0 to resolve assembly version problems because Castle Core also had too much detail
  • Explicit package versioning applied within solution to avoid maligned NuGet upgrades for lock step versioned packages (@fir3pho3nixx, https://github.com/castleproject/Core/issues/292)
  • Fix open generic handler state issues where wrong constructor gets chosen for open generic service types (@fir3pho3nixx, #136)
  • Fixed typed factory out of order disposal (@jnm2, #344)

Deprecations

  • Logging Facility's LoggerImplementation enum, UseLog4Net and UseNLog methods are deprecated in favour of LogUsing<T>, this includes the loggingApi property for XML configuration (@jonorossi, #327)
Windsor - 4.0.0

Published by jonorossi over 7 years ago

Breaking Changes

  • Remove .NET 3.5, .NET 4.0 and .NET 4.0 Client Profile support (@fir3pho3nixx, #173, #180, #177, #185)
  • Update Castle.Core dependency to 4.0.0 (@alinapopa, #235)

Enhancements

  • Add .NET Standard and .NET Core support (@alinapopa, @fir3pho3nixx, @jonorossi, #145)

Bugfixes

  • Fix IL interpretation of Ldarg_N from LOCAL 0 to LOCAL [0,1] in OpCodes so test FluentRegistrationTestCase.Can_publish_events_via_AllTypes could publish events again on Windows 10 Home (build 14393.693) VS 2015 Update 3 using .NET 4.x (@fir3pho3nixx, #168)
  • Fix race condition in PoolableLifestyleManager creating a pool (@krinmik, #72)
  • Fix race condition in WindsorContainer not generating unique names (#301)
Windsor - 3.4.0

Published by jonorossi over 7 years ago

  • Fix case sensitivity issue that can cause UsingFactoryMethod to fail (@dohansen, #116)
  • Fix project and icon URLs in NuGet packages
  • Add PDB source indexing (@ivan-danilov, #137)
  • Fix unit test with weak reference broken by garbage collector changes in .NET 4.6.x (@ivan-danilov, #138)
  • Fix performance counter instances hanging around after the process using Windsor has ended (@mackenzieajudd, #146, #149)
  • Fix version of Castle.Core dependency in NuGet packages to indicate Castle.Core 4.0 is incompatible (#161)
Windsor - 3.3.0

Published by kkozmic over 10 years ago

Improvements

  • #57 - build NuGet and Zip packages from TeamCity - contributed by Blair Conrad (@blairconrad)
  • #53 - Remove dependency on IKernel/IWindsorContainer from CallContextLifetimeScope
  • #52 - Add option to start startable components manually - based on pull request #37 from @jfojtl
  • #51 - CollectionResolved should support read-only collections in .NET 4.5+
  • #45 - use HttpApplication.RegisterModule in .NET 4.5 for PerWebRequest lifestyle - contributed by @BredStik

Fixes

  • #59 - Fixed missing DuplexChannelBuilder GetChannel methods. - contributed by David Welch (@djwelch)
  • #50 - XML Config Array Parameters not populating when registering multiple dependencies - contributed by Dale Francis (@dalefrancis88)
  • #47 - Fixed 'consut' typo to 'consult'. - contributed by Mads Tjørnelund Toustrup (@madstt)
  • #38 - Pooled items not being disposed properly - contributed by @mvastarelli
  • #34 - Deadlock - DefaultNamingSubsystem.GetHandlers() vs DefaultGenericHandler.type2SubHandler - contributed by Anton Iermolenko (@anton-iermolenko)
  • #30 - Attempting to resolve a non-generic type with a backing generic implementation causes an exception to be thrown

Changes from previous versions can be seen in changes.txt. The release is also available on nuget

Package Rankings
Top 8.17% on Proxy.golang.org
Related Projects