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
|
Revision history for Bread-Board
0.37 2019-06-28
[ DOCUMENTATION ]
- Fixed pod error as reported by CPANTS. (GH#67, Mohammad S Anwar)
- remove extraneous character from synopsis
- Remove extraneous character from synopsis (GH#66, Graham Knop)
[ MISC ]
- Fix some broken formatting in 'Changes'. (GH#65, Dave Rolsky)
[ STATISTICS ]
- code churn: 10 files changed, 137 insertions(+), 70 deletions(-)
0.36 2017-10-15
[ BUG FIXES ]
- fix pod error. (Mohammad S Anwar, GH#63)
[ MISC ]
- Reverting the changes of #53, as it breaks a few packages that are
using `also => 'Bread::Board'` in their import, and the benefit we
get from freeing ourselves from Moose::Exporter isn't that huge.
[ STATISTICS ]
- code churn: 4 files changed, 40 insertions(+), 44 deletions(-)
0.35 2017-07-31
[ BUG FIXES ]
- fixed Bread::Board::Dumper to dump parameterized containers -
previously it would just ignore them entirely (#56, Dave Rolsky)
- Moo classes were losing their method modifiers because of bad
interaction with Class::MOP::class_of(). (GH#61)
[ ENHANCEMENTS ]
- Using Bread::Board no longer enables strict and warnings in the
calling package. (#53, Dave Rolsky)
- Bread::Board::Dumper now sorts services and sub containers -
previously these came out in a random order each time (#56, Dave
Rolsky)
- allow a service or literal to be undefined. (#54, Dave Rolsky)
[ STATISTICS ]
- code churn: 13 files changed, 425 insertions(+), 237 deletions(-)
0.34 2016-03-28
- Add test messages to tests which did not have them, (#50, Alex
Balhatchet)
[ DOCUMENTATION ]
- add missing module abstracts. (GH#49, Alex Balhatchet, GH#16,
Sterling Hanenkamp)
[ ENHANCEMENTS ]
- SetterInjection can now accept any constructor. (#43, dakkar)
[ STATISTICS ]
- code churn: 37 files changed, 462 insertions(+), 395 deletions(-)
0.33 2015-04-26
- add 'literal' keyword (Yanick Champoux, #31)
- added documentation for most of the classes (dakkar, sponsored by
Net-a-Porter.com)
[ STATISTICS ]
- code churn: 35 files changed, 1016 insertions(+), 375 deletions(-)
0.32 2014-06-03
- fixes to arrayref dependencies (dakkar, #35)
0.31 2014-05-08
- allow specifying dependency values as arrayrefs, which will resolve to
an arrayref containing the resolved service values (dakkar, #34)
0.30 2014-02-02
- fix deprecated use of Class::MOP::load_class (Caleb Cushing, #33)
0.29 2013-11-21
- Fix deprecated enum syntax
0.28 2013-08-30
- Allow overriding of services and containers. This is useful when using
the common pattern of "sub BUILD { my $self = shift; container $self =>
as { ... } }" since the BUILD method in a subclass can modify existing
services and containers that were defined in a superclass, rather than
only being able to replace them (Florian Ragwitz, #26, #27).
0.27 2013-08-06
- allow the 'container $obj' sugar for parameterized containers (Florian
Ragwitz, #25)
0.26 2013-08-01
- allow cloning containers with parameterized subcontainers (Florian
Ragwitz, #22)
- allow referencing parent services from parameterized subcontainers
(Florian Ragwitz, #23)
- deprecate special case in path traversal where a path component with
the name of the current container was ignored (doy, #20)
- fix setting the current container multiple times from outside of a
container (doy)
- make some error messages more helpful (Jason Galea, #14)
- doc improvements (Sterling Hanenkamp, zdk, Philippe Bruhat, and Gabor
Szabo; #15, #17, #19, #21)
- remove the (unmaintained) Bread::Board::GraphViz
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 2011-09-06
- 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 2011-06-13
- Bread::Board::Lifecycle::Singleton - fix bug in singletons with
circular refs (thanks to doy) - added tests for this (thanks to
perigrin)
0.19 2011-06-01
- 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 2011-04-13
- 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 2011-02-22
- 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 2011-01-10
- 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 2010-09-30
- 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 2010-08-24
- 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 2010-04-23
- 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 2010-04-18
- 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 2010-03-25
- Much improved documentation.
- Fixed inc/ to include all used Module-Install extensions.
0.10 2010-02-22
- 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 2009-07-29
- 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 2009-07-18
- 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 2009-02-18
- Work with new MooseX::Params::Validate
- Specify MX::P::Validate version number in Makefile.PL
0.06 2008-11-03
- Forgot to update MANIFEST before uploading to CPAN.
0.05 2008-11-03
- 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 2008-10-31
- 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 2008-01-08
- 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 2008-01-08
- forgot a dependency, whoops.
0.01 2008-01-07
- Out with the old (IOC) and in with the new (Bread::Board)
|