moose
[gitmo/Moose.git] / Changes
CommitLineData
e522431d 1Revision history for Perl extension Moose
2
5204cd52 30.05
2d562421 4 * Moose
5 - keywords are now exported with Sub::Exporter
6 thanks to chansen for this commit
590868a3 7 - has keyword now takes a 'metaclass' option
8 to support custom attribute meta-classes
9 on a per-attribute basis
daea75c9 10 - added tests for this
11 - the 'has' keyword not accepts inherited slot
12 specifications (has '+foo'). This is still an
13 experimental feature and probably not finished
14 see t/038_attribute_inherited_slot_specs.t for
15 more details, or ask about it on #moose
2d562421 16
17 * Moose::Role
18 - keywords are now exported with Sub::Exporter
19
5204cd52 20 * Moose::Utils::TypeConstraints
cce8198b 21 - reorganized the type constraint hierarchy, thanks
22 to nothingmuch and chansen for his help and advice
23 on this
24 - added some tests for this
7eaef7ad 25 - keywords are now exported with Sub::Exporter
26 thanks chansen for this commit
5204cd52 27
d500266f 28 * Moose::Meta::Class
29 - due to changes in Class::MOP, we had to change
30 construct_instance (for the better)
31
32 * Moose::Meta::Attribute
33 - due to changes in Class::MOP, we had to add the
34 initialize_instance_slot method (it's a good thing)
c07af9d2 35
cce8198b 36 * Moose::Meta::TypeConstraint
c07af9d2 37 - added type constraint unions
38 - added tests for this
cce8198b 39 - added the is_subtype_of predicate method
40 - added tests for this
d500266f 41
02a0fb52 420.04 Sun. April 16th, 2006
1331430a 43 * Moose::Role
44 - Roles can now consume other roles
45 - added tests for this
46 - Roles can specify required methods now with
47 the requires() keyword
48 - added tests for this
49
bdabd620 50 * Moose::Meta::Role
51 - ripped out much of it's guts ,.. much cleaner now
1331430a 52 - added required methods and correct handling of
fa1be058 53 them in apply() for both classes and roles
54 - added tests for this
1331430a 55 - no longer adds a does() method to consuming classes
56 it relys on the one in Moose::Object
57 - added roles attribute and some methods to support
58 roles consuming roles
8c9d74e7 59
60 * Moose::Meta::Attribute
61 - added support for triggers on attributes
62 - added tests for this
02a0fb52 63 - added support for does option on an attribute
64 - added tests for this
8c9d74e7 65
66 * Moose::Meta::Class
67 - added support for attribute triggers in the
68 object construction
69 - added tests for this
256903b6 70
71 * Moose
72 - Moose no longer creates a subtype for your class
73 if a subtype of the same name already exists, this
74 should DWIM in 99.9999% of all cases
75
76 * Moose::Util::TypeConstraints
77 - fixed bug where incorrect subtype conflicts were
78 being reported
8c9d74e7 79 - added test for this
80
81 * Moose::Object
82 - this class can now be extended with 'use base' if
83 you need it, it properly loads the metaclass class now
84 - added test for this
bdabd620 85
0677220d 860.03_02 Wed. April 12, 2006
05d9eaf6 87 * Moose
88 - you must now explictly use Moose::Util::TypeConstraints
89 it no longer gets exported for you automatically
90
91 * Moose::Object
92 - new() now accepts hash-refs as well as key/value lists
0677220d 93 - added does() method to check for Roles
94 - added tests for this
05d9eaf6 95
0677220d 96 * Moose::Meta::Class
97 - added roles attribute along with the add_role() and
98 does_role() methods
99 - added tests for this
100
101 * Moose::Meta::Role
102 - now adds a does() method to consuming classes
103 which tests the class's hierarchy for roles
104 - added tests for this
105
1060.03_01 Mon. April 10, 2006
e9ec68d6 107 * Moose::Cookbook
76d37e5a 108 - added new Role recipe (no content yet, only code)
e9ec68d6 109
110 * Moose
111 - added 'with' keyword for Role support
112 - added test and docs for this
113 - fixed subtype quoting bug
114 - added test for this
115
116 * Moose::Role
117 - Roles for Moose
118 - added test and docs
76d37e5a 119
120 * Moose::Util::TypeConstraints
121 - added the message keyword to add custom
122 error messages to type constraints
e9ec68d6 123
124 * Moose::Meta::Role
125 - the meta role to support Moose::Role
126 - added tests and docs
127
128 * Moose::Meta::Class
129 - moved a number of things from Moose.pm
130 to here, they should have been here
131 in the first place
132
133 * Moose::Meta::Attribute
134 - moved the attribute option macros here
135 instead of putting them in Moose.pm
e185c027 136
76d37e5a 137 * Moose::Meta::TypeConstraint
138 - added the message attributes and the
139 validate method
140 - added tests and docs for this
141
0ac928d2 1420.03 Thurs. March 30, 2006
e9bb8a31 143 * Moose::Cookbook
144 - added the Moose::Cookbook with 5 recipes,
145 describing all the stuff Moose can do.
146
d7f17ebb 147 * Moose
148 - fixed an issue with &extends super class loading
149 it now captures errors and deals with inline
150 packages correctly (bug found by mst, solution
151 stolen from alias)
159da176 152 - added super/override & inner/augment features
153 - added tests and docs for these
d7f17ebb 154
155 * Moose::Object
156 - BUILDALL now takes a reference of the %params
157 that are passed to &new, and passes that to
158 each BUILD as well.
471c4f09 159
160 * Moose::Util::TypeConstraints
161 - Type constraints now survive runtime reloading
162 - added test for this
d7f17ebb 163
8339fae2 164 * Moose::Meta::Class
165 - fixed the way attribute defaults are handled
166 during instance construction (bug found by chansen)
167
d7f17ebb 168 * Moose::Meta::Attribute
169 - read-only attributes now actually enforce their
9deed647 170 read-only-ness (this corrected in Class::MOP as
171 well)
d7f17ebb 172
076c81ed 1730.02 Tues. March 21, 2006
fc5609d2 174 * Moose
b841b2a3 175 - many more tests, fixing some bugs and
176 edge cases
b841b2a3 177 - &extends now loads the base module with
178 UNIVERSAL::require
179 - added UNIVERSAL::require to the
180 dependencies list
6ba6d68c 181 ** API CHANGES **
b841b2a3 182 - each new Moose class will also create
183 and register a subtype of Object which
184 correspond to the new Moose class.
b841b2a3 185 - the 'isa' option in &has now only
186 accepts strings, and will DWIM in
187 almost all cases
188
189 * Moose::Util::TypeConstraints
190 - added type coercion features
191 - added tests for this
192 - added support for this in attributes
193 and instance construction
6ba6d68c 194 ** API CHANGES **
b841b2a3 195 - type construction no longer creates a
196 function, it registers the type instead.
197 - added several functions to get the
198 registered types
6ba6d68c 199
200 * Moose::Object
201 - BUILDALL and DEMOLISHALL were broken
202 because of a mis-named hash key, Whoops :)
b841b2a3 203
204 * Moose::Meta::Attribute
205 - adding support for coercion in the
206 autogenerated accessors
207
208 * Moose::Meta::Class
209 - adding support for coercion in the
6ba6d68c 210 instance construction
211
212 * Moose::Meta::TypeConstraint
213 * Moose::Meta::TypeCoercion
214 - type constraints and coercions are now
215 full fledges meta-objects
fc5609d2 216
e522431d 2170.01 Wed. March 15, 2006
218 - Moooooooooooooooooose!!!