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
|
Revision history for Role-Tiny
2.002004 - 2021-01-24
- restore requiring base class when using create_class_with_roles, which was
accidentally lost in 2.002_000 (RT#134075)
2.002003 - 2021-01-11
- set dynamic_config to 0 and x_static_install to 1
- fixed filenames in dependents author test to not use colons
- removed MRO::Compat from prereqs as it is no longer used
- marked Class::Method::Modifiers as a hard developer dependency rather than
a recommended developer dependency
- rewrote test for namespace cleaning to not require namespace::clean, and
moved it from an author test to a normal test
- removed namespace::autoclean from developer prereqs
2.002_002 - 2021-01-03
- refactored some internals for subclasses to use
- methods_provided_by will ensure the module is loaded before checking for
methods
2.002_001 - 2020-12-27
- fix tests when Class::Method::Modifiers is not installed
2.002_000 - 2020-12-23
- Refactored create_class_with_roles to not use "composable packages". This
was an optimization for when a role is used in many different uses of
create_class_with_roles, but required an entirely separate implementation,
which did not have fully compatible behavior. It would also result in
methods using modifiers being slower.
- Add documentation for what methods will be composed from a role
(RT#133363)
- Fix backwards compatibility with older versions of Moo when interacting
with Moose.
- Treat modifiers as required methods during create_class_with_roles.
- Fixed methods being no longer composed after they participated in an
allowed conflict.
- Dropped use of MRO::Compat.
- Test cleanups for checking requires during create_class_with_roles.
- Additional tests to confirm internal role application steps can be fully
qualified.
- Fix Pod links to Class::Method::Modifiers
- Tweaks to author tests
- Additional tests for working with older Moo versions
- Additional tests for module loading
- Allow method modifiers to be specified with an array reference of method
names, rather than a list. This now matches how the corresponding
Class::Method::Modifiers subs can be called.
2.001004 - 2019-10-25
- fix methods being excluded from composition if they previously existed in
the composing role (RT#130811)
- fix role application overwriting subs that are not considered methods
- fix helper subs created by a Role::Tiny extension (like Moo::Role)
sometimes being teated as methods
2.001003 - 2019-10-09
- releasing as stable
2.001_002 - 2019-10-06
- fix methods from roles composed via create_class_with_roles being treated
differently from roles composed directly (RT#128470)
- fix constants being included in the methods provided by a role if they
were created before importing Role::Tiny but used after importing
- fix prototype handling test on cperl
2.001001 - 2019-10-01
- added tests for make_role
2.001_000 - 2019-09-19
- refactored method tracking to allow easier extending (such as by Moo)
- added make_role method to make a package into a role, but without
exporting any subs into it
- refactored sub exporting to allow extensions to do different things with
the subs
2.000_009 - 2019-09-06
- fix composing roles into packages that have stub subs in them
- treat constants consistently with all other subs, no matter where they are
defined
2.000008 - 2019-08-05
- reverting all changes from 2.000007 due to failures on some perl versions
and a number of downstream users. The changes will be reintroduced in a
fixed form in a future version.
2.000007 - 2019-07-31
- fix composing roles into packages that have stub subs in them
- exclude all constant subs from method list
2.000006 - 2017-11-08
- account for code references stored directly in stash (for perl 5.28)
- work around hint leakage when loading modules in perl 5.8 and 5.10.1
2.000005 - 2016-11-01
- revert change to MRO::Compat usage
2.000004 - 2016-10-31
- Fix consuming stubs from roles (RT#116674).
- Fix error message when applying conflicting roles to an object.
- Drop prerequisite on MRO::Compat on perl 5.8.
2.000003 - 2016-04-21
- don't install subs if importing into a package that is already a role. This
can happen if the module previously imported Moo::Role.
2.000002 - 2016-04-19
- restore compatibility with Moo versions pre 1.004_003
- delay loading Class::Method::Modifiers until applying modifiers to a package
- use croak rather than die for reporting errors
- apply method modifiers only once, even if they are applied via multiple
composition paths (RT#106668)
2.000001 - 2015-04-24
- fix generating invalid package names with single colons when abbreviating
long package names (RT#103310)
- don't run module interaction tests for user installs
2.000000 - 2015-02-26
* Incompatible Changes
- Role::Tiny no longer applies fatal warnings to roles created with it.
strict and non-fatal warnings will continue to be applied.
1.003004 - 2014-10-22
- allow does_role to be overridden by Moo::Role
1.003003 - 2014-03-15
- overloads specified as method names rather than subrefs are now applied
properly
- allow superclass to provide conflicting methods (RT#91054)
- use ->is_role internally to check if a package is a role
- document that Role::Tiny applies strict and fatal warnings
1.003002 - 2013-09-04
- abbreviate generated package names if they are longer than perl can handle
(RT#83248)
- add explicit dependency on the version of Exporter that added 'import'
1.003001 - 2013-07-14
- fix test accidentally requiring Class::Method::Modifiers
1.003000 - 2013-07-14
- allow composing roles simultaneously that mutually require each other
(RT#82711)
- Fix _concrete_methods_of returning non-CODE entries
- fix broken implementation of method conflict resolution
(Perlmonks#1041015)
- add is_role method for checking if a given package is a role
- drop minimum perl version - code tests just fine on 5.6.1 and 5.6.2
1.002005 - 2013-02-01
- complain loudly if Class::Method::Modifiers is too old (and skip tests)
- don't use $_ as loop variable when calling arbitrary code
1.002004 - 2012-11-02
- remove accidentally-introduced strictures.pm usage
1.002003 - 2012-10-29
- fix method modifier breakage on 5.10.0
1.002002 - 2012-10-28
- skip t/around-does.t when Class::Method::Modifiers is not installed
(RT#80310)
1.002001 - 2012-10-26
- t/does-Moo.t moved to 'xt' (RT#80290)
- don't die when looking for 'DOES' on perl < 5.10 (RT#80402)
1.002000 - 2012-10-19
- load class in addition to roles when using create_class_from_roles
- fix module name in Makefile.PL (RT#78591)
- when classes consume roles, override their DOES method (RT#79747)
- method modifiers can be used for 'does' and 'DOES'
1.001005 - 2012-07-18
- localize UNIVERSAL::can change to avoid confusing TB2
- properly report roles consumed by superclasses
1.001004 - 2012-07-12
- remove strictures.pm from the test supplied by mmcleric so we install again
- when applying runtime roles include roles from original class in new class
( fixes ::does_role checks)
1.001003 - 2012-06-19
- correctly apply modifiers with role composition
- check for conflicts during role-to-object application (test from mmcleric)
- add an explicit return to all exported subs so people don't accidentally
rely on the return value
- store coderefs as well as their refaddrs to protect against crazy
1.001002 - 2012-05-05
- alter duplication test to not provoke Class::Method::Modifiers loading
1.001001 - 2012-04-27
- remove strictures from one last test file
1.001000 - 2012-04-27
- Documentation improvements, no code changes
1.000_901 - 2012-04-12
- Fix MANIFEST inclusion of Role::Basic composition
1.000_900 - 2012-04-11
- Add composition with tests stolen from Role::Basic
1.000001 - 2012-04-03
- Document that Class::Method::Modifiers must be depended on separately
- Update tests so that they skip correctly without C::M::M
- Add a SEE ALSO section
1.000000 - 2012-03-29
- Remove redundant code in create_class_with_roles
- Minor doc fix to does_role
- Split Role::Tiny out into its own dist
Changes below this line are from when Role::Tiny was still bundled with Moo:
- Fix a bug where coercions weren't called on lazy default/builder returns
- Switch Moo::Utils to using Module::Runtime, and add the 5.8 %INC
leakage fix into Role::Tiny's _load_module to provide partial parity
- Update incompatibilities with Moose documentation
- Remove Sub::Quote's outstanding queue since it doesn't actually slow
things down to do it this way and makes debugging easier.
- Revert 'local $@' around require calls to avoid triggering Unknown Error
- Explicitly require Role::Tiny in Role::Tiny::With (RT#70446)
- Fix spurious 'once' warnings under perl -w
0.009013 - 2011-12-23
- fix up Class::XSAccessor version check to be more robust
- improved documentation
- fix failures on perls < 5.8.3
- fix test failures on cygwin
0.009012 - 2011-11-15
- make Method::Generate::Constructor handle $obj->new
- fix bug where constants containing a reference weren't handled correctly
(ref(\[]) is 'REF' not 'SCALAR', ref(\v1) is 'VSTRING')
0.009011 - 2011-10-03
- add support for DEMOLISH
- add support for BUILDARGS
0.009010 - 2011-07-20
- missing new files for Role::Tiny::With
0.009009 - 2011-07-20
- remove the big scary warning because we seem to be mostly working now
- perl based getter dies if @_ > 1 (XSAccessor already did)
- add Role::Tiny::With for use in classes
- automatically generate constructors in subclasses when required so that
subclasses with a BUILD method but no attributes get it honoured
- add coerce handling
0.009008 - 2011-06-03
- transfer fix to _load_module to Role::Tiny and make a note it's an inline
- Bring back 5.8.1 compat
0.009007 - 2011-02-25
- I botched the copyright. re-disting.
0.009006 - 2011-02-25
- handle non-lazy default and builder when init_arg is undef
- add copyright and license info for downstream packagers
- weak ref checking for Sub::Quote to avoid bugs on refaddr reuse
- Switch composed role names to be a valid package name
0.9.5 Tue Jan 11 2011
- Fix clobberage of runtime-installed wrappers by Sub::Defer
- Fix nonMoo constructor firing through multiple layers of Moo
- Fix bug where nonMoo is mistakenly detected given a Moo superclass
with no attributes (and hence no own constructor)
0.9.4 Mon Dec 13 2010
- Automatic detection on non-Moo superclasses
0.9.3 Sun Dec 5 2010
- Fix _load_module to deal with pre-existing subpackages
0.9.2 Wed Nov 17 2010
- Add explanation of Moo's existence
- Change @ISA setting mechanism to deal with a big in 5.10.0's get_linear_isa
- Change 5.10 checks to >= to not try and load MRO::Compat on 5.10.0
- Make 'perl -Moo' DTRT
0.9.1 Tue Nov 16 2010
- Initial release
|