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