Object-Pad
view release on metacpan or search on metacpan
`: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
[BUGFIXES]
* Remember to actually enable `use warnings` (RT139027)
* Permit slotmeta value lookup on roles applied to instances
(RT138927)
* Ensure `ADJUSTPARAMS` on superclass still works on subclasses that
don't add an `ADJUSTPARAMS` themselves
Development time for this release was sponsored by Perl-Verein Schweiz
0.51 2021-08-10
[CHANGES]
* Added `ADJUSTPARAMS` blocks
* Allow `apply` hook functions to modify the hookdata value that gets
stored by the hook
* Store method name data in accessor generator hooks, so other
modules can reliably find it
* Clarify in SYNOPSIS that the example requires perl 5.26 because of
signatures; also provide another copy that doesn't (RT138578)
[BUGFIXES]
* Don't segfault on colliding :param names (RT138633)
* Don't ship the authoring test xt/99exported-symbols.t (RT138634)
Development time for this release was sponsored by Perl-Verein Schweiz
0.50 2021-08-08
[CHANGES]
* Provide Object::Pad::ExtensionBuilder to assist 3rd party extension
module building
* Generally tidy up the exposed `object_pad.h` file to remove some
definitions we don't want to make public
* Add ABI version constants and fields in exposed hook function
structures for (hopefully) better forward compatibility
* Add the concept of class hooks, analogous to slot hooks
Development time for this release was sponsored by Deriv
0.49 2021-08-06
[CHANGES]
* Provide $XSAPI_VERSION to allow non-API-breaking changes to be made
without disturbing compiled 3rd party modules
* Better searching for Pad.so in t/99exported-symbols.t
(thanks ppisar@redhat.com) (RT138320)
* Gain a (small) runtime performance boost by remembering to set
PERL_NO_GET_CONTEXT
[BUGFIXES]
* Ignore some internal linker symbols in t/99exported-symbols.t
(RT138315)
* Remember to bump the version requirement of XS::Parse::Keyword in
the XS source (RT138318)
* Make slots visible to string-eval(), PadWalker, perl -d, etc..
(RT138399)
Development time for this release was partly sponsored by
Perl-Verein Schweiz
0.48 2021-08-02
[CHANGES]
* Added features to slothooks:
+ New hooks `.seal_slot` and `.post_construct`
+ `.post_initslot` now runs earlier before `:param`
+ Added a MOP function to query slot attributes
+ Set a minimal pad during construction-time slot hooks
* Ensure that `:param` logic in constructor invokes setmagic
[BUGFIXES]
* Fixed many classes of UTF-8 bug on class/slot/method names
(RT138073)
* Fixed segfault caused by runtime generation of roles (RT137952)
Development time for this release was sponsored by Deriv and
Perl-Verein Schweiz
0.47 2021-07-29
[CHANGES]
* Large internal rewrites
+ Split code among several smaller files instead of one giant
lib/Object/Pad.xs
+ Rewrite the way that slot attributes work; allow an
externally-visible plugin-type system of hooks
* Removed `->param_name` and `->has_param` MOP::Slot accessors
Development time for this release was sponsored by Perl-Verein Schweiz
0.46 2021-07-21
[CHANGES]
* Accept reader, writer, mutator and weak as `->add_slot` parameters
* Document the `O:P:MOP::Class->begin_class` method
* Add `O:P:MOP::Class->begin_role`
* Enable `-DDEBUGGING` if building via debugperl
Development time for this release was sponsored by Deriv
0.45 2021-07-17
[BUGFIXES]
* Don't give role embedding information a pad name or
Future::AsyncAwait will break it (RT137649)
* Make sure that `parammeta->is_weak` is initialised even for params
applied via roles (RT137751)
0.44 2021-07-15
[CHANGES]
* Added `:weak` slot attribute
* Adjusted some documentation headings for better generation of HTML
anchors on metacpan.org
Development time for this release was sponsored by Oetiker+Partner AG
0.43 2021-07-03
[CHANGES]
* Initial implementation of `ADJUST` blocks, without params
( run in 0.654 second using v1.01-cache-2.11-cpan-e1769b4cff6 )