2.82 2011-06-26T05:12:04
- Moved the repository to
[GitHub](https://github.com/theory/svn-notify/). Yes, I'm aware of the
irony.
2.81 2011-02-19T03:09:43
- Removed deprecated use of `qw(...)` as parentheses.
- Fixed test failures due to a change in the opration of MIME-Q
encoding.
0.05 Sat Feb 19 03:51:57 CET 2011
[ENHANCEMENTS]
- Add support for Text-content-sha1 node property
- Don't create text or property blocks if they don't exist in
a dump. (Rocco Caputo)
- Add a digest() method to SVN::Dump::Text
(Inspired by a patch by Scott MacPhee, RT #56868)
- Add support for Text-content-sha1 / Text-copy-source-sha1
(RT #60207)
- New option check_digest that will, when reading a non-delta
dump, ensure that the content digest are valid
- Properly ignore blank lines between records (RT #25467, #28645)
2010 12 17
- added new flag -it=n or --iterations=n
This flag causes perltidy to do n complete iterations.
For most purposes the default of n=1 should be satisfactory. However n=2
can be useful when a major style change is being made, or when code is being
beautified on check-in to a source code control system. The run time will be
approximately proportional to n, and it should seldom be necessary to use a
value greater than n=2. Thanks to Jonathan Swartz
- A configuration file pathname begins with three dots, e.g.
".../.perltidyrc", indicates that the file should be searched for starting
in the current directory and working upwards. This makes it easier to have
multiple projects each with their own .perltidyrc in their root directories.
Thanks to Jonathan Swartz for this patch.
- Added flag --notidy which disables all formatting and causes the input to be
copied unchanged. This can be useful in conjunction with hierarchical
F<.perltidyrc> files to prevent unwanted tidying.
Thanks to Jonathan Swartz for this patch.
- Added prefilters and postfilters in the call to the Tidy.pm module.
Prefilters and postfilters. The prefilter is a code reference that
will be applied to the source before tidying, and the postfilter
is a code reference to the result before outputting.
Thanks to Jonathan Swartz for this patch. He writes:
This is useful for all manner of customizations. For example, I use
it to convert the 'method' keyword to 'sub' so that perltidy will work for
Method::Signature::Simple code:
Perl::Tidy::perltidy(
prefilter => sub { $_ = $_[0]; s/^method (.*)/sub $1 \#__METHOD/gm; return $_ },
postfilter => sub { $_ = $_[0]; s/^sub (.*?)\s* \#__METHOD/method $1/gm; return $_ }
);
- The starting indentation level of sections of code entabbed with -et=n
is correctly guessed if it was also produced with the same -et=n flag. This
keeps the indentation stable on repeated formatting passes within an editor.
Thanks to Sam Kington and Glenn.
- Functions with prototype '&' had a space between the function and opening
peren. This space now only occurs if the flag --space-function-paren (-sfp)
is set. Thanks to Zrajm Akfohg.
- Patch to never put spaces around a bare word in braces beginning with ^ as in:
my $before = ${^PREMATCH};
even if requested with the -bt=0 flag because any spaces cause a syntax error in perl.
Thanks to Fabrice Dulanoy.
1.28 Wed 2 Mar 2011
- The ->isa in the 5.10 operator and magic variable tests were
back the front, breaking both. Fixed (ADAMK)
- Magic variable rules now check using ->symbol method instead of
->content so that $+{foo} are correctly treated like %+ (ADAMK)
- Removed -w from tests to allow testing with Tainting on (ADAMK)
1.27 Sat 26 Feb 2011
- Updating to Module::Install::DSL 1.00
- Updating copyright year
- Fix detection of binary numbers (Alexandr Ciornii)
- Add check for variables added in 5.5 (Alexandr Ciornii)
- Correct detection of different cases of '...' (Alexandr Ciornii)
- Detection of bareword that ends with double colon (Alexandr Ciornii)
[1.116] Released on 2011-05-15
Policy Changes:
* BuiltInFunctions::ProhibitLvalueSubstr does not report violations
if the document contains an explicit 'use n.nnn;' where the
version is before 5.005. RT #59112
* Documentation::RequirePodSections no longer blows up on code
having POD but no =head1. This problem was introduced with RT
#59268. RT #67231
* RegularExpressions::ProhibitUnusedCapture should more reliably
find things like s/(a)/${1}2/. RT #67273.
* ValuesAndExpressions::ProhibitMagicNumbers and
Module::RequireVersionVar now treat versions passed as the second
argument of a 'package' statement the same as versions declared as
'our $VERSION ...'. RT #67159
* Variables::RequireLexicalLoopIterators does not report violations
if the document contains an explicit 'use n.nnn;' where the
version is before 5.004. RT #67760
[1.115] Released on 2011-03-31
Minor bits:
* Fatal error in RegularExpressions::ProhibitUnusedCapture here
document check. RT #67116.
* Internal POD error in Documentation::RequirePodLinksIncludeText. Patch
by Salvatore Bonaccorso. RT #67012
[1.114] Released on 2011-03-26
Policy Changes:
* Documentation::RequirePodLinksIncludeText now handles nested POD
formatting. RT #65569
* Clarified relation of severity numbers to names in Perl::Critic
POD. RT #66017
* Removed caveats from Variables::RequireLocalizedPunctuationVars,
no longer necessary with PPI 1.208. RT #65514
* Have InputOutput::RequireBriefOpen attempt to expand scope as
necessary to deal with the case where the open() and the
corresponding close() are not in the same scope. RT #64437
* RegularExpressions::ProhibitUnusedCapture now looks inside
double-quotish things. RT #38942.
* RegularExpressions::ProhibitUnusedCapture now takes logical
alternation into account, so that (e.g.)
if ( /(a)/ || /(b)/ ) {
say $1;
}
is not a violation. RT #38942.
* ValuesAndExpressions::ProhibitCommaSeparatedStatements now
recognizes 'return { foo => 1, bar => 2 }' as containing a hash
constructor, not a block. This was fixed by PPI 1.215. RT #61301.
* ValuesAndExpressions::ProhibitCommaSeparatedStatements now
recognizes 'bless { foo => 1, bar => 2 }' as containing a hash
constructor, not a block. This was fixed by PPI 1.215. RT #64132.
[1.113] Released on 2011-02-14
New Policies:
* InputOutput::RequireEncodingWithUTF8Layer recommends
':encoding(utf8)' over ':utf8' in open() and binmode(). It is severity 5
because of the bad things that can happen if invalid UTF8 gets loose in
your code.
* Modules::ProhibitConditionalUseStatements prohibits
'use module' inside a conditional, since the statement is executed
unconditionally at compile time. Thanks to Peter Guzis for submitting
the policy and tests in RT #59065.
Policy Changes:
* CodeLayout::RequireConsistentNewlines produces multiple undefined
value errors when a violation is found. RT #65663
* ControlStructures::ProhibitMutatingListFunctions allows s///r,
which was introduced in 5.13.2.
* ControlStructures::ProhibitPostfixControls now looks for "when". It is
treated in the same way as "if".
* Documentation::RequirePodSections now honors '## no critic'
annotation anywhere before the '__END__', '__DATA__', or first
'=head1', whichever comes first. The line number of the offending
'=head1 NAME' was added to the violation description. RT #59268.
* RegularExpressions::ProhibitUnusedCapture now takes account of the
use of $- and $+ (and their English equivalents under 'use
English') provided the subscripts are literal integers.
* RegularExpressions::ProhibitUnusedCapture now takes account of the
use of capture variables in the replacement portion of
s/.../.../e.
* Subroutines::ProhibitUnusedPrivateSubroutines now looks inside
regular expressions.
* ValuesAndExpressions::ProhibitMagicNumbers now supports Const::Fast.
* ValuesAndExpressions::ProhibitMagicNumbers now has a
constant_creator_subroutines parameter to allow the user to
configure the names of subroutines that create constants. RT #62562.
* ValuesAndExpressions::ProhibitMismatchedOperators didn't handle file
test operators properly. Patch by H.Merijn Brand. RT #58751
* Variables::ProhibitUnusedVariables now looks inside regular
expressions.
* ValuesAndExpressions::RequireInterpolationOfMetachars now detects
and complains about "\b" and "\l" as documented in perlop, and
"\1" through "\7", which are not documented there, but were found
in toke.c.
New Developer Features:
* uses_module(), namespaces(), and subdocuments_for_namespace() methods on
Perl::Critic::Document.
* Perl::Critic::Document->new() now accepts a -filename-override argument
for setting the filename when the source code comes from something
other than an actual file.
Other Changes:
* Test::Perl::Critic::Policy no longer exports by default.
* Build phase now requires Test::Deep.
* Added example using Try::Tiny to documentation of
ErrorHandling::RequireCheckingReturnValueOfEval. Suggested by Andy
Lester on the developers mailing list.
* In order to get more consistent behavior across all installations of
Perl::Critic, IPC::Open2 (which actually is part of core), PPIx::Regexp,
Perl::Tidy, Pod::Spell, and Text::ParseWords are no longer optional
prerequisites.
* Now depends upon PPIx::Utilities v1.1.0.
Bug Fixes:
* Build.PL/Makefile.PL didn't specify a minimum version of version.pm, but
TestingAndDebugging::RequireUseStrict did. RT #58952
* Perl::Critic::Annotation needs to look inside the __END__ statement to
find the true end of the document, otherwise POD policies may give false
positives. RT #59176
* BuiltinFunctions::ProhibitStringyEval no longer dies on eval
"#...". RT #60179
* RegularExpressions::ProhibitUnusedCapture now takes account of the
%LAST_PAREN_MATCH as well as %+ if English has been loaded. RT #60002
* Subroutines::ProhibitManyArgs now interprets prototype groups (e.g.
\[$@%]) as representing a single argument.
* Require Exporter version 5.63 (versus version 0) to get sane handling of
export tags. RT# 61071
* Prevent Subroutines::ProhibitUnusedPrivateSubroutines from failing
on &_subroutine(). RT #61311
* Subroutines::ProhibitAmpersandSigils now allows references of the
form \( &sub1, &sub2 ). RT #49609
[1.112_002] Released on 2011-02-09
[1.112_001] Released on 2010-12-14
Changes summarized into 1.113 above. For exact details, see Changes on
BackPAN.
[1.111] Released on 2010-12-14
Bug Fixes:
* TestingAndDebugging::ProhibitNoStrict and ProhibitNoWarnings no longer
rely on the behavior of all() when the list is empty due to change in
List::MoreUtils 0.28. RT #63816
[1.110_001] Released on 2010-11-30
Changes summarized into 1.113 above. For exact details, see Changes on
BackPAN. (Yes, all of this stuff was not in 1.111.)
0.021 T. R. Wyant 22-Jul-2011
Modified tokenizer to correctly handle a back slash used as a
delimiter. I believe.
PPIx::Regexp::Dumper now dumps the results of ppi() if that method is
present and -verbose is asserted.
0.020 T. R. Wyant 02-Apr-2011
Corrected perl_version_introduced():
\R is now 5.009005 (was 5.000).
0.019 T. R. Wyant 01-Mar-2011
Various corrections to perl_version_introduced():
\X is now 5.006 (was 5.000);
\N{name} is now 5.006001 (was 5.006);
\N{U+xxxx} is now 5.008 (was 5.006).
The \C is now parsed as a PPIx::Regexp::Token::CharClass::Simple. It
was previously considered a PPIx::Regexp::Token::Literal.
Ensure that \N{$foo} parses as a Unicode literal, not a quantified \N.
The ordinal() method returns undef for this.
Understand the /aa modifier, introduced with 5.13.10.
Report perl_version_introduced() of 5.013010 for the new semantic
modifiers when modifying the entire expression.
Correct handling of interpolations like ${^foo} and $#{foo}.
0.018 T. R. Wyant 16-Feb-2011
No changes (other than version) since 0.017_02.
0.017_02 T. R. Wyant 31-Jan-2011
Override ppi() in PPIx::Regexp::Token::Interpolation to provide the
proper PPI when variable names are bracketed.
Properly parse bracketed variable names (I hope!), which may not be
subscripted.
0.017_01 T. R. Wyant 28-Jan-2011
Take account of possible '$' or '@' casts before a symbol in an
interpolation (e.g. $$foo{bar}, which is equivalent to $foo->{bar}).
0.017 T. R. Wyant 26-Jan-2011
Add the /a modifier to PPI::Regexp::Token::Modifiers, legal only in
the (?:...) construction. This was introduced in Perl 5.13.9.
When parsing an interpolation from a replacement string (rather than a
regular expression), take subscripts at face value rather than
trying to disambiguate them from quantifiers and character classes,
which they can't be in this context.
0.016 T. R. Wyant 05-Jan-2011
The PPIx::Regexp::Token::Code perl_version_introduced() method now
returns the minimum Perl version (currently set to 5.000) if it is
used to represent the substitution portion of s///e.
Update copyright to 2011.
0.015 T. R. Wyant 25-Oct-2010
Documented intent to revoke support for features introduced in a
development Perl which do not make it to a production release. This
is necessary because in this case the syntax could be reused with
different semantics.
Added support for Perl 5.13.6 (?^...) construction.
Added support for Perl 5.13.6 d, l, and u modifiers.
Fixed inconsistency in perl_version_introduced() results between
PPIx::Regexp::Token::Modifier and
PPIx::Regexp::Token::GroupType::Modifier.
Corrected PPIx::Regexp::Constant RE_CAPTURE_NAME docs, somehow missed
back at 0.010_01.
0.014 T. R. Wyant 14-Oct-2010
Recognize \o{...} as a PPIx::Regexp::Token::Literal, with
perl_version_introduced() of 5.0013003.
Terminate \0.. through \7.. after three characters, as Perl does.
These two were brought to my attention by Brian D. Foy's "The
Effective Perler" for October 11 2010,
http://www.effectiveperlprogramming.com/blog/697
Correct the PPIx::Regexp::Token::Literal ordinal() method for '\b'. As
a literal, this is a back space.
0.013 T. R. Wyant 10-Oct-2010
Declare a parse failure if characters are found between the '}' and
the ')' of (?{...}) and (??{...}), and rebless the tokens to
::Unknown. Perl does not accept anything here, so I think I should
not either.
Whitespace tweak in the PPIx::Regexp::Dumper test output for the
failures test.
Replace the PPI logic in PPIx::Regexp::Token::Code with a call to
$tokenizer->find_matching_delimiter(). This is actually the way Perl
works, as a look at toke.c and regcomp.c makes clear.
Push the perl_version_introduced() back to 5.0 at the request of
Alexandr Ciornii, for the potential benefit of Perl::MinimumVersion.
This was done mostly by reading the various perlre, perldelta, and
perlop documents, so these should be taken with a HUGE grain of
salt.
0.012 T. R. Wyant 26-Sep-2010
Track all the features reported as introduced (or removed) in Perl
5.010 back to Perl 5.009005, and report them as such.
Report modifier /r as having been introduced in Perl 5.013002, rather
than the default of 5.006.
1.215 Sat 26 Feb 2011
Summary:
- No changes
Details:
- Confirmed new Perl::Critic works with 1.214_02, so we
can release a new PPI now.
1.214_02 Mon 31 Jan 2011
Summary:
- More minor fixes, preparing for production release
Details:
- Updated copyright year to 2011 (ADAMK)
- Fixed RT #64247 bless {} probably contains a hash constructor (WYANT)
- Backed out glob fix (WYANT)
- Fixed RT #65199 Cast can trump braces in
PPI::Token::Symbol->symbol (WYANT)
1.214_01 Thu 16 Dec 2010
Summary:
- General fix release
Details:
- index_locations on an empty document no longer warns (WYANT)
- Corrected a bug in line-spanning attribute support (WYANT)
- Regression test for line-spanning attribute support (ADAMK)
- Fixed#61305 return { foo => 1 } should parse curlys as hash
constructor, not block (WYANT)
- Fixed#63943 map and regexp confuse PPI? (ADAMK)
1.04 Wed 20 Apr 2011
- Fixed#67522 have_compiler returns
1.03 Mon 22 Nov 2010
- No CPAN Testers failures, moving to production release
1.02_01 Thu 16 Sep 2010
- Trying for a much more advanced can_xs() alternative to can_cc()
to deal with the situation where a host has a superficially
working compiler, but completely screwed up headers.
- Adding some fallback strategies to deal with cases where these
same machines don't support configure_requires.
- Adopt Chorny's eumm-upgrade style for the Makefile.PL.
- Allow the Makefile.PL to build it's own META.yml now.
0.50 Aug 09 2011
- fixed retrieving of movie rating (ticket #69049);
- fixed returning of MPAA rating;
- fixed parsing of movie title;
- fixed parsing of person name;
- fixed variuos tests.
Please note that this module is long-since abandoned. While I do accept
patches, and occasionally apply them, for the most part it is
recommended that you move off of this module and use the various modules
developed by the datetime project. You can find out more about the
datetime project at http://datetime.perl.org/
2011-05-10
* Applies patch from Mark Alway for situation where min, hour, and
sec are all '00'. However, a reminder that you should be using the
DateTime modules instead.
2009-08-19 09:23 rbowen
* No functional changes in this revision, just a move to svn and a
cleanup of the documentation, removing references to long-defunct
URLs, and adding references to the datetime.perl.org project, where
you really should be looking for all of your Perl datetime needs.
3.0202 July 23, 2011
- Moved tag-release.pl to scripts/tag-release.pl (though we now use
Mercurial instead of Subversion.)
- Add t/mode.t to test the ->mode() method.
- Documented ->mode() better.
- Optimized ->mode().
3.0201 October 14, 2010
- Add some documentation clarifying the 0th percentile return, as it
returns undef() for representing -inf:
- Fix https://rt.cpan.org/Ticket/Display.html?id=62055
- Thanks to Dave Breimann for reporting it.
- Add the tag-release.pl to tag a release using Subversion.
0.43 Tue 02 Aug 2011
- Changed name in META.yml (RT#69574)
0.42 Wed 01 Jun 2011
- Add --html output option to xlscat
- Force CSV parser when in-sep is given
- Prefer Data::Peek over Data::Dumper if available
0.41 Wed 06 Oct 2010
- Spell-check
- Fixed requiring optional modules (RT#61928 - Roderick Schupp)
0.59 April 6 2011
+ Patch for decryption of default encrypted workbooks from
Alexey Mazurin.
! Fix for invalid formatting of text cell that are numeric.
http://rt.cpan.org/Public/Bug/Display.html?id=62073
Changes in Racket 5.1.3
This is a bugfix release, resolving the DrRacket issue with
the contour view. In addition, two tex files with problematic
licensing were removed.
Changes in Racket 5.1.2
* The download page includes 64-bit installers for Mac OS X,
Windows, and two Debian flavors. Racket now supports OS X Lion.
* Racket now includes a new `racket/place' library to support
parallelism, complementing `racket/future'. Racket's parallel
build process is now based on places instead of multiple OS
processes.
Places support share-nothing parallelism and message-passing
communication. Compared to futures, places are heavyweight, but
they have a simpler performance model.
* The syntax-certificate system has been replaced by a syntax-taint
system. Both certificates and taints were designed to protect
otherwise inaccessible bindings from abuse when they appear in
macro expansions. Taints are simpler and lighter, and the switch
closes known holes in the certificate system. Macros that are not
implemented with `syntax-rules' or `define-syntax-rule', however,
must explicitly use `syntax-protect' to protect their expansions
from abuse.
* The `net/url' library supports HTTPS connections, but beware that
by default all sites are accepted (equivalent to ignoring a
browser's warnings about untrusted certificates).
* Error messages in the student languages use a simplified
vocabulary and consistent phrasings. If you maintain curriculum
material or teachpacks then please consider updating. See the
"Error Message Composition Guidelines" section in the
documentation for details.
* Typed Racket: almost all core Racket data structures and
operations are now accessible in Typed Racket (most of this work
is due to prolific contributor Eric Dobson). The performance of
the typechecker has been significantly improved.
* The `scriblib/bibtex' library supports BibTeX-formatted citation
databases in Scribble documents. BibTeX can be tricky to parse,
so please report failed entries as bug reports.
* The `for' forms now support an `#:unless' clause, and a
nonnegative integer can be used as a sequence. The new `compose1'
function creates single-valued composition functions. The
`racket/function' library now provides `identity', `thunk', and
`thunk*'.
* The license has been clarified: we now use LGPLv2.1 uniformly.
(The license file used to specify LGPLv2, contrary to the download
pages.)
2011-02-26 v1.16 pjacklam (6153 tests)
* Change bigintpm.inc to reflect recent changes in the Math::BigInt
distribution (Peter John Acklam).
2011-02-10 v1.15 pjacklam (6151 tests)
* Include latest version of test scripts from Math-BigInt (closes RT #65580)
(Peter John Acklam).
* Add 00sig.t for testing SIGNATURE, and 01load.t for basic module loading and
giving diagnostics useful for bug tracking (Peter John Acklam).
* Rename pod.t to 02pod.t and pod_cov.t to 03podcov.t and use more generic
code (Peter John Acklam).
* Clean up whitespace (Peter John Acklam).
2011-02-26 v1.36 pjacklam (6362 tests)
* Change bigintpm.inc to reflect recent changes in the Math::BigInt
distribution (Peter John Acklam).
* Use a _nok() function more similar to the one in Math::BigInt::Calc
(Peter John Acklam).
2011-02-08 v1.35 pjacklam (6361 tests)
* Rename files for testing signature, module loading, and POD so the names
are within the 8+3 character limit (Peter John Acklam).
* Rename method _nok_ok() to the correct _nok(). There ought to have been a
test catching an error like that (Peter John Acklam).
* Fix _nok() giving wrong output when second input argument is zero
(Peter John Acklam).
* Fix _nok() so it doesn't modify its second input arg (Peter John Acklam).
* Update the included Devel::CheckLib to most recent version as suggested in
RE #63055 (Peter John Acklam).
* Apply "chmod 0644" to the few test scripts that don't already have that
mode (Peter John Acklam).
2011-02-07 v1.34 pjacklam (6361 tests)
* Rename _num() to _str(). The old _num() did exactly what _str() is supposed
to do, according to the API documentation (Peter John Acklam).
* Add a _num() function which (currently) simply numifies the output from
_str() (Peter John Acklam).
* Clean up whitespace (Peter John Acklam).
* Fix POD errors (Peter John Acklam).
* Add _nok() method. Now the old claim that Math::BigInt::GMP conforms to API
version 2 is actually true (Peter John Acklam).
* Edit the test files that were copied from the Math::BigInt distribution, so
we now test Math::BigInt against Math::BigInt::GMP, not Math::BigInt::Calc.
I had forgotten this when I copied the test files from the Math::BigInt
distribution. This reduces the total test count, since some test are not
executed with Math::BigInt::GMP (Peter John Acklam).
* Replace morse code in 'README' with proper text (Peter John Acklam).
* Include '01-load.t' for explicitly testing module loading (Peter John
Acklam).
* Use more generic code in 'pod.t' and 'pod_cov.t' (Peter John Acklam).
2011-01-30 v1.33 pjacklam (6411 tests)
* Fix _modinv() so that it works the same way as _modinv() in other
Math::BigInt libraries: The output arguments are an object and the
corresponding sign, not undef (Peter John Acklam).
* Include most recent versions of the test files from the Math-BigInt
distribution (bigfltpm.inc, bigfltpm.t, bigintpm.inc, bigintpm.t,
biglog.t, and bigroot.t) (Peter John Acklam).
* Include generic SIGNATURE test file (Peter John Acklam).
* Required version of Math::BigInt is now 1.99_05 (Peter John Acklam).
0.09 Mon Dec 06 2010
- explicit use of of Math::BigInt to avoid confusing Devel::Cover
0.08 Mon Dec 06 2010
- don't short-circuit encoding '0' so it gets proper padding.