The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.64_06

  • Class::MOP (MOP.xs)
    • Another MS VC++ fix, cannot declare a variable in the middle of a scope (Taro Nishino).

Changes for version 0.64_05

  • Class::MOP
    • None of the dev releases actually loaded the XS properly, but we silently fell back to the pure Perl version of the code. (Dave Rolsky)
  • Class::MOP (MOP.xs)
    • Replaced some code that used functions not available on Visual C++ with some Perl XS API bits (Dave Rolsky).

Changes for version 0.64_04

  • Class::MOP::Class
    • Workaround a bug in 5.8.1's goto sub (nothingmuch)
  • pod.t and pod_coveraget.t
    • These are no longer shipped with the tarball because of bogus failures from CPAN testers. (Dave Rolsky)

Changes for version 0.64_03

  • Class::MOP::Package
    • Some (legit) code was misparsed by earlier 5.8.x releases. (nothingmuch)
  • Class::MOP
    • Fix a constant in void context warning (nothingmuch)

Changes for version 0.64_02

  • Makefile.PL and Class::MOP
    • Explicitly require Perl 5.8.0+ (Dave Rolsky)
  • Makefile.PL
    • Add missing prereqs that got lost in the switch away from Module::Install.
  • Class::MOP::Instance
    • New method - get_all_attributes (nothingmuch)

Changes for version 0.64_01

  • Makefile.PL
    • We now check to see if you have a compiler. If you don't, the module installs without some XS bits, but will work the same as with XS. This should make it easier to install on platforms without a compiler (like Windows). (Dave Rolsky)
  • many modules
    • Perl 6 style attribute naming replaced with sane style ('methods', not '%!methods'). These changes should not impact any existing API uses. (nothingmuch).
  • many modules
    • Quite a number of optimizations based on profiling, including allowing constructors to take hash references instead of hashes, duplicating some frequently used code in XS, and making constructors immutable. These changes should not impact any existing API uses. (nothingmuch)
  • Many modules
    • Constructors now respect the meta attributes of their subclasses, facilitating MOP extensibility. More related changes will happen in the next several releases. (nothingmuch)
  • Class::MOP::Class
    • New method - get_all_methods, replaces the deprecated compute_all_applicable_methods. get_all_attributes provided for consistency (nothingmuch)
    • New method - wrap_method was refactored out of get_method_map (nothingmuch)
    • New API for meta instance invalidation - invalidate_meta_instance, invalidate_meta_instances, add_dependent_meta_instance, remove_dependent_meta_instance, called automatically when attribute definitions change and allows notification of dependent subclasses. (nothingmuch)

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
Abstract base class for generated methods
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