0.12 release
[gitmo/Moose.git] / Changes
CommitLineData
e522431d 1Revision history for Perl extension Moose
2
40e89659 30.12 Sat. Sept. 1, 2006
2bdd01cd 4 * Moose::Cookbook
5 - Recipe5 (subtypes & coercion) has been written
6
7 * Moose
3279ab4a 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.
68efb014 11 - fixed number of spelling/grammer issues, thanks Theory :)
0558683c 12
13 **~~ experimental & undocumented feature ~~**
68efb014 14 - added the method and self keywords, they are basically
15 just sugar, and they may not stay around.
f742dfef 16
17 * Moose::Object
68efb014 18 - added &dump method to easily Data::Dumper
19 an object
b26e162e 20
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)
f008ac1f 24
68efb014 25 * Moose::Meta::Role
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
29
8c835eba 300.11 Wed. July 12, 2006
31f8ec72 31 * Moose
32 - added an &unimport method to remove all the keywords
8c835eba 33 that Moose will import, simply add 'no Moose' to the
34 bottom of your class file.
31f8ec72 35
36 * t/
37 - fixed some test failures caused by a forgotten test
38 dependency.
39
864cd714 400.10 Thurs. July 6, 2006
01a8e221 41 * Moose
42 - improved error message when loading modules so
43 it is less confusing when you load a role.
2b14ac61 44 - added &calculate_all_roles method to
45 Moose::Meta::Class and Moose::Meta::Role
46
47 NOTE:
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 ;)
51
2b14ac61 520.09_03 Fri. June 23, 2006
715ea0b7 53 ++ DEVELOPER RELEASE ++
4276ccb4 54 * Moose
55 - 'use strict' and 'use warnings' are no longer
56 needed in Moose classes, Moose itself will
57 turn them on for you.
58 - added tests for this
1341f10c 59 - moved code from exported subs to private methods
60 in Moose::Meta::Class
4276ccb4 61
62 * Moose::Role
63 - as with Moose, strict and warnings are
64 automatically turned on for you.
65 - added tests for this
e39d707f 66
67 * Moose::Meta::Role
68 - now handles an edge case for override errors
69 - added tests for this
b7f2d25b 70 - added some more edge case tests
1341f10c 71
43d599e5 720.09_02 Tues. May 16, 2006
715ea0b7 73 ++ DEVELOPER RELEASE ++
2c0cbef7 74 * Moose
75 - added prototypes to the exported subs
43d599e5 76 - updated docs
2c0cbef7 77
78 * Moose::Role
79 - added prototypes to the exported subs
43d599e5 80 - updated docs
2c0cbef7 81
82 * Moose::Util::TypeConstraints
83 - cleaned up prototypes for the subs
43d599e5 84 - updated docs
2c0cbef7 85
72c4f6d1 860.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.
97
98aae381 98 * Moose
99 - refactored the keyword exports
db1ab48d 100 - 'with' now checks Role validaity and
101 accepts more than one Role at a time
98aae381 102 - 'extends' makes metaclass adjustments as
103 needed to ensure metaclass compatability
104
72c4f6d1 105 * Moose::Role
106 - refactored the keyword exports
107 - 'with' now checks Role validaity and
108 accepts more than one Role at a time
109
98aae381 110 * Moose::Util::TypeConstraints
111 - added the 'enum' keyword for simple
112 string enumerations which can be used as
113 type constraints
db1ab48d 114 - see example of usage in t/202_example.t
98aae381 115
116 * Moose::Object
117 - more careful checking of params to new()
118
72c4f6d1 119 * Moose::Meta::Role
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
124 looking at the tests
125
98aae381 126 * Moose::Meta::Instance
127 - added new Instance metaclass to support
128 the new Class::MOP instance protocol
129
130 * Moose::Meta::Class
131 - some small changes to support the new
132 instance protocol
72c4f6d1 133 - some small additions to support Roles
98aae381 134
135 * Moose::Meta::Attribute
136 - some improvements to the accessor generation code
137 by nothingmuch
138 - some small changes to support the new
139 instance protocol
140 - (still somewhat) experimental delegation support
141 with the 'handles' option
142 - added several tests for this
db1ab48d 143 - no docs for this yet
98aae381 144
35c8b8f2 1450.05 Thurs. April 27, 2006
2d562421 146 * Moose
147 - keywords are now exported with Sub::Exporter
148 thanks to chansen for this commit
590868a3 149 - has keyword now takes a 'metaclass' option
150 to support custom attribute meta-classes
151 on a per-attribute basis
daea75c9 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
fcb7afc2 158 - added tests for this
2d562421 159
160 * Moose::Role
161 - keywords are now exported with Sub::Exporter
162
5204cd52 163 * Moose::Utils::TypeConstraints
cce8198b 164 - reorganized the type constraint hierarchy, thanks
165 to nothingmuch and chansen for his help and advice
166 on this
167 - added some tests for this
7eaef7ad 168 - keywords are now exported with Sub::Exporter
35c8b8f2 169 thanks to chansen for this commit
5204cd52 170
d500266f 171 * Moose::Meta::Class
172 - due to changes in Class::MOP, we had to change
173 construct_instance (for the better)
174
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)
c07af9d2 178
cce8198b 179 * Moose::Meta::TypeConstraint
c07af9d2 180 - added type constraint unions
181 - added tests for this
cce8198b 182 - added the is_subtype_of predicate method
183 - added tests for this
d500266f 184
02a0fb52 1850.04 Sun. April 16th, 2006
1331430a 186 * Moose::Role
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
192
bdabd620 193 * Moose::Meta::Role
194 - ripped out much of it's guts ,.. much cleaner now
1331430a 195 - added required methods and correct handling of
fa1be058 196 them in apply() for both classes and roles
197 - added tests for this
1331430a 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
8c9d74e7 202
203 * Moose::Meta::Attribute
204 - added support for triggers on attributes
205 - added tests for this
02a0fb52 206 - added support for does option on an attribute
207 - added tests for this
8c9d74e7 208
209 * Moose::Meta::Class
210 - added support for attribute triggers in the
211 object construction
212 - added tests for this
256903b6 213
214 * Moose
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
218
219 * Moose::Util::TypeConstraints
220 - fixed bug where incorrect subtype conflicts were
221 being reported
8c9d74e7 222 - added test for this
223
224 * Moose::Object
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
bdabd620 228
0677220d 2290.03_02 Wed. April 12, 2006
05d9eaf6 230 * Moose
231 - you must now explictly use Moose::Util::TypeConstraints
232 it no longer gets exported for you automatically
233
234 * Moose::Object
235 - new() now accepts hash-refs as well as key/value lists
0677220d 236 - added does() method to check for Roles
237 - added tests for this
05d9eaf6 238
0677220d 239 * Moose::Meta::Class
240 - added roles attribute along with the add_role() and
241 does_role() methods
242 - added tests for this
243
244 * Moose::Meta::Role
245 - now adds a does() method to consuming classes
246 which tests the class's hierarchy for roles
247 - added tests for this
248
2490.03_01 Mon. April 10, 2006
e9ec68d6 250 * Moose::Cookbook
76d37e5a 251 - added new Role recipe (no content yet, only code)
e9ec68d6 252
253 * Moose
254 - added 'with' keyword for Role support
255 - added test and docs for this
256 - fixed subtype quoting bug
257 - added test for this
258
259 * Moose::Role
260 - Roles for Moose
261 - added test and docs
76d37e5a 262
263 * Moose::Util::TypeConstraints
264 - added the message keyword to add custom
265 error messages to type constraints
e9ec68d6 266
267 * Moose::Meta::Role
268 - the meta role to support Moose::Role
269 - added tests and docs
270
271 * Moose::Meta::Class
272 - moved a number of things from Moose.pm
273 to here, they should have been here
274 in the first place
275
276 * Moose::Meta::Attribute
277 - moved the attribute option macros here
278 instead of putting them in Moose.pm
e185c027 279
76d37e5a 280 * Moose::Meta::TypeConstraint
281 - added the message attributes and the
282 validate method
283 - added tests and docs for this
284
0ac928d2 2850.03 Thurs. March 30, 2006
e9bb8a31 286 * Moose::Cookbook
287 - added the Moose::Cookbook with 5 recipes,
288 describing all the stuff Moose can do.
289
d7f17ebb 290 * Moose
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
294 stolen from alias)
159da176 295 - added super/override & inner/augment features
296 - added tests and docs for these
d7f17ebb 297
298 * Moose::Object
299 - BUILDALL now takes a reference of the %params
300 that are passed to &new, and passes that to
301 each BUILD as well.
471c4f09 302
303 * Moose::Util::TypeConstraints
304 - Type constraints now survive runtime reloading
305 - added test for this
d7f17ebb 306
8339fae2 307 * Moose::Meta::Class
308 - fixed the way attribute defaults are handled
309 during instance construction (bug found by chansen)
310
d7f17ebb 311 * Moose::Meta::Attribute
312 - read-only attributes now actually enforce their
9deed647 313 read-only-ness (this corrected in Class::MOP as
314 well)
d7f17ebb 315
076c81ed 3160.02 Tues. March 21, 2006
fc5609d2 317 * Moose
b841b2a3 318 - many more tests, fixing some bugs and
319 edge cases
b841b2a3 320 - &extends now loads the base module with
321 UNIVERSAL::require
322 - added UNIVERSAL::require to the
323 dependencies list
6ba6d68c 324 ** API CHANGES **
b841b2a3 325 - each new Moose class will also create
326 and register a subtype of Object which
327 correspond to the new Moose class.
b841b2a3 328 - the 'isa' option in &has now only
329 accepts strings, and will DWIM in
330 almost all cases
331
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
6ba6d68c 337 ** API CHANGES **
b841b2a3 338 - type construction no longer creates a
339 function, it registers the type instead.
340 - added several functions to get the
341 registered types
6ba6d68c 342
343 * Moose::Object
344 - BUILDALL and DEMOLISHALL were broken
345 because of a mis-named hash key, Whoops :)
b841b2a3 346
347 * Moose::Meta::Attribute
348 - adding support for coercion in the
349 autogenerated accessors
350
351 * Moose::Meta::Class
352 - adding support for coercion in the
6ba6d68c 353 instance construction
354
355 * Moose::Meta::TypeConstraint
356 * Moose::Meta::TypeCoercion
357 - type constraints and coercions are now
358 full fledges meta-objects
fc5609d2 359
e522431d 3600.01 Wed. March 15, 2006
361 - Moooooooooooooooooose!!!