Revision history for Perl extension MOP

0.14 2018-01-31
    - use `parent` where it is needed, no need
      not to, it is core
    - also fix the travis config

0.13 2018-01-25
    - added support for Travis CI
    - added in some new tests
        - thanks to Lisa Hare for these
    - added patches to support 5.27/bleadperl
        - thanks to FatherC for these

    - dropping the Sub::Name dependency in favor of Sub::Util
      which will be core eventually
        - thanks to Toby Inkster for this

0.12 2017-10-30
    - MOP::Util::get_meta now will check for the existance
      of a METACLASS method in the given $package and will
      use the result of that method call to construct a
      metaobject for that package
        - this is only in MOP::Util::get_meta, you should
          be able to override this/ignore this if needed

    - switched back to Carp::confess from Carp::cluck, the
      stack trace is vital until this module matures and
      the error messages improve

0.11 2017-10-22
    - fixing the missing Devel::Hook dependency

0.10 2017-10-20
    - There is now a public API of utility functions in
      the MOP::Util module.
        - see the docs for more info
    - added the MOP::Method::Attribute class to represent
      any attributes attached to a method.
        - see below for how this changes the `get_code_attributes`
          method within MOP::Method

    [!!!!BREAKING CHANGES!!!!]

    [ Roles ]
    - role to class composition behavior has changed
        - there is now no difference in the way compositon
          beheaves when applied to a class or to a role
            - previously only classes complained if there was a
              conflict in the compositon process, now both
              roles and classes complain
            - previously only classes complained if there was a
              method requirement after composition was complete,
              now both roles and classes complain

    [ MOP::Slot ]
    - The `add_slot` method now will set the COMP_STASH
      of the initializer, therefore taking ownership of
      that CV, this mirrors what `add_method` does
        - this is actually unlikely to break much, but
          is significant, so maybe
    - MOP::Slot objects no longer act as overloaded CODE
      refs (the &{} operator), this function is now the
      domain of the MOP::Slot::Initializer
    - MOP::Slot::Initializer has completely changed, the
      last version should be ignored completely
        - the `builder` feature has been completely removed
        - all methods other than `new` have been removed
        - it is a blessed CODE reference

    [ MOP::Method ]
    - the API for `get_code_attributes` in MOP::Method has
      changed, it now returns MOP::Method::Attribute objects

    - added Sub::Metadata, used to detect null CVs and
      mutate the COMP_STASH of CVs.
    - added Devel::Hook, which is used in the new MOP::Util
      function `defer_until_UNITCHECK`
    - bumped the UNIVERSAL::Object dependency version to
      make sure we have support for immutable CODE ref
      instances (needed for MOP::Slot::Initializer)

0.09 2017-09-27
    - moved the Slot::Intitializer class from Moxie back
      to this level, I believe it is more appropritate

0.08 2017-08-08
    - added support for CODE overloaded (&{})
      objects stored as %HAS values
        - added Devel::OverloadInfo as dependency

0.07 2017-06-19
    - fix edge case where we need to vivify a GLOB slot

0.06 2017-05-08
    - make all instance use UNIVERSAL::Object::Immutable

    - bumped UNIVERSAL::Object to latest

0.05 2017-02-07
    - added `has_required_method` to MOP::Role
        - added tests for this
    - added `fully_qualified_name` to MOP::Method
        - added tests for this

    - switched everything from die to Carp::croack

0.04 2017-01-15
    - restored Test::Fatal, sorry that was
      just stupid of me

0.03 2017-01-13
    - fixing some POD issues
    - adjusting some dependencies
        - removed Test::Fatal
        - bumped UNIVERSAL::Object to latest

0.02 2017-01-12
	- fixing constructors to allow both named
	  and positional argument forms
	  	- added tests and docs for this

	- adding in a few more tests
	- fixing some POD issues
	- fleshing out some documentation

0.01 2017-01-11
    - Initial release to an unsuspecting world