Changes for version 0.30

  • This is the first version of Class::MOP to introduce the immutable features which will be used for optimizating the MOP. This support should still be considered experimental, but moving towards stability.
  • Created Class::MOP::Class::Immutable
  • Created the Class::MOP::Package and Class::MOP::Module classes to more closely conform to Perl 6's meta-model
  • Class::MOP::Class
    • now inherits from Class::MOP::Module
    • several methods moved to ::Module and ::Package and now inherited
      • added tests for this
  • Class::MOP::Instance
    • added an is_inlinable method to allow other classes to check before they attempt to optimize.
    • added an inline_create_instance to inline instance creation (of course)
  • API CHANGE **
    • the Class::MOP::Class::*_package_variable methods are all now methods of Class::MOP::Package and called *_package_symbol instead. This is because they are now more general purpose symbol table manipulation methods.

Changes for version 0.29_02

  • DEVELOPER RELEASE ++
  • Class::MOP::Class
    • small change in &create so that it behaves properly when inherited
    • small fix to &clone_instance

Changes for version 0.29_01

  • DEVELOPER RELEASE ++
    • This release works in combination with Moose 0.09_01, it is a developer release because it introduces a new instance sub-protocol and has not yet been optimized.
  • Class::MOP::Class
    • anon-classes are now properly garbage collected
      • added tests for this
    • improved method modifier wrapping
  • Class::MOP::Instance
    • added new instance protocol
      • added tests for this
    • changed all relevant modules and examples
      • Class::MOP::Class
      • Class::MOP::Attribute
      • examples/*
  • metaclass
    • you no longer need to specify the metaclass itself, if it is not there, Class::MOP::Class is just assumed
      • updated tests for this
  • examples/
    • added ArrayBasedStorage example to show instance storage using ARRAY refs instead of HASH refs.
      • added tests for this
    • InsideOutClass is totally revised using the new instance protocol
      • added more tests for this

Modules

A Meta Object Protocol for Perl 5
Attribute Meta Object
Class Meta Object
An immutable version of Class::MOP::Class
Instance Meta Object
Method Meta Object
Module Meta Object
Package Meta Object
a pragma for installing and using Class::MOP metaclasses

Provides

in lib/Class/MOP/Attribute.pm
in lib/Class/MOP/Method.pm