The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
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