main
  12.5.2 (2010-11-15)
  2==================
  3- fixed DYNPROXY-150 - Finalizer should not be proxied
  4- implemented DYNPROXY-149 - Make AllMethodsHook members virtual so it can be used as a base class
  5- fixed DYNPROXY-147 - Can't crete class proxies with two non-public methods having same argument types but different return type
  6- fixed DYNPROXY-145 Unable to proxy System.Threading.SynchronizationContext (.NET 4.0)
  7- fixed DYNPROXY-144 - params argument not supported in constructor
  8- fixed DYNPROXY-143 - Permit call to reach "non-proxied" methods of inherited interfaces
  9- implemented DYNPROXY-139 - Better error message 
 10- fixed DYNPROXY-133 - Debug assertion in ClassProxyInstanceContributor fails when proxying ISerializable with an explicit implementation of GetObjectData
 11- fixed CORE-32 - Determining if permission is granted via PermissionUtil does not work in .NET 4
 12- applied patch by Alwin Meijs - ExtendedLog4netFactory can be configured with a stream from for example an embedded log4net xml config
 13- Upgraded NLog to 2.0 Beta 1
 14- Added DefaultXmlSerializer to bridge XPathAdapter with standard Xml Serialization.
 15- XPathAdapter for DictionaryAdapter added IXPathSerializer to provide hooks for custom serialization.
 16
 172.5.1 (2010-09-21)
 18==================
 19- Interface proxy with target Interface now accepts null as a valid target value (which can be replaced at a later stage).
 20- DictionaryAdapter behavior overrides are now ordered with all other behaviors
 21- BREAKING CHANGE: removed web logger so that by default Castle.Core works in .NET 4 client profile
 22- 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.
 23- Added IDictionaryBehaviorBuilder to allow grouping behaviors
 24- Added GenericDictionaryAdapter to simplify generic value sources
 25- fixed issue DYNPROXY-138 - Error message missing space
 26- fixed false positive where DynamicProxy would not let you proxy interface with target interface when target object was a COM object.
 27- fixed ReflectionBasedDictionaryAdapter when using indexed properties
 28
 292.5.0 (2010-08-21)
 30==================
 31- DynamicProxy will now not replicate non-public attribute types
 32- 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).
 33- added support for .NET 4 and Silverlight 4, updated solution to VisualStudio 2010
 34- Removed obsolete overload of CreateClassProxy
 35- Added class proxy with taget
 36- Added ability to intercept explicitly implemented generic interface methods on class proxy.
 37- DynamicProxy does not disallow intercepting members of System.Object anymore. AllMethodsHook will still filter them out though.
 38- Added ability to intercept explicitly implemented interface members on class proxy. Does not support generic members.
 39- Merged DynamicProxy into Core binary
 40- fixed DYNPROXY-ISSUE-132 - "MetaProperty equals implementation incorrect"
 41- Fixed bug in DiagnosticsLoggerTestCase, where when running as non-admin, the teardown will throw SecurityException (contributed by maxild)
 42- Split IoC specific classes into Castle.Windsor project
 43- Merged logging services solution
 44- Merged DynamicProxy project
 45
 461.2.0 (2010-01-11)
 47==================
 48
 49- Added IEmailSender interface and its default implementation
 50
 511.2.0 beta (2009-12-04)
 52==================
 53
 54- BREAKING CHANGE - added ChangeProxyTarget method to IChangeProxyTarget interface
 55- added docs to IChangeProxyTarget methods
 56- Fixed DYNPROXY-ISSUE-108 - Obtaining replicated custom attributes on proxy may fail when property setter throws exception on default value
 57- Moved custom attribute replication from CustomAttributeUtil to new interface - IAttributeDisassembler
 58- Exposed IAttributeDisassembler via ProxyGenerationOptions, so that users can plug their implementation for some convoluted scenarios. (for Silverlight)
 59- Moved IInterceptorSelector from Dynamic Proxy to Core (IOC-ISSUE-156)
 60
 611.1.0 (2009-05-04)
 62==================
 63
 64- Applied Eric Hauser's patch fixing CORE-ISSUE-22
 65  "Support for environment variables in resource URI"
 66
 67- Applied Gauthier Segay's patch fixing CORE-ISSUE-20
 68  "Castle.Core.Tests won't build via nant because it use TraceContext without referencing System.Web.dll"
 69
 70- Added simple interface to ComponentModel to make optional properties required. 
 71
 72- Applied Mark's -- <mwatts42@gmail.com> -- patch that changes 
 73  the Core to support being compiled for Silverlight 2
 74
 75- Applied Louis DeJardin's patch adding TraceLogger as a new logger implementation
 76
 77- Applied Chris Bilson's patch fixing CORE-15
 78  "WebLogger Throws When Logging Outside of an HttpContext"
 79
 80Release Candidate 3
 81===================
 82
 83- Added IServiceProviderEx which extends IServiceProvider
 84
 85- Added Pair<T,S> class. 
 86
 87- Applied Bill Pierce's patch fixing CORE-9 
 88  "Allow CastleComponent Attribute to Specify Lifestyle in Constructor"
 89
 90- Added UseSingleInterfaceProxy to CompomentModel to control the proxying
 91  behavior while maintaining backward compatibility.
 92  Added the corresponding ComponentProxyBehaviorAttribute.
 93
 94- Made NullLogger and IExtnededLogger
 95
 96- Enabled a new format on ILogger interface, with 6 overloads for each method:
 97    Debug(string)
 98    Debug(string, Exception)
 99    Debug(string, params object[])
100    DebugFormat(string, params object[])
101    DebugFormat(Exception, string, params object[])
102    DebugFormat(IFormatProvider, string, params object[])
103    DebugFormat(IFormatProvider, Exception, string, params object[])
104
105  The "FatalError" overloads where marked as [Obsolete], replaced by "Fatal" and "FatalFormat".
106
1070.0.1.0
108=======
109
110- Included IProxyTargetAccessor
111
112- Removed IMethodInterceptor and IMethodInvocation, that have been replaced
113  by IInterceptor and IInvocation
114
115- Added FindByPropertyInfo to PropertySetCollection
116
117- Made the DependencyModel.IsOptional property writable
118
119- Applied Curtis Schlak's patch fixing IOC-27
120  "assembly resource format only works for resources where the assemblies name and default namespace are the same."
121  
122  Quoting:
123
124  "I chose to preserve backwards compatibility by implementing the code in the 
125  reverse order as suggested by the reporter. Given the following URI for a resource:
126
127  assembly://my.cool.assembly/context/moo/file.xml
128
129  It will initially look for an embedded resource with the manifest name of 
130  "my.cool.assembly.context.moo.file.xml" in the loaded assembly my.cool.assembly.dll. 
131  If it does not find it, then it looks for the embedded resource with the manifest name 
132  of "context.moo.file.xml".
133
134- IServiceEnabledComponent Introduced to be used across the project as
135  a standard way to have access to common services, for example, logger factories
136
137- Added missing log factories
138
139- Refactor StreamLogger and DiagnosticLogger to be more consistent behavior-wise
140
141- Refactored WebLogger to extend LevelFilteredLogger (removed duplication)
142
143- Refactored LoggerLevel order
144
145- Project started