Moops
=====
Created: 2013-06-30
Home page: <https://metacpan.org/release/Moops>
Bug tracker: <http://rt.cpan.org/Dist/Display.html?Queue=Moops>
Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org>
0.038 2020-02-15
[ Documentation ]
- Add GOTCHAS section.
0.037 2020-02-13
[ Documentation ]
- Update STATUS section.
[ Packaging ]
- Add dependency on Devel::GlobalDestruction.
0.036 2018-08-09
[ Packaging ]
- PerlX::Define is now distributed separately.
0.035 2018-06-26
[ Documentation ]
- Add note about Devel::CallParser issue to documentation.
[ Packaging ]
- Explicit dependency on strictures.pm.
0.034 2014-10-12
[ Bug Fixes ]
- Fix enormous memory leak leading to segfault caused when a role
application in a scope guard threw an exception.
Fixes RT#99389.
Fixes RT#99409.
Ben Goldberg++
Lukas Atkinson++
Søren Døssing++
<https://rt.cpan.org/Ticket/Display.html?id=99389>
<https://rt.cpan.org/Ticket/Display.html?id=99409>
<http://purl.org/NET/cpan-uri/rt/ticket/99438>
[ Documentation ]
- Bundle a multimethod example (stolen from MooseX:MultiMethods).
- Improvements to the SUPPORT and SEE ALSO sections of the documentation.
- Warn about some planned changes.
[ Test Suite ]
- Test that `use true` is imported by Moops.
[ Packaging ]
- Remove outdated dependency on Sub::Name from packaging metadata.
[ Other ]
- Updated: namespace::autoclean now supports Moo enough that we can start
using it instead of namespace::sweep.
0.033 2014-08-16
[ Bug Fixes ]
- Fix bugs introduced in 0.032 with role application via guards.
[ Other ]
- Updated: Take advantage of improvements in Type::Library/Type::Registry
1.000000.
0.032 2014-08-13
[ BACK COMPAT ]
- Role composition is now delayed to the end of a class declaration.
Matt S Trout++
[ Documentation ]
- Fix a typo in Moops::Manual::Objects101.
Fixes RT#93553.
Ron Savage++
<https://rt.cpan.org/Ticket/Display.html?id=93553>
[ Packaging ]
- PerlX::Assert is no longer bundled with Moops; it has been split out
into a separate distribution.
0.031 2014-03-23
[ Documentation ]
- Fix typo in manual.
Fixes RT#93553.
Ron Savage++
<https://rt.cpan.org/Ticket/Display.html?id=93553>
- Use the `true` constant instead of the number 1 in the cli-app.pl
example.
[ Test Suite ]
- Test Moops in threaded Perls.
Aaron James Trevena++
[ Other ]
- Added: The new import parameter `-strict` enables loading strictures.pm
within Moops scopes.
- Avoid returning 0 from `assert` statements (PerlX::Assert).
- Use Parse::Keyword instead of Devel::Pragma in order to establish the
currently compiling package name. Devel::Pragma has issues under
ithreads.
Piers Cawley++
0.030 2014-01-30
[ Documentation ]
- Include an example using Moops to write a command-line app.
Maurice Mengel++
<https://github.com/tobyink/p5-moops/pull/1>
[ Packaging ]
- Require at least version 0.027 of Kavorka; this resolves a conflict
using Moops with MooX::Options.
[ Other ]
- Hard-code a list of warnings categories to fatalize; this means that
warnings categories added to future versions of Perl will not magically
become fatal in Moops.
0.029 2014-01-04
[ Bug Fixes ]
- Fix availability of Lexical::Accessor within class {} blocks.
[ Documentation ]
- Copyright 2014.
0.028 2013-12-18
[ Documentation ]
- Demonstrate `is override` trait in Moops::Manual::Objects101.
[ Packaging ]
- Indicate conflict with MooseX::Types::Common 0.001011.
- Indicate conflict with MooseX::Types::URI 0.05.
0.027 2013-12-16
[ Documentation ]
- Include an example using multi methods to implement a class method and
object method with the same name as each other.
- Moops::Manual::Objects101.
[ Other ]
- Added: Private attributes via Lexical::Accessor.
- Moose/Mouse classes/roles now have override/augment method modifier
keywords.
0.026 2013-11-18
- Replace Function::Parameters with Kavorka.
0.025 2013-10-09
[ Documentation ]
- Note that a future version of Moops may replace Function::Parameters
with Kavorka.
[ Other ]
- Updated: Use Exporter::Tiny.
0.024 2013-09-27
[ Test Suite ]
- Keyword::Simple 0.02 has been released; no longer need to skip
t/03lines.t.
0.023 2013-09-26
[ Bug Fixes ]
- Much improved (though not completely perfect) line number accounting.
[ Documentation ]
- Bundle an example of using Moops with Method::Signatures.
0.022 2013-09-16
- Minor updates to work with Function::Parameters 1.0301.
0.021 2013-09-12
- Allow version numbers to be specified for the `with`, `extends` and
`types` options.
0.020 2013-09-11
[ BACK COMPAT ]
- Moops->import now takes a hash of options (including the `imports`
option) rather than an arrayref of modules to import.
[ Packaging ]
- List Moose/Mouse/Moo/Class::Tiny dependencies as optional_features in
META.json.
[ Other ]
- Improve Moops' extensibility via parser traits.
0.019 2013-08-30
- Removed: Removed Class::Tiny::Antlers; this is now a separate CPAN
distribution.
0.018 2013-08-27
- Added: Add a `library` keyword for declaring type libraries.
- Declared packages now get an implied BEGIN {...} block around
themselves.
0.017 2013-08-21
- Updated: Support Class::Tiny 0.004.
0.016 2013-08-21
- Added: Provide a `types` option for loading type constraint libraries
into classes, roles and namespaces.
0.015 2013-08-21
[ Bug Fixes ]
- Fix a reference to Moops::DefineKeyword which will only work if you
happen to have installed Moops over the top of a pre-0.012 version of
Moops.
- Load feature.pm so that it's consistently exported to the outer scope.
0.014 2013-08-21
[ Documentation ]
- Document Class::Tiny::Antlers.
[ Other ]
- Added: MooseX::FunctionParametersInfo
- Class::Tiny::Antlers now supports has \@attrs like Moose.
0.013 2013-08-20
[ Bug Fixes ]
- Fix test that uses Role::Tiny and Class::Tiny without declaring them
(Test::Requires).
0.012 2013-08-20
[ Documentation ]
- Various documentation improvements.
[ Other ]
- Added: PerlX::Assert
- Rename Moops::DefineKeyword -> PerlX::Define.
0.011 2013-08-20
[ Documentation ]
- Document Attribute::Handlers-style attributes as an extensibility
mechanism.
[ Other ]
- Added: Class::Tiny::Antlers
- Added: Moops::TraitFor::Keyword::dirty
- Added: Moops::TraitFor::Keyword::mutable
- Added: Moops::TraitFor::Keyword::ro
- Added: Moops::TraitFor::Keyword::rw
- Added: Moops::TraitFor::Keyword::rwp
- Added: Support classes built `using Class::Tiny`.
- Moose classes will now `use Moose::XSAccessor` if possible.
- Use MooseX::MungeHas to 0.002 smooth over more differences between Moo,
Mouse and Moose.
0.010 2013-08-19
- Added: Parse Attribute::Handlers-style attributes attached to package
declarations; treat these as traits for the code generator.
- Much refactoring.
- Rename Moops::CodeGenerator -> Moops::Keyword.
0.009 2013-08-19
[ Bug Fixes ]
- Fix at-runtime hook (used for method modifiers).
[ Packaging ]
- The test suite is now in a reasonable state.
0.008 2013-08-18
[ Bug Fixes ]
- Fix custom imports feature.
- Found a remaining hard-coded list of keywords that was breaking
extensibility mechanism.
- Stop using constant.pm (though it's still required via Moo); this allows
`true` and `false` to be correcting swept by namespace::sweep.
[ Documentation ]
- Bundle an example showing how to extend Moops.
[ Packaging ]
- Add Mouse and Moose as 'runtime suggests' dependencies.
- Add Perl 5.14 as an explicit dependency.
- More test suite improvements; still more to do.
0.007 2013-08-18
[ Bug Fixes ]
- Fix parsing for the `namespace` keyword that was broken in 0.005.
[ Packaging ]
- Dependency - runtime suggestion for MooX::HandlesVia.
- More test suite improvements; still more to do.
[ Other ]
- Help Class::Load (and thus Moose) notice that empty roles are loaded by
setting $VERSION to an empty string when no version is specified.
0.006 2013-08-16
[ Documentation ]
- Much improved documentation.
[ Packaging ]
- Some test suite improvements; more to come.
[ Other ]
- Call __PACKAGE__->meta->make_immutable on Moose/Mouse classes.
- Rename MooX::Aspartame -> Moops.
0.005 2013-08-14
[ REGRESSIONS ]
- Broke `namespace` keyword.
[ Other ]
- Improvements handling comments when parsing.
- Massive amounts of refactoring to simplify maintenance and make
subclassing easier.
0.004 2013-08-14
- Added: Implement `before`, `after` and `around` method modifiers.
- Added: Implement `define` keyword to declare constants.
- Removed: Drop the `classmethod` keyword; it's better to use `method` and
give the invocant an explicit variable name.
- Removed: Drop the `exporter` keyword; it is better to explicitly create
a class extending Exporter::TypeTiny or Exporter.
- The `method` keyword is only available in classes and roles; not plain
namespaces.
0.003 2013-08-13
[ Packaging ]
- use Dist::Inkt.
[ Other ]
- Added: New keyword `namespace`.
- Don't export Try::Tiny to the outer scope, as it's not lexical.
- Misc internal refactoring.
- Re-implement relative package names, in a new, saner way.
- Updated: use Function::Parameters 1.0201, because it has configurable
type constraint reification.
0.002 2013-07-17
- Added: use MooX::late 0.014.
- Misc internal refactoring.
- Updated: use Moo 1.003000.
0.001 2013-07-01 Initial release