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