The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
# $File: //member/autrijus/PAR/ChangeLog $
# $Revision: #6 $ $Change: 6899 $ $DateTime: 2003/07/08 15:33:44 $

[Changes for 0.69_90 - July 8, 2003]

* New Features

    - use PAR 'http://example.com/foo.par'" now works, as does
      perl -MPAR -Ihttp://example.com/foo.par

    - Digital signatures using "pp -p".

    - Recursive PAR files inside /par/ now works.

* Bug fixes

    - MANIFEST.SKIP was broken on Win32.

    - C compilers that doesn't handle long line well can now
      compile PAR.

[Changes for 0.69 - May 31, 2003]

* New Features

    - Under Perl 5.8, "pp -p" now works with Apache::PAR.
      See http://aut.dyndns.org/par-tutorial/slide018.html for
      a simple example.

    - "pp -M filename" now adds "filename" to /, not /lib/,
      unless filename ends in (pm|ix|al).  This makes it
      possible to bundle "web.conf" needed by Apache::PAR.

    - "pp -l" now searchs in system library paths, and
      appends "lib" / prepends ".$dl_ext" where necessary.

* Bug fixes

    - PAR segfaults on some Unix platforms due to a NULL pointer
      used in mktmpdir.c.  Fixed.

    - "pp -o out.par -p -e '...'" now honors -o; previously
      it used "a.out.par" anyway.

    - Inhibited spurious uninitialized warnings under -w in the
      POD-stripping code.

    - Win32 did not properly cleans up PAR_TEMP directory, resulting
      in failure for executables that reused the same PID.  Fixed.

[Changes for 0.68 - May 26, 2003]

* New Features

    - New 'pp -l' option to pack additional shared libraries (DLLs).

    - POD-stripped libraries inside PAR files now have #line directives
      inserted, so they report the original line numbers on failure.

    - PAR files generated by 'pp' now has a MANIFEST file that can be
      viewed by Gecko-based browsers with Javascript turned on, e.g.:
      jar:http://aut.dyndns.org/par/test.par!/MANIFEST

* Bug fixes

    - Each pp-executable instance now creates its own PAR_TEMP directory;
      this avoids permission errors when multiple users run the same binary.
      As a consequence, PAR_CLEARTEMP is now set to "1" by default.

    - Newer versions of shared Zlib library no longer causes "pp" to
      generate broken executables.

    - Fixed dynamic loading on Cygwin was failing due to missing +x mode.

    - Like "use lib", "use PAR 'name.par'" now unshift()s instead of push()es
      into @INC.  Same applies for "par.pl -A" and "parl -A".

    - Fixed building on ActivePerl 626 and below due to a missing $Config{ld}.

[Changes for 0.67 - April 1, 2003]

* New Features

    - PAR now works on Cygwin and MinGW/MSYS.

    - Globbing support in PAR::import(): use PAR "/path/*.pm";

    - New license clarification messages added to POD and 'pp -V'.

    - All 'pp' options now has a short form (-o) and a long form (--output).

    - Revamped documentation for 'pp'.

    - New -g (--gui) flag for 'pp' to build console-less Win32 executables.

* Bug fixes

    - Building on Darwin Perl 5.6.0 was broken with 'cc -s'.

    - Building on 5.6.0 was broken due to bad 'base.pm'.

    - Win32 Tk::Widget autoloading was broken due to a binmode() bug.

    - IPC::Run was pod-stripped incorrectly.  Fixed.

    - Depends on Module::ScanDeps 0.19, which supports utf8 and .ph files.

    - Better AutoInstall support, which uses 'sudo' where necessary.

[Changes for 0.66 - Match 20, 2003]

* New Features

    - Adds PAR::Intro, a PODified version of the online presentation.

    - Adds App::Packer::Backend::PAR, a bridge between PAR and App::Packer.

    - Scripts and modules are now searched in "/" last, instead of first.

    - Experimental patch for packing shared libraries via "pp -l".

    - HTTP fetching of precompiled packages in addition to FTP.

* Bug fixes

    - Makefile.PL now downloads precompiled packages only if needed.

    - AutoInstall has been made to work for an easier installation.

    - The redundant "parl.exe.bat" is no longer created on Win32.
    - Pre-0.63 PARs used to leave broken .dll in TEMP; now they're cleaned.

    - "pp c:\something.pl" no longer treats c: as a relative path.

    - "pp -I dir" now searches 'dir' first, instead of last.

    - "pp" was broken on Perl 5.6.0 due to => stringification bugs.

    - Support for Tk::Widget autoloading has been added.

    - "parl" was not stripped if "gcc" was invoked as "cc"; fixed.

    - On a machine with multiple "parl"s, "pp" now uses the correct one.

    - File::Temp was missing as a dependency.

* Known Issues

    - Cygwin support is still broken.

    - PAR does not include utf8_heavy.pl nor unicore/* for scripts that
      has "use utf8;".  This has since been fixed by Module::ScanDeps 0.18.

[Changes for 0.65 - Match 9, 2003]

This release comes with several significant improvements:

* Automatic binary installation

Previously, users without a C compiler cannot build the 'parl'
executable, and is therefore unable to create self-contained binaries
using 'pp'.

Now, if there is a binary package available for that architecture under
my CPAN directory, the Makefile.PL script will automatically fetch it,
unpack into blib/, and the installation will continue as normal,
resulting in a fully-functional 'pp'.

This feature is part of the soon-to-be-released Module::Install
framework; it will greatly benefit all CPAN authors with non-pure-perl
distributions.

* POD stripping

Packages generated with 'pp' will now strip POD sections from all packed
dependencies (your own scripts is unaffected); all binary executables
will save at least 276732 bytes, with additional ~20% saving in
additional packed dependencies.

You can turn off this feature with the PAR_VERBATIM environment
variable.

* XS Incompatibility solved

Because 'pp'-generated executables includes some fixed version of shared
libraries (IO, Zlib, etc), they used to break when the target system has
different version of shared libraries.

Now PAR::Heavy intercepts DynaLoader::dl_expandspec to always prefer the
library inside the PAR file, so this issue is resolved.

* 5.6.1 Reclaimed

Thanks to Sisyphus and various others, building on Perl 5.6.1 (with its
old ExtUtils::MakeMaker and lack of PTHREAD_ATFORK) now works again.

[Changes for 0.64 - Match 2, 2003]

This is primarily a bug-fix release for the binmode() bug, reported
by Bill Atkins, D. Menzel and others, that prevents dynamic loading
on Win32 from working.

Also fixed is building on Win32 in directory names that contain
spaces; the t/0-signature.t is re-enabled for people using my
Module::Signature to verify the module's OpenPGP signature.

This release is also the first distribution on CPAN to use the
Module::Install framework, which is a stand-alone, extensible
drop-in replacement for ExtUtils::MakeMaker that needs no extra
action/prerequisites for end users.

[Changes for 0.63 - February 6, 2003]

Jerry Veldhuis found out a 0.62-specific bug, namely that the new 'parl'
binary (which replaces the old 'par' or 'par.exe') doesn't work properly
when bundling perl modules for self-contained executables, rendering
'pp' useless on machines without core perl.