The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.38

  • ~~ More documentation updates ~~
  • Class::MOP::Package
    • we now deal with stub methods properly
      • added tests for this
    • fixed some tests failing on 5.9.5 (thanks blblack)
  • Class::MOP::Attribute
    • added get_read_method and get_write_method thanks to groditi for this code, tests and docs.
      • added tests and POD for this
  • Class::MOP::Class
    • fixed RT issue #27329, clone object now handles undef values correctly.
      • added tests for this
    • Corrected anon-class handling so that they will not get reaped when instances still exist which need to reference them. This is the correct behavior, hopefully this is an obscure enough feature that there are not too many work arounds out in the wild.
      • added tests for this by groditi
      • updated docs to explain this
  • metaclass
    • load custom metaclasses automatically (thanks groditi)
      • added tests for this behavior

Changes for version 0.37_002

  • /t
    • bad name in a test, causing meaningless failuress. No other changes.

Changes for version 0.37_001

  • ~~ GLOBAL CHANGES ~~
  • All attribute names are now consistent and follow Perl 6 style (prefixed with the sigil, and ! as the twigil for private attrs). This should not affect any code, unless you broke encapsulation, in which case, it is your problem anyway.
  • !! Class::MOP::Class::Immutable has been removed
  • Class::MOP::Method::Constructor
    • this has been moved out of Class::MOP::Class::Immutable and is a proper subclass of Class::MOP::Method now.
  • Class::MOP::Class
    • this module now uses Class::MOP::Immutable for the immutable transformation instead of Class::MOP::Class::Immutable.
  • Class::MOP::Immutable
    • this module now controls the transformation from a mutable to an immutable version of the class. Docs for this will be coming eventually.

Modules

A Meta Object Protocol for Perl 5
Attribute Meta Object
Class Meta Object
A class to transform Class::MOP::Class metaclasses
Instance Meta Object
Method Meta Object
Method Meta Object for accessors
Method Meta Object for constructors
Method Meta Object to handle before/around/after modifiers
Module Meta Object
Object Meta Object
Package Meta Object
a pragma for installing and using Class::MOP metaclasses