Changes for version 0.03 - 2026-11-05
- Incompatible Changes
- $config{harness_bypass} now defaults to 0: enforcement is no longer switched off when HARNESS_ACTIVE is set, so test suites catch accidental instantiation of abstract classes. Set it back to 1, or use local $Class::Abstract::BYPASS = 1, to restore the old behaviour.
- Bug Fixes
- Bump minimum Test::Mockingbird, fixes RT#178677
- is_abstract(), new() and check_abstract() no longer create the package they are asked about in the symbol table
- Class::Abstract->is_abstract($obj) now checks the object's class (it used to check the stringified reference and always return 0)
- is_abstract() croaks on an unblessed reference, as new() does
- Objects blessed into package '0' are accepted as invocants
- undef elements in @ISA no longer cause warnings
- Enhancements
- check_abstract()'s unblessed-reference message names the reftype
- POD rewritten: per-routine examples, API specifications, messages and Z specifications; LIMITATIONS section
- Tests
- New t/locales.t; regression tests for all of the above
Documentation
Modules
Stop code from making objects of a class that is only a template