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