0.19 2023-07-22 * Various test suite fixes 0.18 2023-07-21 * Support //= in signatures, like 5.38 does * Various test suite fixes 0.17 2020-10-03 * Make some capture groups atomic to speed up matching * Documentation updates to mention more common code pitfalls that trip up Filter::Simple and Filter::signatures 0.16 2020-08-23 + Fix signature parsing when there are more than 40 placeholder strings This was an interesting bug to chase down. Filter::Simple replaces all strings with placeholders, but if you have enough of them, one of them becomes "\0\0\0(", which the signature parsing did not cope with. + "use feature 'signatures';" and "no warnings 'experimental::signatures';" are now allowed to have leading whitespace but still must be on a line of their own. 0.15 2018-08-19 + Add mention of App::sigfix and Babble + Document that only a reduced set of regular expression matches is correctly parsed in default expressions + Correctly parse do {} blocks in default expressions + Correctly parse function parameters in case of nested functions and blocks 0.14 2018-07-26 + Add code and documentation on how to load this module from the command line. This is mostly intended to give you a way to do a quick fix for using Perl code that requires signatures on a version of Perl that doesn't support them out of the box. 0.13 2018-05-11 + Support (well, ignore) comments in signatures This comes at the cost of erasing those comments from the source code. If you stack source filters and a source filters expects to extract value from the comments, this won't work anymore. ! More robustness when parsing the formal signature argument list. Too many strings in your source code could make the module behave erratically 0.12 2018-05-10 ! Make subroutines with empty body return C Pointed out in discussion at https://www.nntp.perl.org/group/perl.perl5.porters/2014/02/msg212580.html . Documentation fix by MANWAR, many thanks! 0.11 2018-02-28 + Support parentheses in default assignments on Perl 5.10 onwards sub foo( $now = time() ) { 0.10 2017-06-28 + Support multiline signatures . We also attempt to keep the line numbers correct 0.09 2017-01-16 + Support single-line functions In fact, we simply don't require the subroutine declaration to be on a separate line from other code. This adresses RT #119843 0.08 2016-12-19 ! Make signature-less subroutines work again instead of warning 0.07 2016-12-18 + Actually allow for empty parameter lists + Allow for unnamed/ignored parameters sub ($foo,$,$bar) { ... } . Adresses Github issue #1 0.06 2016-11-07 + Don't crash on empty function parameter lists. + Make module internals more testable . Add a test that verifies function default parameters actually parse as we expect. Thanks to Rolf Langsdorf for the discussion. 0.05 2016-09-29 . Bump Filter::Simple prerequisite to 0.91 Earlier versions gave problems with some of my modules If it works for you, no need to upgrade 0.04 2016-09-06 + Add support for defaults, and our own, very, _very_ simplicistic "expression parser" (which blindly splits on comma. This means that the following is now supported: sub foo( $bar, $baz='default' ) { return $baz }; print foo("two","parameters"); # parameters print foo("one"); # default The following will still fail horribly, because we don't parse expressions: sub foo( $bar, $baz=bar(1,2) ) { print $baz # "default" }; 0.03 2016-05-19 + Add our own fake 'experimental::signatures' warning category if we install our filter so that "no warnings 'experimental::signatures'" doesn't raise an error on Perl versions where we install our filter 0.02 2016-04-23 + Check does now not use the version of Perl but checks `use feature 'signatures'` + You can force the use of the module using an environment variable (not that you should) 0.01 2016-04-14 . Released on an unsuspecting world . Spun out of App::StarTraders (unreleased)