20110923 Fri Sep 23 16:13:46 PDT 2011 [It Takes All Types]
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.
[github #26]
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.
[github #23]
* 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.
[github #32]
* 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]
20110324.1600_001 Thu, 24 Mar 2011 16:00:38 +1100
Bug Fix
* Declare dependency on Any::Moose [github #9]
20110322.0027_001 Tue, 22 Mar 2011 00:27:00 +1100
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.
[github #4]
20110216.1153_001 Wed, 16 Feb 2011 11:35:05 +1100
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.
20100730 Fri Jul 30 12:54:20 PDT 2010
New Features
* Added func() to handle functions.
Incompatible Changes
* Data::Alias is now optional. This is because it does not work in 5.12
and there's no fix in sight. If you want to use aliasing in your
distribution it will have to depend on Data::Alias itself.
Docs
* Updated the SEE ALSO
* Removed the assertion that no checks are done on the signature
20090620 Sat Jun 20 01:26:59 PDT 2009
Performance
* Load PPI on demand to reduce load time (needed by perl5i)
Other
* Separated signature translation between methods and subroutines
(needed by perl5i)
20081028 Tue Oct 28 00:45:48 PDT 2008
New Features
* Two or more slurpy parameters (ie. @foo or %bar) in a signature is
an error.
Bug Fixes
* The debugger now works, thanks to an upgrade in Devel::Declare.
* methods are now declared at compile time, like regular subs.
Other
* Added some simple example files.
20081021.1911 Tue Oct 21 19:11:47 PDT 2008
Test Fixes
* Used a new feature of Test::Builder, upgrade dependency.
20081021 Tue Oct 21 01:43:24 PDT 2008
New Features
* Checks for unspecified arguments
* Almost anything can be used as a default.
Bug Fixes
* A default value with a comma in it is properly parsed.
* Default values can now be any literal, even wacky things like q,Hi!,
* The closing paren of a signature can now be on its own line.
* The closing paren and the opening block can be on the same line.
New Docs
* Documented differences from Perl 6
20081008 Wed Oct 8 09:48:33 EDT 2008
New Features
* Named parameters have some basic compile-time error checks for illegal signatures.
New Docs
* Document restritions on named parameters.
20081007 Tue Oct 7 23:27:19 EDT 2008
New Features
* Added named parameters.
Docs
* Some documentation on what is not allowed, even if we don't
yet check for it.
* More thanks!
* Add an example and comparision with regular Perl
* Add some debugging tips
20081006 Mon Oct 6 02:24:36 EDT 2008
New Features
* Implemented "is alias", "is ro", "is rw" and "is copy".
* Multiple traits supported "is copy is rw"
* Implemented ! and ? (required and optional arguments)
Bug Fixes
* Stole some code from MooseX::Method::Signatures to make attributes
parse better. (thanks to Florian Ragwitz)
Other
- Repository moved to github.
- Changing to ISO date versions.
0.11 Sat Sep 27 16:47:51 EDT 2008
New Features
* Added the "$arg!" required syntax (currently does nothing)
* Attributes now work (thanks to mst)
New Docs
- Documented how to set a trait and a default
* Document that earlier params may be used in defaults.
* Document that @_ is left intact
* Clarify aliased ref behavior
* Document anonymous methods
Bug Fixes
* Protect against complicated default expressions
0.10 Sun Sep 21 20:04:41 PDT 2008
New Features
* Added "$class:" change the invocant a la Perl 6.
* Added "$arg = EXPR" to set defaults.
* Added "$arg?" optional param syntax (currently does nothing)
* Added "$arg is foo" param traits (currently does nothing)
* Expose a way to play with the prototype handler.
Doc Fixes
- Change "prototype" to "signature" to avoid confusion with Perl's
built in prototypes.
0.05 Sun Sep 21 15:17:16 PDT 2008
Bug Fixes
* methods now get the right name in caller(), not "Class::__ANON__".
* The \@foo prototype no longer has a performance hit
* Closures now work with \@foo
(All the above thanks to Matthijs van Duin and his Sub::Name and
Data::Alias)
Test Fixes
* Not rigorously checking the bitmask and hints flags from caller() as
their behavior is undefined. This fixes the 5.10 test failures.
0.04 Sun Sep 21 13:52:29 PDT 2008
New Features
* A \@foo protototype allows you to use a reference as a regular var
New Docs
* Documented the @_ prototype
0.03 Sun Sep 21 00:57:32 PDT 2008
New Features
* Eliminate the need of the trailing semicolon
New Bugs
* The debugger and one-liners are broken
New Docs
* Better prototype docs
0.02 Wed Dec 26 02:07:26 PST 2007
Doc Fix
* Forgot the "use Method::Signatures" in the SYNOPSIS
0.01 Wed Dec 26 01:55:33 PST 2007
It works!