1 Revision history for Perl extension Moose
3 0.16 Tues. Nov. 14, 2006
5 There are some speed improvements in this release,
6 but they are only the begining, so stay tuned.
9 - BUILDALL and DEMOLISHALL no longer get
10 called unless they actually need to be.
11 This gave us a signifigant speed boost
12 for the cases when there is no BUILD or
13 DEMOLISH method present.
15 * Moose::Util::TypeConstraints
16 * Moose::Meta::TypeConstraint
17 - added an 'optimize_as' option to the
18 type constraint, which allows for a
19 hand optimized version of the type
20 constraint to be used when possible.
21 - Any internally created type constraints
22 now provide an optimized version as well.
24 0.15 Sun. Nov. 5, 2006
26 This version of Moose *must* have Class::MOP 0.36 in order
27 to work correctly. A number of small internal tweaks have
28 been made in order to be compatible with that release.
30 * Moose::Util::TypeConstraints
31 - added &unimport so that you can clean out
32 your class namespace of these exported
36 - fixed minor issue which occasionally
37 comes up during global destruction
39 - moved Moose::Meta::Method::Overriden into
43 - moved Moose::Meta::Role::Method into
46 * Moose::Meta::Attribute
47 - changed how we do type checks so that
48 we reduce the overall cost, but still
51 - moved accessor generation methods to
52 Moose::Meta::Method::Accessor to
53 conform to the API changes from
56 * Moose::Meta::TypeConstraint
57 - changed how constraints are compiled
58 so that we do less recursion and more
59 iteration. This makes the type check
61 - moved Moose::Meta::TypeConstraint::Union
64 * Moose::Meta::Method::Accessor
65 - created this from methods formerly found in
66 Moose::Meta::Attribute
68 * Moose::Meta::Role::Method
69 - moved this from Moose::Meta::Role
71 * Moose::Meta::Method::Overriden
72 - moved this from Moose::Meta::Class
74 * Moose::Meta::TypeConstraint::Union
75 - moved this from Moose::Meta::TypeConstraint
77 0.14 Mon. Oct. 9, 2006
79 * Moose::Meta::Attribute
80 - fixed lazy attributes which were not getting
81 checked with the type constraint (thanks ashley)
82 - added tests for this
83 - removed the over-enthusiastic DWIMery of the
84 automatic ArrayRef and HashRef defaults, it
85 broke predicates in an ugly way.
86 - removed tests for this
88 0.13 Sat. Sept. 30, 2006
90 This version of Moose *must* have Class::MOP 0.35 in order
91 to work correctly. A number of small internal tweaks have
92 been made in order to be compatible with that release.
95 - Removed the use of UNIVERSAL::require to be a better
96 symbol table citizen and remove a dependency
99 **~~ removed experimental & undocumented feature ~~**
100 - commented out the 'method' and 'self' keywords, see the
101 comments for more info.
104 - added a FAQ and WTF files to document frequently
105 asked questions and common problems
107 * Moose::Util::TypeConstraints
108 - added GlobRef and FileHandle type constraint
109 - added tests for this
111 * Moose::Meta::Attribute
112 - if your attribute 'isa' ArrayRef of HashRef, and you have
113 not explicitly set a default, then make the default DWIM.
114 This will also work for subtypes of ArrayRef and HashRef
116 - you can now auto-deref subtypes of ArrayRef or HashRef too.
117 - new test added for this (thanks to ashley)
120 - added basic support for runtime role composition
121 but this is still *highly experimental*, so feedback
122 is much appreciated :)
123 - added tests for this
125 * Moose::Meta::TypeConstraint
126 - the type constraint now handles the coercion process
127 through delegation, this is to support the coercion
130 * Moose::Meta::TypeConstraint::Union
131 - it is now possible for coercions to be performed
133 - added tests for this (thanks to konobi)
135 * Moose::Meta::TypeCoercion
136 - properly capturing error when type constraint
140 - Scalar::Util 1.18 is bad on Win32, so temporarily
141 only require version 1.17 for Win32 and cygwin.
142 (thanks Adam Kennedy)
144 0.12 Sat. Sept. 1, 2006
146 - Recipe5 (subtypes & coercion) has been written
149 - fixed "bad meta" error message to be more descriptive
150 - fixed &unimport to not remove the &inner and &super
151 keywords because we need to localize them.
152 - fixed number of spelling/grammer issues, thanks Theory :)
154 **~~ experimental & undocumented feature ~~**
155 - added the method and self keywords, they are basically
156 just sugar, and they may not stay around.
159 - added &dump method to easily Data::Dumper
162 * Moose::Meta::TypeConstraint
163 - added the &is_a_type_of method to check both the current
164 and the subtype of a method (similar to &isa with classes)
167 - this is now a subclass of Class::MOP::Module, and no longer
168 creates the _role_meta ugliness of before.
169 - fixed tests to reflect this change
171 0.11 Wed. July 12, 2006
173 - added an &unimport method to remove all the keywords
174 that Moose will import, simply add 'no Moose' to the
175 bottom of your class file.
178 - fixed some test failures caused by a forgotten test
181 0.10 Thurs. July 6, 2006
183 - improved error message when loading modules so
184 it is less confusing when you load a role.
185 - added &calculate_all_roles method to
186 Moose::Meta::Class and Moose::Meta::Role
189 This module has been tested against Class::MOP 0.30
190 but it does not yet utilize the optimizations
191 it makes available. Stay tuned for that ;)
193 0.09_03 Fri. June 23, 2006
194 ++ DEVELOPER RELEASE ++
196 - 'use strict' and 'use warnings' are no longer
197 needed in Moose classes, Moose itself will
198 turn them on for you.
199 - added tests for this
200 - moved code from exported subs to private methods
201 in Moose::Meta::Class
204 - as with Moose, strict and warnings are
205 automatically turned on for you.
206 - added tests for this
209 - now handles an edge case for override errors
210 - added tests for this
211 - added some more edge case tests
213 0.09_02 Tues. May 16, 2006
214 ++ DEVELOPER RELEASE ++
216 - added prototypes to the exported subs
220 - added prototypes to the exported subs
223 * Moose::Util::TypeConstraints
224 - cleaned up prototypes for the subs
227 0.09_01 Fri. May 12, 2006
228 ++ DEVELOPER RELEASE ++
229 - This release works in combination with
230 Class::MOP 0.29_01, it is a developer
231 release because it uses the a new
232 instance sub-protocol and a fairly
233 complete Role implementation. It has
234 not yet been optimized, so it slower
235 the the previous CPAN version. This
236 release also lacks good updated docs,
237 the official release will have updated docs.
240 - refactored the keyword exports
241 - 'with' now checks Role validaity and
242 accepts more than one Role at a time
243 - 'extends' makes metaclass adjustments as
244 needed to ensure metaclass compatability
247 - refactored the keyword exports
248 - 'with' now checks Role validaity and
249 accepts more than one Role at a time
251 * Moose::Util::TypeConstraints
252 - added the 'enum' keyword for simple
253 string enumerations which can be used as
255 - see example of usage in t/202_example.t
258 - more careful checking of params to new()
261 - much work done on the role composition
262 - many new tests for conflict detection
263 and composition edge cases
264 - not enough documentation, I suggest
267 * Moose::Meta::Instance
268 - added new Instance metaclass to support
269 the new Class::MOP instance protocol
272 - some small changes to support the new
274 - some small additions to support Roles
276 * Moose::Meta::Attribute
277 - some improvements to the accessor generation code
279 - some small changes to support the new
281 - (still somewhat) experimental delegation support
282 with the 'handles' option
283 - added several tests for this
284 - no docs for this yet
286 0.05 Thurs. April 27, 2006
288 - keywords are now exported with Sub::Exporter
289 thanks to chansen for this commit
290 - has keyword now takes a 'metaclass' option
291 to support custom attribute meta-classes
292 on a per-attribute basis
293 - added tests for this
294 - the 'has' keyword not accepts inherited slot
295 specifications (has '+foo'). This is still an
296 experimental feature and probably not finished
297 see t/038_attribute_inherited_slot_specs.t for
298 more details, or ask about it on #moose
299 - added tests for this
302 - keywords are now exported with Sub::Exporter
304 * Moose::Utils::TypeConstraints
305 - reorganized the type constraint hierarchy, thanks
306 to nothingmuch and chansen for his help and advice
308 - added some tests for this
309 - keywords are now exported with Sub::Exporter
310 thanks to chansen for this commit
313 - due to changes in Class::MOP, we had to change
314 construct_instance (for the better)
316 * Moose::Meta::Attribute
317 - due to changes in Class::MOP, we had to add the
318 initialize_instance_slot method (it's a good thing)
320 * Moose::Meta::TypeConstraint
321 - added type constraint unions
322 - added tests for this
323 - added the is_subtype_of predicate method
324 - added tests for this
326 0.04 Sun. April 16th, 2006
328 - Roles can now consume other roles
329 - added tests for this
330 - Roles can specify required methods now with
331 the requires() keyword
332 - added tests for this
335 - ripped out much of it's guts ,.. much cleaner now
336 - added required methods and correct handling of
337 them in apply() for both classes and roles
338 - added tests for this
339 - no longer adds a does() method to consuming classes
340 it relys on the one in Moose::Object
341 - added roles attribute and some methods to support
342 roles consuming roles
344 * Moose::Meta::Attribute
345 - added support for triggers on attributes
346 - added tests for this
347 - added support for does option on an attribute
348 - added tests for this
351 - added support for attribute triggers in the
353 - added tests for this
356 - Moose no longer creates a subtype for your class
357 if a subtype of the same name already exists, this
358 should DWIM in 99.9999% of all cases
360 * Moose::Util::TypeConstraints
361 - fixed bug where incorrect subtype conflicts were
363 - added test for this
366 - this class can now be extended with 'use base' if
367 you need it, it properly loads the metaclass class now
368 - added test for this
370 0.03_02 Wed. April 12, 2006
372 - you must now explictly use Moose::Util::TypeConstraints
373 it no longer gets exported for you automatically
376 - new() now accepts hash-refs as well as key/value lists
377 - added does() method to check for Roles
378 - added tests for this
381 - added roles attribute along with the add_role() and
383 - added tests for this
386 - now adds a does() method to consuming classes
387 which tests the class's hierarchy for roles
388 - added tests for this
390 0.03_01 Mon. April 10, 2006
392 - added new Role recipe (no content yet, only code)
395 - added 'with' keyword for Role support
396 - added test and docs for this
397 - fixed subtype quoting bug
398 - added test for this
402 - added test and docs
404 * Moose::Util::TypeConstraints
405 - added the message keyword to add custom
406 error messages to type constraints
409 - the meta role to support Moose::Role
410 - added tests and docs
413 - moved a number of things from Moose.pm
414 to here, they should have been here
417 * Moose::Meta::Attribute
418 - moved the attribute option macros here
419 instead of putting them in Moose.pm
421 * Moose::Meta::TypeConstraint
422 - added the message attributes and the
424 - added tests and docs for this
426 0.03 Thurs. March 30, 2006
428 - added the Moose::Cookbook with 5 recipes,
429 describing all the stuff Moose can do.
432 - fixed an issue with &extends super class loading
433 it now captures errors and deals with inline
434 packages correctly (bug found by mst, solution
436 - added super/override & inner/augment features
437 - added tests and docs for these
440 - BUILDALL now takes a reference of the %params
441 that are passed to &new, and passes that to
444 * Moose::Util::TypeConstraints
445 - Type constraints now survive runtime reloading
446 - added test for this
449 - fixed the way attribute defaults are handled
450 during instance construction (bug found by chansen)
452 * Moose::Meta::Attribute
453 - read-only attributes now actually enforce their
454 read-only-ness (this corrected in Class::MOP as
457 0.02 Tues. March 21, 2006
459 - many more tests, fixing some bugs and
461 - &extends now loads the base module with
463 - added UNIVERSAL::require to the
466 - each new Moose class will also create
467 and register a subtype of Object which
468 correspond to the new Moose class.
469 - the 'isa' option in &has now only
470 accepts strings, and will DWIM in
473 * Moose::Util::TypeConstraints
474 - added type coercion features
475 - added tests for this
476 - added support for this in attributes
477 and instance construction
479 - type construction no longer creates a
480 function, it registers the type instead.
481 - added several functions to get the
485 - BUILDALL and DEMOLISHALL were broken
486 because of a mis-named hash key, Whoops :)
488 * Moose::Meta::Attribute
489 - adding support for coercion in the
490 autogenerated accessors
493 - adding support for coercion in the
494 instance construction
496 * Moose::Meta::TypeConstraint
497 * Moose::Meta::TypeCoercion
498 - type constraints and coercions are now
499 full fledges meta-objects
501 0.01 Wed. March 15, 2006
502 - Moooooooooooooooooose!!!