1 Revision history for Perl extension Moose
5 - Recipe5 (subtypes & coercion) has been written
8 - fixed "bad meta" error message to be more descriptive
9 - fixed &unimport to not remove the &inner and &super
10 keywords because we need to localize them.
13 - added &dump method, cause it makes all out lives
16 * Moose::Meta::TypeConstraint
17 - added the &is_a_type_of method to check both the current
18 and the subtype of a method (similar to &isa with classes)
20 0.11 Wed. July 12, 2006
22 - added an &unimport method to remove all the keywords
23 that Moose will import, simply add 'no Moose' to the
24 bottom of your class file.
27 - fixed some test failures caused by a forgotten test
30 0.10 Thurs. July 6, 2006
32 - improved error message when loading modules so
33 it is less confusing when you load a role.
34 - added &calculate_all_roles method to
35 Moose::Meta::Class and Moose::Meta::Role
38 This module has been tested against Class::MOP 0.30
39 but it does not yet utilize the optimizations
40 it makes available. Stay tuned for that ;)
42 0.09_03 Fri. June 23, 2006
43 ++ DEVELOPER RELEASE ++
45 - 'use strict' and 'use warnings' are no longer
46 needed in Moose classes, Moose itself will
48 - added tests for this
49 - moved code from exported subs to private methods
53 - as with Moose, strict and warnings are
54 automatically turned on for you.
55 - added tests for this
58 - now handles an edge case for override errors
59 - added tests for this
60 - added some more edge case tests
62 0.09_02 Tues. May 16, 2006
63 ++ DEVELOPER RELEASE ++
65 - added prototypes to the exported subs
69 - added prototypes to the exported subs
72 * Moose::Util::TypeConstraints
73 - cleaned up prototypes for the subs
76 0.09_01 Fri. May 12, 2006
77 ++ DEVELOPER RELEASE ++
78 - This release works in combination with
79 Class::MOP 0.29_01, it is a developer
80 release because it uses the a new
81 instance sub-protocol and a fairly
82 complete Role implementation. It has
83 not yet been optimized, so it slower
84 the the previous CPAN version. This
85 release also lacks good updated docs,
86 the official release will have updated docs.
89 - refactored the keyword exports
90 - 'with' now checks Role validaity and
91 accepts more than one Role at a time
92 - 'extends' makes metaclass adjustments as
93 needed to ensure metaclass compatability
96 - refactored the keyword exports
97 - 'with' now checks Role validaity and
98 accepts more than one Role at a time
100 * Moose::Util::TypeConstraints
101 - added the 'enum' keyword for simple
102 string enumerations which can be used as
104 - see example of usage in t/202_example.t
107 - more careful checking of params to new()
110 - much work done on the role composition
111 - many new tests for conflict detection
112 and composition edge cases
113 - not enough documentation, I suggest
116 * Moose::Meta::Instance
117 - added new Instance metaclass to support
118 the new Class::MOP instance protocol
121 - some small changes to support the new
123 - some small additions to support Roles
125 * Moose::Meta::Attribute
126 - some improvements to the accessor generation code
128 - some small changes to support the new
130 - (still somewhat) experimental delegation support
131 with the 'handles' option
132 - added several tests for this
133 - no docs for this yet
135 0.05 Thurs. April 27, 2006
137 - keywords are now exported with Sub::Exporter
138 thanks to chansen for this commit
139 - has keyword now takes a 'metaclass' option
140 to support custom attribute meta-classes
141 on a per-attribute basis
142 - added tests for this
143 - the 'has' keyword not accepts inherited slot
144 specifications (has '+foo'). This is still an
145 experimental feature and probably not finished
146 see t/038_attribute_inherited_slot_specs.t for
147 more details, or ask about it on #moose
148 - added tests for this
151 - keywords are now exported with Sub::Exporter
153 * Moose::Utils::TypeConstraints
154 - reorganized the type constraint hierarchy, thanks
155 to nothingmuch and chansen for his help and advice
157 - added some tests for this
158 - keywords are now exported with Sub::Exporter
159 thanks to chansen for this commit
162 - due to changes in Class::MOP, we had to change
163 construct_instance (for the better)
165 * Moose::Meta::Attribute
166 - due to changes in Class::MOP, we had to add the
167 initialize_instance_slot method (it's a good thing)
169 * Moose::Meta::TypeConstraint
170 - added type constraint unions
171 - added tests for this
172 - added the is_subtype_of predicate method
173 - added tests for this
175 0.04 Sun. April 16th, 2006
177 - Roles can now consume other roles
178 - added tests for this
179 - Roles can specify required methods now with
180 the requires() keyword
181 - added tests for this
184 - ripped out much of it's guts ,.. much cleaner now
185 - added required methods and correct handling of
186 them in apply() for both classes and roles
187 - added tests for this
188 - no longer adds a does() method to consuming classes
189 it relys on the one in Moose::Object
190 - added roles attribute and some methods to support
191 roles consuming roles
193 * Moose::Meta::Attribute
194 - added support for triggers on attributes
195 - added tests for this
196 - added support for does option on an attribute
197 - added tests for this
200 - added support for attribute triggers in the
202 - added tests for this
205 - Moose no longer creates a subtype for your class
206 if a subtype of the same name already exists, this
207 should DWIM in 99.9999% of all cases
209 * Moose::Util::TypeConstraints
210 - fixed bug where incorrect subtype conflicts were
212 - added test for this
215 - this class can now be extended with 'use base' if
216 you need it, it properly loads the metaclass class now
217 - added test for this
219 0.03_02 Wed. April 12, 2006
221 - you must now explictly use Moose::Util::TypeConstraints
222 it no longer gets exported for you automatically
225 - new() now accepts hash-refs as well as key/value lists
226 - added does() method to check for Roles
227 - added tests for this
230 - added roles attribute along with the add_role() and
232 - added tests for this
235 - now adds a does() method to consuming classes
236 which tests the class's hierarchy for roles
237 - added tests for this
239 0.03_01 Mon. April 10, 2006
241 - added new Role recipe (no content yet, only code)
244 - added 'with' keyword for Role support
245 - added test and docs for this
246 - fixed subtype quoting bug
247 - added test for this
251 - added test and docs
253 * Moose::Util::TypeConstraints
254 - added the message keyword to add custom
255 error messages to type constraints
258 - the meta role to support Moose::Role
259 - added tests and docs
262 - moved a number of things from Moose.pm
263 to here, they should have been here
266 * Moose::Meta::Attribute
267 - moved the attribute option macros here
268 instead of putting them in Moose.pm
270 * Moose::Meta::TypeConstraint
271 - added the message attributes and the
273 - added tests and docs for this
275 0.03 Thurs. March 30, 2006
277 - added the Moose::Cookbook with 5 recipes,
278 describing all the stuff Moose can do.
281 - fixed an issue with &extends super class loading
282 it now captures errors and deals with inline
283 packages correctly (bug found by mst, solution
285 - added super/override & inner/augment features
286 - added tests and docs for these
289 - BUILDALL now takes a reference of the %params
290 that are passed to &new, and passes that to
293 * Moose::Util::TypeConstraints
294 - Type constraints now survive runtime reloading
295 - added test for this
298 - fixed the way attribute defaults are handled
299 during instance construction (bug found by chansen)
301 * Moose::Meta::Attribute
302 - read-only attributes now actually enforce their
303 read-only-ness (this corrected in Class::MOP as
306 0.02 Tues. March 21, 2006
308 - many more tests, fixing some bugs and
310 - &extends now loads the base module with
312 - added UNIVERSAL::require to the
315 - each new Moose class will also create
316 and register a subtype of Object which
317 correspond to the new Moose class.
318 - the 'isa' option in &has now only
319 accepts strings, and will DWIM in
322 * Moose::Util::TypeConstraints
323 - added type coercion features
324 - added tests for this
325 - added support for this in attributes
326 and instance construction
328 - type construction no longer creates a
329 function, it registers the type instead.
330 - added several functions to get the
334 - BUILDALL and DEMOLISHALL were broken
335 because of a mis-named hash key, Whoops :)
337 * Moose::Meta::Attribute
338 - adding support for coercion in the
339 autogenerated accessors
342 - adding support for coercion in the
343 instance construction
345 * Moose::Meta::TypeConstraint
346 * Moose::Meta::TypeCoercion
347 - type constraints and coercions are now
348 full fledges meta-objects
350 0.01 Wed. March 15, 2006
351 - Moooooooooooooooooose!!!