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