misc junk
[gitmo/Moose.git] / Changes
CommitLineData
e522431d 1Revision history for Perl extension Moose
2
e95c7c42 30.13
4 * Moose::Cookbook
5 - added a FAQ and WTF files to document frequently
6 asked questions and common problems
7
8 * Moose::Meta::TypeCoercion
9 - properly capturing error when type constraint
10 is not found
11
40e89659 120.12 Sat. Sept. 1, 2006
2bdd01cd 13 * Moose::Cookbook
14 - Recipe5 (subtypes & coercion) has been written
15
16 * Moose
3279ab4a 17 - fixed "bad meta" error message to be more descriptive
18 - fixed &unimport to not remove the &inner and &super
19 keywords because we need to localize them.
68efb014 20 - fixed number of spelling/grammer issues, thanks Theory :)
0558683c 21
22 **~~ experimental & undocumented feature ~~**
68efb014 23 - added the method and self keywords, they are basically
24 just sugar, and they may not stay around.
f742dfef 25
26 * Moose::Object
68efb014 27 - added &dump method to easily Data::Dumper
28 an object
b26e162e 29
30 * Moose::Meta::TypeConstraint
31 - added the &is_a_type_of method to check both the current
32 and the subtype of a method (similar to &isa with classes)
f008ac1f 33
68efb014 34 * Moose::Meta::Role
35 - this is now a subclass of Class::MOP::Module, and no longer
36 creates the _role_meta ugliness of before.
37 - fixed tests to reflect this change
38
8c835eba 390.11 Wed. July 12, 2006
31f8ec72 40 * Moose
41 - added an &unimport method to remove all the keywords
8c835eba 42 that Moose will import, simply add 'no Moose' to the
43 bottom of your class file.
31f8ec72 44
45 * t/
46 - fixed some test failures caused by a forgotten test
47 dependency.
48
864cd714 490.10 Thurs. July 6, 2006
01a8e221 50 * Moose
51 - improved error message when loading modules so
52 it is less confusing when you load a role.
2b14ac61 53 - added &calculate_all_roles method to
54 Moose::Meta::Class and Moose::Meta::Role
55
56 NOTE:
57 This module has been tested against Class::MOP 0.30
58 but it does not yet utilize the optimizations
59 it makes available. Stay tuned for that ;)
60
2b14ac61 610.09_03 Fri. June 23, 2006
715ea0b7 62 ++ DEVELOPER RELEASE ++
4276ccb4 63 * Moose
64 - 'use strict' and 'use warnings' are no longer
65 needed in Moose classes, Moose itself will
66 turn them on for you.
67 - added tests for this
1341f10c 68 - moved code from exported subs to private methods
69 in Moose::Meta::Class
4276ccb4 70
71 * Moose::Role
72 - as with Moose, strict and warnings are
73 automatically turned on for you.
74 - added tests for this
e39d707f 75
76 * Moose::Meta::Role
77 - now handles an edge case for override errors
78 - added tests for this
b7f2d25b 79 - added some more edge case tests
1341f10c 80
43d599e5 810.09_02 Tues. May 16, 2006
715ea0b7 82 ++ DEVELOPER RELEASE ++
2c0cbef7 83 * Moose
84 - added prototypes to the exported subs
43d599e5 85 - updated docs
2c0cbef7 86
87 * Moose::Role
88 - added prototypes to the exported subs
43d599e5 89 - updated docs
2c0cbef7 90
91 * Moose::Util::TypeConstraints
92 - cleaned up prototypes for the subs
43d599e5 93 - updated docs
2c0cbef7 94
72c4f6d1 950.09_01 Fri. May 12, 2006
96 ++ DEVELOPER RELEASE ++
97 - This release works in combination with
98 Class::MOP 0.29_01, it is a developer
99 release because it uses the a new
100 instance sub-protocol and a fairly
101 complete Role implementation. It has
102 not yet been optimized, so it slower
103 the the previous CPAN version. This
104 release also lacks good updated docs,
105 the official release will have updated docs.
106
98aae381 107 * Moose
108 - refactored the keyword exports
db1ab48d 109 - 'with' now checks Role validaity and
110 accepts more than one Role at a time
98aae381 111 - 'extends' makes metaclass adjustments as
112 needed to ensure metaclass compatability
113
72c4f6d1 114 * Moose::Role
115 - refactored the keyword exports
116 - 'with' now checks Role validaity and
117 accepts more than one Role at a time
118
98aae381 119 * Moose::Util::TypeConstraints
120 - added the 'enum' keyword for simple
121 string enumerations which can be used as
122 type constraints
db1ab48d 123 - see example of usage in t/202_example.t
98aae381 124
125 * Moose::Object
126 - more careful checking of params to new()
127
72c4f6d1 128 * Moose::Meta::Role
129 - much work done on the role composition
130 - many new tests for conflict detection
131 and composition edge cases
132 - not enough documentation, I suggest
133 looking at the tests
134
98aae381 135 * Moose::Meta::Instance
136 - added new Instance metaclass to support
137 the new Class::MOP instance protocol
138
139 * Moose::Meta::Class
140 - some small changes to support the new
141 instance protocol
72c4f6d1 142 - some small additions to support Roles
98aae381 143
144 * Moose::Meta::Attribute
145 - some improvements to the accessor generation code
146 by nothingmuch
147 - some small changes to support the new
148 instance protocol
149 - (still somewhat) experimental delegation support
150 with the 'handles' option
151 - added several tests for this
db1ab48d 152 - no docs for this yet
98aae381 153
35c8b8f2 1540.05 Thurs. April 27, 2006
2d562421 155 * Moose
156 - keywords are now exported with Sub::Exporter
157 thanks to chansen for this commit
590868a3 158 - has keyword now takes a 'metaclass' option
159 to support custom attribute meta-classes
160 on a per-attribute basis
daea75c9 161 - added tests for this
162 - the 'has' keyword not accepts inherited slot
163 specifications (has '+foo'). This is still an
164 experimental feature and probably not finished
165 see t/038_attribute_inherited_slot_specs.t for
166 more details, or ask about it on #moose
fcb7afc2 167 - added tests for this
2d562421 168
169 * Moose::Role
170 - keywords are now exported with Sub::Exporter
171
5204cd52 172 * Moose::Utils::TypeConstraints
cce8198b 173 - reorganized the type constraint hierarchy, thanks
174 to nothingmuch and chansen for his help and advice
175 on this
176 - added some tests for this
7eaef7ad 177 - keywords are now exported with Sub::Exporter
35c8b8f2 178 thanks to chansen for this commit
5204cd52 179
d500266f 180 * Moose::Meta::Class
181 - due to changes in Class::MOP, we had to change
182 construct_instance (for the better)
183
184 * Moose::Meta::Attribute
185 - due to changes in Class::MOP, we had to add the
186 initialize_instance_slot method (it's a good thing)
c07af9d2 187
cce8198b 188 * Moose::Meta::TypeConstraint
c07af9d2 189 - added type constraint unions
190 - added tests for this
cce8198b 191 - added the is_subtype_of predicate method
192 - added tests for this
d500266f 193
02a0fb52 1940.04 Sun. April 16th, 2006
1331430a 195 * Moose::Role
196 - Roles can now consume other roles
197 - added tests for this
198 - Roles can specify required methods now with
199 the requires() keyword
200 - added tests for this
201
bdabd620 202 * Moose::Meta::Role
203 - ripped out much of it's guts ,.. much cleaner now
1331430a 204 - added required methods and correct handling of
fa1be058 205 them in apply() for both classes and roles
206 - added tests for this
1331430a 207 - no longer adds a does() method to consuming classes
208 it relys on the one in Moose::Object
209 - added roles attribute and some methods to support
210 roles consuming roles
8c9d74e7 211
212 * Moose::Meta::Attribute
213 - added support for triggers on attributes
214 - added tests for this
02a0fb52 215 - added support for does option on an attribute
216 - added tests for this
8c9d74e7 217
218 * Moose::Meta::Class
219 - added support for attribute triggers in the
220 object construction
221 - added tests for this
256903b6 222
223 * Moose
224 - Moose no longer creates a subtype for your class
225 if a subtype of the same name already exists, this
226 should DWIM in 99.9999% of all cases
227
228 * Moose::Util::TypeConstraints
229 - fixed bug where incorrect subtype conflicts were
230 being reported
8c9d74e7 231 - added test for this
232
233 * Moose::Object
234 - this class can now be extended with 'use base' if
235 you need it, it properly loads the metaclass class now
236 - added test for this
bdabd620 237
0677220d 2380.03_02 Wed. April 12, 2006
05d9eaf6 239 * Moose
240 - you must now explictly use Moose::Util::TypeConstraints
241 it no longer gets exported for you automatically
242
243 * Moose::Object
244 - new() now accepts hash-refs as well as key/value lists
0677220d 245 - added does() method to check for Roles
246 - added tests for this
05d9eaf6 247
0677220d 248 * Moose::Meta::Class
249 - added roles attribute along with the add_role() and
250 does_role() methods
251 - added tests for this
252
253 * Moose::Meta::Role
254 - now adds a does() method to consuming classes
255 which tests the class's hierarchy for roles
256 - added tests for this
257
2580.03_01 Mon. April 10, 2006
e9ec68d6 259 * Moose::Cookbook
76d37e5a 260 - added new Role recipe (no content yet, only code)
e9ec68d6 261
262 * Moose
263 - added 'with' keyword for Role support
264 - added test and docs for this
265 - fixed subtype quoting bug
266 - added test for this
267
268 * Moose::Role
269 - Roles for Moose
270 - added test and docs
76d37e5a 271
272 * Moose::Util::TypeConstraints
273 - added the message keyword to add custom
274 error messages to type constraints
e9ec68d6 275
276 * Moose::Meta::Role
277 - the meta role to support Moose::Role
278 - added tests and docs
279
280 * Moose::Meta::Class
281 - moved a number of things from Moose.pm
282 to here, they should have been here
283 in the first place
284
285 * Moose::Meta::Attribute
286 - moved the attribute option macros here
287 instead of putting them in Moose.pm
e185c027 288
76d37e5a 289 * Moose::Meta::TypeConstraint
290 - added the message attributes and the
291 validate method
292 - added tests and docs for this
293
0ac928d2 2940.03 Thurs. March 30, 2006
e9bb8a31 295 * Moose::Cookbook
296 - added the Moose::Cookbook with 5 recipes,
297 describing all the stuff Moose can do.
298
d7f17ebb 299 * Moose
300 - fixed an issue with &extends super class loading
301 it now captures errors and deals with inline
302 packages correctly (bug found by mst, solution
303 stolen from alias)
159da176 304 - added super/override & inner/augment features
305 - added tests and docs for these
d7f17ebb 306
307 * Moose::Object
308 - BUILDALL now takes a reference of the %params
309 that are passed to &new, and passes that to
310 each BUILD as well.
471c4f09 311
312 * Moose::Util::TypeConstraints
313 - Type constraints now survive runtime reloading
314 - added test for this
d7f17ebb 315
8339fae2 316 * Moose::Meta::Class
317 - fixed the way attribute defaults are handled
318 during instance construction (bug found by chansen)
319
d7f17ebb 320 * Moose::Meta::Attribute
321 - read-only attributes now actually enforce their
9deed647 322 read-only-ness (this corrected in Class::MOP as
323 well)
d7f17ebb 324
076c81ed 3250.02 Tues. March 21, 2006
fc5609d2 326 * Moose
b841b2a3 327 - many more tests, fixing some bugs and
328 edge cases
b841b2a3 329 - &extends now loads the base module with
330 UNIVERSAL::require
331 - added UNIVERSAL::require to the
332 dependencies list
6ba6d68c 333 ** API CHANGES **
b841b2a3 334 - each new Moose class will also create
335 and register a subtype of Object which
336 correspond to the new Moose class.
b841b2a3 337 - the 'isa' option in &has now only
338 accepts strings, and will DWIM in
339 almost all cases
340
341 * Moose::Util::TypeConstraints
342 - added type coercion features
343 - added tests for this
344 - added support for this in attributes
345 and instance construction
6ba6d68c 346 ** API CHANGES **
b841b2a3 347 - type construction no longer creates a
348 function, it registers the type instead.
349 - added several functions to get the
350 registered types
6ba6d68c 351
352 * Moose::Object
353 - BUILDALL and DEMOLISHALL were broken
354 because of a mis-named hash key, Whoops :)
b841b2a3 355
356 * Moose::Meta::Attribute
357 - adding support for coercion in the
358 autogenerated accessors
359
360 * Moose::Meta::Class
361 - adding support for coercion in the
6ba6d68c 362 instance construction
363
364 * Moose::Meta::TypeConstraint
365 * Moose::Meta::TypeCoercion
366 - type constraints and coercions are now
367 full fledges meta-objects
fc5609d2 368
e522431d 3690.01 Wed. March 15, 2006
370 - Moooooooooooooooooose!!!