Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Updated NuGet references

  • Loading branch information...
commit 660912f4845dd3344c0e7b4e7d9125d837e21ff9 1 parent 355a47e
@sibartlett sibartlett authored
Showing with 244,592 additions and 95,418 deletions.
  1. +9 −6 Rhino.Security.ActiveRecord/Rhino.Security.ActiveRecord.csproj
  2. +3 −3 Rhino.Security.ActiveRecord/packages.config
  3. +22 −9 Rhino.Security.Tests/Rhino.Security.Tests.csproj
  4. +4 −4 Rhino.Security.Tests/packages.config
  5. BIN  Rhino.Security.Tests/x64/SQLite.Interop.dll
  6. BIN  Rhino.Security.Tests/x86/SQLite.Interop.dll
  7. +13 −8 Rhino.Security.Windsor/Rhino.Security.Windsor.csproj
  8. +4 −4 Rhino.Security.Windsor/packages.config
  9. +8 −5 Rhino.Security/Rhino.Security.csproj
  10. +3 −3 Rhino.Security/packages.config
  11. BIN  packages/Castle.Core.3.0.0.4001/Castle.Core.3.0.0.4001.nupkg
  12. BIN  packages/Castle.Core.3.0.0.4001/lib/net35/Castle.Core.dll
  13. BIN  packages/Castle.Core.3.0.0.4001/lib/net40-client/Castle.Core.dll
  14. BIN  packages/Castle.Core.3.0.0.4001/lib/sl4/Castle.Core.dll
  15. +57 −57 packages/{Castle.Core.3.0.0.4001 → Castle.Core.3.1.0}/ASL - Apache Software Foundation License.txt
  16. +71 −70 packages/{Castle.Core.3.0.0.4001 → Castle.Core.3.1.0}/BreakingChanges.txt
  17. BIN  packages/Castle.Core.3.1.0/Castle.Core.3.1.0.nupkg
  18. +192 −171 packages/{Castle.Core.3.0.0.4001 → Castle.Core.3.1.0}/Changes.txt
  19. +80 −80 packages/{Castle.Core.3.0.0.4001 → Castle.Core.3.1.0}/Committers.txt
  20. +14 −0 packages/Castle.Core.3.1.0/License.txt
  21. BIN  packages/Castle.Core.3.1.0/lib/net35/Castle.Core.dll
  22. +4,756 −4,820 packages/{Castle.Core.3.0.0.4001 → Castle.Core.3.1.0}/lib/net35/Castle.Core.xml
  23. BIN  packages/Castle.Core.3.1.0/lib/net40-client/Castle.Core.dll
  24. +4,756 −4,820 packages/{Castle.Core.3.0.0.4001 → Castle.Core.3.1.0}/lib/net40-client/Castle.Core.xml
  25. BIN  packages/Castle.Core.3.1.0/lib/sl4/Castle.Core.dll
  26. +4,223 −4,287 packages/{Castle.Core.3.0.0.4001 → Castle.Core.3.1.0}/lib/sl4/Castle.Core.xml
  27. +10 −9 packages/{Castle.Core.3.0.0.4001 → Castle.Core.3.1.0}/readme.txt
  28. BIN  packages/Castle.Windsor.3.0.0.4001/Castle.Windsor.3.0.0.4001.nupkg
  29. BIN  packages/Castle.Windsor.3.0.0.4001/lib/net35/Castle.Windsor.dll
  30. BIN  packages/Castle.Windsor.3.0.0.4001/lib/net40-client/Castle.Windsor.dll
  31. BIN  packages/Castle.Windsor.3.0.0.4001/lib/net40/Castle.Windsor.dll
  32. BIN  packages/Castle.Windsor.3.0.0.4001/lib/sl4/Castle.Windsor.dll
  33. +0 −8 packages/Castle.Windsor.3.0.0.4001/readme.txt
  34. +57 −57 packages/{Castle.Windsor.3.0.0.4001 → Castle.Windsor.3.1.0}/ASL - Apache Software Foundation License.txt
  35. +936 −872 packages/{Castle.Windsor.3.0.0.4001 → Castle.Windsor.3.1.0}/BreakingChanges.txt
  36. BIN  packages/Castle.Windsor.3.1.0/Castle.Windsor.3.1.0.nupkg
  37. +929 −897 packages/{Castle.Windsor.3.0.0.4001 → Castle.Windsor.3.1.0}/Changes.txt
  38. +80 −80 packages/{Castle.Windsor.3.0.0.4001 → Castle.Windsor.3.1.0}/Committers.txt
  39. +14 −0 packages/Castle.Windsor.3.1.0/License.txt
  40. BIN  packages/Castle.Windsor.3.1.0/lib/net35/Castle.Windsor.dll
  41. +7,756 −7,748 packages/{Castle.Windsor.3.0.0.4001 → Castle.Windsor.3.1.0}/lib/net35/Castle.Windsor.xml
  42. BIN  packages/Castle.Windsor.3.1.0/lib/net40-client/Castle.Windsor.dll
  43. +7,689 −7,753 packages/{Castle.Windsor.3.0.0.4001/lib/net40 → Castle.Windsor.3.1.0/lib/net40-client}/Castle.Windsor.xml
  44. BIN  packages/Castle.Windsor.3.1.0/lib/net40/Castle.Windsor.dll
  45. +7,761 −7,704 packages/{Castle.Windsor.3.0.0.4001/lib/net40-client → Castle.Windsor.3.1.0/lib/net40}/Castle.Windsor.xml
  46. BIN  packages/Castle.Windsor.3.1.0/lib/sl4/Castle.Windsor.dll
  47. +7,361 −7,353 packages/{Castle.Windsor.3.0.0.4001 → Castle.Windsor.3.1.0}/lib/sl4/Castle.Windsor.xml
  48. +8 −0 packages/Castle.Windsor.3.1.0/readme.txt
  49. BIN  ...000/Iesi.Collections.3.2.0.4000.nupkg → Iesi.Collections.3.3.1.4000/Iesi.Collections.3.3.1.4000.nupkg}
  50. BIN  packages/{Iesi.Collections.3.2.0.4000 → Iesi.Collections.3.3.1.4000}/lib/Net35/Iesi.Collections.dll
  51. +1,903 −1,903 packages/{Iesi.Collections.3.2.0.4000 → Iesi.Collections.3.3.1.4000}/lib/Net35/Iesi.Collections.xml
  52. BIN  packages/NHibernate.3.3.0.4000/NHibernate.3.3.0.4000.nupkg
  53. BIN  packages/NHibernate.3.3.0.4000/lib/Net35/NHibernate.dll
  54. +30 −30 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/ConfigurationTemplates/FireBird.cfg.xml
  55. +15 −15 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/ConfigurationTemplates/MSSQL.cfg.xml
  56. +15 −15 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/ConfigurationTemplates/MySql.cfg.xml
  57. +17 −17 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/ConfigurationTemplates/Oracle.cfg.xml
  58. +14 −14 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/ConfigurationTemplates/PostgreSQL.cfg.xml
  59. +14 −14 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/ConfigurationTemplates/SQLite.cfg.xml
  60. +15 −15 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/ConfigurationTemplates/SybaseASE.cfg.xml
  61. +15 −15 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/ConfigurationTemplates/SybaseSQLAnywhere.cfg.xml
  62. BIN  packages/NHibernate.3.3.1.4000/NHibernate.3.3.1.4000.nupkg
  63. +460 −0 packages/NHibernate.3.3.1.4000/NHibernate.license.txt
  64. +54 −0 packages/NHibernate.3.3.1.4000/NHibernate.readme.html
  65. +2,529 −2,500 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/NHibernate.releasenotes.txt
  66. BIN  packages/NHibernate.3.3.1.4000/lib/Net35/NHibernate.dll
  67. +44,063 −44,052 packages/{NHibernate.3.3.0.4000 → NHibernate.3.3.1.4000}/lib/Net35/NHibernate.xml
  68. +226 −0 packages/NHibernate.3.3.1.4000/nhibernate-configuration.xsd
  69. +1,699 −0 packages/NHibernate.3.3.1.4000/nhibernate-mapping.xsd
  70. BIN  packages/System.Data.SQLite.1.0.80.0/System.Data.SQLite.1.0.80.0.nupkg
  71. BIN  packages/System.Data.SQLite.1.0.80.0/lib/net20/System.Data.SQLite.dll
  72. BIN  packages/System.Data.SQLite.1.0.80.0/lib/net40/System.Data.SQLite.dll
  73. BIN  packages/System.Data.SQLite.1.0.82.0/System.Data.SQLite.1.0.82.0.nupkg
  74. BIN  packages/System.Data.SQLite.1.0.82.0/content/net20/x64/SQLite.Interop.dll
  75. BIN  packages/System.Data.SQLite.1.0.82.0/content/net20/x86/SQLite.Interop.dll
  76. BIN  packages/System.Data.SQLite.1.0.82.0/content/net40/x64/SQLite.Interop.dll
  77. BIN  packages/System.Data.SQLite.1.0.82.0/content/net40/x86/SQLite.Interop.dll
  78. BIN  ...ages/{System.Data.SQLite.1.0.80.0 → System.Data.SQLite.1.0.82.0}/lib/net20/System.Data.SQLite.Linq.dll
  79. BIN  packages/System.Data.SQLite.1.0.82.0/lib/net20/System.Data.SQLite.dll
  80. BIN  ...ages/{System.Data.SQLite.1.0.80.0 → System.Data.SQLite.1.0.82.0}/lib/net40/System.Data.SQLite.Linq.dll
  81. BIN  packages/System.Data.SQLite.1.0.82.0/lib/net40/System.Data.SQLite.dll
  82. +36 −0 packages/System.Data.SQLite.1.0.82.0/tools/install.ps1
  83. BIN  packages/log4net.1.2.10/lib/1.0/log4net.dll
  84. BIN  packages/log4net.1.2.10/lib/1.1/log4net.dll
  85. BIN  packages/log4net.1.2.10/lib/2.0/log4net.dll
  86. BIN  packages/log4net.1.2.10/log4net.1.2.10.nupkg
  87. BIN  packages/log4net.2.0.0/lib/net10-full/log4net.dll
  88. BIN  packages/log4net.2.0.0/lib/net11-full/log4net.dll
  89. BIN  packages/log4net.2.0.0/lib/net20-cf/log4net.dll
  90. +26,056 −0 packages/log4net.2.0.0/lib/net20-cf/log4net.xml
  91. BIN  packages/log4net.2.0.0/lib/net20-full/log4net.dll
  92. +30,205 −0 packages/log4net.2.0.0/lib/net20-full/log4net.xml
  93. BIN  packages/log4net.2.0.0/lib/net35-client/log4net.dll
  94. BIN  packages/log4net.2.0.0/lib/net35-full/log4net.dll
  95. +30,205 −0 packages/log4net.2.0.0/lib/net35-full/log4net.xml
  96. BIN  packages/log4net.2.0.0/lib/net40-client/log4net.dll
  97. +30,000 −0 packages/log4net.2.0.0/lib/net40-client/log4net.xml
  98. BIN  packages/log4net.2.0.0/lib/net40-full/log4net.dll
  99. +30,205 −0 packages/log4net.2.0.0/lib/net40-full/log4net.xml
  100. BIN  packages/log4net.2.0.0/log4net.2.0.0.nupkg
