Changes for version 1.9900
- OTHER
- The entire Class::MOP distribution has been merged with Moose. In the future, the Class::MOP code itself will be merged into Moose, and eventually the Class::MOP namespace will disappear entirely. For the current release, we have simply changed how Class::MOP is distributed. (Dave Rolsky).
- Switched to Dist::Zilla for development. However, we still have a minimal Makefile.PL in the repository that can be used for development. (Dave Rolsky)
 
- API CHANGES
- Roles now have their own default attribute metaclass to use during application to a class, rather than just using the class's attribute_metaclass. This is also overridable via ::MetaRole, with the applied_attribute key in the role_metaroles hashref (doy).
- The internal code used to generate inlined methods (accessor, constructor, etc.) has been massively rewritten. MooseX modules that do inlining will almost certainly need to be updated as well.
 
- ENHANCEMENTS
- We now load the roles needed for native delegations only as needed. This speeds up the compilation time for Moose itself. (doy)
 
Documentation
How to cook a Moose    
  
The (always classic) Point example.    
  
Using BUILDARGS and BUILD to hook into object construction    
  
Extending a non-Moose base class    
  
A simple BankAccount example    
  
A lazy BinaryTree example    
  
Subtypes, and modeling a simple Company class hierarchy    
  
More subtypes, coercion in a Request class    
  
The augment/inner example    
  
Making Moose fast with immutable    
  
Builder methods and lazy_build    
  
Operator overloading, subtypes, and coercion    
  
Moose extension overview    
  
Providing a role for the base object class    
  
Providing an alternate base object class    
  
Acting like Moose.pm and providing sugar Moose-style    
  
Welcome to the meta world (Why Go Meta?)    
  
A meta-attribute, attributes with labels    
  
Labels implemented via attribute traits    
  
Adding a "table" attribute to the metaclass    
  
The "table" attribute as a metaclass trait    
  
A method metaclass for marking methods public or private    
  
Creating a glob reference meta-instance class    
  
The Moose::Role example    
  
Advanced Role Composition - method exclusion and aliasing    
  
Applying a role to an object instance    
  
Restricted "keywords" in Moose    
  
Snippets of code for using Types and Type Constraints    
  
Expanded into Moose::Manual::BestPractices, so go read that    
  
Expanded into Moose::Manual, so go read that    
  
What is Moose, and how do I use it?    
  
Object attributes with Moose    
  
Get the most out of Moose    
  
Making your classes use Moose (and subclassing)    
  
Moose OO concepts    
  
Object construction (and destruction) with Moose    
  
How to get involved in Moose    
  
Attribute delegation    
  
Important Changes in Moose    
  
Frequently asked questions about Moose    
  
The Moose (and Class::MOP) meta API    
  
Moose's method modifiers    
  
Recommended Moose extensions    
  
Roles, an alternative to deep hierarchies and base classes    
  
Policies regarding support, releases, and compatibility.    
  
Moose's type system    
  
Moose idioms in plain old Perl 5 without the sugar    
  
Formal spec for Role behavior    
  
Moved to Moose::Manual::Unsweetened, so go read that    
  Modules
A Meta Object Protocol for Perl 5    
  
Attribute Meta Object    
  
Class Meta Object    
  
Implements immutability for metaclass objects    
  
Manages deprecation warnings for Class::MOP    
  
Instance Meta Object    
  
Method Meta Object    
  
Method Meta Object for accessors    
  
Method Meta Object for constructors    
  
Abstract base class for generated methods    
  
Method base class for methods which have been inlined    
  
Method Meta Object for meta methods    
  
Method Meta Object for methods with before/after/around modifiers    
  
Extremely limited trait application    
  
Base class for mixin classes    
  
Core attributes shared by attribute metaclasses    
  
Methods for metaclasses which have attributes    
  
Methods for metaclasses which have methods    
  
Module Meta Object    
  
Base class for metaclasses    
  
Package Meta Object    
  
A postmodern object system for Perl 5    
  
Manages deprecation warnings for Moose    
  
Prefer confess    
  
Prefer croak    
  
Carp based error generation for Moose.    
  
make an import() and unimport() just like Moose.pm    
  
The Moose attribute metaclass    
  
Delegate to native Perl types    
  
Shared role for native delegation traits    
  
Helper trait for array delegation    
  
Helper trait for counters    
  
Helper trait for HashRef attributes    
  
Helper trait for Str attributes    
  
The Moose metaclass    
  
Implements immutability for metaclass objects    
  
The Moose Instance metaclass    
  
A Moose Method metaclass    
  
A Moose Method metaclass for accessors    
  
A Moose Method metaclass for augmented methods    
  
Method Meta Object for constructors    
  
A Moose Method metaclass for delegation methods    
  
Method Meta Object for destructors    
  
A Moose Method metaclass for meta methods    
  
A Moose Method metaclass for overridden methods    
  
Core attributes shared by attribute metaclasses    
  
Some overrides for Class::MOP::Object functionality    
  
The Moose Role metaclass    
  
A base class for role application    
  
Combine two or more roles    
  
Compose a role into a class    
  
Compose a role into an instance    
  
Compose a role into another role    
  
An object to represent the set of roles    
  
A Moose Method metaclass for Roles    
  
A Moose metaclass for conflicting methods in Roles    
  
A Moose metaclass for required methods in Roles    
  
The Moose Type Coercion metaclass    
  
The Moose Type Coercion metaclass for Unions    
  
The Moose Type Constraint metaclass    
  
Class/TypeConstraint parallel hierarchy    
  
Type constraint for duck typing    
  
Type constraint for enumerated values.    
  
Type constraints which can take a parameter (ArrayRef)    
  
Type constraints with a bound parameter (ArrayRef[Int])    
  
registry for type constraints    
  
Role/TypeConstraint parallel hierarchy    
  
A union of Moose type constraints    
  
The base object for Moose    
  
The Moose Role    
  
Utilities for working with Moose classes    
  
Apply roles to any metaclass, as well as the object base class    
  
Type constraint system for Moose    
  
Optimized constraint bodies for various moose types    
  
Test functions for Moose specific features    
  
a pragma for installing and using Class::MOP metaclasses    
  
syntactic sugar to make Moose one-liners easier    
  Provides
      in benchmarks/cmop/lib/Bench/Accessor.pm
    
  
      in benchmarks/cmop/lib/Bench/Construct.pm
    
  
      in benchmarks/cmop/lib/Bench/Run.pm
    
  
      in benchmarks/cmop/lib/MOP/Immutable/Point.pm
    
  
      in benchmarks/cmop/lib/MOP/Immutable/Point3D.pm
    
  
      in benchmarks/cmop/lib/MOP/Installed/Point.pm
    
  
      in benchmarks/cmop/lib/MOP/Installed/Point3D.pm
    
  
      in benchmarks/cmop/lib/MOP/Point.pm
    
  
      in benchmarks/cmop/lib/MOP/Point3D.pm
    
  
      in lib/Moose/Meta/Attribute.pm
    
  
      in lib/Moose/Meta/Attribute/Native/Trait/Bool.pm
    
  
      in lib/Moose/Meta/Attribute/Native/Trait/Code.pm
    
  
      in lib/Moose/Meta/Attribute/Native/Trait/Number.pm
    
  
      in lib/Moose/Meta/Role/Attribute.pm
    
  
      in benchmarks/cmop/lib/Plain/Point.pm
    
  
      in benchmarks/cmop/lib/Plain/Point3D.pm