-
Notifications
You must be signed in to change notification settings - Fork 29
/
CHANGELOG.txt
368 lines (256 loc) · 12.3 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
------------------------------------------------
Adic
Another Dependency Injector Container
Copyright (c) 2014-2021 André "Intentor" Martins
http://intentor.com.br/
------------------------------------------------
Version 2.27 (2021-08-08)
- Removed JIT code generation.
- Added package.json.
Version 2.26 (2017-06-05)
Framework
- Added inject on private members. [Issue #85]
- Fixed resolution of arrays. [PR #83]
Commander extension
- Added tag when dispatching commands. [Issue #52]
- Added release of commands by tag. [Issue #52]
- Added chaining of release methods. [Issue #52]
Unity Binding Extension
- Added a ToPrefab implementation using GameObject. [Issue #88]
- Added a ToPrefabSingleton implementation using GameObject. [Issue #88]
- Updated ToGameObject to add a new GameObject when the given name is not found.
- Marked all methods that use Resource loading as obsolete to comply with Unity guidelines. [Issue #88]
Version 2.25 (2017-03-10)
Framework
- Adddd initialize event to containers and extensions. [Issue #80]
- Added includeChildren to ToNamespace and ToNamespaceSingleton. [Pull request #81]
- Improved messages when an InjectorException occurs. [Pull request #82]
- Improved chaining on containers. [Issue #78]
Bindings Printer Extension
- Fixed instance hash code display for bindings. [Issue #79]
Commander extension
- Added late binding to allow command registration in any order. [Issue #80]
Version 2.24 (2017-03-01)
Framework
- Added exception when trying to instantiate interfaces.
- Added injection on acessors only if no value has been injected. [Issue #73]
- Fixed NullReferenceException when disposing containers. [Issue #74]
- Fixed throwing exception then readding extensions.
Bindings Printer Extension
- Added container identifier.
Context Root extension
- Added container identifier overload when adding containers.
- Added container resolution mode overload when adding containers.
Event Caller extension
- Fixed disposing of IDisposable objects when unregistering the extension. [Issue #75]
- Fixed LateUpdate not working for resolved instances. [Issue #77]
- Fixed UnityEvents context root class on scene.
Version 2.23 (2017-01-27)
Framework
- Added Android IL2CPP support. [Issue #71]
- Removed registering/unregistering of extensions by instance. [Issue #70]
Event Caller extension
- Added support for Unity events OnApplicationFocus, OnApplicationPause, OnApplicationQuit, LateUpdate and FixedUpdate. [Pull Request #68 and Issue #69]
- Fixed scene loading causing events to be lost. [Issue #70]
Version 2.22 (2016-12-12)
Framework
- Added member name on InjectionContext. [Issue #58]
- Added possibility of adding tags to bindings. [Issue #61]
Version 2.21 (2016-11-29)
Framework
- Added UnbindByInstance method on binder. [Issues #59 and #60]
- Added more informative binding exception messages. [Pull request #64]
- Fixed singleton binding adding type instead of value when binging different types. [Issue #45]
Unity Binding Extension
- Added setting of identifiers using the same name of Unity Objects. [Issue #62]
Version 2.20.2 (2016-08-11)
Framework
- Fixed singleton binding when ResolutionMode is RETURN_NULL. [Issue #54]
Version 2.20.1 (2016-08-03)
Commander extension
- Fixed command pooling. [Issue #53]
Version 2.20 (2016-07-24)
Framework
- Added inject on methods. [Issue #48]
- Fixed unbinding of singleton types. [Issue #50]
- Construct attribute is now deprecated. Please use Inject instead.
- PostConstruct attribute is now deprecated. Please use Inject instead.
Bindings Printer Extension
- Fixed inconsistent space around container name.
Version 2.19.1 (2016-07-18)
Event Caller extension
- Fixed incorrect checking of already added bindings. [Issue #51]
Version 2.19 (2016-07-12)
Framework
- Added instance resolution mode, so it's possible to return null on types that are not bound to the container. [Issue #46]
- Fixed singleton instances being created for each binding type. [Issue #44]
Event Caller extension
- Fixed adding of already added binding. [Issue #44]
- Updated Time.deltaTime conditional to use Mathf.Approximately instead of direct comparison. [Issue #44]
Version 2.18 (2016-03-23)
Bindings Printer Extension
- Updated rendering to use GUILayout methods.
- Fixed ScrollView when displaying lots of bindings.
Context Root extension
- Added base type for children injection on scenes.
- Added inactive game objects selection when injecting on children of the root.
- Fixed making scene dirty when changing values on inspector during Play Mode.
Version 2.17 (2016-02-12)
Framework
- Added support for Windows 10 Phone/Universal Apps (IL2CPP) and WebGL.
Version 2.16.3 (2016-02-01)
Context Root extension
- Fixed adding container by type on iOS devices.
Version 2.16.2 (2015-01-15)
Context Root extension
- Fixed children inspector fields display of ContextRoot.
Version 2.16.1 (2015-01-05)
Context Root extension
- Fixed editor ExecutionOrderUtils script location, which was preventing build generation.
Version 2.16 (2015-01-05)
Context Root extension
- Added automatic MonoBehaviour injection on scenes. [Issue #37]
- Added ContextRootEditor to include option to set script execution order of game roots. [Issue #38]
Version 2.15.2 (2015-10-05)
Mono Injection extension
- Fixed singleton MonoBehaviour duplicate injection call. [Issue #35]
Version 2.15.1 (2015-09-28)
Framework
- Added catch for ReflectionTypeLoadException when reading assemblies for type inspection.
Version 2.15 (2015-08-24)
Framework
- Added inject parameters on PostConstructor methods. [Issue #34]
Commander extension
- Updated commands to be singleton by default. [Issue #31]
Version 2.14.1 (2015-07-10)
Commander extension
- Fixed behaviours' public methods to provide a parameterless option. [Issue #28]
Version 2.14 (2015-07-10)
Commander extension
- Added CommandReference type to provide a dispatchable command reference on MonoBehaviours.
- Fixed loading of commands on components when using binaries.
Mono Injection extension
- Added InjectionUtil class to group common routines from Mono and State Injection extensions.
State Injection extension
- Added extension.
Version 2.13 (2015-06-26)
Framework
- Updated type finding on namespaces to work from external DLL. [Issue #14]
- Updated identifiers from string to objects. [Issue #27]
Version 2.12 (2015-06-15)
Commander extension
- Fixed pooling when registering from an empty command list.
Context Root extension
- Updated Init() method to be called on Unity's start event.
Mono Injection extension
- Fixed injection on MonoBehaviours that contain other attributes besides InjectFromContainer.
Version 2.11 (2015-05-21)
Framework
- Added Unbind() method for identifiers. [Issue #24]
- Added use of Inject attribute on constructor parameters. [Issue #19]
Commander extension
- Added automatic command retention when invoking or starting a coroutine. [Issue #21]
- Added stopping of coroutines when releasing commands. [Issue #21]
- Added release of commands by type. [Issue #18]
- Added IDisposable interface on the command class. [Issue #21]
Context Root extension
- Fixed new instantiation of existing container's data on Awake().
Version 2.10 (2015-05-08)
Framework
- Added identifier to containers.
- Fixed JIT compilation error when building to iOS (which compiles using AOT). [Issue #16]
Commander extension
- Added verification of already pooled commands when pooling.
Mono Injection extension
- Added InjectFromContainer attribute to select, by identifier, from which container injections should occur.
Version 2.9 (2015-05-02)
Framework
- Added Adic.Binding.MultipleBindingConditionFactory for handling conditions of multiple bindings at the same time. [Issue #13]
- Updated Adic.Binding.BindingConditionFactory to Adic.Binding.SingleBindingConditionFactory. [Issue #13]
- Fixed instantiation of different instances for singleton bindings. [Issue #15]
Commander extension
- Added InvokeDispatch() method. [Issue #12]
- Added Command.Invoke() method. [Issue #12]
- Added Command.StartCoroutine() and Command.StopCoroutine() methods. [Issue #12]
- Fixed registration attempt of abstract commands.
Event Caller extension
- Updated container extension to have a singleton instance of the Event Caller MonoBehaviour. [Issue #12]
Unity Binding Extension
- Added ToGameObjectsWithTag() method. [Issue #13]
Version 2.8 (2015-04-20)
Framework
- Added chaining for bindings. [Issue #11]
- Updated instantiations, post construct callings and field/property setters to use cached methods (up to 100% in performance gain when resolving!).
- Updated InjectionContainer to inherit from Adic.Injector.
Context Root extension
- Added generic version of AddContainer() to make container addition less verbose.
Version 2.7 (2015-04-16)
Framework
- Added manual resolution by identifier. [Issue #9]
- Changed identifier type to string. [Issue #9]
- Removed new() keyword form IBindingFactory.ToFactory(), given factories are now resolved by the container.
- Fixed null reference with conditions. [Issue #10]
Examples
- Added example for factories. [Issue #8]
- Updated comments in examples.
- Updated organization of resources' files to avoid name crosstalk when loading resources in examples.
Version 2.6 (2015-04-10)
Framework
- Added overloads to SetupBindings() method to setup bindings from namespaces. [Issue #5]
- Added BindingPriority attribute to indicate prioritary bindings setups when using SetupBindings() with namespaces. [Issue #5]
- Removed factoryType property from Adic.IFactory. [Issue #6]
- Fixed comments in examples.
Bindings Setup Extension
- Added Bindings Setup example.
Version 2.5 (2015-04-02)
Framework
- Added creation and injection of factories by the container. [Issue #4]
Commander extension
- Updated CommanderExtension.RegisterCommands() to use TypeUtils.GetAssignableTypesInNamespace() to get commands from the current assembly(ies).
Version 2.4 (2015-04-01)
Framework
- Added methods ToNamespace() and ToNamespaceSingleton() to IBindingFactory.
- Added method GetAssignableTypesInNamespace() to TypeUtils.
- Updated IFactory interface to receive an InjectionContext object when creating objects. [Issue #2]
- Removed private method IsAssignable() from BindingFactory.
- Fixed type of parentType field in InjectionContext.
- Fixed NullReferenceException when getting the type from a parent instance for InjectionContext.
Commander extension
- Updated name of CommanderExtensions class to CommanderExtension (doesn't affect any existing code that uses the extension).
Version 2.3 (2015-03-24)
Commander extension
- Added TimedCommandDispatch and CommandDispatch components.
- Added method ContainsRegistration() to Adic.ICommandDispatcher for checking whether a dispatcher contains a given command registration.
- Added method GetAllRegistrations() to Adic.ICommandDispatcher to list all registered commands in a dispatcher.
- Updated registration of commands using namespaces to find commands in children namespaces.
Version 2.2 (2015-03-21)
Bindings Printer Extension
- Fixed displaying of window when no containers exist.
Bindings Setup Extension
- Added extension.
Commander extension
- Added method GetCommandDispatcher() as extension to IInjectionContainer.
Unity Binding Extension
- Added ToResource() method, which binds to any asset (not necessarily a prefab).
- Updated error messages.
Version 2.1 (2015-03-12)
Framework
- Added overloads by generics and type instance at IBindingFactory.ToFactory().
Commander extension
- Added interfaces to define command dispatchers (ICommandDispatcher) and command pools (ICommandPool).
- Added System.IDisposable interface to the CommandDispatcher so it can release commands when the scene is destroyed.
- Removed Dispose() method from Adic.Command. To make commands disposable, implement System.IDisposable.
- Fixed dispose of commands that implemented System.IDisposable.
- Fixed release of commands that implemented Adic.IUpdatable.
- Now the Commander extension always depends on the Event Caller extension.
Event Caller extension
- Added evaluation of important disposable objects (IInjectorContainer and ICommandDispatcher) during registration to avoid the need for following a specific order when registering extensions.
- Fixed adding duplicate objects in disposable/updateable lists.
Version 2.0 (2015-03-08)
- New framework architecture.
- Added extensions.
- Documentation expanded.
Version 1.0 (2015-02-19)
- Initial release.
Version 0.1 (2014-08-01)
- First fully functional version.