Files
Orchard/lib/Castle Windsor 2.0/ReleaseNotes/DynamicProxy Release Notes.txt
rpaquay 2d3cd1b304 Populating initial tree
--HG--
extra : convert_revision : svn%3A5ff7c347-ad56-4c35-b696-ccb81de16e03/trunk%4038902
2009-11-07 22:49:58 +00:00

164 lines
7.0 KiB
Plaintext
Raw Blame History

Unreleased Changes
==================
- N/A
2.1.0 (2009-05-04)
==================
- Fixed DYNPROXY-87: "Mixin takes precedence over target object"
changed DP to throw exceptions when two mixins implement the same interface or a mixin implements the same interface as its target class/object
- Applied Krzysztof Kozmic's patch improving the XML documentation of IInterceptorSelector
and IProxyGenerationHook.
2.1.0 RC1 (2009-03-10)
======================
- Applied Krzysztof Kozmic's patch improving the XML documentation and parameter names of IProxyBuilder, DefaultProxyBuilder and ProxyGenerator.
- Applied Krzysztof Kozmic's patch heavily improving the XML documentation of ProxyGenerator.
- Fixed DYNPROXY-ISSUE-84: "UseSingleInterfaceProxy on ProxyGenerationOptions is never used and should be removed"
- Fixed DYNPROXY-ISSUE-58/DYNPROXY-ISSUE-77: "Inherited interface seems not to work"
using Dimitri Goethals' test case and Ayende Rahien/Andrey Shchekin's patch.
- Fixed DYNPROXY-ISSUE-52: "DynamicProxy 1.1.5 doesn't work on Medium Trust"
uses the assembly's fullname instead of calling GetName()
- Fixed DYNPROXY-ISSUE-82: "Not allow generics & NoGeneric methods with same signature"
using Fabio Maulo's test case and Krzysztof Kozmic patch.
- Applied Neil Bourgeois's patch fixing DYNPROXY-ISSUE-78
"Custom attributes of virtual properties absent on proxy"
- Applied Craig Vermeer's patch fixing an issue with generating default constructors for DYNPROXY-ISSUE-81
"No Default Constructor in generated Class Proxy"
- Added support for IInterceptorSelector (patch provided by Krzysztof Kozmic).
- Removed ProxyGenerationOptions.UseSelector.
- Added support for generic methods when specifying additional interfaces to CreateInterfaceProxyWithoutTarget (reported by Craig Neuwirth, cause
found by Krzysztof Kozmic)
- Added support for provide additional interfaces for target interface proxies.
- Added workarounds for dictionary deserialization scenarios (reported by Gr<47>gory C<>let)
- Fixed mixin-related bug with serialization (per Rogelio again)
- Made interface proxies without target and with target interface support mixins
- Fixed ProxyGenerationOptions equality issues with ordering and different instances of the same mixin types (thanks for finding
the bug, Rogelio)
- Readded mixin support (via Rogelio J. Baucells)
- ClassEmitter now supports emitting fields with specific attributes
- Added a load API to ModuleScope
- SaveAssembly now serializes the cache keys together with the generated types
- Fixed test issue - PEVerify is now called with a quoted assembly path (to allow for spaces in the path)
- Fixed test annoyance - PEVerify is now not called in a separate window
- Changed PersistentProxyBuilder behavior - SaveAssembly is not called by the class generators any more, instead PersistentProxyBuilder.SaveAssemblies
must be used. This allows the proxy builder to save multiple proxies at the same time. Test cases have been adapted.
- Fixed issues with CacheKey.Equals and ProxyGenerationOptions.Equals/GetHashCode
- Added a way to set and retrieve the ModuleScope used by ProxyObjectReference for proxy deserialization; proxies can now be deserialized with
the same ModuleScope used by the application (DYNPROXY-71)
- Made BasePEVerifyTestCase only check those assemblies that were actually generated in the test case, see DYNPROXY-68
- Fixed bug with protected internal constructors, see DYNPROXY-66/DYNPROXY-67
- Fixed test cases not using the ProxyGenerator supplied by BasePEVerifyTestCase, see DYNPROXY-69
- Added StrongNameUtil, which provides methods for checking whether an assembly is signed/a type comes from a signed assembly
- Added an additional constructor overload to ClassEmitter, allowing to force it to use an unsigned assembly
- Fixed a bug in ModuleScope: SaveAssembly tried to delete from the current directory if a file with a matching name existed, not from the target
directory
- Applied Pawel Pabich's suggestion fixing DYNPROXY-65
"OpCodeUtil.GetUnderlyingTypeOfEnum doesn't handle unsigned integers"
- Fixed bug in ArgumentReference occurring when emitting static methods
- Removed ClsCompliant(false) from all the public types in DynamicProxy
- Added constructors to ClassEmitter, removed "serializable" ctor parameter, it wasn't used
- Fixed bug in ModuleScope, see DYNPROXY-64
- Fixed bug in LoadArrayElementExpression, see DYNPROXY-57
- Changed signing behavior for generated assembly, assembly is now only signed if all involved types (base type, interfaces) are also signed
- Documented ModuleScope, added friendlier API for saving assemblies, added tests for ModuleScope, see DYNPROXY-55
- Applied Adam Tybor's patch fixing DYNPROXY-63
"ProxyType not included in CacheKey"
- Reimplemented serialization of ProxyGenerationOptions, see revision 3803, DYNPROXY-59
- Added method signature filtering to MethodFinder (see MethodSignatureComparer) because there were
still cases triggering duplicate methods
- Reimplemented serialization without default constructors, see revision 3725, DYNPROXY-53
- Reimplemented serialization with delegates/events, see revision 3751, DYNPROXY-56
- Renamed InterfaceProxyGeneratorWithoutTarget to InterfaceProxyWithoutTargetGenerator
- Fixed DYNPROXY-62
"Some tests in MethodFinderTestCase failed because of culture specific exception messages"
- Implemented cache for System.Type.GetMethods() in order to avoid triggering the duplicate methods bug
- Applied Adam Tybor's patch fixing DYNPROXY-61
"Need GetInterceptors from IProxyTargetAccessor back for NHibernate Trunk"
- Disabled replication of internal constructors on class proxies.
- Moved the UseSingleInterfaceProxy from Core.ComponentModel to ProxyGeneratorOptions.
- Applied Lee Henson's patch fixing generic parameter definitions
- Applied Jacob Lewallen's patch that introduces ProxyInterfaceWithTargetInterface
Quoting
"I've introduced a new "mode" that is
ProxyInterfaceWithTargetInterface, that uses the given interface as
the target type, rather than the type of the target (it asserts the
target implements the interface) All other modes should remain the
same.
"In this scenario, the IInvocation will also implement
IChangeProxyTarget, which can then be used to change the proxy target
to another implementation of the target interface."
- Added support for events
- Fixed DYNPROXY-43
"DP2 : Missing ParameterInfo 'Name' for Proxied methods"
- Fixed DYNPROXY-41
"Invalid state exception on DP2"
- Fixed DYNPROXY-39
"Deadlock in DynamicProxy2"
- Fixed DYNPROXY-28
"Virtual methods calls from constructors are not working"
- Fixed DYNPROXY-27
"Support for non-parameterless constructors"
- Fixed DYNPROXY-25
"Chars returns are not properly configured"
- Fixed DYNPROXY-24
"DynamicProxy2: missing locks"
- Fixed DYNPROXY-34
"Cant proxy generic interfaces"
Alpha Version 1.0.0.0
=====================
- First release