-
Notifications
You must be signed in to change notification settings - Fork 24
/
Changes
331 lines (269 loc) · 10.8 KB
/
Changes
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
Revision history for Perl extension Bread::Board
{{$NEXT}}
0.25 2011-10-20
* Bread::Board
- the container sugar was misbehaving
(since April 2010 apparently), so
we have fixed it and clarified it
0.24 2011-10-15
* Bread::Board::Container
- make sure to clone subcontainers,
this is necessary for parameterized
containers to retain their connections
* Bread::Board::Traversable
- add some errors, be a little more
defensive
0.23 2011-10-14
* Bread::Board::Container::Parameterized
- retain control of names of the generated
containers, so if your the container being
generated has a name, it keeps it.
- this makes these containers more
addressable when composed into
higher level containers
- this helps when subclassing
parameterized containers
- switch the generated containers to be
created with builder instead of default
- also helps when subclassing
parameterized containers as well
* t/046_custom_parameter_service.t
- fixing the error about Moose deprecations
0.22 2011-10-03
- When inferring a service for a type, allow subclasses to fulfill
discovered types.
- Converted to Dist::Zilla
0.21 Tues. Sept. 6th, 2011
* Bread::Board
- Allow service() and alias() sugar functions to
return the newly-created objects if the context
container is not defined. (thanks to kip hampton)
- added tests for this
- this module is just an exporter, so it does not
need to 'use Moose' (thanks to Tomas Doran)
- fixed some spelling and grammar errors
(thanks to ben hengst and Brad Bowman)
* Bread::Board::Service::WithParameters
- parameters attribute now has a builder instead
of a default, so as to allow better tweaking
in subclasses (thanks to Andre Walker)
- added tests for this
0.20 Wed. June 13, 2011
* Bread::Board::Lifecycle::Singleton
- fix bug in singletons with circular
refs (thanks to doy)
- added tests for this (thanks to perigrin)
0.19 Wed. June 1, 2011
* Bread::Board::GraphViz
- added by jrockway, this allows you to visualise
a Bread::Board system using GraphViz
- note that this is optional and requires you
to install optional dependencies
* Bread::Board::Service::Alias
- add the ability to alias services under
another name (thanks to doy)
- added tests for this
* Bread::Board::Service::Inferred
- improving edge cases (thanks to doy)
* Bread::Board::Service::*
- several code improvements (thanks to doy)
* Bread::Board::Service
- allow for custom Lifecycles by using the "+"
prefix (thanks to jasonmay)
- added tests for this
0.18 Wed. Apr. 13, 2011
* Bread::Board::Service::WithParameters
- added has_parameter_defaults method to check
if a parameter has default values
* Bread::Board::Service::WithDependencies
- added a check for has_parameter_defaults before
we make a Thunk
- added test for this (thanks to rafl)
0.17 Tues. Feb. 22, 2011
* Bread::Board::Service::Inferred
- make recrusive inferrence work
- add tests for this
* Bread::Board::Manual::Concepts::Advanced
- small doc update about subclassing and
the name parameter, resolving RT#63124
(thanks to Evan Haas)
!! POSSIBLE BACK COMPAT BREAKAGE !!
* Bread::Board::Traversal
- make relative parent path traversal more sane, there
should be no more need for excessive ../../ stuff in
dependency service paths (thanks doy)
- adjust tests accordingly
- this should fix RT#64478 as well
0.16 Mon. Jan. 10, 2011
* Bread::Board::service sugar
- adding the 'service_class' param for the
service sugar function which allows you
to pass in a custom service subclass
- added tests for this (062_service_class_w_sugar.t)
* Bread::Board::Dependency
- added the service_params attribute here
so that it is possible to pass in parameters
when you depend on a service which requires them
- added tests for this (045_parameters_in_dependency.t)
* Bread::Board::Service::Inferred
- when a typemapped service is created it is now
named with the special 'type:' prefix. This allows
you to depend on a typemapped service in a
non-typemapped service
- added tests for this (079_depending_on_type.t)
* Bread::Board::Traversable
- improving the error messages when a container/service
is not found
0.15 Thurs. Sept. 30, 2010
* Bread::Board::Service
- removed the MooseX::Param dependency
and implemented it internally so that
we have more control
* Bread::Board::Types
- the Bread::Board::Service::Dependencies
type now can also coerce ArrayRef[Str]
and HashRef[Str] types correctly (doy)
* Bread::Board::Service::WithDependencies
- we now only create a ::Deferred::Thunk
object if we have non-optional params
* Bread::Board::Service::WithParameters
- added the has_required_parameters
method, to see if there are any
non-optional parameters
- added tests for both the above
!! NEW EXPERIMENTAL FEATURE !!
* Bread::Board
- added the typemap and infer keyword
to help in the mapping of types and
construction of inferred services
- added tests for this
* Bread::Board::Container
- added the typemap feature and added
the ->resolve( type => $type ) call
- added tests for this
* Bread::Board::Service::Inferred
- added this and tests for it
* Bread::Board::Manual::Concepts::Typemap
- added this to help explain the
typemap feature
0.14 Tues. Aug. 24, 2010
* Bread::Board::Container
- added the ->resolve method to replace
the ->fetch( $service )->get pattern
that annoys mst so much.
- adjusted all the tests to account
for this change.
- adjusted all the docs to now use
this approach instead
- now using Try::Tiny for all exception
handling (except the Deferred service)
* Bread::Board::Service::WithDependencies
- if you want to depend on a parameterized
service, now you can and it will return
a Bread::Board::Service::Deferred::Thunk
that you can call ->inflate on and pass
in the parameters for it.
- added tests for this
* Bread::Board::Service::Deferred::Thunk
- added this + tests for it
0.13 Fri. April 23, 2010
* Bread::Board
- making the include keyword handle
compilation errors better (doy)
- added test for this
* Bread::Board::Container
Bread::Board::Container::Parameterized
- it is now possible to store parameterized
containers within regular containers and
have them behave properly
- added tests for this
* Bread::Board::Manual::Example::*
- adding some examples of ways to use
Bread::Board to the manual
- added tests to confirm they work
0.12 Sun. April 18, 2010
* Bread::Board
- added the `include` keyword which will evaluate
an external file within your Bread::Board
configuration
- added tests for this
- added support for parameterized containers
- added tests for this
- the 'container' keyword will now accept an
instance of Bread::Board::Container instead
of the name, this makes subclassing easier
- added tests for this
+ Bread::Board::Container::Parameterized
- added this module and tests
+ Bread::Baord::Manual
- moved, re-organizad and added too the docs
that were previously in Bread::Board.pm
0.11 Thu. Mar. 25, 2010
* Much improved documentation.
* Fixed inc/ to include all used Module-Install extensions.
0.10 Mon. Feb. 22, 2010
* Bread::Board
- import strict and warnings into the caller
upon import (Florian Ragwitz)
- fixing the SYNOPSIS so that it will actually
run (thanks to zby for spotting this)
* Bread::Board::ConstructorInjection
- Add a constructor_name parameter for classes using
MooseX::Traits or other things which need an alternately
named constructor. (Tomas Doran)
0.09 Wed. July 29, 2009
Add cloning support for containers and services
(thanks to jrockway for this)
- adding tests for this
* Bread::Board::ConstructorInjection
- use meta->constructor_name instead of "new"
if possible (jrockway)
* Bread::Board::Service::WithParameters
- fixing a leak where we would hold onto
parameters that were passed into get()
0.08 Sat. July 18, 2009
- updating dates on all files
* Bread::Board::LifeCycle::Singleton::WithParameters
- new module added to support the idea of a singleton
lifecycle keyed on the parameters rather then just
a per-instance item.
* Bread::Board::Traversable
- fixed the is_weak_ref mis-spelling
0.07 Wed. Feb. 18, 2009
- Work with new MooseX::Params::Validate
- Specify MX::P::Validate version number in Makefile.PL
0.06 Mon. Nov. 3, 2008
- Forgot to update MANIFEST before uploading to CPAN.
0.05 Mon. Nov. 3, 2008
- Applied immutablity to classes where applicable, and vigorously unimport
Moose keywords when they are no longer needed. This results in
x 2 performance as far as defining a Bread::Board model (Daisuke Maki).
* Bread::Board
- Implemented unimport(), thus allowing you to remove keywords
exported by Bread::Board (Daisuke Maki).
* Bread::Board::Traversable
- Unrolled recursive calls to loops, and removed Sub::Current dependency
(Daisuke Maki)
0.04 Fri. Oct. 31, 2008
* Bread::Board
Bread::Board::Traversable
- fix root path handling (thanks to Daisuke Maki)
- added tests for this
* Bread::Board::Dumper
- Simple utility for dumping containers
(thanks to Daisuke Maki)
* t/
- fixing the plans so that new versions of
Test::More stop complaining
0.03 Tues. Jan. 8, 2008
* Bread::Board::Service::WithParameters
- fixed the parameter validation to
use a custom cache key, this is so
that it plays nicely with the new
MooseX::Params::Validate
- added tests for this
0.02 Tues. Jan. 8, 2008
- forgot a dependency, whoops.
0.01 Mon. Jan. 7, 2008
- Out with the old (IOC) and in
with the new (Bread::Board)