1 Revision history for Perl extension Moose
3 0.12 Sat. Sept. 1, 2006
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 :)
13 **~~ experimental & undocumented feature ~~**
14 - added the method and self keywords, they are basically
15 just sugar, and they may not stay around.
18 - added &dump method to easily Data::Dumper
21 * Moose::Meta::TypeConstraint
22 - added the &is_a_type_of method to check both the current
23 and the subtype of a method (similar to &isa with classes)
26 - this is now a subclass of Class::MOP::Module, and no longer
27 creates the _role_meta ugliness of before.
28 - fixed tests to reflect this change
30 0.11 Wed. July 12, 2006
32 - added an &unimport method to remove all the keywords
33 that Moose will import, simply add 'no Moose' to the
34 bottom of your class file.
37 - fixed some test failures caused by a forgotten test
40 0.10 Thurs. July 6, 2006
42 - improved error message when loading modules so
43 it is less confusing when you load a role.
44 - added &calculate_all_roles method to
45 Moose::Meta::Class and Moose::Meta::Role
48 This module has been tested against Class::MOP 0.30
49 but it does not yet utilize the optimizations
50 it makes available. Stay tuned for that ;)
52 0.09_03 Fri. June 23, 2006
53 ++ DEVELOPER RELEASE ++
55 - 'use strict' and 'use warnings' are no longer
56 needed in Moose classes, Moose itself will
58 - added tests for this
59 - moved code from exported subs to private methods
63 - as with Moose, strict and warnings are
64 automatically turned on for you.
65 - added tests for this
68 - now handles an edge case for override errors
69 - added tests for this
70 - added some more edge case tests
72 0.09_02 Tues. May 16, 2006
73 ++ DEVELOPER RELEASE ++
75 - added prototypes to the exported subs
79 - added prototypes to the exported subs
82 * Moose::Util::TypeConstraints
83 - cleaned up prototypes for the subs
86 0.09_01 Fri. May 12, 2006
87 ++ DEVELOPER RELEASE ++
88 - This release works in combination with
89 Class::MOP 0.29_01, it is a developer
90 release because it uses the a new
91 instance sub-protocol and a fairly
92 complete Role implementation. It has
93 not yet been optimized, so it slower
94 the the previous CPAN version. This
95 release also lacks good updated docs,
96 the official release will have updated docs.
99 - refactored the keyword exports
100 - 'with' now checks Role validaity and
101 accepts more than one Role at a time
102 - 'extends' makes metaclass adjustments as
103 needed to ensure metaclass compatability
106 - refactored the keyword exports
107 - 'with' now checks Role validaity and
108 accepts more than one Role at a time
110 * Moose::Util::TypeConstraints
111 - added the 'enum' keyword for simple
112 string enumerations which can be used as
114 - see example of usage in t/202_example.t
117 - more careful checking of params to new()
120 - much work done on the role composition
121 - many new tests for conflict detection
122 and composition edge cases
123 - not enough documentation, I suggest
126 * Moose::Meta::Instance
127 - added new Instance metaclass to support
128 the new Class::MOP instance protocol
131 - some small changes to support the new
133 - some small additions to support Roles
135 * Moose::Meta::Attribute
136 - some improvements to the accessor generation code
138 - some small changes to support the new
140 - (still somewhat) experimental delegation support
141 with the 'handles' option
142 - added several tests for this
143 - no docs for this yet
145 0.05 Thurs. April 27, 2006
147 - keywords are now exported with Sub::Exporter
148 thanks to chansen for this commit
149 - has keyword now takes a 'metaclass' option
150 to support custom attribute meta-classes
151 on a per-attribute basis
152 - added tests for this
153 - the 'has' keyword not accepts inherited slot
154 specifications (has '+foo'). This is still an
155 experimental feature and probably not finished
156 see t/038_attribute_inherited_slot_specs.t for
157 more details, or ask about it on #moose
158 - added tests for this
161 - keywords are now exported with Sub::Exporter
163 * Moose::Utils::TypeConstraints
164 - reorganized the type constraint hierarchy, thanks
165 to nothingmuch and chansen for his help and advice
167 - added some tests for this
168 - keywords are now exported with Sub::Exporter
169 thanks to chansen for this commit
172 - due to changes in Class::MOP, we had to change
173 construct_instance (for the better)
175 * Moose::Meta::Attribute
176 - due to changes in Class::MOP, we had to add the
177 initialize_instance_slot method (it's a good thing)
179 * Moose::Meta::TypeConstraint
180 - added type constraint unions
181 - added tests for this
182 - added the is_subtype_of predicate method
183 - added tests for this
185 0.04 Sun. April 16th, 2006
187 - Roles can now consume other roles
188 - added tests for this
189 - Roles can specify required methods now with
190 the requires() keyword
191 - added tests for this
194 - ripped out much of it's guts ,.. much cleaner now
195 - added required methods and correct handling of
196 them in apply() for both classes and roles
197 - added tests for this
198 - no longer adds a does() method to consuming classes
199 it relys on the one in Moose::Object
200 - added roles attribute and some methods to support
201 roles consuming roles
203 * Moose::Meta::Attribute
204 - added support for triggers on attributes
205 - added tests for this
206 - added support for does option on an attribute
207 - added tests for this
210 - added support for attribute triggers in the
212 - added tests for this
215 - Moose no longer creates a subtype for your class
216 if a subtype of the same name already exists, this
217 should DWIM in 99.9999% of all cases
219 * Moose::Util::TypeConstraints
220 - fixed bug where incorrect subtype conflicts were
222 - added test for this
225 - this class can now be extended with 'use base' if
226 you need it, it properly loads the metaclass class now
227 - added test for this
229 0.03_02 Wed. April 12, 2006
231 - you must now explictly use Moose::Util::TypeConstraints
232 it no longer gets exported for you automatically
235 - new() now accepts hash-refs as well as key/value lists
236 - added does() method to check for Roles
237 - added tests for this
240 - added roles attribute along with the add_role() and
242 - added tests for this
245 - now adds a does() method to consuming classes
246 which tests the class's hierarchy for roles
247 - added tests for this
249 0.03_01 Mon. April 10, 2006
251 - added new Role recipe (no content yet, only code)
254 - added 'with' keyword for Role support
255 - added test and docs for this
256 - fixed subtype quoting bug
257 - added test for this
261 - added test and docs
263 * Moose::Util::TypeConstraints
264 - added the message keyword to add custom
265 error messages to type constraints
268 - the meta role to support Moose::Role
269 - added tests and docs
272 - moved a number of things from Moose.pm
273 to here, they should have been here
276 * Moose::Meta::Attribute
277 - moved the attribute option macros here
278 instead of putting them in Moose.pm
280 * Moose::Meta::TypeConstraint
281 - added the message attributes and the
283 - added tests and docs for this
285 0.03 Thurs. March 30, 2006
287 - added the Moose::Cookbook with 5 recipes,
288 describing all the stuff Moose can do.
291 - fixed an issue with &extends super class loading
292 it now captures errors and deals with inline
293 packages correctly (bug found by mst, solution
295 - added super/override & inner/augment features
296 - added tests and docs for these
299 - BUILDALL now takes a reference of the %params
300 that are passed to &new, and passes that to
303 * Moose::Util::TypeConstraints
304 - Type constraints now survive runtime reloading
305 - added test for this
308 - fixed the way attribute defaults are handled
309 during instance construction (bug found by chansen)
311 * Moose::Meta::Attribute
312 - read-only attributes now actually enforce their
313 read-only-ness (this corrected in Class::MOP as
316 0.02 Tues. March 21, 2006
318 - many more tests, fixing some bugs and
320 - &extends now loads the base module with
322 - added UNIVERSAL::require to the
325 - each new Moose class will also create
326 and register a subtype of Object which
327 correspond to the new Moose class.
328 - the 'isa' option in &has now only
329 accepts strings, and will DWIM in
332 * Moose::Util::TypeConstraints
333 - added type coercion features
334 - added tests for this
335 - added support for this in attributes
336 and instance construction
338 - type construction no longer creates a
339 function, it registers the type instead.
340 - added several functions to get the
344 - BUILDALL and DEMOLISHALL were broken
345 because of a mis-named hash key, Whoops :)
347 * Moose::Meta::Attribute
348 - adding support for coercion in the
349 autogenerated accessors
352 - adding support for coercion in the
353 instance construction
355 * Moose::Meta::TypeConstraint
356 * Moose::Meta::TypeCoercion
357 - type constraints and coercions are now
358 full fledges meta-objects
360 0.01 Wed. March 15, 2006
361 - Moooooooooooooooooose!!!