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