1.34 2023-09-24
- Fix issue #19 (AKA rschupp/PAR-Packer#78): invalid paths in zip file
- Restore behaviour from version 1.31 when using "pp --execute ..." or
"scandeps.pl --execute ...".
When using "scan_deps(execute => 1, ...)", %INC as gleaned from
running the script must be sanitized. Contrary to documentation
"The key is the filename you specified (with module names
converted to pathnames)" %INC *may* contain keys that are
*absolute pathnames* (or start with "./relativ/path" when
"relative/path" is in @PATH). Examples are autosplitted modules
(for autosplit.ix and *.al files). pp will pack these absolute
paths into the zip (Archive::Zip doesn't complain) which
results in strange error messages when the packed executable
tries to unpack them under CACHEDIR/inc on Windows.
Add t/19-autosplit.t to test for this.
Add IPC::Run3 to TEST_REQUIRES, used in t/19-autosplit.t
- Add GitHub CI
1.33 2023-08-04
- Recognize Moose/Moo/Mouse style inheritance ("extends")
or composition ("with") statements.
- Add %Preload entries for known dependants of XS::Parse::Keyword.
Note: XS::Parse::Keyword is loaded from XS code, grep.metacpan.org
for calls of boot_xs_parse_keyword() in *.xs files.
1.32 2023-07-05
- Ensure $inc gets removed from the start of $File::Find::name
On Windows, if $inc contains backslashes then it won't always get removed
from the start of $File::Find::name because the latter may be canonicalized
to only contain forward slashes.
- Provide dedicated test scripts for some tests instead of using
the test scripts themselves: Test::More draws in all kinds of stuff,
totally unpredictable
- Rewrite test helpers in t/Utils.pm to use Test::More's subtest feature
- Code cleanup; fix detection of 'do STRING' (cf PR #15)
- scandeps.pl: sort items in "used by" column
- Handle spaces after quote operator, e.g. eval qq {Some::Module}
- Fixes #12: share dir not returned when require module is in an eval
- Recognize constructs like "eval qq{require Inline::C}".
- Recognize idioms like "if (eval { require Foo }) { ..."
- Add %preload rules for some Mojo resource files
Fixes rschupp/PAR-Packer#44
- Bump perl dependency to guard against ancient perls without FindBin::again()
- Add tool to trace when (and from where) Perl searches for a module
1.31 2021-04-21
- Try to match more PerlIO ":layer(args)" in open() or binmode()
e.g. Spreadsheet::ParseODS uses ":gzip(none)";
Thanks, @shawnlaffan, for the suggestion (cf. PR #12)
- XML::Twig::XPath needs either XML::XPathEngine or XML::XPath
XML::Twig may use URI if present
- Moo may use Class::XSAccessor if present
- Fixes #10 "Support IUP.pm Module"
1.30 2021-01-13
- change bugtracker to GitHub issues
- guard against trailing slashes for paths in @INC
- interprete more common "use lib" idioms
1.29 2020-08-16
- implement interpretation of stuff like
use FindBin;
use lib "$FindBin/../lib";
1.28 2020-08-06
- placate cperl ("Attempt to change hash while iterating over it.")
- make _find_encoding() more robust
1.27 2019-01-15
- fixes by Shawn Laffan <shawnlaffan@gmail.com>
- Process lines like "{ package foo; use if 1, "warnings"; } (#8)
- Also handle 'do {use module; ...}'
- some clean ups
- scandeps.pl: sort output by module name
- add_deps(): use _gettype() instead of inline code
- _compile_or_execute(): require DynaLoader _before_ accessing
its variables
- t/7-check-dynaloader.t: improve diagnostics
- drop Cwd from the list of potential XS modules
- suppress warnings in some ancient Perls
1.26 2018-12-12
- Glue DLLs of XS modules should have type "shared" rather than "data"
Detection broke on Windows where nowadays $Config{dlext} = "xs.dll"
(i.e. it's not a simple suffix)
- Mention some other modules: Module::ExtractUse and Perl::PrereqScanner::* family
- Add %Preload rules for:
- JSON::MaybeXS
- HTTP::Entity::Parser
- FFI::Platypus
1.25 2018-08-18
- Merge pull request #2 from shawnlaffan/master, thanx Shawn!
continue scanning one-liners when use if, autouse or >5.010 found
- Fix how data obtained from compiling or executing a file
is incorporated (_info2rv).
Sanitize all pathnames to use slash (instead of backslash):
- members of @INC
- keys and values of %INC
- members of @dl_shared_objects
This should make stripping @INC prefixes finally work.
- Add %Preload rule for FFI::Platypus
- Add bugtracker to META.yml
1.24 2017-06-28
- Merge pull request from Salvador FandiƱo (salva), thx!
Specio::PartialDump uses unicore
- Fix RT#119737: Problems with detecting DateTime::Format::Natural dependencies
... by adding a %Preload rule
1.23 2016-11-16
- add %Preload rules for List::SomeUtils and Pod::Simple::Transcode
- get rid of Module::Install, use ExtUtils::MakeMaker
1.22 2016-09-17
- Fix RT#117887: Not parsing new release of Net::DNS::Resolver
add %Preload rule for Net/DNS/Resolver.pm
- Move to GitHub. Thanks, OpenFoundry, for years of service.
1.21 2016-04-05
- %Preload: add rules for List::MoreUtils and Log::Dispatch
- %Preload: make the following modules require the unicore stuff:
charnames.pm
Unicode/Normalize.pm
Unicode/UCD.pm
- add helper _glob_in_inc_1()
- remove all references to http://par.perl.org/, doesn't exist anymore
1.20 2015-10-04
- Fix RT #107304: Newer versions of File::Path cause warning "_Inline for _Inline: No such file or directory at Module/ScanDeps.pm line 1339."
- drop the dubious call to rmtree()
- Fix RT106142: Preload dependencies for PDL and PDL::NiceSlice
- adopted from a patch by Shawn Laffan, thanks Shawn!
- Fix RT#106144: Preload dependencies for File::BOM)
- adopted from a patch by Shawn Laffan, thanks Shawn!
- Revise our stance on utf8.pm:
- A line of "use utf8;" just means "this file is encoded in UTF-8"
and should _not_ result in scanning utf8.pm which will pull in
the whole Unicode shebang (propery tables and what not).
Yes, utf8.pm *does* contain "require utf8_heavy.pl", but only inside
an AUTOLOAD() that is *not* triggered by calling functions
like utf8::is_utf8().
- OTOH the innocently looking one-liner
perl -ne 'print if /\pN/'
implicitly loads utf8.pm and triggers the AUTOLAD().
- So prevent utf8.pm from being scanned and make utf8_heavy.pl
the indicator for "I need the Unicode stuff" instead.
- Cache the results of _get_preload('utf8_heavy.pl').
- Make %Preload "transitive" so that given
my %Preload = (
'Foo.pm' => [ 'Bar.pm' ],
'Bar.pm' => [ 'Quux.pm' ],
...
);
scan_deps_static() registers a dependency on Bar.pm _and_
Quux.pm when it has seen "use Foo;"
- Minor changes:
- drop dubious %Preload of utf8.pm for SOAP::Lite and XML::Parser::Expat
- drop code for Perl < 5.008 as we require 5.8.1 already
- rework the implementation of -x/-c
- add add_preload_rule() to dynamically add a %Preload rule
- recognize constructs like "open FH, '<:via(Foo)', ..."
- upgrade to Module::Install 1.16
1.19 2015-05-27
- add %Preload rule for LWP::MediaTypes: data file LWP/media.types
- add %Preload entry for MIME::Types: data file MIME/types.db
- add %Preload rule for AnyEvent
- always add Encode.pm when fix encountering constructs like
decode("klingon", ...)
open FH, "<:encoding(klingon)", ..
- add license
- update OpenFoundry repository URL
1.18 2015-01-19
- Fix RT #101569: Incorrect module parsing if Moose is included
1.17 2014-10-31
- scandeps.pl: die if an option is not recognized
- Reformat Changes file according to CPAN::Changes::Spec
- Modify %Preload rule: let Unicode::UCD explicitly imply utf8.pm.
This fixes PAR::Packer's self test.
Previously Unicode::UCD implied utf8.pm implicitly because
it contains calls to some utf8::foo() functions.
- Add %Preload rule: Mozilla::CA requires its cacert.pem file
- Recognize "do filename" constructs even if "do" isn't at the start
of a chunk.
- Upgrade to Module::Install 1.14
1.16 2014-09-28
- Fix RT#98938: recognize Module::Runtime module-loading functions
- Fix a nasty typo that broke scandeps.pl option -E
$ scandeps -E "some string"
Unknown option: E
Can't open some string: No such file or directory at scandeps.pl line 49.
- also scandeps.pl: die if an option is not recognized
- Remove some overzealous heuristics from scan_chunk()
- they were looking for
Foo::Bar->something
Foo::Bar::whatever(...)
_anywhere_ in programs to infer a dependency on Foo/Bar.pm.
BEWARE: This might break some use cases, i.e. missing some dependencies.
On the other hand, this causes hard to investigate problems like the one
starting at http://www.mail-archive.com/par@perl.org/msg05531.html.
While the former can easily be worked around by the user itself (just
add a missing dependecy explicitly, e.g. using "pp -M ...") and
typically can be solved in general by adding a %Preload rule,
the latter just wastes people's times.
- Recognize Test::More require_ok() and use_ok()
- makes 3-static_oo_interface_real.t pass again (fallout from the above)
- Upgrade to Module::Install 1.12
- Add option -T to request information from CPAN
- don't access CPAN behind the user's back just because they have
CPANPLUS installed (it was in the Perl core from 5.10 to 5.18) -
it might not even have been configured (e.g. in a corporate internet)
- only do this when explicitly requested
1.15 2014-08-23
- Fix RT #98203: Migrate from deprecated Module::Build::ModuleInfo to Module::Metadata
- thanx Petr Pisar (ppisar@redhat.com) for the hint
- add long option names to scandeps.pl
- implement option --xargs for scandeps.pl
- fix wrong version numbers in Changes
1.14 2014-08-03
- Fix RT #92860 (t/7-check-dynaloader.t doesn't handle systems with mod2fname),
also RT #97519 (Fix for t/7-check-dynaloader.t on systems with DynaLoader::mod2fname)
- applied patch from Brian Fraser (fraserbn@gmail.com), thanks!
- lib/Module/ScanDeps/DataFeed.pm: apply here, too
1.13 2013-12-21
- Fix recognition of (open() arguments) "<:encoding(klingon)",
implies modules PerlIO and PerlIO::encoding.
1.12 2013-12-01
- Fix RT #90869: Use of uninitialized value $module in substitution (s///)
- Fix RT #87775: typo fixes, thanks dsteinbrunner@pobox.com
- new %Preload rule for B::Hooks::EndOfScope
- new %Preload rule for Pod::Usage
- add a fake %Preload rule that warns if use of Module::Implementation
or Module::Runtime is detected (coz' they're doing runtime loading)
- change some tests to use Test::Requires instead of homegrown stuff;
hence add it to "test_requires"
- clean up some uses of Test::More
1.11 2013-09-28
- Fix RT #89000: test broken by indirect base.pm disuse
- delete base.pm from list of expected deps,
patch by Andrew Main (zefram@fysh.org)
- new %Preload rule for Net::HTTPS (e.g. used by LWP::Protocol::https)
- look for IO::Socket::SSL or Net::SSL
- new %Preload rule for YAML::Any
- try to figure out what YAML::Any would have used
(using YAML::Any->implementation)
- as fallback, include anything below YAML
1.10 2012-10-20
- add %Preload rule for Params::Validate to detect
its PP and XS implementations
- Fix RT #80276 Module DateTime::Format::ISO8601 generates error
after being packaged
- caused by failing to pack DateTime::Format::Builder::Parser::XXX modules
needed by DateTime::Format::Builder::Parser
- add a corresponding %Preload rule
- update to Module::Install 1.06
1.09 2012-09-09
- teach Module::ScanDeps about "use if ..." constructs
- fixes CPAN Testers failures for PAR::Packer with perl 5.17.1 and up
(Roderich Schupp)
- RT #79003: t/7-check-dynaloader.t failing when /usr/lib != /usr/lib64
- scrap the test for "$entry{file} starts with $expected_prefix" as
its assumptions are flawed (Roderich Schupp)
- Mojo::Base is a loader (Alexandr Ciornii)
- Special case for Class::Load (Alexandr Ciornii)
1.08 2012-02-21
- RT #73785: scandeps -c fails on modules that depend on Getopt::Euclid
- for "scandeps -c ..." switch from an INIT block to a CHECK block
and call the augmented script with "perl -c" instaed of "perl"
- RT#72954 ":encoding(UTF-8)" doesn't imply a dependency on Encode.pm
- if scan_chunk sees ":encoding(FOO)" or similar, it goes to some
length to find the "external" Encode module to handle FOO; but it
forgets that Encode.pm itself is needed at runtime (esp. if FOO
is an encoding "internally" handled by Encode.pm, e.g. "UTF-8")
- %Preload: add rules for Gtk2.pm and Pango.pm
- %Preload: fix a problem with Image::ExifTool
1.07 2011-11-29
- RT #72796: dynaloader test fails when the .so files are in the
system lib dirs and local::lib is involved?
Relax a check in t/7-check-dynaloader.t
- Update Module::Install to 1.04
1.06 2011-11-28
- RT #72211: pp includes way too much modules (when using 'use strict;')?
Rework regexes to detect "use MODULE ...":
the following line from unicore/mktables
my $unihan = 'Unihan properties are by default not enabled in the Perl core. Instead use CPAN: Unicode::Unihan';
would erroneously detect a dependency on CPAN.pm (which will in turn
pull in a lot of modules)
- Bump Perl version requirement to 5.8.1 (Schwern: The End Of 5.6 Is Nigh!)
- Rewrite t/7-check-dynaloader.t to look for more candidates of dynamic modules
that might be used as test cases
1.05 2011-11-02
- RT #72082: $FindBin::Bin issue on Moudel::ScanDeps 1.04
Make FindBin work (at least with option -c or -x) by spoofing $0
in the temp script generated for M:SD::DataFeed
- RT #70134: patch suggestions for Module::ScanDeps 1.04: additional preload
rules, used_via_preload attribute
Add suggested %Preload rules from the attached patch (thanks, Markus Jansen)
- Add %Preload rules for MozRepl
- Special case for Package::Stash (Alexandr Ciornii)
- Special case for Moose (Alexandr Ciornii)
1.04 2011-07-21
- Brown paper bag bug: fix option -x (execute) (broken by changes for -c)
- While we're at it: honor option -I with -c
1.03 2011-07-18
- RT #69213: ScanDeps incompatible with AnyEvent (Perl 5.14, AnyEvent 5.34, PAR 1.00.2)
For option -c (compile) M:SD used to wrap the file in one big sub and
appended an END block where it dumps %INC etc; the outer sub causes problems
with certain contructs. Instead we now use an INIT block prepended
to the file.
- RT #69471: Problem with "eval { require SomeModule }" constructions
Module::ScanDeps::DataFeed now omits %INC pairs with an undefined value
(these may be created by an unsuccessful "require" under certain conditions).
Also omit CODE refs from @INC.
- Fix for failing CPAN Testers report
http://www.cpantesters.org/cpan/report/4208fa16-a5d1-11e0-a0bc-c71a7862a918:
Perl 5.15.0 got rid of Shell.pm
- Fix for failing CPAN Testers report
http://www.cpantesters.org/cpan/report/772147dc-6c1f-1014-baf2-318eb63ba09a:
- regex meta characters in filenames break consistency check
- Simplify Module::ScanDeps::DataFeed somewhat by localizing %INC
around "require Module::ScanDeps::DataFeed" and by using Data::Dumper
for the actual dump.
- Don't create the tempfiles for DataFeed in the working directory.
- Purge all pod from Module::ScanDeps::DataFeed, advise the CPAN
indexer not to bother with it; same for Module::ScanDeps::Cache.
1.02 2011-04-03
- %Preload: add _all_ *.pl file below .../unicore for utf8.pm
1.01 2011-03-26
- %Preload: add "unicore/version" for Unicode/UCD.pm
(because it contains a call openunicode(..., "version"))
1.00 2011-02-19
- RT #65855: Special handling for POSIX requested (Roderich Schupp)
- RT #65252: Temp files left when execute fails (Roderich Schupp)
- add a %Preload rule for Log::Report::Dispatcher (Roderich Schupp)
cf. http://www.nntp.perl.org/group/perl.par/2011/01/msg4871.html
- add %Preload rule for Date::Manip (Roderich Schupp)
- speed up scanning *significantly* by not re-constructing regexen
for every line of input and reducing the no. of sub calls (Steffen Mueller)
- add Eric Roode to AUTHORS (Steffen Mueller)
- RT #61027: "use lib" does not work (Roderich Schupp)
scan_line(): When handling "use lib '/some/dir'" we add "/some/dir/ARCHNAME",
"/some/dir/VER" and "/some/dir/VER/ARCHNAME", but forgot
to add "/some/dir" itself.
While we're at it, improve parsing the argument list of "use lib".
Simply eval the string, this should at least make all forms of
quoted strings work correctly.
- fix URI special case (clkao)
- fix a regression reported by CPAN Testers (Roderich Schupp)
- finally: bump version to 1.00
0.98 2010-07-26
- Make %Preload entry for "utf8.pm" lazy (Roderich Schupp)
- Upgrade to Module::Install 1.00 (Roderich Schupp)
- RT #58093: Par-Packer not including all dependencies (unicore/Heavy.pl) (Roderich Schupp)
- Add %Preload rule for RPC::XML (Roderich Schupp)
- RT #57494: add %Preload rule for JSON.pm (Roderich Schupp)
0.97 2010-04-10
- Pack the content of module/distribution sharedirs is automatically. (kmx)
- RT #56020 - add data files used by Unicode::UCD (Roderich Schupp)
- RT #55746 - remove bogus "... if %Config::Config" condition (Roderich Schupp)
- Add special case for CGI::Application::Plugin::AutoRunmode (Alexandr Ciornii)
- Add special case for CGI::Application::Plugin::Authentication (Alexandr Ciornii)
- Add special case for DBIx::Perlish (Alexandr Ciornii)
0.96 2009-11-13
- perl 5.6.1 compatibility (Alexandr Ciornii)
- Test for "use module version;" (Alexandr Ciornii)
0.95 2009-10-16
- Fix "uninitialized value" warnings (Dave Rolsky)
- Add special case for Perl::Critic (Alexandr Ciornii)
- Add special case for Event (Alexandr Ciornii)
- Add special case for Wx.pm (Alexandr Ciornii)
- Add special case for Log::Any
0.94 2009-08-10
- Add tests for scan_line (Alexandr Ciornii)
- RT#48151 fixed, "require __PACKAGE__" should not die (Alexandr Ciornii)
- OS/2 fixes (Ilya Zakharevich)
0.93 2009-07-19
- Implement caching of dependencies (Christoph Lamprecht)
0.92 2009-07-19
- Fix bug with {type} being set to unexpected values in some cases (Christoph Lamprecht)
- Add tests for scan_chunk (Alexandr Ciornii)
- Add special case for parent.pm (Alexandr Ciornii)
- Fix for "use parent::something" (Alexandr Ciornii)
- Add special case for Catalyst.pm (Alexandr Ciornii)
0.91 2009-06-22
- Add special case for Tk's setPalette call (Christoph Lamprecht)
0.90 2009-05-09
- Add special case for DateTime::Locale
- Add special case for PAR::Repository and PAR::Repository::Client
0.89 2008-11-03
- Distribution fixes.
- Do not use base Exporter.
- Detection of 'asa' and 'only::matching'.
0.88 2008-10-28
- Add special case for File::HomeDir.
0.87 2008-10-28
- Add special case for PPI.
0.86 2008-10-23
- Fix the 'use prefork "Foo"' static detection.
- Fix the detection of any of the module-loader modules such as
prefork, autouse, etc. if invoked as 'use prefork"Foo"' (note
the lack of a space).
- Slightly refactor the loader-module scanning. (see above)
- Support for "use maybe 'foo';"
- Use (arch|priv)libexp instead of (arch|priv)lib
in scandeps.pl (Mark Stosberg)
- Update to Module::Install 0.77
0.85 2008-08-01
- Add special case for Net::Server.
0.84 2008-05-13
- Add special case for Class::MethodMaker.
0.83 2008-03-23
- Add special case for Image::ExifTool.
0.82 2008-01-08
- Add Test::More to build requirements (Alexandr Ciornii)
- Add dependency on version.pm
- Now correctly identifies feature.pm as a dependency if
"use 5.10.0;" (and up) is found.
0.81 2007-12-07
- Fix for the case-insensitive-file-system-test.
0.80 2007-11-30
- Fix to avoid duplicated entries arising from used_by references with
case differences.
- Do not report input files themselves as dependencies.
(Regression from 0.74 onwards)
- Remove warning from ScanFileRE tests.
0.78 2007-11-17
- Fix ScanFileRE heuristics to allow for scanning files without
suffixes.
0.77 2007-09-20
- Add support for prefork.pm (similar to how base.pm is detected).
- Added uses field to hash descriptions returned by scan_deps +
tests (Adrian Issott)
- Added ScanFileRE to restrict the files scanned to .pl, .pm, .al and
.t but allow the user to override + tests (Adrian Issott)
0.76 2007-07-21
- Fix special case for Term::ReadLine (should not rope in Tk)
- New special case for Tcl::Tk (should not rope in Tk either!)
- New special case for threads::shared ==> rope in attributes.pm
- Fix to avoid duplicated entries that can arise due to case
differences that don't actually matter on case-tolerant
systems (Adrian Issott)
- M::SD warnings now go to STDERR not STDOUT (Adrian Issott)
- Fixed bug #24162: scandeps.(bat|pl) doesn't correctly identify Core
Modules on Windows (Adrian Issott)
- Now finds shared libraries for modules specified as input files.
- Tests for finding shared libraries.
0.75 2007-06-24
- Fix special cases for POE. (Roderich Schupp)
- Added exported path_to_inc_name subroutine (Adrian Issott)
- Added Module::Build::ModuleInfo dependency (Adrian Issott)
- Fixed bug where input files weren't scoped properly
- Add new "check-for-dynaloader" test. (Eric Wilhelm)
0.74 2007-04-26
- Same as 0.73_01, but not a developer release.
0.73_01 2007-03-28
- Fixed bug "scan_deps doesn't show ALL the dependencies"
- Ensured all file entries are given by absolute paths
- Added a number of test artificial dependency trees as test data
mainly for "scan_deps doesn't show ALL the dependencies" bug
- Added tests for scandeps recurse option (all pass)
- Added tests for scandeps skip option (all pass)
- Added tests to show a duplicated dependency is in fact only shown
once (all pass)
- Added Utils.pm test module containing generic_scandeps_rv_test and
compare_scandeps_rvs subroutines (Adrian Issott)
0.73 2007-03-25
- Now being a little cleverer for detecting globs in diamond operators.
(Requiring a meta character within the <>.)
0.72 2007-02-03
- Case-insensitive @INC removal for case-insensitive
filesystems (Eric Wilhelm)
0.71 2007-01-04
- Added special cases for
Catalyst
Class::MakeMethods
Config::Any
DBIx::Class
Email::Send
Log::Log4perl
SQL::Translator
- print() the "# Legend..." line instead of warn()ing it.
0.70 2006-11-21
- Added special case for Image::Info.
0.69 2006-11-07
- Additional corner cases for LWP::UserAgent and LWP::Parallel::UserAgent and
friends.
0.68 2006-10-25
- Added special case for PerlIO.pm. If PerlIO.pm is needed, require
PerlIO::scalar, too, because it can be used "under the hood".
(Roderich Schupp)
- Added some File::Spec'ness. (Steffen Mueller)
- Refactored the %Preload mapping code into _get_preload so that
the PAR -M %Preload fix would work. (Steffen Mueller)
0.67 2006-10-24
- Added @IncludeLibs which is used alongside @INC for searching modules.
(David Romano)
- Won't pick up Tk as a dependency for Term::ReadLine any more.
You can stop laughing now!
0.66 2006-09-24
- Fixed another bug in Module::ScanDeps::Datafeed which would break
run- and compile-time dependency scanners if $ENV{PERL5LIB} entries
had trailing backslashes. Thanks to Steven Mackenzie for pointing
this out.
- Added some documentation and comments to M::SD::Datafeed for the sake of
future maintainers.
0.65 2006-09-24
- Fixed bug in Module::ScanDeps::Datafeed which would die() in 0.64.
0.64 2006-09-22
- Upgraded to Module::Install 0.64
- Added warning of missing modules when -V is in effect (scandeps.pl).
- Added warning of missing modules if "warn_missing=>1" specified as
an option to scan_deps.
0.63 2006-08-27
- Upgraded to Module::Install 0.63
0.62 2006-07-16
- Better diagnostics.pm support for searching the related
.pod file.
0.61 2006-06-30
- Now presenting more helpful (and correct) error messages when
multiple versions of a module (files) are found.
- Corrected a POD error.
- Added test for POD correctness.
0.60 2006-05-23
- Fixed bug that prevented "use encoding 'utf-8';" from being
picked up. This was because the -8 was stripped and thus, the
encoding wasn't recognized.
0.59 2006-05-03
- Recovering 5.005 compatibility. (Hopefully!)
- Using Module::Install 0.62
- Added a dependency on File::Temp for pre 5.6 perls.
- Fixed broken Module::Pluggable support.
0.58 2006-04-16
- Added dependency for Test::Deep
- Added dependency for Math::Symbolic
0.57 2006-03-03
- Applied Stephen Schulze's patch which fixes the problem that modules are
reported as depended upon only once.
0.56 2006-02-20
- Added special dependency for Tk::Getopt. Suggested by Slaven Rezic.
0.55 2006-02-17
- Applied Roderich Schupp's patch to fix a problem with 'autouse'.
- Now using Module::Install 0.56
0.54 2006-01-11
- Switch to File::Temp::tempfile() for more robust temporary file creation.
Contributed by: Jesse Vincent
- Update to latest Module::Install _again_ to fix Cygwin installation.
Reported by: Matt S Trout
0.53 2006-01-10
- Update to latest Module::Install; no functional changes.
0.52 2005-12-12
- Support for autouse.pm.
- Support for Tk::DragDrop. Reported by: Renee Baecker.
0.51 2005-01-08
- scandeps.pl is now usable without CPANPLUS.pm installed.
Reported by: Rafael Garcia-Suarez
0.50 2004-10-03
- LWP::Authen::* is now bundled with LWP::UserAgent.
Reported by: Marcus Rueckert
- Properly sign the release with newer EU::MM.
0.49 2004-09-26
- Adds Class::Autouse support, as requested by Adam Kennedy.
0.48 2004-09-07
- Skip auto/ files too if explicitly specified.
- Also check for lower-cased keys in %skip, if operating under a
case-insensitive file system.
0.47 2004-09-07
- First version under svk management.
- Support for Mail::Audit plugins; prompted by Andrew Lee.
- Support for modules that use Module::Plugin; prompted by Brian Cassidy.
- scandeps.pl now reports module versions, courtesy of Dan Friedman.
- Delayed loading of CPANPLUS on scandeps.pl.
0.46 2004-07-02
- Doc fixes; update signature test; add Alan to authors.
- add POE heuristics from:
http://search.cpan.org/dist/POE/lib/POE/Preprocessor.pm
0.44 2004-06-08
- Consistently recognize .ph files and upper-cased .p[mh]
files.
- Support for PDF::Writer.
- Patfch from Roderich Shupps to fix absolute filename
detection on non-Unix systems.
0.43 2004-06-02
- Add preliminary support for BioPerl, as suggested by
Nathan Haigh.
- Support for Net::SSH::Perl was incorrectly specified.
- Add some support for PDF::API2 -- note you still have
to explicitly require "PDF::API2::Basic::TTF::Font"
to get TrueType support.
- add heuristics for Devel::ParallelPort, as reported by
Jouke Visser.
0.42 2004-04-30
- add support for DBIx::SearchBuilder and
DBIx::ReportBuilder.
- oops, typo
- add PerlIO.pm to :encoding.
0.41 2004-04-18
- correctly handle SVN::Core, courtesy of Robert Spiers.
- handles SVK::Command properly.
- add support for Parse::Binary-based modules
0.40 2004-02-23
- Malcolm Nooning noticed that _execute() and _compile()
checks were failing under directories that contain spaces,
due to a qw() misuse.
- Add heuristics for XML::SAX and XML::Parser::Expat,
reported by Darek Adamkiewicz and Iain Cass.
0.39 2004-01-25
- Merged Edward's patch to make DataFeed.pm work with
pre-5.8.3 perl versions.
0.38 2004-01-08
- Switching back to ExtUtils::MakeMaker,
hoping to make ActiveState's cpanrun happy.
0.37 2003-12-31
- Win32 does not take Cwd::abs_path() for filenames.
- Detection for __END__ blocks was wrong in _compile().
0.36 2003-12-31
- sorry, "scandeps.pl -r" should be "-x".
0.35 2003-12-31
- New "-c" and "-r" flags to scandeps.pl for additional
compile- and runtime-checking of dependencies.
- New "compile" and "execute" flags to scan_deps() for
runtime scanning, using scan_deps_runtime().
- integrated Edward S. Peschko's massive runtime detection
patch, as scan_deps_runtime().
0.34 2003-12-30
- changes.
0.33 2003-12-21
- Upgrades to Module::Install 0.30 framework.
- Nik's got a CPAN ID.
0.32 2003-10-26
- Support for Locale::Maketext::Guts, reported by Jouke
Visser.
- Support for XML::Parser, reported by Jan Dubois.
- Support for :encoding(), encoding.pm, and
encode()/decode().
0.31 2003-10-17
- Jesse Schoch reports that LWP::Protocol::https is not properly detected.
0.30 2003-09-20
- "use base" was still incorrectly parsed.
0.29 2003-09-17
- Simon Andrews points out that Math::BigInt's heuristics
is badly coded. Fixed, and added heuristics for Math::BigFloat.
- More defense against hash randomisation by sorting all keys() and values().
0.28 2003-08-17
- Move ScanDeps.pm to lib/Module/.
- Suggestion from Matt Sergeant to recognize A::B from
A::B::C only on functions like A::B::C().
- This be 0.27 for real.
- "use base" was improperly detected.
0.27 2003-08-16
- more patch from Roderich Schupp: handles "use base" and fixed Tk::Scrolled.
- add $SeenTk to control Tk-specific heuristics.
- add_deps now takes (skip => \%skip) properly.
- scan_chunk() can now return more than one files in list
context.
- bump version.
0.26 2003-08-11
- add link to http://par.perl.org/ and the mailing list.
- don't append ".pm" to require '' lines if it already has an extension.
(this is required for Win32API::Registry to work with .pc files.)
0.25 2003-08-10
- tidy up the source a little.
- POD and END sections was also scanned. bad.
- PAR::read_file() should not imply dependency on PAR.pm.
0.24 2003-08-10
- Add support for SOAP::Lite, XMLRPC::Lite and
Win32::SystemInfo.
0.23 2003-08-08
- @File::Spec::ISA was crippled during scanning, thanks
to Roderich Schupp for pointing out.
0.22 2003-08-07
- huge patch to include almost all heuristics deducible from PerlApp:
Authen::SASL, Crypt::Random, DBI, File::Spec,
HTTP::Message, Math::BigInt, MIME::Decoder, Net::DNS::RR,
Net::FTP, Net::SSH::Perl, SQL::Parser, Template,
Term::ReadLine, URI, XML::Parser::Expat, diagnostics.
- now accepts uppercased "DBI:" in DSN strings.
- fixed a typo on Tk::FBox's xpm file.
0.21 2003-07-30
- Jouke reports that Win32.pm pulls all Win32::* DLLs.
- oops.
- scandeps.pl now take -e to scan a perl expression
- anydbm implies SDBM.
- Bruce Winter says that this fix for SerialJunks is needed
on his Red Hat Linux oh well.
0.19 2003-03-22
- Jess Robinson reported that the fix was not -w safe.
0.18 2003-03-20
- added logic for "utf8" and "charnames" needed by Germain Garand.
- added logic for "Devel::SerialPort" needed by Bruce Winter.
- POSIX.pm no longer pulls in utf8.pm anymore.
- .ph files are now fully supported.
- take unshift/push @INC into account, too.
- add Nik to authors.
- Nik Clayton's patch to properly handle 'use lib'.
- IO.pm dependencies, courtesy of Jerry Veldhuis.
0.14 2003-01-19
- s/UNIVERSA/UNIVERSAL/;
- test explicitly for a hashref for safety.
- try to fix D.H.'s bug report about broken 5.6 and pseudohashfications.
- add lathos and obra to authors.
- mention scandeps.pl earlier in pod.
0.13 2003-01-18
- much more improved scandeps, as suggested by jesse
vincent.
- add #! for core; explains the symbols.
- use cpanplus to tell apart redundant modules if possible.
0.12 2003-01-18
- adds script/scandeps.pl
- new year.
- add CAVEATS about the fact that we don't probe beyond
@INC, as requested by crazyinsomniac.
- M::B heuristics.
- reflect SEE ALSO in README.
0.10 2002-11-04
- Now featuring an object-oriented syntax, conformant
with App::Packer::Frontend.
- added corresponding documentation and tests.
0.03 2002-11-03
- add AUTHORS.
- last minute fix from merlyn's bug report.
- New presets for Locale::Maketext::Lexicon, Term::ReadLine,
Regexp::Common, File::Spec, ExtUtils::MakeMaker.
- New heuristics for Module::Name->method,
Module::Name::sub
- Strings in comments were erroneously checked. Fixed.
- Mention PerlApp as a source of inspiration.
- Regexp::Common.
0.02 2002-11-02
- now performs testing by looking at the test file itself.
- displays correct message when connection fails.
- backported to 5.001.
- was looking in POD sections; fixed.
- thorough comments and documentations.
- oops, Makefile shouldn't be in RCS.
- written-from-scratch version of dependency finding
algorithm.