View
15 Rhino.Security.ActiveRecord/Rhino.Security.ActiveRecord.csproj
@@ -61,14 +61,17 @@
<Reference Include="Castle.Components.Validator, Version=2.5.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
<HintPath>..\packages\Castle.Components.Validator.2.5.0\lib\NET35\Castle.Components.Validator.dll</HintPath>
</Reference>
- <Reference Include="Castle.Core">
- <HintPath>..\packages\Castle.Core.3.0.0.4001\lib\net35\Castle.Core.dll</HintPath>
+ <Reference Include="Castle.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\Castle.Core.3.1.0\lib\net35\Castle.Core.dll</HintPath>
</Reference>
- <Reference Include="Iesi.Collections">
- <HintPath>..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll</HintPath>
+ <Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\Iesi.Collections.3.3.1.4000\lib\Net35\Iesi.Collections.dll</HintPath>
</Reference>
- <Reference Include="NHibernate">
- <HintPath>..\packages\NHibernate.3.3.0.4000\lib\Net35\NHibernate.dll</HintPath>
+ <Reference Include="NHibernate, Version=3.3.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\NHibernate.3.3.1.4000\lib\Net35\NHibernate.dll</HintPath>
</Reference>
<Reference Include="NHibernate.Search, Version=0.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
<HintPath>..\packages\Castle.Activerecord.3.0.0.1\lib\net35\NHibernate.Search.dll</HintPath>
View
6 Rhino.Security.ActiveRecord/packages.config
@@ -4,9 +4,9 @@
<package id="Castle.Activerecord" version="3.0.0.1" />
<package id="Castle.Components.Validator" version="2.5.0" />
<package id="Castle.Core" version="2.5.2" />
- <package id="Castle.Core" version="3.0.0.4001" />
+ <package id="Castle.Core" version="3.1.0" targetFramework="net35" />
<package id="Iesi.Collections" version="1.0.1" />
- <package id="Iesi.Collections" version="3.2.0.4000" />
+ <package id="Iesi.Collections" version="3.3.1.4000" targetFramework="net35" />
<package id="NHibernate" version="3.0.0.4000" />
- <package id="NHibernate" version="3.3.0.4000" />
+ <package id="NHibernate" version="3.3.1.4000" targetFramework="net35" />
</packages>
View
31 Rhino.Security.Tests/Rhino.Security.Tests.csproj
@@ -57,28 +57,33 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
- <HintPath>..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll</HintPath>
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\Iesi.Collections.3.3.1.4000\lib\Net35\Iesi.Collections.dll</HintPath>
</Reference>
- <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
- <HintPath>..\packages\log4net.1.2.10\lib\2.0\log4net.dll</HintPath>
+ <Reference Include="log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\log4net.2.0.0\lib\net35-full\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Practices.ServiceLocation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\SharedLibs\Microsoft.Practices.ServiceLocation.dll</HintPath>
</Reference>
- <Reference Include="NHibernate">
- <HintPath>..\packages\NHibernate.3.3.0.4000\lib\Net35\NHibernate.dll</HintPath>
+ <Reference Include="NHibernate, Version=3.3.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\NHibernate.3.3.1.4000\lib\Net35\NHibernate.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
- <Reference Include="System.Data.SQLite">
- <HintPath>..\packages\System.Data.SQLite.1.0.80.0\lib\net20\System.Data.SQLite.dll</HintPath>
+ <Reference Include="System.Data.SQLite, Version=1.0.82.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\System.Data.SQLite.1.0.82.0\lib\net20\System.Data.SQLite.dll</HintPath>
</Reference>
- <Reference Include="System.Data.SQLite.Linq">
- <HintPath>..\packages\System.Data.SQLite.1.0.80.0\lib\net20\System.Data.SQLite.Linq.dll</HintPath>
+ <Reference Include="System.Data.SQLite.Linq, Version=1.0.82.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\System.Data.SQLite.1.0.82.0\lib\net20\System.Data.SQLite.Linq.dll</HintPath>
</Reference>
<Reference Include="xunit">
<HintPath>..\packages\xunit.1.9.0.1566\lib\xunit.dll</HintPath>
@@ -149,6 +154,14 @@
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
+ <ItemGroup>
+ <Content Include="x64\SQLite.Interop.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="x86\SQLite.Interop.dll">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
View
8 Rhino.Security.Tests/packages.config
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="Iesi.Collections" version="3.2.0.4000" />
- <package id="log4net" version="1.2.10" />
- <package id="NHibernate" version="3.3.0.4000" />
- <package id="System.Data.SQLite" version="1.0.80.0" />
+ <package id="Iesi.Collections" version="3.3.1.4000" targetFramework="net35" />
+ <package id="log4net" version="2.0.0" targetFramework="net35" />
+ <package id="NHibernate" version="3.3.1.4000" targetFramework="net35" />
+ <package id="System.Data.SQLite" version="1.0.82.0" targetFramework="net35" />
<package id="xunit" version="1.9.0.1566" />
</packages>
View
BIN  Rhino.Security.Tests/x64/SQLite.Interop.dll
Binary file not shown
View
BIN  Rhino.Security.Tests/x86/SQLite.Interop.dll
Binary file not shown
View
21 Rhino.Security.Windsor/Rhino.Security.Windsor.csproj
@@ -34,26 +34,31 @@
<DocumentationFile>bin\Release\Rhino.Security.Windsor.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
- <Reference Include="Castle.Core">
- <HintPath>..\packages\Castle.Core.3.0.0.4001\lib\net35\Castle.Core.dll</HintPath>
+ <Reference Include="Castle.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\Castle.Core.3.1.0\lib\net35\Castle.Core.dll</HintPath>
</Reference>
- <Reference Include="Castle.Windsor">
- <HintPath>..\packages\Castle.Windsor.3.0.0.4001\lib\net35\Castle.Windsor.dll</HintPath>
+ <Reference Include="Castle.Windsor, Version=3.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\Castle.Windsor.3.1.0\lib\net35\Castle.Windsor.dll</HintPath>
</Reference>
<Reference Include="CommonServiceLocator.WindsorAdapter">
<HintPath>..\packages\CommonServiceLocator.WindsorAdapter.1.0\lib\NET35\CommonServiceLocator.WindsorAdapter.dll</HintPath>
</Reference>
- <Reference Include="Iesi.Collections">
- <HintPath>..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll</HintPath>
+ <Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\Iesi.Collections.3.3.1.4000\lib\Net35\Iesi.Collections.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Practices.ServiceLocation">
<HintPath>..\packages\CommonServiceLocator.1.0\lib\NET35\Microsoft.Practices.ServiceLocation.dll</HintPath>
</Reference>
- <Reference Include="NHibernate">
- <HintPath>..\packages\NHibernate.3.3.0.4000\lib\Net35\NHibernate.dll</HintPath>
+ <Reference Include="NHibernate, Version=3.3.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\NHibernate.3.3.1.4000\lib\Net35\NHibernate.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
+ <Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="RhinoSecurityInstaller.cs" />
View
8 Rhino.Security.Windsor/packages.config
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="Castle.Core" version="3.0.0.4001" />
- <package id="Castle.Windsor" version="3.0.0.4001" />
+ <package id="Castle.Core" version="3.1.0" targetFramework="net35" />
+ <package id="Castle.Windsor" version="3.1.0" targetFramework="net35" />
<package id="CommonServiceLocator" version="1.0" />
<package id="CommonServiceLocator.WindsorAdapter" version="1.0" />
- <package id="Iesi.Collections" version="3.2.0.4000" />
- <package id="NHibernate" version="3.3.0.4000" />
+ <package id="Iesi.Collections" version="3.3.1.4000" targetFramework="net35" />
+ <package id="NHibernate" version="3.3.1.4000" targetFramework="net35" />
</packages>
View
13 Rhino.Security/Rhino.Security.csproj
@@ -57,17 +57,20 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
- <HintPath>..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll</HintPath>
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\Iesi.Collections.3.3.1.4000\lib\Net35\Iesi.Collections.dll</HintPath>
</Reference>
- <Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
- <HintPath>..\packages\log4net.1.2.10\lib\2.0\log4net.dll</HintPath>
+ <Reference Include="log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\log4net.2.0.0\lib\net35-full\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Practices.ServiceLocation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\SharedLibs\Microsoft.Practices.ServiceLocation.dll</HintPath>
</Reference>
- <Reference Include="NHibernate">
- <HintPath>..\packages\NHibernate.3.3.0.4000\lib\Net35\NHibernate.dll</HintPath>
+ <Reference Include="NHibernate, Version=3.3.1.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\packages\NHibernate.3.3.1.4000\lib\Net35\NHibernate.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
View
6 Rhino.Security/packages.config
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="Iesi.Collections" version="3.2.0.4000" />
- <package id="log4net" version="1.2.10" />
- <package id="NHibernate" version="3.3.0.4000" />
+ <package id="Iesi.Collections" version="3.3.1.4000" targetFramework="net35" />
+ <package id="log4net" version="2.0.0" targetFramework="net35" />
+ <package id="NHibernate" version="3.3.1.4000" targetFramework="net35" />
</packages>
View
BIN  packages/Castle.Core.3.0.0.4001/Castle.Core.3.0.0.4001.nupkg
Binary file not shown
View
BIN  packages/Castle.Core.3.0.0.4001/lib/net35/Castle.Core.dll
Binary file not shown
View
BIN  packages/Castle.Core.3.0.0.4001/lib/net40-client/Castle.Core.dll
Binary file not shown
View
BIN  packages/Castle.Core.3.0.0.4001/lib/sl4/Castle.Core.dll
Binary file not shown
View
114 ...4001/ASL - Apache Software Foundation License.txt → ....1.0/ASL - Apache Software Foundation License.txt
@@ -1,57 +1,57 @@
-Apache License, Version 2.0
-
-Apache License
-Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-
- 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
-
- 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
-
- 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-
- 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
-
-You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
+Apache License, Version 2.0
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+ 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+ 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+ 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+
+You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
View
141 packages/Castle.Core.3.0.0.4001/BreakingChanges.txt → packages/Castle.Core.3.1.0/BreakingChanges.txt
@@ -1,70 +1,71 @@
-================================================================================================
-change - Removed overloads of logging methods that were taking format string from ILogger and
- ILogger and IExtendedLogger and didn't have word Format in their name.
- For example:
- void Error(string format, params object[] args); // was removed
- void ErrorFormat(string format, params object[] args); //use this one instead
-
-
-impact - low
-fixability - medium
-revision -
-
-description - To minimize confusion and duplication those methods were removed.
-
-fix - Use methods that have explicit "Format" word in their name and same signature.
-================================================================================================
-change - Removed WebLogger and WebLoggerFactory
-
-impact - low
-fixability - medium
-revision -
-
-description - To minimize management overhead the classes were removed so that only single
- Client Profile version of Castle.Core can be distributed.
-
-fix - You can use NLog or Log4Net web logger integration, or reuse implementation of existing
- web logger and use it as a custom logger.
-
-================================================================================================
-change - Removed obsolete overload of ProxyGenerator.CreateClassProxy
-
-impact - low
-fixability - trivial
-revision -
-
-description - Deprecated overload of ProxyGenerator.CreateClassProxy was removed to keep the
- method consistent with other methods and to remove confusion
-
-fix - whenever removed overload was used, use one of the other overloads.
-
-================================================================================================
-change - IProxyGenerationHook.NonVirtualMemberNotification method was renamed
-
-impact - high
-fixability - easy
-revision -
-
-description - to accommodate class proxies with target method NonVirtualMemberNotification on
- IProxyGenerationHook type was renamed to more accurate NonProxyableMemberNotification
- since for class proxies with target not just methods but also fields and other member that
- break the abstraction will be passed to this method.
-
-fix - whenever NonVirtualMemberNotification is used/implemented change the method name to
- NonProxyableMemberNotification. Implementors should also accommodate possibility that not
- only MethodInfos will be passed as method's second parameter.
-
-================================================================================================
-change - DynamicProxy will now allow to intercept members of System.Object
-
-impact - very low
-fixability - easy
-revision -
-
-description - to allow scenarios like mocking of System.Object members, DynamicProxy will not
- disallow proxying of these methods anymore. AllMethodsHook (default IProxyGenerationHook)
- will still filter them out though.
-
-fix - whenever custom IProxyGenerationHook is used, user should account for System.Object's
- members being now passed to ShouldInterceptMethod and NonVirtualMemberNotification methods
- and if neccessary update the code to handle them appropriately.
+=== version 3.0
+================================================================================================
+change - Removed overloads of logging methods that were taking format string from ILogger and
+ ILogger and IExtendedLogger and didn't have word Format in their name.
+ For example:
+ void Error(string format, params object[] args); // was removed
+ void ErrorFormat(string format, params object[] args); //use this one instead
+
+
+impact - low
+fixability - medium
+revision -
+
+description - To minimize confusion and duplication those methods were removed.
+
+fix - Use methods that have explicit "Format" word in their name and same signature.
+================================================================================================
+change - Removed WebLogger and WebLoggerFactory
+
+impact - low
+fixability - medium
+revision -
+
+description - To minimize management overhead the classes were removed so that only single
+ Client Profile version of Castle.Core can be distributed.
+
+fix - You can use NLog or Log4Net web logger integration, or reuse implementation of existing
+ web logger and use it as a custom logger.
+
+================================================================================================
+change - Removed obsolete overload of ProxyGenerator.CreateClassProxy
+
+impact - low
+fixability - trivial
+revision -
+
+description - Deprecated overload of ProxyGenerator.CreateClassProxy was removed to keep the
+ method consistent with other methods and to remove confusion
+
+fix - whenever removed overload was used, use one of the other overloads.
+
+================================================================================================
+change - IProxyGenerationHook.NonVirtualMemberNotification method was renamed
+
+impact - high
+fixability - easy
+revision -
+
+description - to accommodate class proxies with target method NonVirtualMemberNotification on
+ IProxyGenerationHook type was renamed to more accurate NonProxyableMemberNotification
+ since for class proxies with target not just methods but also fields and other member that
+ break the abstraction will be passed to this method.
+
+fix - whenever NonVirtualMemberNotification is used/implemented change the method name to
+ NonProxyableMemberNotification. Implementors should also accommodate possibility that not
+ only MethodInfos will be passed as method's second parameter.
+
+================================================================================================
+change - DynamicProxy will now allow to intercept members of System.Object
+
+impact - very low
+fixability - easy
+revision -
+
+description - to allow scenarios like mocking of System.Object members, DynamicProxy will not
+ disallow proxying of these methods anymore. AllMethodsHook (default IProxyGenerationHook)
+ will still filter them out though.
+
+fix - whenever custom IProxyGenerationHook is used, user should account for System.Object's
+ members being now passed to ShouldInterceptMethod and NonVirtualMemberNotification methods
+ and if neccessary update the code to handle them appropriately.
View
BIN  packages/Castle.Core.3.1.0/Castle.Core.3.1.0.nupkg
Binary file not shown
View
363 packages/Castle.Core.3.0.0.4001/Changes.txt → packages/Castle.Core.3.1.0/Changes.txt
@@ -1,171 +1,192 @@
-3.0.0 (2011-12-13)
-==================
-no major changes
-
-3.0.0 RC 1 (2011-11-20)
-==================
-- Applied Jeff Sharps patch that refactored Xml DictionaryAdapter to improve maintainability and enable more complete functionality
-
-- fixed DYNPROXY-165 - Object.GetType() and Object.MemberwiseClone() should be ignored and not reported as non-interceptable to IProxyGenerationHook
-- fixed DYNPROXY-164 - Invalid Proxy type generated when there are more than one base class generic constraints
-- fixed DYNPROXY-162 - ref or out parameters can not be passed back if proxied method throw an exception
-
-3.0.0 beta 1 (2011-08-14)
-==================
-- fixed CORE-37 - TAB characters in the XML Configuration of a component parameter is read as String.Empty
-- fixed DYNPROXY-161 - Strong Named DynamicProxy Assembly Not Available in Silverligh
-- fixed DYNPROXY-159 - Sorting MemberInfo array for serialization has side effects
-- fixed DYNPROXY-158 - Can't create class proxy with target and without target in same ProxyGenerator
-- fixed DYNPROXY-153 - When proxying a generic interface which has an interface as GenericType . No proxy can be created
-- fixed DYNPROXY-151 - Cast error when using attributes
-
-- implemented CORE-33 - Add lazy logging
-- implemented DYNPROXY-156 - Provide mechanism for interceptors to implement retry logic
-
-- removed obsolete members from ILogger and its implementations
-
-2.5.2 (2010-11-15)
-==================
-- fixed DYNPROXY-150 - Finalizer should not be proxied
-- implemented DYNPROXY-149 - Make AllMethodsHook members virtual so it can be used as a base class
-- fixed DYNPROXY-147 - Can't crete class proxies with two non-public methods having same argument types but different return type
-- fixed DYNPROXY-145 Unable to proxy System.Threading.SynchronizationContext (.NET 4.0)
-- fixed DYNPROXY-144 - params argument not supported in constructor
-- fixed DYNPROXY-143 - Permit call to reach "non-proxied" methods of inherited interfaces
-- implemented DYNPROXY-139 - Better error message
-- fixed DYNPROXY-133 - Debug assertion in ClassProxyInstanceContributor fails when proxying ISerializable with an explicit implementation of GetObjectData
-- fixed CORE-32 - Determining if permission is granted via PermissionUtil does not work in .NET 4
-- applied patch by Alwin Meijs - ExtendedLog4netFactory can be configured with a stream from for example an embedded log4net xml config
-- Upgraded NLog to 2.0 Beta 1
-- Added DefaultXmlSerializer to bridge XPathAdapter with standard Xml Serialization.
-- XPathAdapter for DictionaryAdapter added IXPathSerializer to provide hooks for custom serialization.
-
-2.5.1 (2010-09-21)
-==================
-- Interface proxy with target Interface now accepts null as a valid target value (which can be replaced at a later stage).
-- DictionaryAdapter behavior overrides are now ordered with all other behaviors
-- BREAKING CHANGE: removed web logger so that by default Castle.Core works in .NET 4 client profile
-- added paramter to ModuleScope disabling usage of signed modules. This is to workaround issue DYNPROXY-134. Also a descriptive exception message is being thrown now when the issue is detected.
-- Added IDictionaryBehaviorBuilder to allow grouping behaviors
-- Added GenericDictionaryAdapter to simplify generic value sources
-- fixed issue DYNPROXY-138 - Error message missing space
-- fixed false positive where DynamicProxy would not let you proxy interface with target interface when target object was a COM object.
-- fixed ReflectionBasedDictionaryAdapter when using indexed properties
-
-2.5.0 (2010-08-21)
-==================
-- DynamicProxy will now not replicate non-public attribute types
-- Applied patch from Kenneth Siewers M�ller which adds parameterless constructor to DefaultSmtpSender implementation, to be able to configure the inner SmtpClient from the application configuration file (system.net.smtp).
-- added support for .NET 4 and Silverlight 4, updated solution to VisualStudio 2010
-- Removed obsolete overload of CreateClassProxy
-- Added class proxy with taget
-- Added ability to intercept explicitly implemented generic interface methods on class proxy.
-- DynamicProxy does not disallow intercepting members of System.Object anymore. AllMethodsHook will still filter them out though.
-- Added ability to intercept explicitly implemented interface members on class proxy. Does not support generic members.
-- Merged DynamicProxy into Core binary
-- fixed DYNPROXY-ISSUE-132 - "MetaProperty equals implementation incorrect"
-- Fixed bug in DiagnosticsLoggerTestCase, where when running as non-admin, the teardown will throw SecurityException (contributed by maxild)
-- Split IoC specific classes into Castle.Windsor project
-- Merged logging services solution
-- Merged DynamicProxy project
-
-1.2.0 (2010-01-11)
-==================
-
-- Added IEmailSender interface and its default implementation
-
-1.2.0 beta (2009-12-04)
-==================
-
-- BREAKING CHANGE - added ChangeProxyTarget method to IChangeProxyTarget interface
-- added docs to IChangeProxyTarget methods
-- Fixed DYNPROXY-ISSUE-108 - Obtaining replicated custom attributes on proxy may fail when property setter throws exception on default value
-- Moved custom attribute replication from CustomAttributeUtil to new interface - IAttributeDisassembler
-- Exposed IAttributeDisassembler via ProxyGenerationOptions, so that users can plug their implementation for some convoluted scenarios. (for Silverlight)
-- Moved IInterceptorSelector from Dynamic Proxy to Core (IOC-ISSUE-156)
-
-1.1.0 (2009-05-04)
-==================
-
-- Applied Eric Hauser's patch fixing CORE-ISSUE-22
- "Support for environment variables in resource URI"
-
-- Applied Gauthier Segay's patch fixing CORE-ISSUE-20
- "Castle.Core.Tests won't build via nant because it use TraceContext without referencing System.Web.dll"
-
-- Added simple interface to ComponentModel to make optional properties required.
-
-- Applied Mark's -- <mwatts42@gmail.com> -- patch that changes
- the Core to support being compiled for Silverlight 2
-
-- Applied Louis DeJardin's patch adding TraceLogger as a new logger implementation
-
-- Applied Chris Bilson's patch fixing CORE-15
- "WebLogger Throws When Logging Outside of an HttpContext"
-
-Release Candidate 3
-===================
-
-- Added IServiceProviderEx which extends IServiceProvider
-
-- Added Pair<T,S> class.
-
-- Applied Bill Pierce's patch fixing CORE-9
- "Allow CastleComponent Attribute to Specify Lifestyle in Constructor"
-
-- Added UseSingleInterfaceProxy to CompomentModel to control the proxying
- behavior while maintaining backward compatibility.
- Added the corresponding ComponentProxyBehaviorAttribute.
-
-- Made NullLogger and IExtnededLogger
-
-- Enabled a new format on ILogger interface, with 6 overloads for each method:
- Debug(string)
- Debug(string, Exception)
- Debug(string, params object[])
- DebugFormat(string, params object[])
- DebugFormat(Exception, string, params object[])
- DebugFormat(IFormatProvider, string, params object[])
- DebugFormat(IFormatProvider, Exception, string, params object[])
-
- The "FatalError" overloads where marked as [Obsolete], replaced by "Fatal" and "FatalFormat".
-
-0.0.1.0
-=======
-
-- Included IProxyTargetAccessor
-
-- Removed IMethodInterceptor and IMethodInvocation, that have been replaced
- by IInterceptor and IInvocation
-
-- Added FindByPropertyInfo to PropertySetCollection
-
-- Made the DependencyModel.IsOptional property writable
-
-- Applied Curtis Schlak's patch fixing IOC-27
- "assembly resource format only works for resources where the assemblies name and default namespace are the same."
-
- Quoting:
-
- "I chose to preserve backwards compatibility by implementing the code in the
- reverse order as suggested by the reporter. Given the following URI for a resource:
-
- assembly://my.cool.assembly/context/moo/file.xml
-
- It will initially look for an embedded resource with the manifest name of
- "my.cool.assembly.context.moo.file.xml" in the loaded assembly my.cool.assembly.dll.
- If it does not find it, then it looks for the embedded resource with the manifest name
- of "context.moo.file.xml".
-
-- IServiceEnabledComponent Introduced to be used across the project as
- a standard way to have access to common services, for example, logger factories
-
-- Added missing log factories
-
-- Refactor StreamLogger and DiagnosticLogger to be more consistent behavior-wise
-
-- Refactored WebLogger to extend LevelFilteredLogger (removed duplication)
-
-- Refactored LoggerLevel order
-
-- Project started
+3.1.0 (2012-08-05)
+==================
+
+- fixed DYNPROXY-174 - Unable to cast object of type 'System.Collections.ObjectModel.ReadOnlyCollection`1[System.Reflection.CustomAttributeTypedArgument]' to type 'System.Array'
+
+3.1.0 RC (2012-07-08)
+==================
+- support multiple inheritance of DA attributes on interfaces.
+- BREAKING CHANGE: removed propogate child notifications as it violated INotifyPropertyChanged contract
+- improved DictionaryAdapter performance
+- generalized IBindingList support for DictionaryAdapters
+- added reference support to XmlAdapter
+- BRAKING CHANGE: refactored XPathAdapter into XmlAdapter with much more flexibility to support other input like XLinq
+
+- implemented CORE-43 - Add option to skip configuring log4net/nlog
+
+- fixed CORE-44 - NLog logger does not preserver call site info
+- fixed DYNPROXY-171 - PEVerify error on generic method definition
+- fixed DYNPROXY-170 - Calls to properties inside non-intercepted methods are not forwarded to target object (regression from v2.5)
+- fixed DYNPROXY-169 - Support IChangeProxyTarget on additional interfaces and mixins when using CreateInterfaceProxyWithTargetInterface
+
+3.0.0 (2011-12-13)
+==================
+no major changes since RC
+
+3.0.0 RC 1 (2011-11-20)
+==================
+- Applied Jeff Sharps patch that refactored Xml DictionaryAdapter to improve maintainability and enable more complete functionality
+
+- fixed DYNPROXY-165 - Object.GetType() and Object.MemberwiseClone() should be ignored and not reported as non-interceptable to IProxyGenerationHook
+- fixed DYNPROXY-164 - Invalid Proxy type generated when there are more than one base class generic constraints
+- fixed DYNPROXY-162 - ref or out parameters can not be passed back if proxied method throw an exception
+
+3.0.0 beta 1 (2011-08-14)
+==================
+- fixed CORE-37 - TAB characters in the XML Configuration of a component parameter is read as String.Empty
+- fixed DYNPROXY-161 - Strong Named DynamicProxy Assembly Not Available in Silverligh
+- fixed DYNPROXY-159 - Sorting MemberInfo array for serialization has side effects
+- fixed DYNPROXY-158 - Can't create class proxy with target and without target in same ProxyGenerator
+- fixed DYNPROXY-153 - When proxying a generic interface which has an interface as GenericType . No proxy can be created
+- fixed DYNPROXY-151 - Cast error when using attributes
+
+- implemented CORE-33 - Add lazy logging
+- implemented DYNPROXY-156 - Provide mechanism for interceptors to implement retry logic
+
+- removed obsolete members from ILogger and its implementations
+
+2.5.2 (2010-11-15)
+==================
+- fixed DYNPROXY-150 - Finalizer should not be proxied
+- implemented DYNPROXY-149 - Make AllMethodsHook members virtual so it can be used as a base class
+- fixed DYNPROXY-147 - Can't crete class proxies with two non-public methods having same argument types but different return type
+- fixed DYNPROXY-145 Unable to proxy System.Threading.SynchronizationContext (.NET 4.0)
+- fixed DYNPROXY-144 - params argument not supported in constructor
+- fixed DYNPROXY-143 - Permit call to reach "non-proxied" methods of inherited interfaces
+- implemented DYNPROXY-139 - Better error message
+- fixed DYNPROXY-133 - Debug assertion in ClassProxyInstanceContributor fails when proxying ISerializable with an explicit implementation of GetObjectData
+- fixed CORE-32 - Determining if permission is granted via PermissionUtil does not work in .NET 4
+- applied patch by Alwin Meijs - ExtendedLog4netFactory can be configured with a stream from for example an embedded log4net xml config
+- Upgraded NLog to 2.0 Beta 1
+- Added DefaultXmlSerializer to bridge XPathAdapter with standard Xml Serialization.
+- XPathAdapter for DictionaryAdapter added IXPathSerializer to provide hooks for custom serialization.
+
+2.5.1 (2010-09-21)
+==================
+- Interface proxy with target Interface now accepts null as a valid target value (which can be replaced at a later stage).
+- DictionaryAdapter behavior overrides are now ordered with all other behaviors
+- BREAKING CHANGE: removed web logger so that by default Castle.Core works in .NET 4 client profile
+- added paramter to ModuleScope disabling usage of signed modules. This is to workaround issue DYNPROXY-134. Also a descriptive exception message is being thrown now when the issue is detected.
+- Added IDictionaryBehaviorBuilder to allow grouping behaviors
+- Added GenericDictionaryAdapter to simplify generic value sources
+- fixed issue DYNPROXY-138 - Error message missing space
+- fixed false positive where DynamicProxy would not let you proxy interface with target interface when target object was a COM object.
+- fixed ReflectionBasedDictionaryAdapter when using indexed properties
+
+2.5.0 (2010-08-21)
+==================
+- DynamicProxy will now not replicate non-public attribute types
+- Applied patch from Kenneth Siewers M�ller which adds parameterless constructor to DefaultSmtpSender implementation, to be able to configure the inner SmtpClient from the application configuration file (system.net.smtp).
+- added support for .NET 4 and Silverlight 4, updated solution to VisualStudio 2010
+- Removed obsolete overload of CreateClassProxy
+- Added class proxy with taget
+- Added ability to intercept explicitly implemented generic interface methods on class proxy.
+- DynamicProxy does not disallow intercepting members of System.Object anymore. AllMethodsHook will still filter them out though.
+- Added ability to intercept explicitly implemented interface members on class proxy. Does not support generic members.
+- Merged DynamicProxy into Core binary
+- fixed DYNPROXY-ISSUE-132 - "MetaProperty equals implementation incorrect"
+- Fixed bug in DiagnosticsLoggerTestCase, where when running as non-admin, the teardown will throw SecurityException (contributed by maxild)
+- Split IoC specific classes into Castle.Windsor project
+- Merged logging services solution
+- Merged DynamicProxy project
+
+1.2.0 (2010-01-11)
+==================
+
+- Added IEmailSender interface and its default implementation
+
+1.2.0 beta (2009-12-04)
+==================
+
+- BREAKING CHANGE - added ChangeProxyTarget method to IChangeProxyTarget interface
+- added docs to IChangeProxyTarget methods
+- Fixed DYNPROXY-ISSUE-108 - Obtaining replicated custom attributes on proxy may fail when property setter throws exception on default value
+- Moved custom attribute replication from CustomAttributeUtil to new interface - IAttributeDisassembler
+- Exposed IAttributeDisassembler via ProxyGenerationOptions, so that users can plug their implementation for some convoluted scenarios. (for Silverlight)
+- Moved IInterceptorSelector from Dynamic Proxy to Core (IOC-ISSUE-156)
+
+1.1.0 (2009-05-04)
+==================
+
+- Applied Eric Hauser's patch fixing CORE-ISSUE-22
+ "Support for environment variables in resource URI"
+
+- Applied Gauthier Segay's patch fixing CORE-ISSUE-20
+ "Castle.Core.Tests won't build via nant because it use TraceContext without referencing System.Web.dll"
+
+- Added simple interface to ComponentModel to make optional properties required.
+
+- Applied Mark's -- <mwatts42@gmail.com> -- patch that changes
+ the Core to support being compiled for Silverlight 2
+
+- Applied Louis DeJardin's patch adding TraceLogger as a new logger implementation
+
+- Applied Chris Bilson's patch fixing CORE-15
+ "WebLogger Throws When Logging Outside of an HttpContext"
+
+Release Candidate 3
+===================
+
+- Added IServiceProviderEx which extends IServiceProvider
+
+- Added Pair<T,S> class.
+
+- Applied Bill Pierce's patch fixing CORE-9
+ "Allow CastleComponent Attribute to Specify Lifestyle in Constructor"
+
+- Added UseSingleInterfaceProxy to CompomentModel to control the proxying
+ behavior while maintaining backward compatibility.
+ Added the corresponding ComponentProxyBehaviorAttribute.
+
+- Made NullLogger and IExtnededLogger
+
+- Enabled a new format on ILogger interface, with 6 overloads for each method:
+ Debug(string)
+ Debug(string, Exception)
+ Debug(string, params object[])
+ DebugFormat(string, params object[])
+ DebugFormat(Exception, string, params object[])
+ DebugFormat(IFormatProvider, string, params object[])
+ DebugFormat(IFormatProvider, Exception, string, params object[])
+
+ The "FatalError" overloads where marked as [Obsolete], replaced by "Fatal" and "FatalFormat".
+
+0.0.1.0
+=======
+
+- Included IProxyTargetAccessor
+
+- Removed IMethodInterceptor and IMethodInvocation, that have been replaced
+ by IInterceptor and IInvocation
+
+- Added FindByPropertyInfo to PropertySetCollection
+
+- Made the DependencyModel.IsOptional property writable
+
+- Applied Curtis Schlak's patch fixing IOC-27
+ "assembly resource format only works for resources where the assemblies name and default namespace are the same."
+
+ Quoting:
+
+ "I chose to preserve backwards compatibility by implementing the code in the
+ reverse order as suggested by the reporter. Given the following URI for a resource:
+
+ assembly://my.cool.assembly/context/moo/file.xml
+
+ It will initially look for an embedded resource with the manifest name of
+ "my.cool.assembly.context.moo.file.xml" in the loaded assembly my.cool.assembly.dll.
+ If it does not find it, then it looks for the embedded resource with the manifest name
+ of "context.moo.file.xml".
+
+- IServiceEnabledComponent Introduced to be used across the project as
+ a standard way to have access to common services, for example, logger factories
+
+- Added missing log factories
+
+- Refactor StreamLogger and DiagnosticLogger to be more consistent behavior-wise
+
+- Refactored WebLogger to extend LevelFilteredLogger (removed duplication)
+
+- Refactored LoggerLevel order
+
+- Project started
View
160 packages/Castle.Core.3.0.0.4001/Committers.txt → packages/Castle.Core.3.1.0/Committers.txt
@@ -1,80 +1,80 @@
-This file names who's behind the Castle Team. You can find more about us at http://www.castleproject.org/community/team.html
-
-Committers
-==========
-(ordered by the date when joined the project)
-
-- hammett/Hamilton Verissimo
-- Henry Conceição
-- Kevin Williams
-- Craig Neuwirt
-- Gilles Bayon
-- Andrew Hallock
-- Jason Nelson
-- Dru Sellers
-- John Morales
-- CobraLord
-- Dan
-- Tatham Oddie
-- Fabio David Batista
-- Chad Humphries
-- Ayende Rahien
-- G. Richard Bellamy
-- Roelof Blom
-- Ahmed Ghandour
-- Josh Robb
-- Ernst Naezer
-- Marc-Andre Cournoyer
-- Fabian Schmied
-- Dave Godfrey
-- Markus Zywitza
-- Lee Henson
-- Ken Egozi
-- Chris Ortman
-- Jonathon Rossi
-- Tuna Toksöz
-- Krzysztof Kozmic
-- Mauricio Scheffer
-- John Simons
-
-Managers
-========
-
- Patch Manager
- -------------
-
- - Josh Robb
-
- Documentation Manager
- ---------------------
-
- -
-
-
-PMC Members
-===========
-(ordered by the date when joined the PMC)
-
-- hammett/Hamilton Verissimo (Chair)
-- Henry Conceição
-- Kevin Williams
-- Craig Neuwirt
-- Gilles Bayon
-- Chad Humphries
-- Ayende Rahien
-- Fabio David Batista
-- Roelof Blom
-- Josh Robb
-- Jonathon Rossi
-
-Emeritus
-========
-(no longer active committers)
-
-- Gilles Bayon
-- Dan
-- Andrew Hallock
-- John Morales
-- CobraLord
-- Tatham Oddie
-- Ahmed Ghandour
+This file names who's behind the Castle Team. You can find more about us at http://www.castleproject.org/community/team.html
+
+Committers
+==========
+(ordered by the date when joined the project)
+
+- hammett/Hamilton Verissimo
+- Henry Conceição
+- Kevin Williams
+- Craig Neuwirt
+- Gilles Bayon
+- Andrew Hallock
+- Jason Nelson
+- Dru Sellers
+- John Morales
+- CobraLord
+- Dan
+- Tatham Oddie
+- Fabio David Batista
+- Chad Humphries
+- Ayende Rahien
+- G. Richard Bellamy
+- Roelof Blom
+- Ahmed Ghandour
+- Josh Robb
+- Ernst Naezer
+- Marc-Andre Cournoyer
+- Fabian Schmied
+- Dave Godfrey
+- Markus Zywitza
+- Lee Henson
+- Ken Egozi
+- Chris Ortman
+- Jonathon Rossi
+- Tuna Toksöz
+- Krzysztof Kozmic
+- Mauricio Scheffer
+- John Simons
+
+Managers
+========
+
+ Patch Manager
+ -------------
+
+ - Josh Robb
+
+ Documentation Manager
+ ---------------------
+
+ -
+
+
+PMC Members
+===========
+(ordered by the date when joined the PMC)
+
+- hammett/Hamilton Verissimo (Chair)
+- Henry Conceição
+- Kevin Williams
+- Craig Neuwirt
+- Gilles Bayon
+- Chad Humphries
+- Ayende Rahien
+- Fabio David Batista
+- Roelof Blom
+- Josh Robb
+- Jonathon Rossi
+
+Emeritus
+========
+(no longer active committers)
+
+- Gilles Bayon
+- Dan
+- Andrew Hallock
+- John Morales
+- CobraLord
+- Tatham Oddie
+- Ahmed Ghandour
View
14 packages/Castle.Core.3.1.0/License.txt
@@ -0,0 +1,14 @@
+Copyright 2004-2012 Castle Project - http://www.castleproject.org/
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
View
BIN  packages/Castle.Core.3.1.0/lib/net35/Castle.Core.dll
Binary file not shown
View
9,576 .../Castle.Core.3.0.0.4001/lib/net35/Castle.Core.xml → packages/Castle.Core.3.1.0/lib/net35/Castle.Core.xml
4,756 additions, 4,820 deletions not shown
View
BIN  packages/Castle.Core.3.1.0/lib/net40-client/Castle.Core.dll
Binary file not shown
View
9,576 ....Core.3.0.0.4001/lib/net40-client/Castle.Core.xml → ...astle.Core.3.1.0/lib/net40-client/Castle.Core.xml
4,756 additions, 4,820 deletions not shown
View
BIN  packages/Castle.Core.3.1.0/lib/sl4/Castle.Core.dll
Binary file not shown
View
8,510 ...es/Castle.Core.3.0.0.4001/lib/sl4/Castle.Core.xml → packages/Castle.Core.3.1.0/lib/sl4/Castle.Core.xml
4,223 additions, 4,287 deletions not shown
View
19 packages/Castle.Core.3.0.0.4001/readme.txt → packages/Castle.Core.3.1.0/readme.txt
@@ -1,9 +1,10 @@
-You can find full list of changes in changes.txt
-
-Issue tracker: - http://issues.castleproject.org/dashboard
-
-Documentation (work in progress):
-Dictionary Adapter - http://docs.castleproject.org/Tools.Castle-DictionaryAdapter.ashx
-DynamicProxy - http://docs.castleproject.org/Tools.DynamicProxy.ashx
-Discusssion group: - http://groups.google.com/group/castle-project-users
-StackOverflow tags: - castle-dynamicproxy, castle-dictionaryadapter, castle
+Thanks for downloading this Castle package.
+You can find full list of changes in changes.txt
+
+Documentation (work in progress, contributions appreciated):
+Dictionary Adapter - http://docs.castleproject.org/Tools.Castle-DictionaryAdapter.ashx
+DynamicProxy - http://docs.castleproject.org/Tools.DynamicProxy.ashx
+Discusssion group: - http://groups.google.com/group/castle-project-users
+StackOverflow tags: - castle-dynamicproxy, castle-dictionaryadapter, castle
+
+Issue tracker: - http://issues.castleproject.org/dashboard
View
BIN  packages/Castle.Windsor.3.0.0.4001/Castle.Windsor.3.0.0.4001.nupkg
Binary file not shown
View
BIN  packages/Castle.Windsor.3.0.0.4001/lib/net35/Castle.Windsor.dll
Binary file not shown
View
BIN  packages/Castle.Windsor.3.0.0.4001/lib/net40-client/Castle.Windsor.dll
Binary file not shown
View
BIN  packages/Castle.Windsor.3.0.0.4001/lib/net40/Castle.Windsor.dll
Binary file not shown
View
BIN  packages/Castle.Windsor.3.0.0.4001/lib/sl4/Castle.Windsor.dll
Binary file not shown
View
8 packages/Castle.Windsor.3.0.0.4001/readme.txt
@@ -1,8 +0,0 @@
-You can find full list of changes in changes.txt, list of breaking changes in breakingchanges.txt.
-
-Online release notes: http://docs.castleproject.org/Windsor.Whats-New-In-Windsor-3.ashx
-Documentation: http://docs.castleproject.org/Windsor.MainPage.ashx
-Samples: http://docs.castleproject.org/Windsor.MainPage.ashx?#Samples_8
-Issue tracker: http://issues.castleproject.org/dashboard
-Discusssion group: http://groups.google.com/group/castle-project-users
-StackOverflow tags: castle-windsor, castle
View
114 ...4001/ASL - Apache Software Foundation License.txt → ....1.0/ASL - Apache Software Foundation License.txt
@@ -1,57 +1,57 @@
-Apache License, Version 2.0
-
-Apache License
-Version 2.0, January 2004
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-
- 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
-
- 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
-
- 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-
- 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
-
-You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
+Apache License, Version 2.0
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+ 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+ 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+ 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+
+You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
View
1,808 ...ges/Castle.Windsor.3.0.0.4001/BreakingChanges.txt → packages/Castle.Windsor.3.1.0/BreakingChanges.txt
@@ -1,872 +1,936 @@
-================================================================================================
-change - Typed factory using DefaultTypedFactoryComponentSelector when resolving component
- by name will not fallback to resolving by type if component with that name can not be found
- and will throw an exception instead.
-
-id - typedFactoryFallbackToResolveByTypeIfNameNotFound
-impact - medium
-fixability - easy
-
-description - Original behavior from v2.5 could lead to bugs in cases when named component was
- not registered or the name was misspelleed and a wrong component would be picked leading to
- potentially severe issues in the application. New version adapts fail-fast approach in those
- cases to give dvelopers immediate feedback the configuration is wrong.
-
-fix - Actual fix depends on which part of the behavior you want:
- - If you do care about the fallback behavior, that is get the component by name and if
- not present fallback to resolve by type, you can specify it explicitly when registering your
- factory:
- .AsFactory(
- new DefaultTypedFactoryComponentSelector(fallbackToResolveByTypeIfNameNotFound: true));
- - if you don't care about the fallback and what you really want is a 'GetSomeFoo' method
- that resolves by type, either rename the method so that its name doesn't start with 'get'
- or disable the "'get' methods resolve by name" behavior explicitly when registering your
- factory:
- .AsFactory(new DefaultTypedFactoryComponentSelector(getMethodsResolveByName: false))
-================================================================================================
-change - Referencing interceptors by type will not work if the interceptor has custom name.
-
-impact - medium
-fixability - easy
-
-description - We unified how referencing components by type works all across Windsor and that
- introduced change for some areas like referencing interceptors. Now referencing component
- by type means "component implemented by given type with default name". This is how it worked
- for service overrides and is now adapted all across the framework.
-
-fix - Remove Name (id in XML registration) from the referenced components if you're not using it
- or reference the component by its name.
-================================================================================================
-change - .Service method on mixing registration has been removed and replaced with .Component.
-
-impact - low
-fixability - easy
-
-description - The method had misleading name and behavior inconsistent with the rest of Windsor.
- As such it's been replaced with .Component method which is more explicit about what argument
- passed to it means
-
-fix - Replace with .Component method:
-Container.Register(Component.For<ICalcService>()
- .ImplementedBy<CalculatorService>()
- .Proxy.MixIns(m => m.Component<A>()));
- Notice the new method is behaving consistently with how referencing interceptors and service
- overrides works. So you may need to adjust generic argument to point to other component's
- implementation type rather than its exposed service.
-================================================================================================
-change - Generic overloads of .Insert(this IDictionary dictionary, otherarguments) extension
- method have been removed.
-
-impact - low
-fixability - easy
-
-description - The overload could cause unexpected behavior when the generic parameter was being
- inferred, and as such it is removed to make the type always explicit.
-
-fix - Use overload that specifies type explicitly:
- d.Insert(typeof(IFoo), new MyFoo()) instead of d.Insert<IFoo>(new MyFoo()) or new, explicit
- d.InsertTyped<IFoo>(new MyFoo())
-================================================================================================
-change - Method object Generate(IProxyBuilder, ProxyGenerationOptions, IInterceptor[]) on type
- IProxyFactoryExtension changed signature.
-
-
-impact - low
-fixability - easy
-
-description - To handle new scenarios two additional arguments were introduced:
- ComponentModel model and CreationContext context.
-
-fix - If you were implementing IProxyFactory and calling down to IProxyFactoryExtension pass your
- own arguments down to IProxyFactoryExtension. If you're implementing IProxyFactoryExtension
- adjust your signature and if that makes sense in your context use the arguments.
-================================================================================================
-change - ProxyUtil class was split and part moved to Castle.Core.dll and other was renamed
-
-impact - low
-fixability - easy
-
-description - ProxyUtil contained logic useful not just in the context of Windsor. As such
- it was moved to be part of DynamicProxy and most methods are now part of the other assembly.
- The only method specific to Windsor: ObtainProxyOptions was left and is now an extension
- method in class ProxyOptionsUtil.
-
-fix - If you were using ObtainProxyOptions use it either as extension method or update its type
- name to ProxyOptionsUtil. Remining methods are now part of ProxyUtil class which was moved
- to Castle.DynamicProxy namespaces and lives in Castle.Core.dll
-================================================================================================
-change - CreateLifestyleManager method was moved from handlers to IKernelInternal
-
-impact - low
-fixability - easy
-
-description - That behavior belongs in the kernel.
-
-fix - You shouldn't be using this method unless you're implementing custom handlers. If you do
- call back to the kernel instead of implementing it in yoru handler.
-================================================================================================
-change - Removed interface Castle.Core.ILifecycleConcern
-
-impact - low
-fixability - easy
-
-description - This change was made because with this base interface it was impossible to
- implement Castle.Core.ICommisssionConcern and Castle.Core.IDecommissionConcers in single class
- Additionaly ILifecycleConcern had no meaning, only the ICommisssionConcern and
- IDecommissionConcers have
-
-fix - If you have code using directly ILifecycleConcern (but what for?) you need to
- migrate to either ICommisssionConcern or IDecommissionConcers. For code that use
- ICommisssionConcern and IDecommisssionConcern you can recompile it to be extra save, but it
- is not required.
-================================================================================================
-change - Removed overloads of Configure and ConfigureFor<> methods of the fluent registration
- API that had ConfigureDelegate parameter
-
-impact - high
-fixability - easy
-
-description - This change was made to simplify the API and remove ambiguity in cases where a
- private method is used to provide the configuration.
-
-fix - This change breaks scenarios where a property was being used as the last element of the
- chain in the nested deledate, like:
- Configure(c => c.LifeStyle.Transient)
- This code will no longer compile. To fix it switch to the new methods exposing lifestyle:
- Configure(c => c.LifestyleTransient()) or simply::
- LifestyleTransient()
-================================================================================================
-change - ITypedFactoryComponentResolver interface was removed and ITypedFactoryComponentSelector
- now returns Func<IKernelInternal, IReleasePolicy, object> from SelectComponent method
-
-impact - low
-fixability - easy
-
-description - This change was made to simplify coding of advanced custom selectors which means
- now only one type needs to be created instead of two and change is much more localized.
-
-fix - If you were using DefaultTypedFactoryComponentSelector this change does not affect you.
- otherwise return delegate pointing to Resolve method of your ITypedFactoryComponentResolver
- class or inline it altogether.
-================================================================================================
-change - Add() methods on PropertySetCollection and ConstructorCandidateCollection are no longer
- publicly accessible
-
-impact - low
-fixability - easy
-
-description - This change was made to ensure and encapsulate the fact that as constructor or
- property dependency is added the dependency is also added to Dependencies collection on
- ComponentModel.
-
-fix - Use new AddProperty or AddConstructor methods respectively.
-================================================================================================
-rename - WithService.DefaultInterface() -> WithService.DefaultInterfaces()
-description - changed to plural to emphasize more than one interface may be matched.
-================================================================================================
-change - ResolveAll methods have now different bahaviour.
-
-impact - high
-fixability - medium
-
-description - Previously Windsor when ResolveAll was called would try to resolve all components
- with implementation type assignable to the type requirested and silently ignore those it
- could not resolve. This behavior was introduced before Windsor had ability to support multi
- service components and at the time it was the only way to support certain scenarios.
- Currently this behavior is no longer required and is indeed leading to issues when dealing
- with code that doesn't strictly follow good OOP principles. Also by silently ignoring
- unresolvable components it may mask registration issues, that's why it was changed.
-
-fix - Now ResolveAll<Foo>() will only resolve components that explicitly expose Foo as their
- service. If you were depending on the implicit behavior previously, make sure you add all
- types you resolve via this method as service to the desired components.
- Also Windsor now will throw exception if any of the components can't be resolved. If you
- have a legitimate reason to have unresolvable component use IHandlersFilter to filter that
- components out.
-================================================================================================
-change - The following methods were removed:
- IHandler.AddCustomDependencyValue
- IHandler.HasCustomParameter
- IHandler.RemoveCustomDependencyValue
- IHandler.OnHandlerStateChanged event
- IKernelInternal.RaiseHandlerRegistered
- IKernelInternal.RaiseHandlersChanged
- IKernelInternal.RegisterCustomDependencies (all 4 overloads)
-
-impact - low
-fixability - easy
-
-description - Those members were remainings from the old era and there's no longer any point in
- having them.
-
-fix - Pass the dependencies directly to the ComponentModel using DependsOn method on the fluent
- registration API. The OnHandlerStateChanged event would no longer be raised so there was no
- point in keeping it around either. Use HandlersChanged event on kernel instead.
-================================================================================================
-change - IReference<out T>.Attach and .Detach method have now ComponentModel as their parameter.
-
-impact - low
-fixability - easy
-
-description - To accomodate changes in DependencyModel and ParameterModel it was required to
- have access to both of them hence ComponentModel is being passed as a more generic object
- exposing access to all required elements.
-
-fix - Pass in full ComponentModel, not just it's .Dependencies property. In the reference
- use component's properties to do all you require
-================================================================================================
-change - IDependencyAwareActivator has new method: bool IsManagedExternally(ComponentModel);
-
-impact - low
-fixability - easy
-
-description - To implement feature IOC-277 this new customization point was introduced which
- allows custom activators to specify whether the instance they activate shoud be managed
- by the container. If true is returned this signifies to the container that the component
- should not be tracked by the release policy. The activator should in that case also not
- invoke any lifecycle steps. Notice that lifestyle manager can override the choice and that
- this method will not be called in all cases.
-
-fix - Implement the method however makes sense to you. By default you should just return false.
-================================================================================================
-change - IExposeDependencyInfo.ObtainDependencyDetails method signature has changed
-
-impact - low
-fixability - easy
-
-description - To move the code for constructing the exception when dependencies are missing
- out of handlers and open way for different scenarios a new interface was introduced:
- IDependencyInspector and it is now used by IExposeDependencyInfo to provide the same
- functionality as before.
-
-fix - Adjust the calls to the new signature. If you have custom handler type take a look at
- how built in handlers are now implemented.
-================================================================================================
-change - type attribute is now required and id is ignored in facility XML configuration
-
-impact - low
-fixability - easy
-
-description - Since type is uniquely identifying facilities there was no point in keeping the id
- around anymore.
-
-fix - This change can affect you in two ways. If you were using facilities node in the XML and
- not specifying the type it is now mandatory. Notice Windsor's ability to apply short type
- names works here as well, so often just type name is enough - no need to specify assembly
- qualified name. Also the assembly will now be instantiated by the container, so if you were
- adding it in code later on, this is no longer required (in fact it will throw an exception
- saying the assembly was already added).
- The other thing that may affect you is if you were looking up facility config namnually via
- IConfigurationStore.GetFacilityConfiguration method. It now expects full name of the type
- as the key, so you should be calling it like this:
- store.GetFacilityConfiguration(typeof(YourFacility).FullName);
-================================================================================================
-change - EventWiringFacility, FactorySupportFacility and RemotingFacility are extracted to their
- own assemblies
-
-impact - low
-fixability - easy
-
-description - These facilities are rarely used and two of them (FactorySupportFacility and
- RemotingFacility) are mostly considered legacy. As such there's no point in keeping them
- in Windsor's assembly, especially in Silverlight version.
-
-fix - Reference the new assemblies and update your references in XML if you use it.
-================================================================================================
-change - Component.For(ComponentModel) overload was removed.
-
-impact - low
-fixability - medium
-
-description - To simplify internal structure of fluent registration API and bring it more in
- line with standard registration the overload was removed.
-
-fix - If you really need this overload you can create custom IRegistration that exposes this
- functionality. Or better rethink why you need it in the first place.
-================================================================================================
-change - Adding more than a single facility of any given type is not legal anymore
-
-impact - none (I hope)
-fixability - easy
-
-description - Doing so is a bug. Why would you do it in the first place?
-
-fix - Stop doing it.
-================================================================================================
-change - RegisterCustomDependencies methods were moved from IKernel to IKernelInternal.
-
-impact - low
-fixability - easy
-
-description - Those methods are hardly ever used these days so there was no point in polluting
- the public API with them
-
-fix - Are you really using those methods? Perhaps you should be using the fluent API? If not
- just cast the kernel to IKernelInternal and you can access them.
-================================================================================================
-change - IWindsorContainer.AddFacility and IKernel.AddFacility overloads that were taking
- Func<TFacility,object> were removed.
-
-impact - low
-fixability - easy
-
-description - Those overloads were only cluttering the API and confusing users. There was no
- point in keeping them
-
-fix - You should not have to fix that at all. C# compiler (in version 3 or higher) should be
- smart enough to pick the Action<TFacility> overload automatically if you're using lambda
- syntax. If you aren't, please do, or adjust the call to match the Action<TFacility> overload
-================================================================================================
-change - IComponentModelBuilder.BuildModel and ComponentModel constructor take ComponenName now
- instead of string for 'name' parameter
-
-impact - low
-fixability - easy
-
-description - Most of the time name given to components is automatically generated and user does
- not care what it is and never interacts with it. To be able to tell apart cases when user
- did set the name manually, and when it was auto-generated a new type ComponenName has been
- introduced which in addition to the name value keeps track of whether the name was provided
- by user or autogenerated.
-
-fix - Update your calls accordingly, creating the ComponentName and passing right values in.
- Also in the fluent API the method NamedAutomatically was introduced for use by facilities
- and such to register their own components with some name that the user will not care about.
-================================================================================================
-change - IConfigurationInterpreter.ProcessResource now takes an additional argument: IKernel
-
-impact - low
-fixability - easy
-
-description - To accomodate ability not to specify id when configuring components or facilities
- in XML config in conjunction with simple type name support in Windsor (this feature that
- lets you specify just simple type name like Foo, instead of assembly qualified name like
- Acme.Crm.Foo, Acme.Crm) access to conversion subsystem was required and it made sense to
- grab entire kernel as some other things could be taken advantage of.
-
-fix - Pass the kernel in.
-================================================================================================
-change - Release policies have now slightly different semantics.
-
-impact - medium
-fixability - medium
-
-description - To limit unnecessary tracking of components, which unnecessarily consumes memory
- and causes contention in multithreaded scenarios the following change was made to release
- policy semantics:
- - only objects whose decommission is managed by the policy (ie which are released by call to
- policy.Release, or indirectly: container.Release) can now be Tracked. This is determined by
- the 'RequiresPolicyRelease' flag on Burden. If the flag is not set the policy can throw.
-
-fix - The change is likely to affect code using custom lifetime managers. It is now up to the
- manager to decide if it will release the object itself (then it should pass 'true' to
- 'public Burden CreateBurden(bool trackedExternally)' method on CreationContext). Tracking
- happens also for objects that require it ('RequiresDecommission' on burden is 'true').
- If lifestyle manager wants to make sure the object will be tracked it can set this flag.
- Otherwise it is up to Windsor to decide if it needs to track the object or not.
- Another side-effect of the change is that calling 'container.Kernel.ReleasePolicy.HasTrack'
- may now return 'false', when it previously would return 'true', if the object does not meet
- the criteria mentioned above. If you were using this method, make sure you review your code
- that depends on it, and adjust it to the new requirements. The semantics of 'HasTrack' is
- 'does the release policy track this object', not 'does anything in the container track it'
- anymore.
-================================================================================================
-change - IReleasePolicy interface has a new method: IReleasePolicy CreateSubPolicy(); usage of
- sub-policies changes how typed factories handle out-of-band-release of components (see
- description)
-
-impact - medium
-fixability - easy
-
-description - This was added as an attempt to enable more fine grained lifetime scoping (mostly
- for per-typed-factory right now, but in the future also say - per-window in client app).
- As a side-effect of that (and change to release policy behavior described above) it is no
- longer possible to release objects resolved via typed factories, using container.Release.
- As the objects are now tracked only in the scope of the factory they will be released only
- if a call to factory releasing method is made, or when the factory itself is released.
-
-fix - Method should return new object that exposes the same behavior as the 'parent' usually it
- is just best to return object of the same type (as the built-in release policies do).
-================================================================================================
-change - IHandler.Release now takes Burden, not object as its parameter. Burden.Release now has
- no arguments (used to take IReleasePolicy)
-
-impact - low
-fixability - easy
-
-description - The method used to take component instance to release. Now it takes Burden which
- has some additional information and behavior. Also to decouple Burden from IReleasePolicy
- it now uses callback (via Released event) as notification mechanism.
-
-fix - Adjust calls appropriately
-//TODO: expand this with better description once the rest of the changes is in place.
-================================================================================================
-change - AllComponentsReleasePolicy was removed, ILifestyleManager.Resolve has different
- signature now, and additional responsibilities.
-
-impact - medium
-fixability - medium
-
-description - Handling of decision regarding tracking is now happening in two steps. First step
- happens in the lifestyle manager, which gets to decide if the instance should be tracked
- at all (which should be chosen when a new instance is created) and if IReleasePolicy should
- own (trigger) the release process.
-
-fix - If you implement custom lifestyle consult the implementation of standard lifestyles for
- examples how to handle each aspect of component lifestyle management. Broadly speaking the
- behavior should be the following (*do* inherit from AbstractLifestyleManager for your own
- convenience):
- - if your lifestyle employs caching, it should cache Burdens, not the objects resolved
- directly. Look up its cache, and if you find matching burden return object it manages
- (accessed via 'Instance' property)
- - on cache miss call base.CreateInstance to obtain new instnace from activator. This method
- will not return the managed object directly but rather a Burden instance. The 2nd argument
- 'trackedExternally' should be set to true if the lifestyle manager uses some external mecha-
- nism to track end of life for components. If not, (when set to true) releasePolicy will take
- the responsibility.
- - inspect burden's RequiresDecommission property. If its value is true that means either
- the intsance obtained or at least one of its dependencies can not be released out of band
- and will require to be released explicitly. If the property is set to true you are required
- to track the componetn obtained with releasePolicy provided (you can use base.Track method
- to acheave that). If the property is false, release policy will ignore the component when
- container's Release method is called, and rely on your out of band handling).
- - cache your newly obtained instance if needed.
- - return the intance, (burden.Instance)
-================================================================================================
-rename - CreationContext.Empty -> CreationContext.CreateEmpty()
-description - readability change to make it obvious that new instance is created each time.
-================================================================================================
-change - IServiceProviderEx was removed as base interface for IWindsorContainer and IKernel
-
-impact - low
-fixability - easy
-
-description - To make the interface for the container more compact the functionality was
- extracted to external class - WindsorServiceProvider.
-
-fix - Use WindsorServiceProvider instead.
-================================================================================================
-rename - INamingSubSystem.GetHandlers -> INamingSubSystem.GetAllHandlers
-description - readability change. No affect on behavior
-================================================================================================
-change - Removed the following methods:
- GraphNode.RemoveDepender,
- GraphNode.RemoveDependent,
- IKernel.RemoveComponent,
- IKernelEvents.ComponentUnregistered,
- INamingSubSystem.this[Type service],
- INamingSubSystem.GetHandler,
- INamingSubSystem.GetService2Handler,
- INamingSubSystem.GetKey2Handler,
- INamingSubSystem.UnRegister(String key),
- INamingSubSystem.UnRegister(Type service)
-Also INamingSubSystem.Register now takes only IHandler as its argument
-
-impact - low
-fixability - none
-
-description - The methods were implementation of "remove component from the container" feature
- which was flawed and problematic, hecen was scraped.
-
-fix - Working around is quite dependant on your specific usage. Try utilizing IHandlerSelectors.
- For changed Register method, just update your calling code not to pass the name.
- handler.ComponentModel.Name is now used as the key, as it was happening in all places so far
- anyway, so this change should have no real impact.
-================================================================================================
-change - Removed the following types: ContainerAdapter, ContainerWrapper, IContainerAdapter,
- IContainerAdapterSite
-
-impact - low
-fixability - none
-
-description - These types require ability to remove components from a container. This ability
- was removed and since these types are hardly ever used, they were removed as well.
-
-fix - No quick fix is possible. If you are depending on this functionality proaly your best shot
- is to replicate it, espeicially catering for the removal of components which is no longer
- available in Windsor.
-================================================================================================
-change - Removed ComponentRegistration.If and ComponentRegistration.Until methods, as well as
- Component.ServiceAlreadyRegistered method, and replaced their most common usage with
- ComponentRegistration.OnlyNewServices method
-
-impact - medium
-fixability - easy/hard
-
-description - To make the API simpler easier to discover as well as to allow changes in internal
- architecture, the aforementioned changes were made.
-
-fix - Most of the time the removed methods were used in the following combination:
- Component.For<Foo>().Unless(Component.ServiceAlreadyRegistered)
- In this case the fix is simple. Just replace the .Unless(Component.ServiceAlreadyRegistered)
- with .OnlyNewServices()
- If you were using the method in some other way, the fix may be more complicated and depend
- on your particular scenario. In those cases it's best to consult Castle users group for
- advice on how to proceed.
-================================================================================================
-change - Rebuilt how components exposing multiple services are handled internally. This includes
- several changes to the API:
- ForwardingHandler class and IHandlerFactory.CreateForwarding method were removed.
- ComponentModel.Service property was removed replaced with ClassService and InterfaceServices
- properties. Also AddService method was added. Constructor's argument for service was changed
- to be Type[] instead of single Type.
- IHandler.Service property was removed, replaced by Services property.
- IComponentModelBuilder.BuildModel method takes now ICollection<Type> isntead of single Type
- as services.
- ComponentRegistration.For(Type serviceType, params Type[] forwaredTypes) method was removed.
- ComponentFilter delegate type was removed as no longer needed
-
-impact - low
-fixability - easy
-
-description - As part of improvement to internal architecture changed how components exposing
- more than one service are handled.
-
-fix - This change should not affect most users, unless extending internals of the container. If
- that's the case, adjust your calls to the new signatures, and change code anticipating
- ForwardedHandlers to use Services collection from the solve IHnadler for any given component
-================================================================================================
-change - Proxies no longer implicitly implement all interfaces of component implementation type.
-
-impact - medium
-fixability - medium
-
-description - This original behavior was actually a bug and would produce unpredictible behavior
- for components exposing several services including their class.
-
-fix - if you were depending on the additional non-service intrfaces being forwarded to the proxy
- specify them explicitly as addtional interfaces to proxy:
- container.Register(Component.For<CountingInterceptor>()
- .Named("a"),
- Component.For<ICommon>()
- .ImplementedBy<TwoInterfacesImpl>()
- .Interceptors("a")
- .Proxy.AdditionalInterfaces(typeof(ICommon2))
- .LifeStyle.Transient);
-================================================================================================
-change - NamingPartsSubSystem, KeySearchNamingSubSystem, ComponentName, BinaryTreeComponentName
- and TreeNode types were removed.
-
-impact - medium
-fixability - medium
-
-description - As part of internal cleanup these esoteric, alternative implementations of naming
- subsystem were removed.
-
-fix - behavior of these implementations of naming subsystem can be easily emulated with default
- naming subsystem and custom IHandlerSelectors, which is the recommended way to go.
-================================================================================================
-change - UseSingleInterfaceProxy option was removed
-
-impact - low
-fixability - easy
-
-description - As part of clean up of the obsolete API the option was removed to enable certain
- internal changes for the release.
-
-fix - if you were using this option and you have to use it, use a IProxyGenerationHook impl
- and choose to only proxy members of that single interface.
-
-
-================================================================================================
-release 2.5.2 ==================================================================================
-================================================================================================
-change - One of CreationContext constructors has now additional argument; parent CreationContext
- Method public IDisposable ParentResolutionContext(...) on CreationContext was removed
- Method protected CreationContext CreateCreationContext(...) has now additional argument;
- parent CreationContext
-
-impact - low
-fixability - medium
-
-description - To fix issue with false positive cycle detection (see issue IOC-238) changes had
- to be made to how parent creation context gets propagated in certain situation (when call
- to kernel.Resolve/ResolveAll is performed as part of resolution process, for example when
- CollectionResolver is being used).
-
-fix - If you override CreateCreationContext method on DefaultKernel pass the additional argument
- as new constructor parameter to CreationContext.
- If you were using ParentResolutionContext method it should be fairly safe to remove the call
- if it was preceded by call to updated CreationContext constructor and the CreationContext is
- not used outside of local scope. In other cases it's best to consult Castle users group for
- advice on how to proceed.
-================================================================================================
-change - IReference<> interface has two new methods
-
-impact - low
-fixability - easy
-revision -
-
-description - To make it possible to statically analyze dynamic dependencies provided by
- the IReference interface two new methods were added:
- void Attach(DependencyModelCollection dependencies);
- void Detach(DependencyModelCollection dependencies);
-
-fix - if you're providing dependencies on a component from the container call Attach so that
- reference gets a chance to create and add DependencyModel for that dependency so that
- it can be statically analyzed by the container.
-================================================================================================
-change - Method IDependencyResolver.Initialize change signature
-
-impact - low
-fixability - easy
-revision -
-
-description - To make it possible to use custom DependencyResolver inheriting from
- DefaultDependencyResolver initialization of DefaultDependencyResolver was moved out of its
- constructor and to IDependencyResolver.Initialize method which now takes IKernel as its
- additional parameter
-
-fix - if you're implementing the interface adjust signature of the overriding method to
- public void Initialize(IKernel kernel, DependencyDelegate dependencyDelegate)
- The method is called by the kernel at the end of its constructor.
-================================================================================================
-change - Changed visibility of members on AbstractFacility to protected and implementation of
- interface members to explicit.
-
-impact - low
-fixability - easy
-revision -
-
-description - To make it less confusing to users when fluently configuring facilities (via
- AddFacility<SomeFacility>(f => f.ConfigureSomething()) method) visibility of certain members
- of AbstractFacility class was changed. Public properties FacilityConfig and Kernel are now
- protected, and all methods from IFacility interface are implemented explicitly. Additionally
- protected Dispose method was introduced to allow inheriting classes to still be disposed.
-
-fix - If you were using FacilityConfig and/or Kernel properties outside of inherited classes
- refactor your code accordingly not to do so. If you were overriding Dispose method change
- its signature from
- public override void Dispose() to
- protected override void Dispose()
-================================================================================================
-release 2.5.1 ==================================================================================
-================================================================================================
-change - ILazyComponentLoader.Load now accepts a third argument for additional arguments.
-
-impact - medium
-fixability - easy
-revision -
-
-description - To allow maximum flexibility and usage with Resolve, any additional arguments
- are now passed to the lazy loader.
-================================================================================================
-change - LifecycleStepCollection class was removed. Instaed LifecycleConcernsCollection class
- was introduced. ILifecycleConcern has now two innerited interfaces for commission and
- decommission. LifecycleSteps property of ComponentModel was renamed to Lifecycle.
- LifecycleStepType type was removed.
-
-impact - medium
-fixability - easy
-revision -
-
-description - To improve strongly typed nature and decrease probability of mistake and improve
- general usability of the type LifecycleStepCollection was removed. In it place similar type
- was introduced - LifecycleConcernsCollection. Instead of using untyped Objects and enums
- it works with two new interfaces : ICommissionConcern and IDecommissionConcern.
-
-fix - have your lifecycle steps implement one of the new lifecycle interfaces. Use appropriate
- overload of Add/AddFirst to add them.
-================================================================================================
-change - Typed Factories will not implicitly pick default ITypedFactoryComponentSelector
- registered in the container anymore
-
-impact - low
-fixability - easy
-revision -
-
-description - In version 2.1 where ITypedFactoryComponentSelectors were introduced, when you had
- a selector registered in the container that selector would be implicitly picked for every
- factory you had. Since the behavior of a selector tends to be fine grained and targetet for
- a specific factories, this behavior was removed. You have to explicitly associate the selector
- with a factory (using .AsFactory(f => f.SelectUsing("MySelector")); or via xml configuration)
- to override selection behavior.
-
-fix - using either fluent API .AsFactory(f => f.SelectUsing("MySelector")), or XML configuration
- selector="${MySelector}" specify the selector explicitly for each of your factories.
-================================================================================================
-change - ServiceSelector delegate (used in WithService.Select calls) changed signature
-
-impact - low
-fixability - easy
-revision -
-
-description - To fix a bug which would occur if type implemented multiple closed version of base
- open generic interface the signature of the delegate was changed from
- public delegate IEnumerable<Type> ServiceSelector(Type type, Type baseType);
- to
- public delegate IEnumerable<Type> ServiceSelector(Type type, Type[] baseTypes);
- so that multiple base types are possible (they would be closed versions of the same open
- generic interface)
-
-fix - depending on the scenario. You would either ignore it, or wrap your current method's body
- in foreach(var baseType in baseTypes)
-================================================================================================
-change - moved IWindsorInstaller to Castle.MicroKernel.Registration namespace
-
-impact - very low
-fixability - easy
-revision -
-
-description -In order to improve developer experience when writing installers the interface
- was moved so that Component and AllTypes entry types for registration are already in scope.
-
-fix - add using Castle.MicroKernel.Registration directive.
-================================================================================================
-change - Added two new overloads to ITypeConverter.PerformConversion
-
-impact - very low
-fixability - easy
-revision -
-
-description - To reduce casting in the most common scenario where converted value is casted to
- the type it's been converted to, ITypeConverter.PerformConversion has now generic overloads
- for handling this case.
-
-fix - If you're implementing ITypeConverter via AbstractTypeConverter you don't have to do
- anything as the base class will handle the conversion for you. Otherwise implement it like
- in AbstractTypeConverter.
-
-================================================================================================
-change - AddCustomComponent method were moved from IKernel to IKernelInternal interface
-
-impact - very low
-fixability - easy
-revision -
-
-description - This method constitute internally used contract of kernel and is not intended
- for external usage. As such it was moved to internal interface to declutter public
- interface of IKernel.
-
-fix - You should not have been using this method so it should not affect you in any way. If
- you did, cast the IKernel to IKernelInternal to invoke the method.
-
-================================================================================================
-change - IModelInterceptorsSelector.SelectInterceptors method changed its signature and how it
- is used.
-
-impact - medium
-fixability - medium
-revision -
-
-description - To accomodate additional scenarios that were impossible (or hard to achieve
- with previous design the method now has additional parameter, an array of references to
- interceptors, which contains either default interceptors for the component, or interceptors
- selected by previous interceptors in line). Also, Windsor will now never call
- IModelInterceptorsSelector.SelectInterceptors without calling
- IModelInterceptorsSelector.HasInterceptors before it, or when the latter returns false.
-
-fix - When adjusting your implementation remember that model's interceptors are the default value
- passed as methods second parameter, so you don't need to merge them again manually (otherwise
- they'll be invoked twice).
-
-================================================================================================
-change - CreateComponentActivator, RaiseHandlerRegistered, RaiseHandlersChanged and
- RegisterHandlerForwarding methods were moved from IKernel to IKernelInternal interface
-
-impact - very low
-fixability - easy
-revision -
-
-description - These methods constitute internally used contract of kernel and are not intended
- for external usage. As such they were moved to internal interface to declutter public
- interface of IKernel.
-
-fix - You should not have been using these methods so it should not affect you in any way. If
- you did, cast the IKernel to IKernelInternal to invoke the methods.
-
-================================================================================================
-change - IProxyHook interface was removed
-
-impact - very low
-fixability - easy
-revision -
-
-description - Since MicroKernel was merged with Windsor and now depends on DynamicProxy directly
- there's no need to provide additional abstraction on top of IProxyGenerationHook.
-
-fix - Make types that were implementing IProxyHook to implement IProxyGenerationHook. Change all
- usages of IProxyHook to IProxyGenerationHook.
-
-================================================================================================
-change - AddInstallerConfiguration and GetComponents methods were added to IConfigurationStore.
-
-impact - very low
-fixability - easy
-revision - 3bf716cc6fc218601dab92a6dd75fe269bcb63d0
-
-description - To enable installers to be exposed via configuration the interface has been
- extended by addition of the two methods.
-
-fix - Implement the methods accordingly to your situation.
-
-================================================================================================
-change - Multiple types were moved between namespaces
-
-impact - low
-fixability - trivial
-revision - 3bf716cc6fc218601dab92a6dd75fe269bcb63d0
-
-description - To improve the internal structure several types were moved to other namespaces.
-
-fix - When compilation error occurs adjust namespace imports as suggested by Visual Studio
-
-================================================================================================
-change - Assembly Castle.MicroKernel.dll was merged into Castle.Windsor.dll
-
-impact - high
-fixability - easy
-revision - 730b202b0ed23a6b42258a6ffd6a3e63f89501fc
-
-description - Since vast majority of users used Windsor, as opposed to bare MicroKernel it was
- decided it didn't make sense to maintain two containers. As result of that their assemblies
- were merged, as first step of integration between Windsor and MicroKernel.
-
-fix - In your projects remove reference to Castle.MicroKernel.dll. If you weren't using Windsor
- add reference to Castle.Windsor.dll
- In all places where your were referencing types from Castle.MicroKernel.dll via string
- (like xml configuration when registering facilities, or <httpModules> section on your
- web.config) update references from Castle.MicroKernel to Castle.Windsor.
-
-================================================================================================
-change - ComponentRegistration<S>.Startable public method has been removed.
- ComponentRegistration<S>.StartUsingMethod public method was moved to extension method.
- ComponentRegistration<S>.StopUsingMethod public method was moved to extension method.
-
-impact - low
-fixability - trivial
-revision - 6710
-
-description - StartUsingMethod/StopUsingMethod belong to StartableFacility and do not make sense
- as part of generic API. Startable method was superfluous.
-
-fix - Remove calls to Startable(). Import namespace Castle.Facilities.Startable to use
- StartUsingMethod and StopUsingMethod as extension methods.
-
-================================================================================================
-change - DefaultProxyFactory.CreateProxyGenerationOptionsFrom protected method and
- DefaultProxyFactory.CustomizeProxy protected virtual method have changed signature
-
-impact - very low
-fixability - easy
-revision - 6691
-
-description - the methods now also takes IKernel and CreationContext, to be used by IReferences
- to do resolution of components they reference
-
-fix - pass required parameters to the methods.
-
-================================================================================================
-change - ProxyOption's properties changed types:
- Selector, from IInterceptorSelector to IReference<IInterceptorSelector>
- Hook from IProxyHook to IReference<IProxyHook>
- MixIns from object[] to IEnumerable<IReference<object>>
-
-impact - very low
-fixability - easy
-revision - 6691
-
-description - the properties now use IReferences instead of live objects to allow for
- resolution of their values from the container, as required in case of usage from xml.
-
-fix - wherever used, adjust types appropriately. To obtain actual objects, use Resolve method.
+=== version 3.1
+================================================================================================
+change - Windsor will no longer allow components from parent container to have dependencies from
+ child container when resolving via child container.
+ Class ParentHandlerWithChildResolver was renamed to ParentHandlerWrapper
+
+impact - low
+fixability - medium
+
+description - Previously in some cases, when resolving from child container Windsor would allow
+ component from the parent container to depend on components from a child container.
+ This would lead to all sorts of problems (child coomponents leaking to parent scope, parent
+ components being released prematurely when disposing of the child container etc.
+ Overall this behavior was a mess, and was removed.
+ See http://issues.castleproject.org/issue/IOC-345 for more details
+
+fix - If you were depending on the old behavior it is best to restructure your dependencies so
+ you don't have to have those inverted dependencies.
+ Since each scenario is different it's best to discuss any questions you may have on the user
+ group.
+
+================================================================================================
+change - IHandler.SupportsAssignable(Type) method has been added
+
+impact - low
+fixability - easy
+
+description - This was added to better support IGenericServiceStrategy on generic handlers when
+ calling IKernel.GetAssignableHandlers(Type). Now the handler can decide whether it wants to
+ consider itself assigmable to given service.
+
+fix - This change affects you only if you're implementing custom IHandler. Implementation is
+ dependent on your usage and semantics you want to support for this scenario. When in doubt
+ ask on castle-users-group on Google Groups.
+
+================================================================================================
+change - System.String, and some other types can no longer be registered as a service
+ in the container
+
+impact - low
+fixability - easy
+
+description - This is something that probably should never have made it into the codebase. Now
+ if you try to register String, a collection of strings or collection of value types Windsor
+ will throw an ArgumentException and not allow you to do that.
+
+fix - If you did register those types in the container change them from being components
+ to being parameters on the components that were depending on them.
+
+================================================================================================
+change - DependencyModel.IsValueType is renamed to DependencyModel.IsPrimitiveTypeDependency.
+
+impact - low
+fixability - easy
+
+description - This is part of unification of how types that can not be registered as valid
+ services are found and treated in Windsor.
+ Also the property now returns true if TargetItemType is null. Previously it returned false.
+
+fix - Change usages of IsValueType to IsPrimitiveTypeDependency if you depended on behavior when
+ TargetItemType is null, you might also need to check its value to preserve the old behavior.
+
+
+=== version 3.0
+================================================================================================
+change - Typed factory using DefaultTypedFactoryComponentSelector when resolving component
+ by name will not fallback to resolving by type if component with that name can not be found
+ and will throw an exception instead.
+
+id - typedFactoryFallbackToResolveByTypeIfNameNotFound
+impact - medium
+fixability - easy
+
+description - Original behavior from v2.5 could lead to bugs in cases when named component was
+ not registered or the name was misspelleed and a wrong component would be picked leading to
+ potentially severe issues in the application. New version adapts fail-fast approach in those
+ cases to give dvelopers immediate feedback the configuration is wrong.
+
+fix - Actual fix depends on which part of the behavior you want:
+ - If you do care about the fallback behavior, that is get the component by name and if
+ not present fallback to resolve by type, you can specify it explicitly when registering your
+ factory:
+ .AsFactory(
+ new DefaultTypedFactoryComponentSelector(fallbackToResolveByTypeIfNameNotFound: true));
+ - if you don't care about the fallback and what you really want is a 'GetSomeFoo' method
+ that resolves by type, either rename the method so that its name doesn't start with 'get'
+ or disable the "'get' methods resolve by name" behavior explicitly when registering your
+ factory:
+ .AsFactory(new DefaultTypedFactoryComponentSelector(getMethodsResolveByName: false))
+================================================================================================
+change - Referencing interceptors by type will not work if the interceptor has custom name.
+
+impact - medium
+fixability - easy
+
+description - We unified how referencing components by type works all across Windsor and that
+ introduced change for some areas like referencing interceptors. Now referencing component
+ by type means "component implemented by given type with default name". This is how it worked
+ for service overrides and is now adapted all across the framework.
+
+fix - Remove Name (id in XML registration) from the referenced components if you're not using it
+ or reference the component by its name.
+================================================================================================
+change - .Service method on mixing registration has been removed and replaced with .Component.
+
+impact - low
+fixability - easy
+
+description - The method had misleading name and behavior inconsistent with the rest of Windsor.
+ As such it's been replaced with .Component method which is more explicit about what argument
+ passed to it means
+
+fix - Replace with .Component method:
+Container.Register(Component.For<ICalcService>()
+ .ImplementedBy<CalculatorService>()
+ .Proxy.MixIns(m => m.Component<A>()));
+ Notice the new method is behaving consistently with how referencing interceptors and service
+ overrides works. So you may need to adjust generic argument to point to other component's
+ implementation type rather than its exposed service.
+================================================================================================
+change - Generic overloads of .Insert(this IDictionary dictionary, otherarguments) extension
+ method have been removed.
+
+impact - low
+fixability - easy
+
+description - The overload could cause unexpected behavior when the generic parameter was being
+ inferred, and as such it is removed to make the type always explicit.
+
+fix - Use overload that specifies type explicitly:
+ d.Insert(typeof(IFoo), new MyFoo()) instead of d.Insert<IFoo>(new MyFoo()) or new, explicit
+ d.InsertTyped<IFoo>(new MyFoo())
+================================================================================================
+change - Method object Generate(IProxyBuilder, ProxyGenerationOptions, IInterceptor[]) on type
+ IProxyFactoryExtension changed signature.
+
+
+impact - low
+fixability - easy
+
+description - To handle new scenarios two additional arguments were introduced:
+ ComponentModel model and CreationContext context.
+
+fix - If you were implementing IProxyFactory and calling down to IProxyFactoryExtension pass your
+ own arguments down to IProxyFactoryExtension. If you're implementing IProxyFactoryExtension
+ adjust your signature and if that makes sense in your context use the arguments.
+================================================================================================
+change - ProxyUtil class was split and part moved to Castle.Core.dll and other was renamed
+
+impact - low
+fixability - easy
+
+description - ProxyUtil contained logic useful not just in the context of Windsor. As such
+ it was moved to be part of DynamicProxy and most methods are now part of the other assembly.
+ The only method specific to Windsor: ObtainProxyOptions was left and is now an extension
+ method in class ProxyOptionsUtil.
+
+fix - If you were using ObtainProxyOptions use it either as extension method or update its type
+ name to ProxyOptionsUtil. Remining methods are now part of ProxyUtil class which was moved
+ to Castle.DynamicProxy namespaces and lives in Castle.Core.dll
+================================================================================================
+change - CreateLifestyleManager method was moved from handlers to IKernelInternal
+
+impact - low
+fixability - easy
+
+description - That behavior belongs in the kernel.
+
+fix - You shouldn't be using this method unless you're implementing custom handlers. If you do
+ call back to the kernel instead of implementing it in yoru handler.
+================================================================================================
+change - Removed interface Castle.Core.ILifecycleConcern
+
+impact - low
+fixability - easy
+
+description - This change was made because with this base interface it was impossible to
+ implement Castle.Core.ICommisssionConcern and Castle.Core.IDecommissionConcers in single class
+ Additionaly ILifecycleConcern had no meaning, only the ICommisssionConcern and
+ IDecommissionConcers have
+
+fix - If you have code using directly ILifecycleConcern (but what for?) you need to
+ migrate to either ICommisssionConcern or IDecommissionConcers. For code that use
+ ICommisssionConcern and IDecommisssionConcern you can recompile it to be extra save, but it
+ is not required.
+================================================================================================
+change - Removed overloads of Configure and ConfigureFor<> methods of the fluent registration
+ API that had ConfigureDelegate parameter
+
+impact - high
+fixability - easy
+
+description - This change was made to simplify the API and remove ambiguity in cases where a
+ private method is used to provide the configuration.
+
+fix - This change breaks scenarios where a property was being used as the last element of the
+ chain in the nested deledate, like:
+ Configure(c => c.LifeStyle.Transient)
+ This code will no longer compile. To fix it switch to the new methods exposing lifestyle:
+ Configure(c => c.LifestyleTransient()) or simply::
+ LifestyleTransient()
+================================================================================================
+change - ITypedFactoryComponentResolver interface was removed and ITypedFactoryComponentSelector
+ now returns Func<IKernelInternal, IReleasePolicy, object> from SelectComponent method
+
+impact - low
+fixability - easy
+
+description - This change was made to simplify coding of advanced custom selectors which means
+ now only one type needs to be created instead of two and change is much more localized.
+
+fix - If you were using DefaultTypedFactoryComponentSelector this change does not affect you.
+ otherwise return delegate pointing to Resolve method of your ITypedFactoryComponentResolver
+ class or inline it altogether.
+================================================================================================
+change - Add() methods on PropertySetCollection and ConstructorCandidateCollection are no longer
+ publicly accessible
+
+impact - low
+fixability - easy
+
+description - This change was made to ensure and encapsulate the fact that as constructor or
+ property dependency is added the dependency is also added to Dependencies collection on
+ ComponentModel.
+
+fix - Use new AddProperty or AddConstructor methods respectively.
+================================================================================================
+rename - WithService.DefaultInterface() -> WithService.DefaultInterfaces()
+description - changed to plural to emphasize more than one interface may be matched.
+================================================================================================
+change - ResolveAll methods have now different bahaviour.
+
+impact - high
+fixability - medium
+
+description - Previously Windsor when ResolveAll was called would try to resolve all components
+ with implementation type assignable to the type requirested and silently ignore those it
+ could not resolve. This behavior was introduced before Windsor had ability to support multi
+ service components and at the time it was the only way to support certain scenarios.
+ Currently this behavior is no longer required and is indeed leading to issues when dealing
+ with code that doesn't strictly follow good OOP principles. Also by silently ignoring
+ unresolvable components it may mask registration issues, that's why it was changed.
+
+fix - Now ResolveAll<Foo>() will only resolve components that explicitly expose Foo as their
+ service. If you were depending on the implicit behavior previously, make sure you add all
+ types you resolve via this method as service to the desired components.
+ Also Windsor now will throw exception if any of the components can't be resolved. If you
+ have a legitimate reason to have unresolvable component use IHandlersFilter to filter that
+ components out.
+================================================================================================
+change - The following methods were removed:
+ IHandler.AddCustomDependencyValue
+ IHandler.HasCustomParameter
+ IHandler.RemoveCustomDependencyValue
+ IHandler.OnHandlerStateChanged event
+ IKernelInternal.RaiseHandlerRegistered
+ IKernelInternal.RaiseHandlersChanged
+ IKernelInternal.RegisterCustomDependencies (all 4 overloads)
+
+impact - low
+fixability - easy
+
+description - Those members were remainings from the old era and there's no longer any point in
+ having them.
+
+fix - Pass the dependencies directly to the ComponentModel using DependsOn method on the fluent
+ registration API. The OnHandlerStateChanged event would no longer be raised so there was no
+ point in keeping it around either. Use HandlersChanged event on kernel instead.
+================================================================================================
+change - IReference<out T>.Attach and .Detach method have now ComponentModel as their parameter.
+
+impact - low
+fixability - easy
+
+description - To accomodate changes in DependencyModel and ParameterModel it was required to
+ have access to both of them hence ComponentModel is being passed as a more generic object
+ exposing access to all required elements.
+
+fix - Pass in full ComponentModel, not just it's .Dependencies property. In the reference
+ use component's properties to do all you require
+================================================================================================
+change - IDependencyAwareActivator has new method: bool IsManagedExternally(ComponentModel);
+
+impact - low
+fixability - easy
+
+description - To implement feature IOC-277 this new customization point was introduced which
+ allows custom activators to specify whether the instance they activate shoud be managed
+ by the container. If true is returned this signifies to the container that the component
+ should not be tracked by the release policy. The activator should in that case also not
+ invoke any lifecycle steps. Notice that lifestyle manager can override the choice and that
+ this method will not be called in all cases.
+
+fix - Implement the method however makes sense to you. By default you should just return false.
+================================================================================================
+change - IExposeDependencyInfo.ObtainDependencyDetails method signature has changed
+
+impact - low
+fixability - easy
+
+description - To move the code for constructing the exception when dependencies are missing
+ out of handlers and open way for different scenarios a new interface was introduced:
+ IDependencyInspector and it is now used by IExposeDependencyInfo to provide the same
+ functionality as before.
+
+fix - Adjust the calls to the new signature. If you have custom handler type take a look at
+ how built in handlers are now implemented.
+================================================================================================
+change - type attribute is now required and id is ignored in facility XML configuration
+
+impact - low
+fixability - easy
+
+description - Since type is uniquely identifying facilities there was no point in keeping the id
+ around anymore.
+
+fix - This change can affect you in two ways. If you were using facilities node in the XML and
+ not specifying the type it is now mandatory. Notice Windsor's ability to apply short type
+ names works here as well, so often just type name is enough - no need to specify assembly
+ qualified name. Also the assembly will now be instantiated by the container, so if you were
+ adding it in code later on, this is no longer required (in fact it will throw an exception
+ saying the assembly was already added).
+ The other thing that may affect you is if you were looking up facility config namnually via
+ IConfigurationStore.GetFacilityConfiguration method. It now expects full name of the type
+ as the key, so you should be calling it like this:
+ store.GetFacilityConfiguration(typeof(YourFacility).FullName);
+================================================================================================
+change - EventWiringFacility, FactorySupportFacility and RemotingFacility are extracted to their
+ own assemblies
+
+impact - low
+fixability - easy
+
+description - These facilities are rarely used and two of them (FactorySupportFacility and
+ RemotingFacility) are mostly considered legacy. As such there's no point in keeping them
+ in Windsor's assembly, especially in Silverlight version.
+
+fix - Reference the new assemblies and update your references in XML if you use it.
+================================================================================================
+change - Component.For(ComponentModel) overload was removed.
+
+impact - low
+fixability - medium
+
+description - To simplify internal structure of fluent registration API and bring it more in
+ line with standard registration the overload was removed.
+
+fix - If you really need this overload you can create custom IRegistration that exposes this
+ functionality. Or better rethink why you need it in the first place.
+================================================================================================
+change - Adding more than a single facility of any given type is not legal anymore
+
+impact - none (I hope)
+fixability - easy
+
+description - Doing so is a bug. Why would you do it in the first place?
+
+fix - Stop doing it.
+================================================================================================
+change - RegisterCustomDependencies methods were moved from IKernel to IKernelInternal.
+
+impact - low
+fixability - easy
+
+description - Those methods are hardly ever used these days so there was no point in polluting
+ the public API with them
+
+fix - Are you really using those methods? Perhaps you should be using the fluent API? If not
+ just cast the kernel to IKernelInternal and you can access them.
+================================================================================================
+change - IWindsorContainer.AddFacility and IKernel.AddFacility overloads that were taking
+ Func<TFacility,object> were removed.
+
+impact - low
+fixability - easy
+
+description - Those overloads were only cluttering the API and confusing users. There was no
+ point in keeping them
+
+fix - You should not have to fix that at all. C# compiler (in version 3 or higher) should be
<