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