1 Revision history for Perl extension Moose
5 - fixed minor issue which occasionally
6 comes up during global destruction
11 * Moose::Meta::Attribute
12 - fixed lazy attributes which were not getting
13 checked with the type constraint (thanks ashley)
14 - added tests for this
15 - removed the over-enthusiastic DWIMery of the
16 automatic ArrayRef and HashRef defaults, it
17 broke predicates in an ugly way.
18 - removed tests for this
20 0.13 Sat. Sept. 30, 2006
22 This version of Moose *must* have Class::MOP 0.35 in order
23 to work correctly. A number of small internal tweaks have
24 been made in order to be compatible with that release.
27 - Removed the use of UNIVERSAL::require to be a better
28 symbol table citizen and remove a dependency
31 **~~ removed experimental & undocumented feature ~~**
32 - commented out the 'method' and 'self' keywords, see the
33 comments for more info.
36 - added a FAQ and WTF files to document frequently
37 asked questions and common problems
39 * Moose::Util::TypeConstraints
40 - added GlobRef and FileHandle type constraint
41 - added tests for this
43 * Moose::Meta::Attribute
44 - if your attribute 'isa' ArrayRef of HashRef, and you have
45 not explicitly set a default, then make the default DWIM.
46 This will also work for subtypes of ArrayRef and HashRef
48 - you can now auto-deref subtypes of ArrayRef or HashRef too.
49 - new test added for this (thanks to ashley)
52 - added basic support for runtime role composition
53 but this is still *highly experimental*, so feedback
54 is much appreciated :)
55 - added tests for this
57 * Moose::Meta::TypeConstraint
58 - the type constraint now handles the coercion process
59 through delegation, this is to support the coercion
62 * Moose::Meta::TypeConstraint::Union
63 - it is now possible for coercions to be performed
65 - added tests for this (thanks to konobi)
67 * Moose::Meta::TypeCoercion
68 - properly capturing error when type constraint
72 - Scalar::Util 1.18 is bad on Win32, so temporarily
73 only require version 1.17 for Win32 and cygwin.
76 0.12 Sat. Sept. 1, 2006
78 - Recipe5 (subtypes & coercion) has been written
81 - fixed "bad meta" error message to be more descriptive
82 - fixed &unimport to not remove the &inner and &super
83 keywords because we need to localize them.
84 - fixed number of spelling/grammer issues, thanks Theory :)
86 **~~ experimental & undocumented feature ~~**
87 - added the method and self keywords, they are basically
88 just sugar, and they may not stay around.
91 - added &dump method to easily Data::Dumper
94 * Moose::Meta::TypeConstraint
95 - added the &is_a_type_of method to check both the current
96 and the subtype of a method (similar to &isa with classes)
99 - this is now a subclass of Class::MOP::Module, and no longer
100 creates the _role_meta ugliness of before.
101 - fixed tests to reflect this change
103 0.11 Wed. July 12, 2006
105 - added an &unimport method to remove all the keywords
106 that Moose will import, simply add 'no Moose' to the
107 bottom of your class file.
110 - fixed some test failures caused by a forgotten test
113 0.10 Thurs. July 6, 2006
115 - improved error message when loading modules so
116 it is less confusing when you load a role.
117 - added &calculate_all_roles method to
118 Moose::Meta::Class and Moose::Meta::Role
121 This module has been tested against Class::MOP 0.30
122 but it does not yet utilize the optimizations
123 it makes available. Stay tuned for that ;)
125 0.09_03 Fri. June 23, 2006
126 ++ DEVELOPER RELEASE ++
128 - 'use strict' and 'use warnings' are no longer
129 needed in Moose classes, Moose itself will
130 turn them on for you.
131 - added tests for this
132 - moved code from exported subs to private methods
133 in Moose::Meta::Class
136 - as with Moose, strict and warnings are
137 automatically turned on for you.
138 - added tests for this
141 - now handles an edge case for override errors
142 - added tests for this
143 - added some more edge case tests
145 0.09_02 Tues. May 16, 2006
146 ++ DEVELOPER RELEASE ++
148 - added prototypes to the exported subs
152 - added prototypes to the exported subs
155 * Moose::Util::TypeConstraints
156 - cleaned up prototypes for the subs
159 0.09_01 Fri. May 12, 2006
160 ++ DEVELOPER RELEASE ++
161 - This release works in combination with
162 Class::MOP 0.29_01, it is a developer
163 release because it uses the a new
164 instance sub-protocol and a fairly
165 complete Role implementation. It has
166 not yet been optimized, so it slower
167 the the previous CPAN version. This
168 release also lacks good updated docs,
169 the official release will have updated docs.
172 - refactored the keyword exports
173 - 'with' now checks Role validaity and
174 accepts more than one Role at a time
175 - 'extends' makes metaclass adjustments as
176 needed to ensure metaclass compatability
179 - refactored the keyword exports
180 - 'with' now checks Role validaity and
181 accepts more than one Role at a time
183 * Moose::Util::TypeConstraints
184 - added the 'enum' keyword for simple
185 string enumerations which can be used as
187 - see example of usage in t/202_example.t
190 - more careful checking of params to new()
193 - much work done on the role composition
194 - many new tests for conflict detection
195 and composition edge cases
196 - not enough documentation, I suggest
199 * Moose::Meta::Instance
200 - added new Instance metaclass to support
201 the new Class::MOP instance protocol
204 - some small changes to support the new
206 - some small additions to support Roles
208 * Moose::Meta::Attribute
209 - some improvements to the accessor generation code
211 - some small changes to support the new
213 - (still somewhat) experimental delegation support
214 with the 'handles' option
215 - added several tests for this
216 - no docs for this yet
218 0.05 Thurs. April 27, 2006
220 - keywords are now exported with Sub::Exporter
221 thanks to chansen for this commit
222 - has keyword now takes a 'metaclass' option
223 to support custom attribute meta-classes
224 on a per-attribute basis
225 - added tests for this
226 - the 'has' keyword not accepts inherited slot
227 specifications (has '+foo'). This is still an
228 experimental feature and probably not finished
229 see t/038_attribute_inherited_slot_specs.t for
230 more details, or ask about it on #moose
231 - added tests for this
234 - keywords are now exported with Sub::Exporter
236 * Moose::Utils::TypeConstraints
237 - reorganized the type constraint hierarchy, thanks
238 to nothingmuch and chansen for his help and advice
240 - added some tests for this
241 - keywords are now exported with Sub::Exporter
242 thanks to chansen for this commit
245 - due to changes in Class::MOP, we had to change
246 construct_instance (for the better)
248 * Moose::Meta::Attribute
249 - due to changes in Class::MOP, we had to add the
250 initialize_instance_slot method (it's a good thing)
252 * Moose::Meta::TypeConstraint
253 - added type constraint unions
254 - added tests for this
255 - added the is_subtype_of predicate method
256 - added tests for this
258 0.04 Sun. April 16th, 2006
260 - Roles can now consume other roles
261 - added tests for this
262 - Roles can specify required methods now with
263 the requires() keyword
264 - added tests for this
267 - ripped out much of it's guts ,.. much cleaner now
268 - added required methods and correct handling of
269 them in apply() for both classes and roles
270 - added tests for this
271 - no longer adds a does() method to consuming classes
272 it relys on the one in Moose::Object
273 - added roles attribute and some methods to support
274 roles consuming roles
276 * Moose::Meta::Attribute
277 - added support for triggers on attributes
278 - added tests for this
279 - added support for does option on an attribute
280 - added tests for this
283 - added support for attribute triggers in the
285 - added tests for this
288 - Moose no longer creates a subtype for your class
289 if a subtype of the same name already exists, this
290 should DWIM in 99.9999% of all cases
292 * Moose::Util::TypeConstraints
293 - fixed bug where incorrect subtype conflicts were
295 - added test for this
298 - this class can now be extended with 'use base' if
299 you need it, it properly loads the metaclass class now
300 - added test for this
302 0.03_02 Wed. April 12, 2006
304 - you must now explictly use Moose::Util::TypeConstraints
305 it no longer gets exported for you automatically
308 - new() now accepts hash-refs as well as key/value lists
309 - added does() method to check for Roles
310 - added tests for this
313 - added roles attribute along with the add_role() and
315 - added tests for this
318 - now adds a does() method to consuming classes
319 which tests the class's hierarchy for roles
320 - added tests for this
322 0.03_01 Mon. April 10, 2006
324 - added new Role recipe (no content yet, only code)
327 - added 'with' keyword for Role support
328 - added test and docs for this
329 - fixed subtype quoting bug
330 - added test for this
334 - added test and docs
336 * Moose::Util::TypeConstraints
337 - added the message keyword to add custom
338 error messages to type constraints
341 - the meta role to support Moose::Role
342 - added tests and docs
345 - moved a number of things from Moose.pm
346 to here, they should have been here
349 * Moose::Meta::Attribute
350 - moved the attribute option macros here
351 instead of putting them in Moose.pm
353 * Moose::Meta::TypeConstraint
354 - added the message attributes and the
356 - added tests and docs for this
358 0.03 Thurs. March 30, 2006
360 - added the Moose::Cookbook with 5 recipes,
361 describing all the stuff Moose can do.
364 - fixed an issue with &extends super class loading
365 it now captures errors and deals with inline
366 packages correctly (bug found by mst, solution
368 - added super/override & inner/augment features
369 - added tests and docs for these
372 - BUILDALL now takes a reference of the %params
373 that are passed to &new, and passes that to
376 * Moose::Util::TypeConstraints
377 - Type constraints now survive runtime reloading
378 - added test for this
381 - fixed the way attribute defaults are handled
382 during instance construction (bug found by chansen)
384 * Moose::Meta::Attribute
385 - read-only attributes now actually enforce their
386 read-only-ness (this corrected in Class::MOP as
389 0.02 Tues. March 21, 2006
391 - many more tests, fixing some bugs and
393 - &extends now loads the base module with
395 - added UNIVERSAL::require to the
398 - each new Moose class will also create
399 and register a subtype of Object which
400 correspond to the new Moose class.
401 - the 'isa' option in &has now only
402 accepts strings, and will DWIM in
405 * Moose::Util::TypeConstraints
406 - added type coercion features
407 - added tests for this
408 - added support for this in attributes
409 and instance construction
411 - type construction no longer creates a
412 function, it registers the type instead.
413 - added several functions to get the
417 - BUILDALL and DEMOLISHALL were broken
418 because of a mis-named hash key, Whoops :)
420 * Moose::Meta::Attribute
421 - adding support for coercion in the
422 autogenerated accessors
425 - adding support for coercion in the
426 instance construction
428 * Moose::Meta::TypeConstraint
429 * Moose::Meta::TypeCoercion
430 - type constraints and coercions are now
431 full fledges meta-objects
433 0.01 Wed. March 15, 2006
434 - Moooooooooooooooooose!!!