comparison packages/Castle.Core.3.2.1/BreakingChanges.txt @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:f990fcb411a9
1 === version 3.0
2 ================================================================================================
3 change - Removed overloads of logging methods that were taking format string from ILogger and
4 ILogger and IExtendedLogger and didn't have word Format in their name.
5 For example:
6 void Error(string format, params object[] args); // was removed
7 void ErrorFormat(string format, params object[] args); //use this one instead
8
9
10 impact - low
11 fixability - medium
12 revision -
13
14 description - To minimize confusion and duplication those methods were removed.
15
16 fix - Use methods that have explicit "Format" word in their name and same signature.
17 ================================================================================================
18 change - Removed WebLogger and WebLoggerFactory
19
20 impact - low
21 fixability - medium
22 revision -
23
24 description - To minimize management overhead the classes were removed so that only single
25 Client Profile version of Castle.Core can be distributed.
26
27 fix - You can use NLog or Log4Net web logger integration, or reuse implementation of existing
28 web logger and use it as a custom logger.
29
30 ================================================================================================
31 change - Removed obsolete overload of ProxyGenerator.CreateClassProxy
32
33 impact - low
34 fixability - trivial
35 revision -
36
37 description - Deprecated overload of ProxyGenerator.CreateClassProxy was removed to keep the
38 method consistent with other methods and to remove confusion
39
40 fix - whenever removed overload was used, use one of the other overloads.
41
42 ================================================================================================
43 change - IProxyGenerationHook.NonVirtualMemberNotification method was renamed
44
45 impact - high
46 fixability - easy
47 revision -
48
49 description - to accommodate class proxies with target method NonVirtualMemberNotification on
50 IProxyGenerationHook type was renamed to more accurate NonProxyableMemberNotification
51 since for class proxies with target not just methods but also fields and other member that
52 break the abstraction will be passed to this method.
53
54 fix - whenever NonVirtualMemberNotification is used/implemented change the method name to
55 NonProxyableMemberNotification. Implementors should also accommodate possibility that not
56 only MethodInfos will be passed as method's second parameter.
57
58 ================================================================================================
59 change - DynamicProxy will now allow to intercept members of System.Object
60
61 impact - very low
62 fixability - easy
63 revision -
64
65 description - to allow scenarios like mocking of System.Object members, DynamicProxy will not
66 disallow proxying of these methods anymore. AllMethodsHook (default IProxyGenerationHook)
67 will still filter them out though.
68
69 fix - whenever custom IProxyGenerationHook is used, user should account for System.Object's
70 members being now passed to ShouldInterceptMethod and NonVirtualMemberNotification methods
71 and if neccessary update the code to handle them appropriately.