Mite
====

Created:      2011-12-08
Home page:    <https://metacpan.org/release/Mite>
Bug tracker:  <https://github.com/tobyink/p5-mite/issues>
Maintainer:   Toby Inkster (TOBYINK) <tobyink@cpan.org>

0.005000	2022-07-05

 - Allow classes to extend non-Mite classes.
 - Attribute `isa` options can now refer to types in a project-wide type
   library.
 - Restore the separate BUILDALL method which had previously been removed
   in Mite 0.001006.
 - Roles now have a `requires` keyword, and method modifiers in roles
   implicitly require the methods they are modifying.

0.004000	2022-07-04

 - Added: Provide constants `ro`, `rw`, `rwp`, `lazy`, and `bare` constants
   as an opt-in feature.
 - Added: Provide constants `true` and `false` constants as an opt-in
   feature.
 - Added: Support `param` and `field` like MooseX::Extended as an opt-in
   feature.
 - Make the Mite::Shim import method smarter, allowing you to opt-in and
   opt-out of features.

0.003001	2022-07-03

 [ Bug Fixes ]
 - Workaround for how Role::Tiny roles are applied to Mite classes
   affecting Role::Hooks.

 [ Other ]
 - An error is now thrown if you use `is` when modifying an attribute with
   a + sign.
 - Attribute initialization in the constructor changed from alphabetical
   order to declaration order, with attributes in parent classes
   initialized before attributes in child classes. Attributes modified with
   a + sign are treated as a new declaration, so initialized later.

0.003000	2022-07-03

 [ Bug Fixes ]
 - Fix method modifiers applying to inherited methods.

 [ Packaging ]
 - Remove dependency on version.pm.

 [ Other ]
 - Added: Mite classes and roles can consume Role::Tiny roles.

0.002004	2022-07-03

 [ Documentation ]
 - Fixed a couple of typos in the documentation for `accessor`.

 [ Other ]
 - Compiled .mite.pm files no longer require Perl 5.10.1 but should work on
   Perl 5.8.1+ as long as MRO::Compat is installed.
 - Mite::Shim will print a warning on Perl older than 5.14 if
   Devel::GlobalDestruction isn't installed.
 - More reliable (and tidier) quoting of strings in compiled .mite.pm
   files.

0.002003	2022-07-02

 [ Packaging ]
 - Removed the TODO file and put the tasks in the issue tracker.

 [ Other ]
 - Added: Allow attribute defaults to be expressed as a reference to a
   string of Perl code.
 - More efficient implementation of strict constructors.
 - Removed: Removed some code related to the unimplemented idea of dataref
   attribtue defaults.

0.002002	2022-07-01

 - Change how __FINALIZE_APPLICATION__ gets called for indirect role
   applications.

0.002001	2022-07-01

 [ Bug Fixes ]
 - Fix for on-demand loading of roles and parent classes.

0.002000	2022-07-01

 [ Documentation ]
 - Mite::Manual::Missing is a new pod file that documents features found in
   Moose/Moo which are not available in Mite.

 [ Other ]
 - Added: Roles

0.001013	2022-06-30

 [ Documentation ]
 - Documented what the default for is is.
 - Improved documentation for alias.

 [ Test Suite ]
 - Add tests for is=>lazy.

 [ Other ]
 - Minor code cleanups, especially around alias.

0.001012	2022-06-30

 [ Bug Fixes ]
 - Cope with alias=>[] (and also alias=>undef).

 [ Other ]
 - Minor improvements in whitespace in output files.

0.001011	2022-06-30

 - Also set $USES_MITE while Mite is compiling your class.

0.001010	2022-06-29

 [ Documentation ]
 - Document that writers/clearers are chainable.

 [ Other ]
 - Added: Set a $USES_MITE package variable in all classes built with Mite.

0.001009	2022-06-29

 [ Bug Fixes ]
 - Try fixing that error again.

