Revision history for Perl extension UNIVERSAL::Object
0.17 2023-07-05
- Immutable classes are now unlocked within DEMOLISH
0.16 2018-22-09
- fix some errors in 5.10 and 5.8 that were annoying me
0.15 2018-16-09
- improve some error messages
- Immutable objects now correctly work with overloaded
objects by accessing the overload::StrVal instead of
the overloaded string
- If your REPR type is a HASH then we will lock the set
of keys to be those of your set of SLOTS. This should
not break anything if you were not already violating
encapsulation somehow ;)
0.14 2018-01-25
- adding in Travis CI integration
- thanks to JJ Merelo for this
- slots are now sorted by name before we attempt to
populate the instance, this should make some errors
more predictable
- thanks to Tony Inkster for this
- Avoid the stringy eval stuff around mro/MRO::Compat
- thanks to Graham Knopp for this
0.13 2017-10-30
- switched back to Carp::confess from Carp::cluck, the
stack trace is vital until this module matures and
the error messages improve
0.12 2017-10-18
- UNIVERSAL::Object::Immutable now allows for
alteration of the instance during `BUILD` by
delaying locking of the instance until the
very last moment before `new` returns
- updated docs for this
- UNIVERSAL::Object::Immutable now supports
CODE ref based instances
- updated docs and tests for this
- added test to demonstrate that `%HAS` is not a
requirement and (ab)using SLOTS method works
too
0.11 2017-06-19
- fix a test that is causing CPANTS to fail, sorry
0.10 2017-05-12
- Improve the content of the errors produced by
this module so that it is clearer where the
errors are coming from without having to view
the stack trace. If that is needed there is
the Carp::Always module.
- tweaked the tests to match the new errors
0.09 2017-05-08
- add support to UNIVERSAL::Object::Immutable
to handle additional REPR types
- handles SCALAR, REF, ARRAY and HASH
- added tests for this
0.08 2017-04-07
- fixing spelling mistakes and bad POD formatting
0.07 2017-04-06
- tightened up the perl version requirements in the
modules as well as the config
- adding UNIVERSAL::Object::Immutable for creating
immutable instances
- added tests and docs for this
- NOTE: this class requires v5.8 or greater
0.06 2017-02-08
- cleaning up some test failures and some sloppy
test writing on my part
- *sigh*
0.05 2017-02-07
- the REPR method now takes the $proto which results
from BUILDARGS in case it needs to consult it in
the creation of the representation
- switch to using Carp::croak instead of die
it is, and always has been, in core.
- added some tests to show how to inherit from
classes which do not use UNIVERSAL::Object
- added new tests for non-HASH ref based instance
0.04 2016-12-29
- only require MRO::Compat for perls before 5.10
- thanks to Dan Book for the dist.ini fix
0.03 2016-12-27
- added a `REPR` method which returns the structure
to be used as an instance
- added docs and tests
- added a `BLESS` method which handles blessing and
calling the `CREATE` method to construct the
instance
- added docs and tests
0.02 2016-12-19
- fixing an issue in a test, looks like if you call
a package namespace `SUPER` it causes issues.
0.01 2016-12-18
- Initial release to an unsuspecting world