Changes for version 20110923 - 2011-09-23

  • Incompatible Changes
  • Slurpy parameters (@foo and %bar) now must come at the end.
  • Slurpy parameters cannot be named, they must be positional.
  • Slurpy parameters are now optional by default. [github #21]
  • The empty signature takes no arguments. [github #26]
  • No signature implies the empty signature and takes no arguments.
  • New Features
  • Now checking if there are too many arguments. [github #23]
  • Run-time errors are now class methods, so subclasses can override them.
  • Method::Signatures::Modifiers allows you to use Method::Signatures with MooseX::Declare and apply method modifiers like before, after and around. [Buddy Burden] [github #14]
  • compile_at_BEGIN option controls if "method" and "func" are compiled like normal statements or early like "sub". [github #8]
  • Bug Fixes
  • Now depending on a version of Devel::Declare that works with 5.13 and up. [github #10]
  • Now depending on a known good version of Mouse. [github #17]
  • Improved error messages reporting from the right position in the user's code. [Buddy Burden]
  • Comments in the signature fixed. [Buddy Burden] [github #13]
  • Passing in too many positional parameters now generates an error.
  • Fixed a case where we'd eat compilation errors. [github #16]
  • Optional parameters will no longer fail type checks if they're not passed in. [github #12]
  • Depending on a new version of Devel::Declare that works with perl 5.13 and up. [github #10]
  • Fix some cases where a compile time error will show up as an error inside PPI.
  • Docs
  • Many grammar fixes and prose improvements [Noirin Plunkett] [github #25]
  • Slurpy parameters are clearly documented
  • The rules if a parameter is required or optional are more clear
  • Clarify that func() has no invocant [github #32]
  • Mention METHOD_SIGNATURES_DEBUG environment variable for debugging.
  • Documented the "debug" option.
  • Documented issues with 5.8 and compile_at_BEGIN. [github #8] [github #22]
  • Test Fixes
  • Tests will no longer fail because 5.10.0 and down report different errors on compilation failure. [github #18]
  • Tests will no longer fail on 5.8. [github #22]

Changes for version 20110324.1600_001 - 2011-03-24

  • Bug Fix
  • Declare dependency on Any::Moose [github #9]

Changes for version 20110322.0027_001 - 2011-03-22

  • New Features
  • Added support for Perl 6 style type syntax backed by Any::Moose (barefootcoder) [github #3]
  • Test Fixes
  • t/syntax_errors.t would fail on some versions of Perl because we wouldn't get the expected error message out of eval.

Changes for version 20110216.1153_001 - 2011-02-16

  • New Features
  • Data::Alias is no longer optional. It's been fixed and is now maintained. Aliasing will now always work.
  • Misc
  • Use Const::Fast to implement read only arguments. This avoids the optional Readonly::XS to make it fast.

Modules

method and function declarations with signatures and no source filter
use Method::Signatures from within MooseX::Declare

Provides

in lib/Method/Signatures/Parser.pm