1 Revision history for Perl extension Moose
5 - Recipe5 (subtypes & coercion) has been written
8 - added ROADMAP section to detail the near term
10 - fixed "bad meta" error message to be more descriptive
13 - added &dump method, cause it makes all out lives
16 0.11 Wed. July 12, 2006
18 - added an &unimport method to remove all the keywords
19 that Moose will import, simply add 'no Moose' to the
20 bottom of your class file.
23 - fixed some test failures caused by a forgotten test
26 0.10 Thurs. July 6, 2006
28 - improved error message when loading modules so
29 it is less confusing when you load a role.
30 - added &calculate_all_roles method to
31 Moose::Meta::Class and Moose::Meta::Role
34 This module has been tested against Class::MOP 0.30
35 but it does not yet utilize the optimizations
36 it makes available. Stay tuned for that ;)
38 0.09_03 Fri. June 23, 2006
39 ++ DEVELOPER RELEASE ++
41 - 'use strict' and 'use warnings' are no longer
42 needed in Moose classes, Moose itself will
44 - added tests for this
45 - moved code from exported subs to private methods
49 - as with Moose, strict and warnings are
50 automatically turned on for you.
51 - added tests for this
54 - now handles an edge case for override errors
55 - added tests for this
56 - added some more edge case tests
58 0.09_02 Tues. May 16, 2006
59 ++ DEVELOPER RELEASE ++
61 - added prototypes to the exported subs
65 - added prototypes to the exported subs
68 * Moose::Util::TypeConstraints
69 - cleaned up prototypes for the subs
72 0.09_01 Fri. May 12, 2006
73 ++ DEVELOPER RELEASE ++
74 - This release works in combination with
75 Class::MOP 0.29_01, it is a developer
76 release because it uses the a new
77 instance sub-protocol and a fairly
78 complete Role implementation. It has
79 not yet been optimized, so it slower
80 the the previous CPAN version. This
81 release also lacks good updated docs,
82 the official release will have updated docs.
85 - refactored the keyword exports
86 - 'with' now checks Role validaity and
87 accepts more than one Role at a time
88 - 'extends' makes metaclass adjustments as
89 needed to ensure metaclass compatability
92 - refactored the keyword exports
93 - 'with' now checks Role validaity and
94 accepts more than one Role at a time
96 * Moose::Util::TypeConstraints
97 - added the 'enum' keyword for simple
98 string enumerations which can be used as
100 - see example of usage in t/202_example.t
103 - more careful checking of params to new()
106 - much work done on the role composition
107 - many new tests for conflict detection
108 and composition edge cases
109 - not enough documentation, I suggest
112 * Moose::Meta::Instance
113 - added new Instance metaclass to support
114 the new Class::MOP instance protocol
117 - some small changes to support the new
119 - some small additions to support Roles
121 * Moose::Meta::Attribute
122 - some improvements to the accessor generation code
124 - some small changes to support the new
126 - (still somewhat) experimental delegation support
127 with the 'handles' option
128 - added several tests for this
129 - no docs for this yet
131 0.05 Thurs. April 27, 2006
133 - keywords are now exported with Sub::Exporter
134 thanks to chansen for this commit
135 - has keyword now takes a 'metaclass' option
136 to support custom attribute meta-classes
137 on a per-attribute basis
138 - added tests for this
139 - the 'has' keyword not accepts inherited slot
140 specifications (has '+foo'). This is still an
141 experimental feature and probably not finished
142 see t/038_attribute_inherited_slot_specs.t for
143 more details, or ask about it on #moose
144 - added tests for this
147 - keywords are now exported with Sub::Exporter
149 * Moose::Utils::TypeConstraints
150 - reorganized the type constraint hierarchy, thanks
151 to nothingmuch and chansen for his help and advice
153 - added some tests for this
154 - keywords are now exported with Sub::Exporter
155 thanks to chansen for this commit
158 - due to changes in Class::MOP, we had to change
159 construct_instance (for the better)
161 * Moose::Meta::Attribute
162 - due to changes in Class::MOP, we had to add the
163 initialize_instance_slot method (it's a good thing)
165 * Moose::Meta::TypeConstraint
166 - added type constraint unions
167 - added tests for this
168 - added the is_subtype_of predicate method
169 - added tests for this
171 0.04 Sun. April 16th, 2006
173 - Roles can now consume other roles
174 - added tests for this
175 - Roles can specify required methods now with
176 the requires() keyword
177 - added tests for this
180 - ripped out much of it's guts ,.. much cleaner now
181 - added required methods and correct handling of
182 them in apply() for both classes and roles
183 - added tests for this
184 - no longer adds a does() method to consuming classes
185 it relys on the one in Moose::Object
186 - added roles attribute and some methods to support
187 roles consuming roles
189 * Moose::Meta::Attribute
190 - added support for triggers on attributes
191 - added tests for this
192 - added support for does option on an attribute
193 - added tests for this
196 - added support for attribute triggers in the
198 - added tests for this
201 - Moose no longer creates a subtype for your class
202 if a subtype of the same name already exists, this
203 should DWIM in 99.9999% of all cases
205 * Moose::Util::TypeConstraints
206 - fixed bug where incorrect subtype conflicts were
208 - added test for this
211 - this class can now be extended with 'use base' if
212 you need it, it properly loads the metaclass class now
213 - added test for this
215 0.03_02 Wed. April 12, 2006
217 - you must now explictly use Moose::Util::TypeConstraints
218 it no longer gets exported for you automatically
221 - new() now accepts hash-refs as well as key/value lists
222 - added does() method to check for Roles
223 - added tests for this
226 - added roles attribute along with the add_role() and
228 - added tests for this
231 - now adds a does() method to consuming classes
232 which tests the class's hierarchy for roles
233 - added tests for this
235 0.03_01 Mon. April 10, 2006
237 - added new Role recipe (no content yet, only code)
240 - added 'with' keyword for Role support
241 - added test and docs for this
242 - fixed subtype quoting bug
243 - added test for this
247 - added test and docs
249 * Moose::Util::TypeConstraints
250 - added the message keyword to add custom
251 error messages to type constraints
254 - the meta role to support Moose::Role
255 - added tests and docs
258 - moved a number of things from Moose.pm
259 to here, they should have been here
262 * Moose::Meta::Attribute
263 - moved the attribute option macros here
264 instead of putting them in Moose.pm
266 * Moose::Meta::TypeConstraint
267 - added the message attributes and the
269 - added tests and docs for this
271 0.03 Thurs. March 30, 2006
273 - added the Moose::Cookbook with 5 recipes,
274 describing all the stuff Moose can do.
277 - fixed an issue with &extends super class loading
278 it now captures errors and deals with inline
279 packages correctly (bug found by mst, solution
281 - added super/override & inner/augment features
282 - added tests and docs for these
285 - BUILDALL now takes a reference of the %params
286 that are passed to &new, and passes that to
289 * Moose::Util::TypeConstraints
290 - Type constraints now survive runtime reloading
291 - added test for this
294 - fixed the way attribute defaults are handled
295 during instance construction (bug found by chansen)
297 * Moose::Meta::Attribute
298 - read-only attributes now actually enforce their
299 read-only-ness (this corrected in Class::MOP as
302 0.02 Tues. March 21, 2006
304 - many more tests, fixing some bugs and
306 - &extends now loads the base module with
308 - added UNIVERSAL::require to the
311 - each new Moose class will also create
312 and register a subtype of Object which
313 correspond to the new Moose class.
314 - the 'isa' option in &has now only
315 accepts strings, and will DWIM in
318 * Moose::Util::TypeConstraints
319 - added type coercion features
320 - added tests for this
321 - added support for this in attributes
322 and instance construction
324 - type construction no longer creates a
325 function, it registers the type instead.
326 - added several functions to get the
330 - BUILDALL and DEMOLISHALL were broken
331 because of a mis-named hash key, Whoops :)
333 * Moose::Meta::Attribute
334 - adding support for coercion in the
335 autogenerated accessors
338 - adding support for coercion in the
339 instance construction
341 * Moose::Meta::TypeConstraint
342 * Moose::Meta::TypeCoercion
343 - type constraints and coercions are now
344 full fledges meta-objects
346 0.01 Wed. March 15, 2006
347 - Moooooooooooooooooose!!!