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