#acl PaulHowarth:read,write,admin,revert,delete All:read === Tuesday 4th November 2014 === ==== Fedora Project ==== * Updated `perl-namespace-autoclean` to 0.22 in Rawhide: * Drop testing of `MooseX::MarkAsMethods`, now that `Moose` 2.1400 has better overload handling * Updated `perl-Test-Simple` to 1.001009 in Rawhide: * Backport `cmp_ok` fix from alphas ([[https://github.com/Test-More/test-more/issues/478|GH#478]]) * Updated `perl-Text-SpellChecker` to 0.12 in F-21 and Rawhide: * Fixes for unicode letters ==== Local Packages ==== * New package `perl-Devel-OverloadInfo` (0.002) * Updated `perl-Exception-Class` to 1.39: * Replaced the `Exception::Class::Base->NoRefs` method with `UnsafeRefCapture` to match changes in `Devel::StackTrace` 2.00; the old method is deprecated but will continue to work * Updated `perl-Moose` to 2.1401: . '''Enhancements:''' * `Moose` now has core support for overloading in roles: when a role with overloading is applied to classes or other roles, the overloading settings are transferred to the consumer, and conflicts between roles are treated much like method conflicts, which obviates the need for `MooseX::Role::WithOverloading`; if you are using `MooseX::Role::WithOverloading`, upgrade to version 0.15+ and it will simply become a no-op when used with this version of `Moose` * By default, exceptions thrown from inside `Moose` now remove most of the `Moose` internals from their stack trace when stringifying, which makes for much more readable error messages in most cases; set the `MOOSE_FULL_EXCEPTION` environment variable to true to get the complete stack trace * Rewrote overloading implementation to use a new `Class::MOP::Overload` object, which properly captures all overloading information; the `Class::MOP::Method::Overload` class has been removed ([[https://github.com/moose/Moose/pull/83|PR#83]]) * Support added to `Moose::Exporter` for exporting subs by their fully qualified name, as well as coderefs; this avoids internal breakage if some other module has monkey-patched a sub to be exported and left it anonymous (e.g. [[CPAN:88669|CPAN RT#88669]]) ([[https://github.com/moose/Moose/pull/84|PR#84]]) . '''Bug Fixes:''' * Conflict detection for overloading operators is now more correct: if a class consumed two roles that both had identical overloading methods (because they got them from some other role, for example), this caused an error, but it shouldn't ([[https://github.com/moose/MooseX-Role-WithOverloading/issues/4|GH#4]]) * Similarly, when a role consumes another role, conflicts in overloading operators are now silently resolved in favor of the consuming role, just as they are with methods (note that conflicts between the fallback setting for roles are still an error) * When a role consumes another role and they differ in their overloading fallback settings, the consuming role now silently wins instead of throwing an exception; this is consistent with how other role-consumes-role conflicts are handled * Fixed the docs for overloading conflicts to match reality * Closed a memory leak in `Moose` exception objects where captured stack trace frames would contain circular references to the exception objects themselves ([[https://github.com/moose/Moose/pull/81|PR#81]]) -* If a role had method-based overloading but did not actually implement the specified method, its overloading was simply ignored when applying overloading to other roles or classes ([[CPAN:98531|CPAN RT#98531]]) * `Moose` exception classes now stringify all stack frames, to avoid issues in global destruction (see [[CPAN:99811|CPAN RT#99811]]) * The core overloading support interacted badly with `MooseX::MarkAsMethods`: if you used `MooseX::MarkAsMethods` in a role that provided overloading, then that overloading would not be properly applied to consuming classes, leading to very weird errors of the form: . Can't resolve method "???" overloading """" in package "Class2" ... . Note that the problems that `MooseX::MarkAsMethods` fixes are no longer present if you are using `Moose` 2.1400+ and `namespace::autoclean` 0.16+; we encourage you to upgrade both of these modules and remove `MooseX::MarkAsMethods` from your code base . '''Test Fixes:''' * Fix tests that fail on altered warning messages in `perl` 5.21.4 ([[CPAN:98987|CPAN RT#98987]]) . '''Other:''' * The overloading info methods for roles and classes no longer treat "fallback" as an overloaded op. Instead, there are new `get_overload_fallback_value()` and `set_overload_fallback_value()` methods to deal with this explicitly; this is arguably a bug fix * Updated `perl-namespace-autoclean` to 0.22 as per the Fedora version * Updated `unrar` to 5.20 beta 3 ----