Object-Pad

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.62    2022-03-01
        [CHANGES]
         * Add "common" methods:
            + Implement `:common` attribute for methods
            + Take 'common' argument to `$metaclass->add_method`
            + Added `$metamethod->is_common` accessor
         * Don't require a terminating semicolon after `has $field { EXPR }`

        [BUGFIXES]
         * Better handling of role method embeddings that include lexical
           captures (RT141483)

0.61    2022-02-16
        [CHANGES]
         * Added Object::Pad::MOP::Class->create_{class,role}
         * Added $metaclass->seal (RT141294)
         * Added $metaclass->add_required_method and ->required_method_names
           (RT141314)
         * Accept bodyless `method NAME;` declarations to declare a required
           role method

        [BUGFIXES]
         * Assert when compclassmeta->name doesn't match PL_curstname (RT141293)

0.60    2022-02-01
        [CHANGES]
         * The Great Slot/Field Rename:
            + "slot" is now called "field"; all perl-visible and XS API has
              been renamed. Various back-compatibility redirections exist for
              most of the parts used by other distributions.
         * Print a deprecation warning on the legacy 'implements' and
           'extends' keywords
         * No longer supports the hooks API from pre-v57
         * Perform unit testing using Data::Dumper instead of Data::Dump to
           reduce non-core test_requires dependencies

0.59    2021-12-15
        [CHANGES]
         * Support lexical methods, stored in lexical variables

        [BUGFIXES]
         * Check :strict(params) even without any :param slots or ADJUSTPARAM
           blocks (RT140314)
         * Docs updates to improve searchability (RT140141)
         * Don't fiddle with PL_curcop on non-DEBUGGING builds to avoid
           disturbing caller() output (RT139408)

0.58    2021-11-25
        [CHANGES]
         * Trim whitespace within :attribute values (RT140109)

        [BUGFIXES]
         * Early seal on outer class when deriving an inner subclass of it
         * Store the real slotix in fasthook cache, not its index within the
           direct_slots AV

0.57    2021-11-18
        [CHANGES]
         * Defined new ABI version for class/slot hooks
            + Adds `funcdata` at registration and callback time
            + Adds MOP accessor functions for slotmeta default SV
         * Added :isa() and :does() class attributes; encourage those rather
           than the older keyword style
         * Added more MOP methods:
            + $classmeta->direct_methods, ->get_direct_method
            + $classmeta->all_methods, ->get_method
            + $slotmeta->has_attribute, ->get_attribute_value
         * Added Object::Pad::MOP::SlotAttr, allowing pure-perl slot
           attributes that provide simple metadata storage

0.56    2021-10-22
        [CHANGES]
         * Support roles inheriting from (possibly-multiple) other roles
           (RT139772)
         * Recognise `accessor` argument to $classmeta->add_slot
         * Add some more MOP methods:
            + $classmeta->direct_roles
            + $classmeta->all_roles
            + $slotmeta->sigil

        [BUGFIXES]
         * Fix an uninitialised memory warning from valgrind to do with class
           creation
         * Quiet the compiler warnings about hv_fetch's key argument maybe
           being NULL

        Development time for this release was sponsored by Perl-Verein Schweiz

0.55    2021-10-11
        [CHANGES]
         * Support :reader and :writer on array and hash slots (RT139647)

        [BUGFIXES]
         * Complain on attempt to invoke constructor of a class that is not
           yet complete (RT139664)
         * Ensure that psotslots and construct slothooks still run for
           superclasses and applied roles (RT139665)

        Development time for this release was sponsored by Deriv

0.54    2021-10-07
        [CHANGES]
         * Support slot initialiser blocks; don't invoke blocks for values
           passed by :param
         * Support slot default values on non-scalars

        Development time for this release was sponsored by Deriv

0.53    2021-09-29
        [CHANGES]
         * Support null-or-unary reader/writer accessors, called simply
           `:accessor`

        [BUGFIXES]
         * Avoid some C99'isms which upset Windows compilers
         * Remember to register pp_weaken() as a custom op
         * Account for the newer OP_ARGCHECK aux structure of perl 5.31.5
         * Set correct XPK_LEXVARNAME() type (related to RT139444)

0.52    2021-08-25



( run in 1.056 second using v1.01-cache-2.11-cpan-39a47a84364 )