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