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