0.001008	2022-06-29

 [ Bug Fixes ]
 - Don't explicitly disable warnings with `no warnings 'redundant'` as that
   category won't work on older Perls

0.001007	2022-06-29

 [ Packaging ]
 - Fix changelog

 [ Other ]
 - Added: alias for attributes

0.001006	2022-06-29

 - Added: DESTROY/DEMOLISH methods
 - Added: Method modifiers
 - Removed: The BUILDALL method was removed in favour of inlining it within
   new

0.001005	2022-06-29

 [ Documentation ]
 - Minor improvements

 [ Test Suite ]
 - Improve tests for handles

0.001004	2022-06-29

 [ Bug Fixes ]
 - Strict constructor feature should use init_arg rather than attribute
   names

 [ Documentation ]
 - Add Mite::Manual::Workflow and Mite::Manual::Syntax

0.001003	2022-06-29

 [ Bug Fixes ]
 - Fix regexp used to rewrite shim pod

0.001002	2022-06-29

 [ Documentation ]
 - Add stub pod to all modules

 [ Packaging ]
 - Hide the MY package from CPAN indexer

0.001001	2022-06-29

 [ Packaging ]
 - Switch to Dist::Inkt

 [ Other ]
 - Added: documentation for attributes
 - Added: handles for attributes

0.001000	2022-06-28

 [ Packaging ]
 - Added version numbers to more modules. (Everything except the shim.)
 - Changed version numbering scheme.

 [ Other ]
 - Mite is now self-hosting! It no longer requires Moo.

v0.0.9	2022-06-28

 [ Bug Fixes ]
 - Mite::Class shouldn't accidentally try to use Try::Tiny::XS to implement
   strict constructors

 [ Documentation ]
 - Fix minor pod formatting inconsistency

 [ Other ]
 - Don't internally use roles, as the aim is to eventually be able to have
   Mite use Mite instead of Moo, and Mite doesn't provide roles.
 - Rename the `extends` method in Mite::Class to `superclasses` to avoid
   confusion with the exported `extends` function
 - Require Type::Tiny 1.014000

v0.0.8	2022-06-24

 [ Bug Fixes ]
 - Mite::Shim now copes better with + prefix on attribute names

 [ Other ]
 - Added: BUILD/BUILDALL
 - Added: BUILDARGS
 - Added: trigger for attributes
 - Child classes no longer re-implement accessors for attributes defined in
   parent classes, unless they have altered the attribute in some way
 - has \@names is now supported, like Moose and Moo

v0.0.7	2022-06-23

 - Avoid Mite::Shim and Type::Tiny from appearing in compiled modules so
   they don't confuse the CPAN indexer.

v0.0.6	2022-06-23

 - Added: coerce for attributes
 - Added: perltidy option in .mite/config
 - Added: weak_ref for attributes
 - Allow type => $blessed_type for has. Using it will void your warranty.
 - Clearers, setters, and accessors used as setters are now chainable
 - Output accessor code in a stable order instead of hash order
 - Support Types::Common::Numeric types
 - Support Types::Common::String types

v0.0.5	2022-06-22

 [ Bug Fixes ]
 - Fix inlining type constraints

 [ Other ]
 - Hide Mite::Shim embedded in Mite projects from CPAN indexer

v0.0.4	2022-06-22

 - Added: builder for attributes
 - Added: is => lazy like Moo
 - Added: isa for attributes
 - Added: lazy for attributes

v0.0.3	2022-06-21

 [ Bug Fixes ]
 - Bugfixes

 [ Other ]
 - Added: accessor for attributes
 - Added: clearer for attributes
 - Added: is => rwp like Moo
 - Added: predicate for attributes
 - Added: reader for attributes
 - Added: writer for attributes

v0.0.2	2022-06-21

 [ Packaging ]
 - New maintainer: TOBYINK

 [ Other ]
 - Added: Strict constructors
 - Added: init_arg for attributes
 - Added: required attributes
 - Port from Mouse to Moo

v0.0.1	2014-07-19	Initial release
