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.
11 - fixed number of spelling/grammer issues, thanks Theory :)
12 *~~ experimental feature ~~*
13 - added the method and self keywords, they are basically
14 just sugar, and they may not stay around.
17 - added &dump method to easily Data::Dumper
20 * Moose::Meta::TypeConstraint
21 - added the &is_a_type_of method to check both the current
22 and the subtype of a method (similar to &isa with classes)
25 - this is now a subclass of Class::MOP::Module, and no longer
26 creates the _role_meta ugliness of before.
27 - fixed tests to reflect this change
29 0.11 Wed. July 12, 2006
31 - added an &unimport method to remove all the keywords
32 that Moose will import, simply add 'no Moose' to the
33 bottom of your class file.
36 - fixed some test failures caused by a forgotten test
39 0.10 Thurs. July 6, 2006
41 - improved error message when loading modules so
42 it is less confusing when you load a role.
43 - added &calculate_all_roles method to
44 Moose::Meta::Class and Moose::Meta::Role
47 This module has been tested against Class::MOP 0.30
48 but it does not yet utilize the optimizations
49 it makes available. Stay tuned for that ;)
51 0.09_03 Fri. June 23, 2006
52 ++ DEVELOPER RELEASE ++
54 - 'use strict' and 'use warnings' are no longer
55 needed in Moose classes, Moose itself will
57 - added tests for this
58 - moved code from exported subs to private methods
62 - as with Moose, strict and warnings are
63 automatically turned on for you.
64 - added tests for this
67 - now handles an edge case for override errors
68 - added tests for this
69 - added some more edge case tests
71 0.09_02 Tues. May 16, 2006
72 ++ DEVELOPER RELEASE ++
74 - added prototypes to the exported subs
78 - added prototypes to the exported subs
81 * Moose::Util::TypeConstraints
82 - cleaned up prototypes for the subs
85 0.09_01 Fri. May 12, 2006
86 ++ DEVELOPER RELEASE ++
87 - This release works in combination with
88 Class::MOP 0.29_01, it is a developer
89 release because it uses the a new
90 instance sub-protocol and a fairly
91 complete Role implementation. It has
92 not yet been optimized, so it slower
93 the the previous CPAN version. This
94 release also lacks good updated docs,
95 the official release will have updated docs.
98 - refactored the keyword exports
99 - 'with' now checks Role validaity and
100 accepts more than one Role at a time
101 - 'extends' makes metaclass adjustments as
102 needed to ensure metaclass compatability
105 - refactored the keyword exports
106 - 'with' now checks Role validaity and
107 accepts more than one Role at a time
109 * Moose::Util::TypeConstraints
110 - added the 'enum' keyword for simple
111 string enumerations which can be used as
113 - see example of usage in t/202_example.t
116 - more careful checking of params to new()
119 - much work done on the role composition
120 - many new tests for conflict detection
121 and composition edge cases
122 - not enough documentation, I suggest
125 * Moose::Meta::Instance
126 - added new Instance metaclass to support
127 the new Class::MOP instance protocol
130 - some small changes to support the new
132 - some small additions to support Roles
134 * Moose::Meta::Attribute
135 - some improvements to the accessor generation code
137 - some small changes to support the new
139 - (still somewhat) experimental delegation support
140 with the 'handles' option
141 - added several tests for this
142 - no docs for this yet
144 0.05 Thurs. April 27, 2006
146 - keywords are now exported with Sub::Exporter
147 thanks to chansen for this commit
148 - has keyword now takes a 'metaclass' option
149 to support custom attribute meta-classes
150 on a per-attribute basis
151 - added tests for this
152 - the 'has' keyword not accepts inherited slot
153 specifications (has '+foo'). This is still an
154 experimental feature and probably not finished
155 see t/038_attribute_inherited_slot_specs.t for
156 more details, or ask about it on #moose
157 - added tests for this
160 - keywords are now exported with Sub::Exporter
162 * Moose::Utils::TypeConstraints
163 - reorganized the type constraint hierarchy, thanks
164 to nothingmuch and chansen for his help and advice
166 - added some tests for this
167 - keywords are now exported with Sub::Exporter
168 thanks to chansen for this commit
171 - due to changes in Class::MOP, we had to change
172 construct_instance (for the better)
174 * Moose::Meta::Attribute
175 - due to changes in Class::MOP, we had to add the
176 initialize_instance_slot method (it's a good thing)
178 * Moose::Meta::TypeConstraint
179 - added type constraint unions
180 - added tests for this
181 - added the is_subtype_of predicate method
182 - added tests for this
184 0.04 Sun. April 16th, 2006
186 - Roles can now consume other roles
187 - added tests for this
188 - Roles can specify required methods now with
189 the requires() keyword
190 - added tests for this
193 - ripped out much of it's guts ,.. much cleaner now
194 - added required methods and correct handling of
195 them in apply() for both classes and roles
196 - added tests for this
197 - no longer adds a does() method to consuming classes
198 it relys on the one in Moose::Object
199 - added roles attribute and some methods to support
200 roles consuming roles
202 * Moose::Meta::Attribute
203 - added support for triggers on attributes
204 - added tests for this
205 - added support for does option on an attribute
206 - added tests for this
209 - added support for attribute triggers in the
211 - added tests for this
214 - Moose no longer creates a subtype for your class
215 if a subtype of the same name already exists, this
216 should DWIM in 99.9999% of all cases
218 * Moose::Util::TypeConstraints
219 - fixed bug where incorrect subtype conflicts were
221 - added test for this
224 - this class can now be extended with 'use base' if
225 you need it, it properly loads the metaclass class now
226 - added test for this
228 0.03_02 Wed. April 12, 2006
230 - you must now explictly use Moose::Util::TypeConstraints
231 it no longer gets exported for you automatically
234 - new() now accepts hash-refs as well as key/value lists
235 - added does() method to check for Roles
236 - added tests for this
239 - added roles attribute along with the add_role() and
241 - added tests for this
244 - now adds a does() method to consuming classes
245 which tests the class's hierarchy for roles
246 - added tests for this
248 0.03_01 Mon. April 10, 2006
250 - added new Role recipe (no content yet, only code)
253 - added 'with' keyword for Role support
254 - added test and docs for this
255 - fixed subtype quoting bug
256 - added test for this
260 - added test and docs
262 * Moose::Util::TypeConstraints
263 - added the message keyword to add custom
264 error messages to type constraints
267 - the meta role to support Moose::Role
268 - added tests and docs
271 - moved a number of things from Moose.pm
272 to here, they should have been here
275 * Moose::Meta::Attribute
276 - moved the attribute option macros here
277 instead of putting them in Moose.pm
279 * Moose::Meta::TypeConstraint
280 - added the message attributes and the
282 - added tests and docs for this
284 0.03 Thurs. March 30, 2006
286 - added the Moose::Cookbook with 5 recipes,
287 describing all the stuff Moose can do.
290 - fixed an issue with &extends super class loading
291 it now captures errors and deals with inline
292 packages correctly (bug found by mst, solution
294 - added super/override & inner/augment features
295 - added tests and docs for these
298 - BUILDALL now takes a reference of the %params
299 that are passed to &new, and passes that to
302 * Moose::Util::TypeConstraints
303 - Type constraints now survive runtime reloading
304 - added test for this
307 - fixed the way attribute defaults are handled
308 during instance construction (bug found by chansen)
310 * Moose::Meta::Attribute
311 - read-only attributes now actually enforce their
312 read-only-ness (this corrected in Class::MOP as
315 0.02 Tues. March 21, 2006
317 - many more tests, fixing some bugs and
319 - &extends now loads the base module with
321 - added UNIVERSAL::require to the
324 - each new Moose class will also create
325 and register a subtype of Object which
326 correspond to the new Moose class.
327 - the 'isa' option in &has now only
328 accepts strings, and will DWIM in
331 * Moose::Util::TypeConstraints
332 - added type coercion features
333 - added tests for this
334 - added support for this in attributes
335 and instance construction
337 - type construction no longer creates a
338 function, it registers the type instead.
339 - added several functions to get the
343 - BUILDALL and DEMOLISHALL were broken
344 because of a mis-named hash key, Whoops :)
346 * Moose::Meta::Attribute
347 - adding support for coercion in the
348 autogenerated accessors
351 - adding support for coercion in the
352 instance construction
354 * Moose::Meta::TypeConstraint
355 * Moose::Meta::TypeCoercion
356 - type constraints and coercions are now
357 full fledges meta-objects
359 0.01 Wed. March 15, 2006
360 - Moooooooooooooooooose!!!