castle.windsor 2.5.0.0 → 2.5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. data/docs/Changes.txt +44 -0
  2. data/docs/releaseNotes.txt +1 -0
  3. data/lib/ASL - Apache Software Foundation License.txt +57 -0
  4. data/lib/Silverlight3/Castle.Windsor.dll +0 -0
  5. data/lib/Silverlight3/Castle.Windsor.pdb +0 -0
  6. data/lib/Silverlight3/Castle.Windsor.xml +902 -642
  7. data/lib/Silverlight4/Castle.Windsor.dll +0 -0
  8. data/lib/Silverlight4/Castle.Windsor.pdb +0 -0
  9. data/lib/Silverlight4/Castle.Windsor.xml +907 -642
  10. data/lib/dotNet35/Castle.Windsor.dll +0 -0
  11. data/lib/dotNet35/Castle.Windsor.pdb +0 -0
  12. data/lib/dotNet35/Castle.Windsor.xml +725 -748
  13. data/lib/dotNet35/loggingFacility/Castle.Facilities.Logging.dll +0 -0
  14. data/lib/dotNet35/loggingFacility/Castle.Facilities.Logging.pdb +0 -0
  15. data/lib/dotNet35/loggingFacility/Castle.Facilities.Logging.xml +3 -3
  16. data/lib/dotNet35/synchronizeFacility/Castle.Facilities.Synchronize.dll +0 -0
  17. data/lib/dotNet35/synchronizeFacility/Castle.Facilities.Synchronize.pdb +0 -0
  18. data/lib/dotNet40/Castle.Windsor.dll +0 -0
  19. data/lib/dotNet40/Castle.Windsor.pdb +0 -0
  20. data/lib/dotNet40/Castle.Windsor.xml +725 -748
  21. data/lib/dotNet40/loggingFacility/Castle.Facilities.Logging.dll +0 -0
  22. data/lib/dotNet40/loggingFacility/Castle.Facilities.Logging.pdb +0 -0
  23. data/lib/dotNet40/loggingFacility/Castle.Facilities.Logging.xml +3 -3
  24. data/lib/dotNet40/synchronizeFacility/Castle.Facilities.Synchronize.dll +0 -0
  25. data/lib/dotNet40/synchronizeFacility/Castle.Facilities.Synchronize.pdb +0 -0
  26. data/lib/dotNet40ClientProfile/Castle.Windsor.dll +0 -0
  27. data/lib/dotNet40ClientProfile/Castle.Windsor.pdb +0 -0
  28. data/lib/dotNet40ClientProfile/Castle.Windsor.xml +726 -749
  29. data/lib/dotNet40ClientProfile/synchronizeFacility/Castle.Facilities.Synchronize.dll +0 -0
  30. data/lib/dotNet40ClientProfile/synchronizeFacility/Castle.Facilities.Synchronize.pdb +0 -0
  31. metadata +9 -12
  32. data/lib/Silverlight3/BreakingChanges.txt +0 -229
  33. data/lib/Silverlight4/BreakingChanges.txt +0 -229
  34. data/lib/dotNet35/BreakingChanges.txt +0 -229
  35. data/lib/dotNet40/BreakingChanges.txt +0 -229
  36. data/lib/dotNet40ClientProfile/BreakingChanges.txt +0 -229
