1 Revision history for Perl extension Moose
5 - fixed "bad meta" error message to be more descriptive
9 - Recipe5 (subtypes & coercion) has been written
12 - added ROADMAP section to detail the near term
16 - added &dump method, cause it makes all out lives
19 0.11 Wed. July 12, 2006
21 - added an &unimport method to remove all the keywords
22 that Moose will import, simply add 'no Moose' to the
23 bottom of your class file.
26 - fixed some test failures caused by a forgotten test
29 0.10 Thurs. July 6, 2006
31 - improved error message when loading modules so
32 it is less confusing when you load a role.
33 - added &calculate_all_roles method to
34 Moose::Meta::Class and Moose::Meta::Role
37 This module has been tested against Class::MOP 0.30
38 but it does not yet utilize the optimizations
39 it makes available. Stay tuned for that ;)
41 0.09_03 Fri. June 23, 2006
42 ++ DEVELOPER RELEASE ++
44 - 'use strict' and 'use warnings' are no longer
45 needed in Moose classes, Moose itself will
47 - added tests for this
48 - moved code from exported subs to private methods
52 - as with Moose, strict and warnings are
53 automatically turned on for you.
54 - added tests for this
57 - now handles an edge case for override errors
58 - added tests for this
59 - added some more edge case tests
61 0.09_02 Tues. May 16, 2006
62 ++ DEVELOPER RELEASE ++
64 - added prototypes to the exported subs
68 - added prototypes to the exported subs
71 * Moose::Util::TypeConstraints
72 - cleaned up prototypes for the subs
75 0.09_01 Fri. May 12, 2006
76 ++ DEVELOPER RELEASE ++
77 - This release works in combination with
78 Class::MOP 0.29_01, it is a developer
79 release because it uses the a new
80 instance sub-protocol and a fairly
81 complete Role implementation. It has
82 not yet been optimized, so it slower
83 the the previous CPAN version. This
84 release also lacks good updated docs,
85 the official release will have updated docs.
88 - refactored the keyword exports
89 - 'with' now checks Role validaity and
90 accepts more than one Role at a time
91 - 'extends' makes metaclass adjustments as
92 needed to ensure metaclass compatability
95 - refactored the keyword exports
96 - 'with' now checks Role validaity and
97 accepts more than one Role at a time
99 * Moose::Util::TypeConstraints
100 - added the 'enum' keyword for simple
101 string enumerations which can be used as
103 - see example of usage in t/202_example.t
106 - more careful checking of params to new()
109 - much work done on the role composition
110 - many new tests for conflict detection
111 and composition edge cases
112 - not enough documentation, I suggest
115 * Moose::Meta::Instance
116 - added new Instance metaclass to support
117 the new Class::MOP instance protocol
120 - some small changes to support the new
122 - some small additions to support Roles
124 * Moose::Meta::Attribute
125 - some improvements to the accessor generation code
127 - some small changes to support the new
129 - (still somewhat) experimental delegation support
130 with the 'handles' option
131 - added several tests for this
132 - no docs for this yet
134 0.05 Thurs. April 27, 2006
136 - keywords are now exported with Sub::Exporter
137 thanks to chansen for this commit
138 - has keyword now takes a 'metaclass' option
139 to support custom attribute meta-classes
140 on a per-attribute basis
141 - added tests for this
142 - the 'has' keyword not accepts inherited slot
143 specifications (has '+foo'). This is still an
144 experimental feature and probably not finished
145 see t/038_attribute_inherited_slot_specs.t for
146 more details, or ask about it on #moose
147 - added tests for this
150 - keywords are now exported with Sub::Exporter
152 * Moose::Utils::TypeConstraints
153 - reorganized the type constraint hierarchy, thanks
154 to nothingmuch and chansen for his help and advice
156 - added some tests for this
157 - keywords are now exported with Sub::Exporter
158 thanks to chansen for this commit
161 - due to changes in Class::MOP, we had to change
162 construct_instance (for the better)
164 * Moose::Meta::Attribute
165 - due to changes in Class::MOP, we had to add the
166 initialize_instance_slot method (it's a good thing)
168 * Moose::Meta::TypeConstraint
169 - added type constraint unions
170 - added tests for this
171 - added the is_subtype_of predicate method
172 - added tests for this
174 0.04 Sun. April 16th, 2006
176 - Roles can now consume other roles
177 - added tests for this
178 - Roles can specify required methods now with
179 the requires() keyword
180 - added tests for this
183 - ripped out much of it's guts ,.. much cleaner now
184 - added required methods and correct handling of
185 them in apply() for both classes and roles
186 - added tests for this
187 - no longer adds a does() method to consuming classes
188 it relys on the one in Moose::Object
189 - added roles attribute and some methods to support
190 roles consuming roles
192 * Moose::Meta::Attribute
193 - added support for triggers on attributes
194 - added tests for this
195 - added support for does option on an attribute
196 - added tests for this
199 - added support for attribute triggers in the
201 - added tests for this
204 - Moose no longer creates a subtype for your class
205 if a subtype of the same name already exists, this
206 should DWIM in 99.9999% of all cases
208 * Moose::Util::TypeConstraints
209 - fixed bug where incorrect subtype conflicts were
211 - added test for this
214 - this class can now be extended with 'use base' if
215 you need it, it properly loads the metaclass class now
216 - added test for this
218 0.03_02 Wed. April 12, 2006
220 - you must now explictly use Moose::Util::TypeConstraints
221 it no longer gets exported for you automatically
224 - new() now accepts hash-refs as well as key/value lists
225 - added does() method to check for Roles
226 - added tests for this
229 - added roles attribute along with the add_role() and
231 - added tests for this
234 - now adds a does() method to consuming classes
235 which tests the class's hierarchy for roles
236 - added tests for this
238 0.03_01 Mon. April 10, 2006
240 - added new Role recipe (no content yet, only code)
243 - added 'with' keyword for Role support
244 - added test and docs for this
245 - fixed subtype quoting bug
246 - added test for this
250 - added test and docs
252 * Moose::Util::TypeConstraints
253 - added the message keyword to add custom
254 error messages to type constraints
257 - the meta role to support Moose::Role
258 - added tests and docs
261 - moved a number of things from Moose.pm
262 to here, they should have been here
265 * Moose::Meta::Attribute
266 - moved the attribute option macros here
267 instead of putting them in Moose.pm
269 * Moose::Meta::TypeConstraint
270 - added the message attributes and the
272 - added tests and docs for this
274 0.03 Thurs. March 30, 2006
276 - added the Moose::Cookbook with 5 recipes,
277 describing all the stuff Moose can do.
280 - fixed an issue with &extends super class loading
281 it now captures errors and deals with inline
282 packages correctly (bug found by mst, solution
284 - added super/override & inner/augment features
285 - added tests and docs for these
288 - BUILDALL now takes a reference of the %params
289 that are passed to &new, and passes that to
292 * Moose::Util::TypeConstraints
293 - Type constraints now survive runtime reloading
294 - added test for this
297 - fixed the way attribute defaults are handled
298 during instance construction (bug found by chansen)
300 * Moose::Meta::Attribute
301 - read-only attributes now actually enforce their
302 read-only-ness (this corrected in Class::MOP as
305 0.02 Tues. March 21, 2006
307 - many more tests, fixing some bugs and
309 - &extends now loads the base module with
311 - added UNIVERSAL::require to the
314 - each new Moose class will also create
315 and register a subtype of Object which
316 correspond to the new Moose class.
317 - the 'isa' option in &has now only
318 accepts strings, and will DWIM in
321 * Moose::Util::TypeConstraints
322 - added type coercion features
323 - added tests for this
324 - added support for this in attributes
325 and instance construction
327 - type construction no longer creates a
328 function, it registers the type instead.
329 - added several functions to get the
333 - BUILDALL and DEMOLISHALL were broken
334 because of a mis-named hash key, Whoops :)
336 * Moose::Meta::Attribute
337 - adding support for coercion in the
338 autogenerated accessors
341 - adding support for coercion in the
342 instance construction
344 * Moose::Meta::TypeConstraint
345 * Moose::Meta::TypeCoercion
346 - type constraints and coercions are now
347 full fledges meta-objects
349 0.01 Wed. March 15, 2006
350 - Moooooooooooooooooose!!!