Releases: castleproject/Windsor
Releases · castleproject/Windsor
6.0.0
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
: ChangeMicrosoft.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 theCastle.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, howeverLogUsing<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)
- Removed enum
5.1.2
5.1.1
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)
5.1.0
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)
5.1.0-beta001
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)
5.0.1
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)
5.0.0
5.0.0-beta001
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
andAllTypesOf
(@fir3pho3nixx, #338) - Removed deprecated
BasedOn
methods that reset registrations when fluently chained (@fir3pho3nixx, #338) - Removed deprecated member
LifestyleHandlerType
onCustomLifestyleAttribute
(@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 newWindsorContainer.Resolve(Arguments)
- Reworked
Arguments
class, including to no longer implementIDictionary
- Removed
IArgumentsComparer[]
constructors fromArguments
- Added
WindsorContainer.Resolve(IEnumerable<KeyValuePair<string, object>>)
extension methods - Changed
CreationContext.AdditionalArguments
to useArguments
instead ofIDictionary
- Replaced
ComponentDependencyRegistrationExtensions(Insert, InsertAnonymous, InsertTyped, InsertTypedCollection)
withAdd
,AddNamed
andAddTyped
Arguments
instance methods - Changed
ComponentRegistration.DependsOn
andComponentRegistration.DynamicParameters
to useArguments
viaDynamicParametersDelegate
- Added
ComponentRegistration.DependsOn(Arguments)
overload - Changed
ComponentModel
CustomDependencies
andExtendedProperties
to useArguments
instead ofIDictionary
- Changed
IComponentModelBuilder.BuildModel
to useArguments
instead ofIDictionary
- Changed
ILazyComponentLoader.Load
to useArguments
instead ofIDictionary
- Removed
4.1.1
4.1.0
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, castleproject/Core#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
andUseNLog
methods are deprecated in favour ofLogUsing<T>
, this includes theloggingApi
property for XML configuration (@jonorossi, #327)