MooX-Press ========== Created: 2019-10-22 Home page: Bug tracker: Maintainer: Toby Inkster (TOBYINK) 0.061 2020-04-28 [ Bug Fixes ] - Fix regexps for extracting method bodies. 0.060 2020-04-25 [ Bug Fixes ] - Eliminate closure warnings. - Eliminate printf warnings. - Stop wrapping method bodies in do blocks because it conflicts with lvalue methods in versions of Perl too old to optimize the do block away. 0.059 2020-04-25 - Use MooX::TypeTiny again, but only versions 0.002001 and higher. 0.058 2020-04-08 - Stop using MooX::TypeTiny for now; it introduces some weird coercion bugs. 0.057 2020-02-24 - Eliminate some warnings when `make_attribute` is called to add an attribute to an existing class. 0.056 2020-02-24 - The `is` option for attributes now defaults to 'ro', but you can change the default using a `default_is` option. 0.055 2020-02-20 [ Bug Fixes ] - Eliminate 'used only once' warning from some roles. [ Packaging ] - Require latest stable Type::Params. 0.054 2020-02-18 - Refactoring of `_make_package` to split out attribute handling into a separate `install_attributes` method. 0.053 2020-02-18 - Added: Role::Hooks support. - MooX::Press now throws an error if you use certain options in classes that make no sense, like `requires`. - The `begin` and `end` options are now allowed to be arrayrefs. 0.052 2020-02-17 - Added: The factory package now has a %PACKAGES variable. 0.051 2020-02-17 [ Bug Fixes ] - Remove a debugging line that was included in 0.049. [ Other ] - Allow multiple `use MooX::Press` statements to have the same prefix. 0.050 2020-02-16 - MooX::Press will now interpret `handles => ARRAYREF` as if the array were a hash, instead of relying on the underlying delegation implementation to interpret it. - Public attribtues can now have private (lexical) accessors and delegations. 0.049 2020-02-16 - Module::Runtime and Import::Into were already dependencies, so make more use of them instead of just putting `use` statements in stringy eval. 0.048 2020-02-15 - Don't issue warning about 'Local' factory if it was specified explicitly; assume they know what they're doing. 0.047 2020-02-15 - Improve defaults of `prefix` and `factory_package`, especially when caller is `main`. 0.046 2020-02-14 [ Packaging ] - Require Lexical::Accessor 0.012 to avoid Hash::FieldHash requirement. - Require Moo 2 because Moo 1 is just so old. 0.045 2020-02-14 - Added: Integrate Lexical::Accessor support. 0.044 2020-02-12 [ Packaging ] - Bump minimum required version of Sub::HandlesVia. - Make Sub::MultiMethod required rather than an optional dependency, so that other modules using MooX::Press and MooX::Pression don't need to depend on it explicitly. 0.043 2020-02-12 [ Bug Fixes ] - If methods or method modifiers were given as a hashref rather than a coderef, MooX::Press would assume that meant there was a signature and later complain about the signature being undef, but there are other reasons to sometimes give a method or method modifier as a hashref, so this assumption is no longer made. [ Test Suite ] - Test that bare attributes work. [ Other ] - Added: MooX::Press::keywords now exports `bare` like `rw`, `ro`, `rwp`, and `lazy`. 0.042 2020-02-11 - If a signature includes `head` and `tail` options, reify any string type constraints found there. This feature assumes you're using Type::Params 1.009002 or above. - The `confess` exported by MooX::Press::Keywords no longer passes a single argument through sprintf; only calling sprintf when multiple arguments are given. 0.041 2020-02-09 - Added: Factory packages now have a `qualify` method allowing them to translate unprefixed class names to fully-qualified ones. - Added: MooX::XSConstructor is loaded and used if it's installed. 0.040 2020-02-01 [ Bug Fixes ] - Remove some Data::Dumper stuff mistakenly included in last release. 0.039 2020-02-01 [ Bug Fixes ] - In the last few releases (since 0.032?), method signatures were mistakenly being recompiled every method call, which was SLOW. 0.038 2020-02-01 - Abstract base classes throw exceptions from `BUILD` instead of `new`. 0.037 2020-01-31 - Process `with` much later to ensure that methods (including accessors, delegated methods, multimethods, and constants) have been installed which might be needed to satisfy role requirements. 0.036 2020-01-31 - Added: Abstract base classes. - Added: Interfaces. - Using class-specific things like `factory` in a role now results in an error instead of being silently ignored. 0.035 2020-01-28 [ Bug Fixes ] - Don't install multimethod dispatchers into roles. 0.034 2020-01-28 [ Bug Fixes ] - Skip trying to just-in-time look for a role definition if the role ends in a question mark; that role will already be built just-in-time. 0.033 2020-01-28 - Added: Sub::MultiMethod support (optional dependency). - Added: Support `overload` in classes. - Build roles in an intelligent order. - Process role generators before class generators. 0.032 2020-01-24 - Added: MooX::Press->wrap_coderef utility. 0.031 2020-01-23 [ Bug Fixes ] - Fix broken signatures-as-coderefs feature. [ Documentation ] - Document signatures-as-coderefs feature. [ Other ] - Added: Add `optimize` feature for method signatures. 0.030 2020-01-23 [ Bug Fixes ] - Bugfix for `import`. 0.029 2020-01-23 - Allow `import` option to apply to class/role generators. - Removed: MooX::Press::Keywords no longer imports Try::Tiny for you. 0.028 2020-01-23 [ Packaging ] - Require Sub::HandlesVia 0.004. [ Other ] - Added: Add an `import` option. - Smooth over differences between `has` in Moo, Moose, and Mouse. 0.027 2020-01-21 - Added: Support for Sub::HandlesVia. 0.026 2020-01-18 [ Bug Fixes ] - Fix `has` for Moose/Mouse classes and roles. [ Other ] - Better handling of type lookups from class/role generators. 0.025 2020-01-17 - Saner API for slurpies in signatures. 0.024 2020-01-17 - Added: Class and role generators now have generate_bleh methods in the factory. 0.023 2020-01-17 - Added: class_generator and role_generator. 0.022 2020-01-16 - Added: Integration with MooX::Enumeration/MooseX::Enumeration. - Added: Roles now have `requires`. 0.021 2020-01-15 [ Bug Fixes ] - Prevent global options from overriding per-package options. [ Other ] - Added: Method modifiers now support signatures. - String 'from' types in coercions are now interpreted as type names instead of class/role names. This is for consistency with signatures. 0.020 2020-01-13 - Added: Provide a `begin` option to run callback early in class/role definition. - Smarter Type::Registry stuff. 0.019 2020-01-10 [ Documentation ] - Better type constratin documentation. [ Other ] - Added: Method signatures. - Allow roles listed under `with` to be suffixed with a question mark. - Default `factory_package` to `prefix` instead of `caller`. 0.018 2020-01-08 [ Documentation ] - Fix typo. 0.017 2020-01-08 - Added: MooX::Press::Keywords 0.016 2020-01-08 [ Documentation ] - Documentation of @ and % sigils for `isa`. - Other improvements to type constraint related documentation. [ Other ] - Added: factory_package_can - Added: type_library_can 0.015 2020-01-07 [ Bug Fixes ] - Fix interaction of automatic package prefixes and sigils. 0.014 2020-01-07 - Added: Allow type names given as strings to be prefixed with @ or % to indicate ArrayRef of or HashRef of. 0.013 2019-11-06 - Added: Allow classes to have multiple factories to create them. 0.012 2019-11-06 [ Bug Fixes ] - Fix for newer versions of Moo::Role. 0.011 2019-11-05 Treason - Added: Support `type` in attribute specs. 0.010 2019-11-05 Gunpowder [ Bug Fixes ] - Fixes for methods being redefined in subclasses. [ Other ] - Added: Allow coderefs to be used to modify multiple methods in before/after/around, like Moo does. - Added: Top-level shortcuts for creating classes and roles. - Internal cleanups. 0.009 2019-10-31 [ Documentation ] - Fix tree/leaf example. 0.008 2019-10-30 - Added: Give each class a FACTORY method to return the factory package name. - Added: Give the factory package a type_library method to return the type library name. 0.007 2019-10-25 [ Bug Fixes ] - Fixes for Moo 2.003_005 which changes how Moo's keyword subs are tracked. 0.006 2019-10-24 [ Documentation ] - Document that multiple inheritance is supported. - Fix example in pod. [ Other ] - Less hacky way of calling Moo's has, extends, and with functions. - Throw an error if people try to use extends in roles. - You can now add a '+' before a class name to indicate that it should be prefixed by the parent class name. 0.005 2019-10-24 [ Bug Fixes ] - Fixes for undef type_library. [ Documentation ] - Bundle a simple example, HTTP::Tiny::Objects. [ Other ] - Suppress loading MooX::TypeTiny if it's not needed. 0.004 2019-10-23 [ Packaging ] - Declare dependency on namespace::autoclean. [ Other ] - Added: Set $VERSION and $AUTHORITY in generated packages. - Better handling of caller option. 0.003 2019-10-23 [ Packaging ] - Remove old test script from tarball. 0.002 2019-10-23 [ Bug Fixes ] - Fix syntax for Perl < 5.22. 0.001 2019-10-23 Initial release