1 Revision history for Perl extension Moose
5 - Recipe5 (subtypes & coercion) has been written
8 - added ROADMAP section to detail the near term
12 - added &dump method, cause it makes all out lives
15 0.11 Wed. July 12, 2006
17 - added an &unimport method to remove all the keywords
18 that Moose will import, simply add 'no Moose' to the
19 bottom of your class file.
22 - fixed some test failures caused by a forgotten test
25 0.10 Thurs. July 6, 2006
27 - improved error message when loading modules so
28 it is less confusing when you load a role.
29 - added &calculate_all_roles method to
30 Moose::Meta::Class and Moose::Meta::Role
33 This module has been tested against Class::MOP 0.30
34 but it does not yet utilize the optimizations
35 it makes available. Stay tuned for that ;)
37 0.09_03 Fri. June 23, 2006
38 ++ DEVELOPER RELEASE ++
40 - 'use strict' and 'use warnings' are no longer
41 needed in Moose classes, Moose itself will
43 - added tests for this
44 - moved code from exported subs to private methods
48 - as with Moose, strict and warnings are
49 automatically turned on for you.
50 - added tests for this
53 - now handles an edge case for override errors
54 - added tests for this
55 - added some more edge case tests
57 0.09_02 Tues. May 16, 2006
58 ++ DEVELOPER RELEASE ++
60 - added prototypes to the exported subs
64 - added prototypes to the exported subs
67 * Moose::Util::TypeConstraints
68 - cleaned up prototypes for the subs
71 0.09_01 Fri. May 12, 2006
72 ++ DEVELOPER RELEASE ++
73 - This release works in combination with
74 Class::MOP 0.29_01, it is a developer
75 release because it uses the a new
76 instance sub-protocol and a fairly
77 complete Role implementation. It has
78 not yet been optimized, so it slower
79 the the previous CPAN version. This
80 release also lacks good updated docs,
81 the official release will have updated docs.
84 - refactored the keyword exports
85 - 'with' now checks Role validaity and
86 accepts more than one Role at a time
87 - 'extends' makes metaclass adjustments as
88 needed to ensure metaclass compatability
91 - refactored the keyword exports
92 - 'with' now checks Role validaity and
93 accepts more than one Role at a time
95 * Moose::Util::TypeConstraints
96 - added the 'enum' keyword for simple
97 string enumerations which can be used as
99 - see example of usage in t/202_example.t
102 - more careful checking of params to new()
105 - much work done on the role composition
106 - many new tests for conflict detection
107 and composition edge cases
108 - not enough documentation, I suggest
111 * Moose::Meta::Instance
112 - added new Instance metaclass to support
113 the new Class::MOP instance protocol
116 - some small changes to support the new
118 - some small additions to support Roles
120 * Moose::Meta::Attribute
121 - some improvements to the accessor generation code
123 - some small changes to support the new
125 - (still somewhat) experimental delegation support
126 with the 'handles' option
127 - added several tests for this
128 - no docs for this yet
130 0.05 Thurs. April 27, 2006
132 - keywords are now exported with Sub::Exporter
133 thanks to chansen for this commit
134 - has keyword now takes a 'metaclass' option
135 to support custom attribute meta-classes
136 on a per-attribute basis
137 - added tests for this
138 - the 'has' keyword not accepts inherited slot
139 specifications (has '+foo'). This is still an
140 experimental feature and probably not finished
141 see t/038_attribute_inherited_slot_specs.t for
142 more details, or ask about it on #moose
143 - added tests for this
146 - keywords are now exported with Sub::Exporter
148 * Moose::Utils::TypeConstraints
149 - reorganized the type constraint hierarchy, thanks
150 to nothingmuch and chansen for his help and advice
152 - added some tests for this
153 - keywords are now exported with Sub::Exporter
154 thanks to chansen for this commit
157 - due to changes in Class::MOP, we had to change
158 construct_instance (for the better)
160 * Moose::Meta::Attribute
161 - due to changes in Class::MOP, we had to add the
162 initialize_instance_slot method (it's a good thing)
164 * Moose::Meta::TypeConstraint
165 - added type constraint unions
166 - added tests for this
167 - added the is_subtype_of predicate method
168 - added tests for this
170 0.04 Sun. April 16th, 2006
172 - Roles can now consume other roles
173 - added tests for this
174 - Roles can specify required methods now with
175 the requires() keyword
176 - added tests for this
179 - ripped out much of it's guts ,.. much cleaner now
180 - added required methods and correct handling of
181 them in apply() for both classes and roles
182 - added tests for this
183 - no longer adds a does() method to consuming classes
184 it relys on the one in Moose::Object
185 - added roles attribute and some methods to support
186 roles consuming roles
188 * Moose::Meta::Attribute
189 - added support for triggers on attributes
190 - added tests for this
191 - added support for does option on an attribute
192 - added tests for this
195 - added support for attribute triggers in the
197 - added tests for this
200 - Moose no longer creates a subtype for your class
201 if a subtype of the same name already exists, this
202 should DWIM in 99.9999% of all cases
204 * Moose::Util::TypeConstraints
205 - fixed bug where incorrect subtype conflicts were
207 - added test for this
210 - this class can now be extended with 'use base' if
211 you need it, it properly loads the metaclass class now
212 - added test for this
214 0.03_02 Wed. April 12, 2006
216 - you must now explictly use Moose::Util::TypeConstraints
217 it no longer gets exported for you automatically
220 - new() now accepts hash-refs as well as key/value lists
221 - added does() method to check for Roles
222 - added tests for this
225 - added roles attribute along with the add_role() and
227 - added tests for this
230 - now adds a does() method to consuming classes
231 which tests the class's hierarchy for roles
232 - added tests for this
234 0.03_01 Mon. April 10, 2006
236 - added new Role recipe (no content yet, only code)
239 - added 'with' keyword for Role support
240 - added test and docs for this
241 - fixed subtype quoting bug
242 - added test for this
246 - added test and docs
248 * Moose::Util::TypeConstraints
249 - added the message keyword to add custom
250 error messages to type constraints
253 - the meta role to support Moose::Role
254 - added tests and docs
257 - moved a number of things from Moose.pm
258 to here, they should have been here
261 * Moose::Meta::Attribute
262 - moved the attribute option macros here
263 instead of putting them in Moose.pm
265 * Moose::Meta::TypeConstraint
266 - added the message attributes and the
268 - added tests and docs for this
270 0.03 Thurs. March 30, 2006
272 - added the Moose::Cookbook with 5 recipes,
273 describing all the stuff Moose can do.
276 - fixed an issue with &extends super class loading
277 it now captures errors and deals with inline
278 packages correctly (bug found by mst, solution
280 - added super/override & inner/augment features
281 - added tests and docs for these
284 - BUILDALL now takes a reference of the %params
285 that are passed to &new, and passes that to
288 * Moose::Util::TypeConstraints
289 - Type constraints now survive runtime reloading
290 - added test for this
293 - fixed the way attribute defaults are handled
294 during instance construction (bug found by chansen)
296 * Moose::Meta::Attribute
297 - read-only attributes now actually enforce their
298 read-only-ness (this corrected in Class::MOP as
301 0.02 Tues. March 21, 2006
303 - many more tests, fixing some bugs and
305 - &extends now loads the base module with
307 - added UNIVERSAL::require to the
310 - each new Moose class will also create
311 and register a subtype of Object which
312 correspond to the new Moose class.
313 - the 'isa' option in &has now only
314 accepts strings, and will DWIM in
317 * Moose::Util::TypeConstraints
318 - added type coercion features
319 - added tests for this
320 - added support for this in attributes
321 and instance construction
323 - type construction no longer creates a
324 function, it registers the type instead.
325 - added several functions to get the
329 - BUILDALL and DEMOLISHALL were broken
330 because of a mis-named hash key, Whoops :)
332 * Moose::Meta::Attribute
333 - adding support for coercion in the
334 autogenerated accessors
337 - adding support for coercion in the
338 instance construction
340 * Moose::Meta::TypeConstraint
341 * Moose::Meta::TypeCoercion
342 - type constraints and coercions are now
343 full fledges meta-objects
345 0.01 Wed. March 15, 2006
346 - Moooooooooooooooooose!!!