1 Revision history for Perl extension Moose
5 - Removed the use of UNIVERSAL::require to be a better
6 symbol table citizen and remove a dependency.
9 - added a FAQ and WTF files to document frequently
10 asked questions and common problems
12 * Moose::Meta::TypeCoercion
13 - properly capturing error when type constraint
17 - Scalar::Util 1.18 is bad on Win32, so temporarily
18 only require version 1.17 for Win32 and cygwin.
20 0.12 Sat. Sept. 1, 2006
22 - Recipe5 (subtypes & coercion) has been written
25 - fixed "bad meta" error message to be more descriptive
26 - fixed &unimport to not remove the &inner and &super
27 keywords because we need to localize them.
28 - fixed number of spelling/grammer issues, thanks Theory :)
30 **~~ experimental & undocumented feature ~~**
31 - added the method and self keywords, they are basically
32 just sugar, and they may not stay around.
35 - added &dump method to easily Data::Dumper
38 * Moose::Meta::TypeConstraint
39 - added the &is_a_type_of method to check both the current
40 and the subtype of a method (similar to &isa with classes)
43 - this is now a subclass of Class::MOP::Module, and no longer
44 creates the _role_meta ugliness of before.
45 - fixed tests to reflect this change
47 0.11 Wed. July 12, 2006
49 - added an &unimport method to remove all the keywords
50 that Moose will import, simply add 'no Moose' to the
51 bottom of your class file.
54 - fixed some test failures caused by a forgotten test
57 0.10 Thurs. July 6, 2006
59 - improved error message when loading modules so
60 it is less confusing when you load a role.
61 - added &calculate_all_roles method to
62 Moose::Meta::Class and Moose::Meta::Role
65 This module has been tested against Class::MOP 0.30
66 but it does not yet utilize the optimizations
67 it makes available. Stay tuned for that ;)
69 0.09_03 Fri. June 23, 2006
70 ++ DEVELOPER RELEASE ++
72 - 'use strict' and 'use warnings' are no longer
73 needed in Moose classes, Moose itself will
75 - added tests for this
76 - moved code from exported subs to private methods
80 - as with Moose, strict and warnings are
81 automatically turned on for you.
82 - added tests for this
85 - now handles an edge case for override errors
86 - added tests for this
87 - added some more edge case tests
89 0.09_02 Tues. May 16, 2006
90 ++ DEVELOPER RELEASE ++
92 - added prototypes to the exported subs
96 - added prototypes to the exported subs
99 * Moose::Util::TypeConstraints
100 - cleaned up prototypes for the subs
103 0.09_01 Fri. May 12, 2006
104 ++ DEVELOPER RELEASE ++
105 - This release works in combination with
106 Class::MOP 0.29_01, it is a developer
107 release because it uses the a new
108 instance sub-protocol and a fairly
109 complete Role implementation. It has
110 not yet been optimized, so it slower
111 the the previous CPAN version. This
112 release also lacks good updated docs,
113 the official release will have updated docs.
116 - refactored the keyword exports
117 - 'with' now checks Role validaity and
118 accepts more than one Role at a time
119 - 'extends' makes metaclass adjustments as
120 needed to ensure metaclass compatability
123 - refactored the keyword exports
124 - 'with' now checks Role validaity and
125 accepts more than one Role at a time
127 * Moose::Util::TypeConstraints
128 - added the 'enum' keyword for simple
129 string enumerations which can be used as
131 - see example of usage in t/202_example.t
134 - more careful checking of params to new()
137 - much work done on the role composition
138 - many new tests for conflict detection
139 and composition edge cases
140 - not enough documentation, I suggest
143 * Moose::Meta::Instance
144 - added new Instance metaclass to support
145 the new Class::MOP instance protocol
148 - some small changes to support the new
150 - some small additions to support Roles
152 * Moose::Meta::Attribute
153 - some improvements to the accessor generation code
155 - some small changes to support the new
157 - (still somewhat) experimental delegation support
158 with the 'handles' option
159 - added several tests for this
160 - no docs for this yet
162 0.05 Thurs. April 27, 2006
164 - keywords are now exported with Sub::Exporter
165 thanks to chansen for this commit
166 - has keyword now takes a 'metaclass' option
167 to support custom attribute meta-classes
168 on a per-attribute basis
169 - added tests for this
170 - the 'has' keyword not accepts inherited slot
171 specifications (has '+foo'). This is still an
172 experimental feature and probably not finished
173 see t/038_attribute_inherited_slot_specs.t for
174 more details, or ask about it on #moose
175 - added tests for this
178 - keywords are now exported with Sub::Exporter
180 * Moose::Utils::TypeConstraints
181 - reorganized the type constraint hierarchy, thanks
182 to nothingmuch and chansen for his help and advice
184 - added some tests for this
185 - keywords are now exported with Sub::Exporter
186 thanks to chansen for this commit
189 - due to changes in Class::MOP, we had to change
190 construct_instance (for the better)
192 * Moose::Meta::Attribute
193 - due to changes in Class::MOP, we had to add the
194 initialize_instance_slot method (it's a good thing)
196 * Moose::Meta::TypeConstraint
197 - added type constraint unions
198 - added tests for this
199 - added the is_subtype_of predicate method
200 - added tests for this
202 0.04 Sun. April 16th, 2006
204 - Roles can now consume other roles
205 - added tests for this
206 - Roles can specify required methods now with
207 the requires() keyword
208 - added tests for this
211 - ripped out much of it's guts ,.. much cleaner now
212 - added required methods and correct handling of
213 them in apply() for both classes and roles
214 - added tests for this
215 - no longer adds a does() method to consuming classes
216 it relys on the one in Moose::Object
217 - added roles attribute and some methods to support
218 roles consuming roles
220 * Moose::Meta::Attribute
221 - added support for triggers on attributes
222 - added tests for this
223 - added support for does option on an attribute
224 - added tests for this
227 - added support for attribute triggers in the
229 - added tests for this
232 - Moose no longer creates a subtype for your class
233 if a subtype of the same name already exists, this
234 should DWIM in 99.9999% of all cases
236 * Moose::Util::TypeConstraints
237 - fixed bug where incorrect subtype conflicts were
239 - added test for this
242 - this class can now be extended with 'use base' if
243 you need it, it properly loads the metaclass class now
244 - added test for this
246 0.03_02 Wed. April 12, 2006
248 - you must now explictly use Moose::Util::TypeConstraints
249 it no longer gets exported for you automatically
252 - new() now accepts hash-refs as well as key/value lists
253 - added does() method to check for Roles
254 - added tests for this
257 - added roles attribute along with the add_role() and
259 - added tests for this
262 - now adds a does() method to consuming classes
263 which tests the class's hierarchy for roles
264 - added tests for this
266 0.03_01 Mon. April 10, 2006
268 - added new Role recipe (no content yet, only code)
271 - added 'with' keyword for Role support
272 - added test and docs for this
273 - fixed subtype quoting bug
274 - added test for this
278 - added test and docs
280 * Moose::Util::TypeConstraints
281 - added the message keyword to add custom
282 error messages to type constraints
285 - the meta role to support Moose::Role
286 - added tests and docs
289 - moved a number of things from Moose.pm
290 to here, they should have been here
293 * Moose::Meta::Attribute
294 - moved the attribute option macros here
295 instead of putting them in Moose.pm
297 * Moose::Meta::TypeConstraint
298 - added the message attributes and the
300 - added tests and docs for this
302 0.03 Thurs. March 30, 2006
304 - added the Moose::Cookbook with 5 recipes,
305 describing all the stuff Moose can do.
308 - fixed an issue with &extends super class loading
309 it now captures errors and deals with inline
310 packages correctly (bug found by mst, solution
312 - added super/override & inner/augment features
313 - added tests and docs for these
316 - BUILDALL now takes a reference of the %params
317 that are passed to &new, and passes that to
320 * Moose::Util::TypeConstraints
321 - Type constraints now survive runtime reloading
322 - added test for this
325 - fixed the way attribute defaults are handled
326 during instance construction (bug found by chansen)
328 * Moose::Meta::Attribute
329 - read-only attributes now actually enforce their
330 read-only-ness (this corrected in Class::MOP as
333 0.02 Tues. March 21, 2006
335 - many more tests, fixing some bugs and
337 - &extends now loads the base module with
339 - added UNIVERSAL::require to the
342 - each new Moose class will also create
343 and register a subtype of Object which
344 correspond to the new Moose class.
345 - the 'isa' option in &has now only
346 accepts strings, and will DWIM in
349 * Moose::Util::TypeConstraints
350 - added type coercion features
351 - added tests for this
352 - added support for this in attributes
353 and instance construction
355 - type construction no longer creates a
356 function, it registers the type instead.
357 - added several functions to get the
361 - BUILDALL and DEMOLISHALL were broken
362 because of a mis-named hash key, Whoops :)
364 * Moose::Meta::Attribute
365 - adding support for coercion in the
366 autogenerated accessors
369 - adding support for coercion in the
370 instance construction
372 * Moose::Meta::TypeConstraint
373 * Moose::Meta::TypeCoercion
374 - type constraints and coercions are now
375 full fledges meta-objects
377 0.01 Wed. March 15, 2006
378 - Moooooooooooooooooose!!!