Class-XSConstructor
===================
Created: 2018-06-19
Home page: <https://metacpan.org/release/Class-XSConstructor>
Bug tracker: <https://github.com/tobyink/p5-class-xsconstructor/issues>
Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org>
0.022001 2026-01-16
[ Bug Fixes ]
- Fix an issue calling parent constructors where the parent class has a
BUILDARGS method. (We need to ignore the parent BUILDARGS.)
0.022000 2026-01-15
[ Bug Fixes ]
- Suppress a few potential 'used only once' warnings.
[ Other ]
- Added: Document clearing internal data, when it might be useful, etc.
- Added: Somewhat supported way to clear internal caches for the
destructor too.
0.021000 2026-01-13
- Added: Class::XSDestructor now also installs a DEMOLISHALL method.
0.020000 2026-01-12
- Added: Class::XSReader exposing an XS function which has existed
internally since 0.016000.
- Added: Some internal refactoring, especially of how built-in defaults
are handled.
0.019000 2026-01-11
[ Documentation ]
- Small documentation improvements.
[ Packaging ]
- Change the distribution abstract.
[ Other ]
- Added: New undef_tolerant option.
0.018002 2026-01-11
[ Documentation ]
- Use the right name for the Class::XSConstructor module in pod examples!
0.018001 2026-01-11
[ Bug Fixes ]
- Fix bug trying to use '0' as an arrayref.
0.018000 2026-01-11
[ Bug Fixes ]
- Class::XSConstructor::get_metadata() should return undef for classes we
didn't build.
[ Documentation ]
- Somewhat document Class::XSConstructor::get_metadata().
[ Other ]
- Somewhat supported way to clear internal caches.
0.017000 2026-01-10
[ Bug Fixes ]
- Hopefully fix errors on debugging builds of Perl.
[ Other ]
- Added: BUILDARGS/FOREIGNBUILDARGS/BUILDALL to play nice with other
modules.
- Added: slot_initializer.
0.016002 2026-01-08
- Faster strict constructor checks.
0.016001 2026-01-07
[ Bug Fixes ]
- Avoid av_count as older Perl doesn't support it.
0.016000 2026-01-07
[ Documentation ]
- Update benchmarks as we are now significantly faster than Mouse::XS.
- Update copyright dates.
[ Other ]
- Added: Class::XSDelegation.
- Added: Support for alias.
- Added: Undocumented function Class::XSConstructor::install_reader().
- Rearrange where most of the constructor metadata is stored to simplify
things.
- The first time a constructor or destructor is called, the metadata for
the method will be copied from Perl space into a C struct making it much
faster to access from XS as there is no longer a need to look things up
in stashes, worry about magic, etc.
0.015003 2025-12-23
- Small optmizations.
0.015002 2025-12-20
[ Bug Fixes ]
- Fix interplay between init_args and strict constructors.
0.015001 2025-12-19
[ Documentation ]
- Document some newer features.
0.015000 2025-12-19
- Added: Support `init_arg`.
- Added: Support `trigger`.
- Added: Support `weak_ref`.
- More use of constants instead of weird hard-coded numbers everywhere.
- Some minor cleanups of the code.
0.014001 2025-12-19
[ Bug Fixes ]
- Consistently use uppercase for TRUE/FALSE as it seems lowercase versions
of these constants are not defined on all platforms.
[ Packaging ]
- Update distribution metadata to point to correct bug tracker.
0.014000 2025-12-18
[ Bug Fixes ]
- Support threaded Perls.
[ Packaging ]
- Switch to 6 decimal place version numbers.
[ Other ]
- Added: Class::XSDestructor.
- No longer use Ref::Util: use Types::Standard if it's installed or Perl's
ref() builtin otherwise.
0.013 2025-12-16
[ Bug Fixes ]
- Fix calling of BUILD methods which was broken on
non-Class::XSConstructor classes that inherited from
Class::XSConstructor classes.
[ Documentation ]
- Remove further documentation of internals.
[ Other ]
- Certain common Types::Common types are now internally recognized and a
fast C function is called to validate them instead of needing to call a
coderef.
0.012 2025-12-15
[ Bug Fixes ]
- Fix for import method.
0.011 2025-12-15
[ Bug Fixes ]
- Allow non-Class::XSConstructor classes to inherit constructors from
Class::XSConstructor classes without segfaulting.
[ Documentation ]
- Remove a lot of the documentation for internals. Some was out of date.
You don't need to know about them anyway.
[ Other ]
- Added: Support builders.
- Added: Support defaults.
- Added: Support type coercions.
0.010 2025-12-08
- Added: Allow MooseX::StrictConstructor-style constructors to be built;
which reject unknown parameters.
- Minor improvements to API.
0.009 2019-01-07
[ Test Suite ]
- Add tests for Type::Nano support.
0.008 2018-06-21
[ Packaging ]
- Don't use old versions of Devel::PPPort.
- Perl 5.8.1 support didn't work; change required version of Perl to
5.8.8.
0.007 2018-06-20
[ Packaging ]
- Allow installation on Perl 5.8.1.
- Devel::PPPort should be a configure recommendation, not a build
requirement.
[ Other ]
- Added: $Class::XSConstructor::REDEFINE to allow an existing `new` to be
redefined without a warning.
0.006 2018-06-20
[ Bug Fixes ]
- Fix a bunch of XS compilation warnings.
- Fix buggy implementation of type constraints.
- XS stuff now works in threaded perls.
[ Documentation ]
- Document support for coderef type constraints.
0.005 2018-06-20
[ Bug Fixes ]
- Fix support for Perl 5.8.
0.004 2018-06-20
[ Bug Fixes ]
- Fix more broken assertions in XS code.
0.003 2018-06-20
[ Packaging ]
- Add dep on MRO::Compat for Perl 5.8.
0.002 2018-06-20
[ Bug Fixes ]
- Fix some broken assertions in XS code.
[ Documentation ]
- Add SEE ALSO section.
0.001 2018-06-20 Initial release