@@ -1,229 +0,0 @@
1
- ================================================================================================
2
- change - ILazyComponentLoader.Load now accepts a third argument for additional arguments.
3
-
4
- impact - medium
5
- fixability - easy
6
- revision -
7
-
8
- description - To allow maximum flexibility and usage with Resolve, any additional arguments
9
- are now passed to the lazy loader.
10
- ================================================================================================
11
- change - LifecycleStepCollection class was removed. Instaed LifecycleConcernsCollection class
12
- was introduced. ILifecycleConcern has now two innerited interfaces for commission and
13
- decommission. LifecycleSteps property of ComponentModel was renamed to Lifecycle.
14
- LifecycleStepType type was removed.
15
-
16
- impact - medium
17
- fixability - easy
18
- revision -
19
-
20
- description - To improve strongly typed nature and decrease probability of mistake and improve
21
- general usability of the type LifecycleStepCollection was removed. In it place similar type
22
- was introduced - LifecycleConcernsCollection. Instead of using untyped Objects and enums
23
- it works with two new interfaces : ICommissionConcern and IDecommissionConcern.
24
-
25
- fix - have your lifecycle steps implement one of the new lifecycle interfaces. Use appropriate
26
- overload of Add/AddFirst to add them.
27
- ================================================================================================
28
- change - Typed Factories will not implicitly pick default ITypedFactoryComponentSelector
29
- registered in the container anymore
30
-
31
- impact - low
32
- fixability - easy
33
- revision -
34
-
35
- description - In version 2.1 where ITypedFactoryComponentSelectors were introduced, when you had
36
- a selector registered in the container that selector would be implicitly picked for every
37
- factory you had. Since the behavior of a selector tends to be fine grained and targetet for
38
- a specific factories, this behavior was removed. You have to explicitly associate the selector
39
- with a factory (using .AsFactory(f => f.SelectUsing("MySelector")); or via xml configuration)
40
- to override selection behavior.
41
-
42
- fix - using either fluent API .AsFactory(f => f.SelectUsing("MySelector")), or XML configuration
43
- selector="${MySelector}" specify the selector explicitly for each of your factories.
44
- ================================================================================================
45
- change - ServiceSelector delegate (used in WithService.Select calls) changed signature
46
-
47
- impact - low
48
- fixability - easy
49
- revision -
50
-
51
- description - To fix a bug which would occur if type implemented multiple closed version of base
52
- open generic interface the signature of the delegate was changed from
53
- public delegate IEnumerable<Type> ServiceSelector(Type type, Type baseType);
54
- to
55
- public delegate IEnumerable<Type> ServiceSelector(Type type, Type[] baseTypes);
56
- so that multiple base types are possible (they would be closed versions of the same open
57
- generic interface)
58
-
59
- fix - depending on the scenario. You would either ignore it, or wrap your current method's body
60
- in foreach(var baseType in baseTypes)
61
- ================================================================================================
62
- change - moved IWindsorInstaller to Castle.MicroKernel.Registration namespace
63
-
64
- impact - very low
65
- fixability - easy
66
- revision -
67
-
68
- description -In order to improve developer experience when writing installers the interface
69
- was moved so that Component and AllTypes entry types for registration are already in scope.
70
-
71
- fix - add using Castle.MicroKernel.Registration directive.
72
- ================================================================================================
73
- change - Added two new overloads to ITypeConverter.PerformConversion
74
-
75
- impact - very low
76
- fixability - easy
77
- revision -
78
-
79
- description - To reduce casting in the most common scenario where converted value is casted to
80
- the type it's been converted to, ITypeConverter.PerformConversion has now generic overloads
81
- for handling this case.
82
-
83
- fix - If you're implementing ITypeConverter via AbstractTypeConverter you don't have to do
84
- anything as the base class will handle the conversion for you. Otherwise implement it like
85
- in AbstractTypeConverter.
86
-
87
- ================================================================================================
88
- change - AddCustomComponent method were moved from IKernel to IKernelInternal interface
89
-
90
- impact - very low
91
- fixability - easy
92
- revision -
93
-
94
- description - This method constitute internally used contract of kernel and is not intended
95
- for external usage. As such it was moved to internal interface to declutter public
96
- interface of IKernel.
97
-
98
- fix - You should not have been using this method so it should not affect you in any way. If
99
- you did, cast the IKernel to IKernelInternal to invoke the method.
100
-
101
- ================================================================================================
102
- change - IModelInterceptorsSelector.SelectInterceptors method changed its signature and how it
103
- is used.
104
-
105
- impact - medium
106
- fixability - medium
107
- revision -
108
-
109
- description - To accomodate additional scenarios that were impossible (or hard to achieve
110
- with previous design the method now has additional parameter, an array of references to
111
- interceptors, which contains either default interceptors for the component, or interceptors
112
- selected by previous interceptors in line). Also, Windsor will now never call
113
- IModelInterceptorsSelector.SelectInterceptors without calling
114
- IModelInterceptorsSelector.HasInterceptors before it, or when the latter returns false.
115
-
116
- fix - When adjusting your implementation remember that model's interceptors are the default value
117
- passed as methods second parameter, so you don't need to merge them again manually (otherwise
118
- they'll be invoked twice).
119
-
120
- ================================================================================================
121
- change - CreateComponentActivator, RaiseHandlerRegistered, RaiseHandlersChanged and
122
- RegisterHandlerForwarding methods were moved from IKernel to IKernelInternal interface
123
-
124
- impact - very low
125
- fixability - easy
126
- revision -
127
-
128
- description - These methods constitute internally used contract of kernel and are not intended
129
- for external usage. As such they were moved to internal interface to declutter public
130
- interface of IKernel.
131
-
132
- fix - You should not have been using these methods so it should not affect you in any way. If
133
- you did, cast the IKernel to IKernelInternal to invoke the methods.
134
-
135
- ================================================================================================
136
- change - IProxyHook interface was removed
137
-
138
- impact - very low
139
- fixability - easy
140
- revision -
141
-
142
- description - Since MicroKernel was merged with Windsor and now depends on DynamicProxy directly
143
- there's no need to provide additional abstraction on top of IProxyGenerationHook.
144
-
145
- fix - Make types that were implementing IProxyHook to implement IProxyGenerationHook. Change all
146
- usages of IProxyHook to IProxyGenerationHook.
147
-
148
- ================================================================================================
149
- change - AddInstallerConfiguration and GetComponents methods were added to IConfigurationStore.
150
-
151
- impact - very low
152
- fixability - easy
153
- revision - 3bf716cc6fc218601dab92a6dd75fe269bcb63d0
154
-
155
- description - To enable installers to be exposed via configuration the interface has been
156
- extended by addition of the two methods.
157
-
158
- fix - Implement the methods accordingly to your situation.
159
-
160
- ================================================================================================
161
- change - Multiple types were moved between namespaces
162
-
163
- impact - low
164
- fixability - trivial
165
- revision - 3bf716cc6fc218601dab92a6dd75fe269bcb63d0
166
-
167
- description - To improve the internal structure several types were moved to other namespaces.
168
-
169
- fix - When compilation error occurs adjust namespace imports as suggested by Visual Studio
170
-
171
- ================================================================================================
172
- change - Assembly Castle.MicroKernel.dll was merged into Castle.Windsor.dll
173
-
174
- impact - high
175
- fixability - easy
176
- revision - 730b202b0ed23a6b42258a6ffd6a3e63f89501fc
177
-
178
- description - Since vast majority of users used Windsor, as opposed to bare MicroKernel it was
179
- decided it didn't make sense to maintain two containers. As result of that their assemblies
180
- were merged, as first step of integration between Windsor and MicroKernel.
181
-
182
- fix - In your projects remove reference to Castle.MicroKernel.dll. If you weren't using Windsor
183
- add reference to Castle.Windsor.dll
184
- In all places where your were referencing types from Castle.MicroKernel.dll via string
185
- (like xml configuration when registering facilities, or <httpModules> section on your
186
- web.config) update references from Castle.MicroKernel to Castle.Windsor.
187
-
188
- ================================================================================================
189
- change - ComponentRegistration<S>.Startable public method has been removed.
190
- ComponentRegistration<S>.StartUsingMethod public method was moved to extension method.
191
- ComponentRegistration<S>.StopUsingMethod public method was moved to extension method.
192
-
193
- impact - low
194
- fixability - trivial
195
- revision - 6710
196
-
197
- description - StartUsingMethod/StopUsingMethod belong to StartableFacility and do not make sense
198
- as part of generic API. Startable method was superfluous.
199
-
200
- fix - Remove calls to Startable(). Import namespace Castle.Facilities.Startable to use
201
- StartUsingMethod and StopUsingMethod as extension methods.
202
-
203
- ================================================================================================
204
- change - DefaultProxyFactory.CreateProxyGenerationOptionsFrom protected method and
205
- DefaultProxyFactory.CustomizeProxy protected virtual method have changed signature
206
-
207
- impact - very low
208
- fixability - easy
209
- revision - 6691
210
-
211
- description - the methods now also takes IKernel and CreationContext, to be used by IReferences
212
- to do resolution of components they reference
213
-
214
- fix - pass required parameters to the methods.
215
-
216
- ================================================================================================
217
- change - ProxyOption's properties changed types:
218
- Selector, from IInterceptorSelector to IReference<IInterceptorSelector>
219
- Hook from IProxyHook to IReference<IProxyHook>
220
- MixIns from object[] to IEnumerable<IReference<object>>
221
-
222
- impact - very low
223
- fixability - easy
224
- revision - 6691
225
-
226
- description - the properties now use IReferences instead of live objects to allow for
227
- resolution of their values from the container, as required in case of usage from xml.
228
-
229
- fix - wherever used, adjust types appropriately. To obtain actual objects, use Resolve method.
@@ -1,229 +0,0 @@
1
- ================================================================================================
2
- change - ILazyComponentLoader.Load now accepts a third argument for additional arguments.
3
-
4
- impact - medium
5
- fixability - easy
6
- revision -
7
-
8
- description - To allow maximum flexibility and usage with Resolve, any additional arguments
9
- are now passed to the lazy loader.
10
- ================================================================================================
11
- change - LifecycleStepCollection class was removed. Instaed LifecycleConcernsCollection class
12
- was introduced. ILifecycleConcern has now two innerited interfaces for commission and
13
- decommission. LifecycleSteps property of ComponentModel was renamed to Lifecycle.
14
- LifecycleStepType type was removed.
15
-
16
- impact - medium
17
- fixability - easy
18
- revision -
19
-
20
- description - To improve strongly typed nature and decrease probability of mistake and improve
21
- general usability of the type LifecycleStepCollection was removed. In it place similar type
22
- was introduced - LifecycleConcernsCollection. Instead of using untyped Objects and enums
23
- it works with two new interfaces : ICommissionConcern and IDecommissionConcern.
24
-
25
- fix - have your lifecycle steps implement one of the new lifecycle interfaces. Use appropriate
26
- overload of Add/AddFirst to add them.
27
- ================================================================================================
28
- change - Typed Factories will not implicitly pick default ITypedFactoryComponentSelector
29
- registered in the container anymore
30
-
31
- impact - low
32
- fixability - easy
33
- revision -
34
-
35
- description - In version 2.1 where ITypedFactoryComponentSelectors were introduced, when you had
36
- a selector registered in the container that selector would be implicitly picked for every
37
- factory you had. Since the behavior of a selector tends to be fine grained and targetet for
38
- a specific factories, this behavior was removed. You have to explicitly associate the selector
39
- with a factory (using .AsFactory(f => f.SelectUsing("MySelector")); or via xml configuration)
40
- to override selection behavior.
41
-
42
- fix - using either fluent API .AsFactory(f => f.SelectUsing("MySelector")), or XML configuration
43
- selector="${MySelector}" specify the selector explicitly for each of your factories.
44
- ================================================================================================
45
- change - ServiceSelector delegate (used in WithService.Select calls) changed signature
46
-
47
- impact - low
48
- fixability - easy
49
- revision -
50
-
51
- description - To fix a bug which would occur if type implemented multiple closed version of base
52
- open generic interface the signature of the delegate was changed from
53
- public delegate IEnumerable<Type> ServiceSelector(Type type, Type baseType);
54
- to
55
- public delegate IEnumerable<Type> ServiceSelector(Type type, Type[] baseTypes);
56
- so that multiple base types are possible (they would be closed versions of the same open
57
- generic interface)
58
-
59
- fix - depending on the scenario. You would either ignore it, or wrap your current method's body
60
- in foreach(var baseType in baseTypes)
61
- ================================================================================================
62
- change - moved IWindsorInstaller to Castle.MicroKernel.Registration namespace
63
-
64
- impact - very low
65
- fixability - easy
66
- revision -
67
-
68
- description -In order to improve developer experience when writing installers the interface
69
- was moved so that Component and AllTypes entry types for registration are already in scope.
70
-
71
- fix - add using Castle.MicroKernel.Registration directive.
72
- ================================================================================================
73
- change - Added two new overloads to ITypeConverter.PerformConversion
74
-
75
- impact - very low
76
- fixability - easy
77
- revision -
78
-
79
- description - To reduce casting in the most common scenario where converted value is casted to
80
- the type it's been converted to, ITypeConverter.PerformConversion has now generic overloads
81
- for handling this case.
82
-
83
- fix - If you're implementing ITypeConverter via AbstractTypeConverter you don't have to do
84
- anything as the base class will handle the conversion for you. Otherwise implement it like
85
- in AbstractTypeConverter.
86
-
87
- ================================================================================================
88
- change - AddCustomComponent method were moved from IKernel to IKernelInternal interface
89
-
90
- impact - very low
91
- fixability - easy
92
- revision -
93
-
94
- description - This method constitute internally used contract of kernel and is not intended
95
- for external usage. As such it was moved to internal interface to declutter public
96
- interface of IKernel.
97
-
98
- fix - You should not have been using this method so it should not affect you in any way. If
99
- you did, cast the IKernel to IKernelInternal to invoke the method.
100
-
101
- ================================================================================================
102
- change - IModelInterceptorsSelector.SelectInterceptors method changed its signature and how it
103
- is used.
104
-
105
- impact - medium
106
- fixability - medium
107
- revision -
108
-
109
- description - To accomodate additional scenarios that were impossible (or hard to achieve
110
- with previous design the method now has additional parameter, an array of references to
111
- interceptors, which contains either default interceptors for the component, or interceptors
112
- selected by previous interceptors in line). Also, Windsor will now never call
113
- IModelInterceptorsSelector.SelectInterceptors without calling
114
- IModelInterceptorsSelector.HasInterceptors before it, or when the latter returns false.
115
-
116
- fix - When adjusting your implementation remember that model's interceptors are the default value
117
- passed as methods second parameter, so you don't need to merge them again manually (otherwise
118
- they'll be invoked twice).
119
-
120
- ================================================================================================
121
- change - CreateComponentActivator, RaiseHandlerRegistered, RaiseHandlersChanged and
122
- RegisterHandlerForwarding methods were moved from IKernel to IKernelInternal interface
123
-
124
- impact - very low
125
- fixability - easy
126
- revision -
127
-
128
- description - These methods constitute internally used contract of kernel and are not intended
129
- for external usage. As such they were moved to internal interface to declutter public
130
- interface of IKernel.
131
-
132
- fix - You should not have been using these methods so it should not affect you in any way. If
133
- you did, cast the IKernel to IKernelInternal to invoke the methods.
134
-
135
- ================================================================================================
136
- change - IProxyHook interface was removed
137
-
138
- impact - very low
139
- fixability - easy
140
- revision -
141
-
142
- description - Since MicroKernel was merged with Windsor and now depends on DynamicProxy directly
143
- there's no need to provide additional abstraction on top of IProxyGenerationHook.
144
-
145
- fix - Make types that were implementing IProxyHook to implement IProxyGenerationHook. Change all
146
- usages of IProxyHook to IProxyGenerationHook.
147
-
148
- ================================================================================================
149
- change - AddInstallerConfiguration and GetComponents methods were added to IConfigurationStore.
150
-
151
- impact - very low
152
- fixability - easy
153
- revision - 3bf716cc6fc218601dab92a6dd75fe269bcb63d0
154
-
155
- description - To enable installers to be exposed via configuration the interface has been
156
- extended by addition of the two methods.
157
-
158
- fix - Implement the methods accordingly to your situation.
159
-
160
- ================================================================================================
161
- change - Multiple types were moved between namespaces
162
-
163
- impact - low
164
- fixability - trivial
165
- revision - 3bf716cc6fc218601dab92a6dd75fe269bcb63d0
166
-
167
- description - To improve the internal structure several types were moved to other namespaces.
168
-
169
- fix - When compilation error occurs adjust namespace imports as suggested by Visual Studio
170
-
171
- ================================================================================================
172
- change - Assembly Castle.MicroKernel.dll was merged into Castle.Windsor.dll
173
-
174
- impact - high
175
- fixability - easy
176
- revision - 730b202b0ed23a6b42258a6ffd6a3e63f89501fc
177
-
178
- description - Since vast majority of users used Windsor, as opposed to bare MicroKernel it was
179
- decided it didn't make sense to maintain two containers. As result of that their assemblies
180
- were merged, as first step of integration between Windsor and MicroKernel.
181
-
182
- fix - In your projects remove reference to Castle.MicroKernel.dll. If you weren't using Windsor
183
- add reference to Castle.Windsor.dll
184
- In all places where your were referencing types from Castle.MicroKernel.dll via string
185
- (like xml configuration when registering facilities, or <httpModules> section on your
186
- web.config) update references from Castle.MicroKernel to Castle.Windsor.
187
-
188
- ================================================================================================
189
- change - ComponentRegistration<S>.Startable public method has been removed.
190
- ComponentRegistration<S>.StartUsingMethod public method was moved to extension method.
191
- ComponentRegistration<S>.StopUsingMethod public method was moved to extension method.
192
-
193
- impact - low
194
- fixability - trivial
195
- revision - 6710
196
-
197
- description - StartUsingMethod/StopUsingMethod belong to StartableFacility and do not make sense
198
- as part of generic API. Startable method was superfluous.
199
-
200
- fix - Remove calls to Startable(). Import namespace Castle.Facilities.Startable to use
201
- StartUsingMethod and StopUsingMethod as extension methods.
202
-
203
- ================================================================================================
204
- change - DefaultProxyFactory.CreateProxyGenerationOptionsFrom protected method and
205
- DefaultProxyFactory.CustomizeProxy protected virtual method have changed signature
206
-
207
- impact - very low
208
- fixability - easy
209
- revision - 6691
210
-
211
- description - the methods now also takes IKernel and CreationContext, to be used by IReferences
212
- to do resolution of components they reference
213
-
214
- fix - pass required parameters to the methods.
215
-
216
- ================================================================================================
217
- change - ProxyOption's properties changed types:
218
- Selector, from IInterceptorSelector to IReference<IInterceptorSelector>
219
- Hook from IProxyHook to IReference<IProxyHook>
220
- MixIns from object[] to IEnumerable<IReference<object>>
221
-
222
- impact - very low
223
- fixability - easy
224
- revision - 6691
225
-
226
- description - the properties now use IReferences instead of live objects to allow for
227
- resolution of their values from the container, as required in case of usage from xml.
228
-
229
- fix - wherever used, adjust types appropriately. To obtain actual objects, use Resolve method.