X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=4d322f83c7496ad0cefd1b26c436cecd6024cfeb;hb=e6aaa1094fc7636980dc6631ee2b2c1671712a7e;hp=536146a0c4b578a16a21a467d14d50ed71493f5b;hpb=ae8d63f2f6822aac9504be657b8074cade5eda10;p=gitmo%2FMoose.git diff --git a/Changes b/Changes index 536146a..4d322f8 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,492 @@ Revision history for Perl extension Moose -0.41 +0.57 + * Moose::Intro + - A new bit of doc intended to introduce folks familiar with + "standard" Perl 5 OO to Moose concepts. (Dave Rolsky) + + * Moose::Unsweetened + - Shows examples of two classes, each done first with and then + without Moose. This makes a nice parallel to + Moose::Intro. (Dave Rolsky) + + * Moose::Util::TypeConstraints + - Fixed a bug in find_or_parse_type_constraint so that it + accepts a Moose::Meta::TypeConstraint object as the parent + type, not just a name (jnapiorkowski) + - added tests (jnapiorkowski) + +0.56 Mon September 1, 2008 + For those not following the series of dev releases, there are + several major changes in this release of Moose. + ! Moose::init_meta should now be called as a method. See the + docs for details. + + - Major performance improvements by nothingmuch. + + - New modules for extension writers, Moose::Exporter and + Moose::Util::MetaRole by Dave Rolsky. + + - Lots of doc improvements and additions, especially in the + cookbook sections. + + - Various bug fixes. + + * Removed all references to the experimental-but-no-longer-needed + Moose::Meta::Role::Application::ToMetaclassInstance. + + * Require Class::MOP 0.65. + +0.55_04 Sat August 30, 2008 + * Moose::Util::MetaRole + * Moose::Cookbook::Extending::Recipe2 + - This simplifies the application of roles to any meta class, as + well as the base object class. Reimplemented metaclass traits + using this module. (Dave Rolsky) + + * Moose::Cookbook::Extending::Recipe1 + - This a new recipe, an overview of various ways to write Moose + extensions (Dave Rolsky) + + * Moose::Cookbook::Extending::Recipe3 + * Moose::Cookbook::Extending::Recipe4 + - These used to be Extending::Recipe1 and Extending::Recipe2, + respectively. + +0.55_03 Fri August 29, 2008 + * No changes from 0.55_02 except increasing the Class::MOP + dependency to 0.64_07. + +0.55_02 Fri August 29, 2008 + * Makefile.PL and Moose.pm + - explicitly require Perl 5.8.0+ (Dave Rolsky) + + * Moose::Util::TypeConstraints + - Fix warnings from find_type_constraint if the type is not + found (t0m). + + * Moose::Meta::TypeConstraint + - Predicate methods (equals/is_a_type_of/is_subtype_of) now + return false if the type you specify cannot be found in the + type registry, rather than throwing an unhelpful and + coincidental exception. (t0m). + - added docs & test for this (t0m) + + * Moose::Meta::TypeConstraint::Registry + - add_type_constraint now throws an exception if a parameter is + not supplied (t0m). + - added docs & test for this (t0m) + + * Moose::Cookbook::FAQ + - Added a faq entry on the difference between "role" and "trait" + (t0m) + + * Moose::Meta::Role + - Fixed a bug that caused role composition to not see a required + method when that method was provided by another role being + composed at the same time. (Dave Rolsky) + - test and bug finding (tokuhirom) + +0.55_01 Wed August 20, 2008 + + !! Calling Moose::init_meta as a function is now !! + !! deprecated. Please see the Moose.pm docs for details. !! + + * Moose::Meta::Method::Constructor + - Fix inlined constructor so that values produced by default + or builder methods are coerced as required. (t0m) + - added test for this (t0m) + + * Moose::Meta::Attribute + - A lazy attribute with a default or builder did not attempt to + coerce the default value. The immutable code _did_ + coerce. (t0m) + - added test for this (t0m) + + * Moose::Exporter + - This is a new helper module for writing "Moose-alike" + modules. This should make the lives of MooseX module authors + much easier. (Dave Rolsky) + + * Moose + * Moose::Cookbook::Meta::Recipe5 + - Implemented metaclass traits (and wrote a recipe for it): + + use Moose -traits => 'Foo' + + This should make writing small Moose extensions a little + easier (Dave Rolsky) + + * Moose::Cookbook::Basics::Recipe1 + - Removed any examples of direct hashref access, and applied an + editorial axe to reduce verbosity. (Dave Rolsky) + + * Moose::Cookbook::Basics::Recipe1 + - Also applied an editorial axe here. (Dave Rolsky) + + * Moose + * Moose::Cookbook::Extending::Recipe1 + * Moose::Cookbook::Extending::Recipe2 + - Rewrote extending and embedding moose documentation and + recipes to use Moose::Exporter (Dave Rolsky) + + * Moose + * Moose::Role + - These two modules now warn when you load them from the main + package "main" package, because we will not export sugar to + main. Previously it just did nothing. (Dave Rolsky) + + * Moose::Role + - Now provide an init_meta method just like Moose.pm, and you + can call this to provide an alternate role metaclass. (Dave + Rolsky and nothingmuch) + - get_method_map now respects the package cache flag (nothingmuch) + + * Moose::Meta::Role + - Two new methods - add_method and wrap_method_body + (nothingmuch) + + * many modules + - Optimizations including allowing constructors to accept hash + refs, making many more classes immutable, and making + constructors immutable. (nothingmuch) + +0.55 Sun August 3, 2008 + * Moose::Meta::Attribute + - breaking down the way 'handles' methods are + created so that the process can be more easily + overridden by subclasses (stevan) + + * Moose::Meta::TypeConstraint + - fixing what is passed into a ->message with + the type constraints (RT #37569) + - added tests for this (Charles Alderman) + + * Moose::Util::TypeConstraints + - fix coerce to accept anon types like subtype can (mst) + + * Moose::Cookbook + - reorganized the recipes into sections - Basics, Roles, Meta, + Extending - and wrote abstracts for each section (Dave Rolsky) + + * Moose::Cookbook::Basics::Recipe10 + - A new recipe that demonstrates operator overloading + in combination with Moose. (bluefeet) + + * Moose::Cookbook::Meta::Recipe1 + - an introduction to what meta is and why you'd want to make + your own metaclass extensions (Dave Rolsky) + + * Moose::Cookbook::Meta::Recipe4 + - a very simple metaclass example (Dave Rolsky) + + * Moose::Cookbook::Extending::Recipe1 + - how to write a Moose-alike module to use your own object base + class (Dave Rolsky) + + * Moose::Cookbook::Extending::Recipe2 + - how to write modules with an API just like C (Dave + Rolsky) + + * all documentation + - Tons of fixes, both syntactical and grammatical (Dave + Rolsky, Paul Fenwick) + +0.54 Thurs. July 3, 2008 + ... this is not my day today ... + + * Moose::Meta::Attribute + - fixed legal_options_for_inheritance such that + clone_and_inherit options still works for + Class::MOP::Attribute objects and therefore + does not break MooseX::AttributeHelpers + (stevan) + +0.53 Thurs. July 3, 2008 + * Whoops, I guess I should run 'make manifest' before + actually releasing the module. No actual changes + in this release, except the fact that it includes + the changes that I didn't include in the last + release. (stevan--) + +0.52 Thurs. July 3, 2008 + * Moose + - added "FEATURE REQUESTS" section to the Moose docs + to properly direct people (stevan) (RT #34333) + - making 'extends' croak if it is passed a Role since + this is not ever something you want to do + (fixed by stevan, found by obra) + - added tests for this (stevan) + + * Moose::Object + - adding support for DOES (as in UNIVERSAL::DOES) + (nothingmuch) + - added test for this + + * Moose::Meta::Attribute + - added legal_options_for_inheritance (wreis) + - added tests for this (wreis) + + * Moose::Cookbook::Snacks::* + - removed some of the unfinished snacks that should + not have been released yet. Added some more examples + to the 'Keywords' snack. (stevan) + + * Moose::Cookbook::Style + - added general Moose "style guide" of sorts to the + cookbook (nothingmuch) (RT #34335) + + * t/ + - added more BUILDARGS tests (stevan) + +0.51 Thurs. Jun 26, 2008 + * Moose::Role + - add unimport so "no Moose::Role" actually does + something (sartak) + + * Moose::Meta::Role::Application::ToRole + - when RoleA did RoleB, and RoleA aliased a method from RoleB in + order to provide its own implementation, that method still got + added to the list of required methods for consumers of + RoleB. Now an aliased method is only added to the list of + required methods if the role doing the aliasing does not + provide its own implementation. See Recipe 11 for an example + of all this. (Dave Rolsky) + - added tests for this + + * Moose::Meta::Method::Constructor + - when a single argument that wasn't a hashref was provided to + an immutabilized constructor, the error message was very + unhelpful, as opposed to the non-immutable error. Reported by + dew. (Dave Rolsky) + - added test for this (Dave Rolsky) + + * Moose::Meta::Attribute + - added support for meta_attr->does("ShortAlias") (sartak) + - added tests for this (sartak) + - moved the bulk of the `handles` handling to the new + install_delegation method (Stevan) + + * Moose::Object + - Added BUILDARGS, a new step in new() + + * Moose::Meta::Role::Application::RoleSummation + - fix typos no one ever sees (sartak) + + * Moose::Util::TypeConstraints + * Moose::Meta::TypeConstraint + * Moose::Meta::TypeCoercion + - Attempt to work around the ??{ } vs. threads issue + (not yet fixed) + - Some null_constraint optimizations + +0.50 Thurs. Jun 11, 2008 + - Fixed a version number issue by bumping all modules + to 0.50. + +0.49 Thurs. Jun 11, 2008 + !! This version now approx. 20-25% !! + !! faster with new Class::MOP 0.59 !! + + * Moose::Meta::Attribute + - fixed how the is => (ro|rw) works with + custom defined reader, writer and accessor + options. + - added docs for this (TODO). + - added tests for this (Thanks to Penfold) + - added the custom attribute alias for regular + Moose attributes which is "Moose" + - fix builder and default both being used + (groditi) + + * Moose + Moose::Meta::Class + Moose::Meta::Attribute + Moose::Meta::Role + Moose::Meta::Role::Composite + Moose::Util::TypeConstraints + - switched usage of reftype to ref because + it is much faster + + * Moose::Meta::Role + - changing add_package_symbol to use the new + HASH ref form + + * Moose::Object + - fixed how DEMOLISHALL is called so that it + can be overrided in subclasses (thanks to Sartak) + - added test for this (thanks to Sartak) + + * Moose::Util::TypeConstraints + - move the ClassName type check code to + Class::MOP::is_class_loaded (thanks to Sartak) + + * Moose::Cookbook::Recipe11 + - add tests for this (thanks to tokuhirom) + +0.48 Thurs. May 29, 2008 + (early morning release engineering)-- + + - fixing the version in Moose::Meta::Method::Destructor + which was causing the indexer to choke + +0.47 Thurs. May 29, 2008 + (late night release engineering)-- + + - fixing the version is META.yml, no functional + changes in this release + +0.46 Wed. May 28, 2008 + !! This version now approx. 20-25% !! + !! faster with new Class::MOP 0.57 !! + + * Moose::Meta::Class + - some optimizations of the &initialize method + since it is called so often by &meta + + * Moose::Meta::Class + Moose::Meta::Role + - now use the get_all_package_symbols from the + updated Class::MOP, test suite is now 10 seconds + faster + + * Moose::Meta::Method::Destructor + - is_needed can now also be called as a class + method for immutablization to check if the + destructor object even needs to be created + at all + + * Moose::Meta::Method::Destructor + Moose::Meta::Method::Constructor + - added more descriptive error message to help + keep people from wasting time tracking an error + that is easily fixed by upgrading. + +0.45 Saturday, May 24, 2008 + * Moose + - Because of work in Class::MOP 0.56, all + XS based functionality is now optional + and a Pure Perl version is supplied + - the CLASS_MOP_NO_XS environment variable + can now be used to force non-XS versions + to always be used + - several of the packages have been tweaked + to take care of this, mostly we added + support for the package_name and name + variables in all the Method metaclasses + - before/around/after method modifiers now + support regexp matching of names + (thanks to Takatoshi Kitano) + - tests added for this + - NOTE: this only works for classes, it + is currently not supported in roles, + but, ... patches welcome + - All usage of Carp::confess have been replaced + by Carp::croak in the "keyword" functions since + the stack trace is usually not helpful + + * Moose::Role + - All usage of Carp::confess have been replaced + by Carp::croak in the "keyword" functions since + the stack trace is usually not helpful + - The 'has' keyword for roles now accepts the + same array ref form that Moose.pm does + (has [qw/foo bar/] => (is => 'rw', ...)) + - added test for this + + * Moose::Meta::Attribute + - trigger on a ro-attribute is no longer an + error, as it's useful to trigger off of the + constructor + + * Moose::Meta::Class + - added same 'add_package_symbol' fix as in + Class::MOP 0.56 + + * Moose::Util + - does_role now handles non-Moose classes + more gracefully + - added tests for this + - added the 'add_method_modifier' function + (thanks to Takatoshi Kitano) + + * Moose::Util::TypeConstraints + - subtypes of parameterizable types now are + themselves parameterizable types + + * Moose::Meta::Method::Constructor + - fixed bug where trigger was not being + called by the inlined immutable + constructors + - added test for this (thanks to Caelum) + + * Moose::Meta::Role::Application::ToInstance + - now uses the metaclass of the instance + (if possible) to create the anon-class + (thanks Jonathan Rockway) + + * Moose::Cookbook::Recipe22 + - added the meta-attribute trait recipe + (thanks to Sartak) + + * t/ + - fixed hash-ordering test bug that was + causing occasional cpantester failures + - renamed the t/000_recipe/*.t tests to be + more descriptive (thanks to Sartak) + +0.44 Sat. May 10, 2008 + * Moose + - made make_immutable warning cluck to + show where the error is (thanks mst) + + * Moose::Object + - BUILDALL and DEMOLISHALL now call + ->body when looping through the + methods, to avoid the overloaded + method call. + - fixed issue where DEMOLISHALL was + eating the $@ values, and so not + working correctly, it still kind of + eats them, but so does vanilla perl + - added tests for this + + * Moose::Cookbook::Recipe7 + - added new recipe for immutable + functionality (thanks Dave Rolsky) + + * Moose::Cookbook::Recipe9 + - added new recipe for builder and + lazy_build (thanks Dave Rolsky) + + * Moose::Cookbook::Recipe11 + - added new recipe for method aliasing + and exclusion with Roles (thanks Dave Rolsky) + + * t/ + - fixed Win32 test failure (thanks spicyjack) + + ~ removed Build.PL and Module::Build compat + since Module::Install has done that. + +0.43 Wed. April, 30, 2008 + * NOTE TO SELF: + drink more coffee before + doing release engineering + + - whoops, forgot to do the smolder tests, + and we broke some of the custom meta-attr + modules. This fixes that. + +0.42 Mon. April 28, 2008 + - some bad tests slipped by, nothing else + changed in this release (cpantesters++) + + - upped the Class::MOP dependency to 0.55 + since we have tests which need the C3 + support + +0.41 Mon. April 28, 2008 ~~ numerous documentation updates ~~ - Changed all usage of die to Carp::croak for better @@ -12,6 +498,18 @@ Revision history for Perl extension Moose as well. There will be 2 releases, and then it will be removed. + * Moose + Moose::Role + Moose::Meta::Class + - refactored the way inner and super work to avoid + any method/@ISA cache penalty (nothingmuch) + + * Moose::Meta::Class + - fixing &new_object to make sure trigger gets the + coerced value (spotted by Charles Alderman on the + mailing list) + - added test for this + * Moose::Meta::Method::Constructor - immutable classes which had non-lazy attributes were calling the default generating sub twice in the constructor. (bug @@ -22,6 +520,11 @@ Revision history for Perl extension Moose * Moose::Meta::Method::Destructor - fix typo in initialize_body method (nothingmuch) + * Moose::Meta::Method::Overriden + Moose::Meta::Method::Augmented + - moved the logic for these into their own + classes (nothingmuch) + * Moose::Meta::Attribute - inherited attributes may now be extended without restriction on the type ('isa', 'does') (Sartak) @@ -29,6 +532,14 @@ Revision history for Perl extension Moose - when an attribute property is malformed (such as lazy without a default), give the name of the attribute in the error message (Sartak) + - added the &applied_traits and &has_applied_traits methods + to allow introspection of traits + - added tests for this + - moved 'trait' and 'metaclass' argument handling to here from + Moose::Meta::Class + - clone_and_inherit_options now handles 'trait' and 'metaclass' (has + '+foo' syntax) (nothingmuch) + - added tests for this (t0m) * Moose::Object - localize $@ inside DEMOLISHALL to avoid it @@ -37,26 +548,43 @@ Revision history for Perl extension Moose * Moose::Util::TypeConstraints - &find_type_constraint now DWIMs when given an - type constraint object (nothingmuch) + type constraint object or name (nothingmuch) + - &find_or_create_type_constraint superseded with a number of more + specific functions: + - find_or_create_{isa,does}_type_constraint + - find_or_parse_type_constraint + + * Moose::Meta::TypeConstraint + Moose::Meta::TypeConstraint::Class + Moose::Meta::TypeConstraint::Role + Moose::Meta::TypeConstraint::Enum + Moose::Meta::TypeConstraint::Union + Moose::Meta::TypeConstraint::Parameterized + - added the &equals method for comparing two type + constraints (nothingmuch) + - added tests for this (nothingmuch) * Moose::Meta::TypeConstraint - - added the &equals method for comparing two type - constraints (nothingmuch) - - added tests for this (nothingmuch) - add the &parents method, which is just an alias to &parent. - Useful for polymorphism with TC::Class (nothingmuch) + Useful for polymorphism with TC::{Class,Role,Union} (nothingmuch) * Moose::Meta::TypeConstraint::Class - - added the &equals method for comparing two type - constraints (nothingmuch) - added the class attribute for introspection purposes (nothingmuch) - added tests for this + + * Moose::Meta::TypeConstraint::Enum + Moose::Meta::TypeConstraint::Role + - broke these out into their own classes (nothingmuch) * Moose::Cookbook::Recipe* - fixed references to test file locations in the POD and updated up some text for new Moose features - (Sartak) + (Sartak) + + * Moose::Util + - Added &resolve_metaclass_alias, a helper function for finding an actual + class for a short name (e.g. in the traits list) 0.40 Fri. March 14, 2008 - I hate Pod::Coverage