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.005004 2022-07-08
- Attributes are now aware of which class/role they're currently being
compiled into, in case they need to reach out to it for any information.
- More concise attribute initialization code in constructors; this mostly
makes a difference to attributes with a type check/coercion that have
both an init_arg and an eager default/builder.
- Support %s in attribute reader/writer/etc method names as a placeholder
for the attribute's name.
0.005003 2022-07-07
- Added: Provide blessed.
- Added: Support -all for imports.
- Dumps of references auto-generated by croak/carp/confess will no longer
use indentation.
- Improvements to the self-compiling process -- that is, the process that
Mite uses to compile Mite.
- Minor improvements to the Mite shim.
0.005002 2022-07-07
- Added: Provide carp/croak/confess.
- Added: does for attributes.
- Mite::Shim tidy-ups.
0.005001 2022-07-06
- Added: Mite::Shim will now inject namespace::autoclean into your
class/role if it is installed and you haven't opted out.
0.005000 2022-07-05
- Added: Attribute `isa` options can now refer to types in a project-wide
type library, without introducing a dependency on Type::Library for your
project.
<https://github.com/tobyink/p5-mite/issues/17>
- Added: Roles now have a `requires` keyword, and method modifiers in
roles implicitly require the methods they are modifying.
<https://github.com/tobyink/p5-mite/issues/13>
- Allow classes to extend non-Mite classes.
<https://github.com/tobyink/p5-mite/issues/16>
- Restore the separate BUILDALL method which had previously been removed
in Mite 0.001006.
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.
<https://github.com/tobyink/p5-mite/issues/10>
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.
<https://github.com/tobyink/p5-mite/issues/7>
- 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.
<https://github.com/tobyink/p5-mite/issues/11>
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.
<https://github.com/tobyink/p5-mite/issues/4>
- 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
<https://github.com/tobyink/p5-mite/issues/1>
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