The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
2004-01-14   Gisle Aas <>

   Release 1.00

   Based on the pure Perl implementation of the base64 and
   quoted-printable encoder/decoder from MIME-Base64-2.23.

   Made it work with perl-5.004.

   Change entries after this one refers to the MIME-Base64

2004-01-08   Gisle Aas <>

   Release 2.23

   Documentation fixes by Paul Croome <>.

2004-01-08   Gisle Aas <>

   Release 2.22

   Fix 'gcc -Wall' complaints.

2003-10-09   Gisle Aas <>

   Release 2.21

   Documentation tweaks.

   Don't rely on SvEND(sv) == '\0' as discussed in the perl5-porters
   mailing list thread that starts with

   Should now pass test suite even without XS support.

   Perl v5.005 or better is now required.

2003-05-13   Gisle Aas <>

   Release 2.20

   decode_qp() recognize soft whitespace when there is whitespace
   between the '=' and the '\n'.

2003-05-13   Gisle Aas <>

   Release 2.19

   decode_qp() did eat up all trailing whitespace in the string decoded.
   Only whitespace in front of "\n" should go.

   Win32 fix for t/warn.t by Reini Urban <>.

2003-03-09   Gisle Aas <>

   Release 2.18

   Fix up INSTALLDIRS for perl-5.8 and newer.

2003-03-09   Gisle Aas <>

   Release 2.17

   Make it reliable to disable base64 decoding warnings by
   resetting $^W in recent perls.  Would really like to be
   able to do real lexical warnings but the current mechanism
   does not seems suitable for XS code.

   Passing "" as $eol to encode_qp() disable soft line
   breaks as well.

   Sync up with changes in bleadperl:
       - safer patchlevel.h include
       - bad cast

2003-01-05   Gisle Aas <>

   Release 2.16

   Fixed the encode_qp() line breaking code.  It sometimes
   made lines longer than 76 chars and it could even get into
   an infinite loop on certain inputs.

2003-01-03   Gisle Aas <>

   Release 2.15

   Fixed the XS based decode_qp() for strings where a =XX
   sequence was followed by digits.

   Faster encode_qp() for long strings with lots of chars
   that need escaping.

   The old_decode_base64() function introduced in 2.13
   was returning undef for empty input on olders perls.
   This problem has been fixed.

2003-01-01   Gisle Aas <>

   Release 2.14

   MIME::QuotedPrint functions now also implemented using XS
   which make them faster.  2-3 times faster when encoding line by
   line and as much as 200 times faster on long binary input.  There
   is probably some breakage on non-ASCII systems from this.

   The encode_qp() function now takes an $eol argument in the
   same way as encode_base64() does.

   Slight change in behaviour: the decode_qp() function now turns
   \r\n terminated lines into \n terminated lines.  This makes is
   more likely that encode_qp(decode_qp()) round-trip properly.

   Included {en,de}code-{base64,qp} utility scripts.

2002-12-27   Gisle Aas <>

   Release 2.13

   Sync up with bleadperl:
       - Documentation update
       - EBCDIC support
       - Whitespace tweaks
       - Improved Unicode support
       - Test suite tweaks

   Improved version of the old_{en,de}code_base64 functions
   contributed by Paul Szabo <>.

2001-02-23   Gisle Aas <>

   Release 2.12

   Speed up pure perl base64 encoder/decoder by using join/map instead
   of while loop.  Contributed by Arno Beckmann <>

   Doc update contributed by Jerrad Pierce <belg4mit@CALLOWAY.MIT.EDU>

   Downgrade UTF8 strings before starting to encode.

1999-02-27   Gisle Aas <>

   Release 2.11

   Fixed bogus "Premature end of base64 data" warning.  Bug spotted
   by Dwayne Jacques Fontenot.

   Workaround for Redhat shipping trial releases of perl.

1998-12-18   Gisle Aas <>

   Release 2.10

   A tweak that should make compilation with some old perl5.00[23]
   perls better.

   A cast that make some compilers more happy.

1998-11-13   Gisle Aas <>

   Release 2.09

   The 2.08 release did not compile with perl5.005_53, because
   all simple globals now need to be prefixed with "PL_".

1998-10-22   Gisle Aas <>

   Release 2.08

   Found another tweak to speed up decode_base64() with another 3%.

   Improved MIME::Base64 documentation a little.

1998-10-21   Gisle Aas <>

   Release 2.07

   Faster and smarter C implementation of the decode_base64()
   function.  The new decode_base64() was 25% faster when tested
   on Linux, i586, gcc -O2.

1998-07-15   Gisle Aas <>

   Release 2.06

   The decode_base64() implemented in pure perl will only carp
   (not croak) if length of data to decode is not a multiple 4.  This
   actually made 'make test' fail after 'rm Base64.xs'.

1998-01-27   Gisle Aas <>

   Release 2.05

   The decode_base64() would previously allocate a too short buffer for the
   result string when the trailing "==" padding was missing in the string to
   be decoded.

   The encode_base64() now allocate one byte less space in the result
   strings returned.

1997-12-02   Gisle Aas <>

   Release 2.04

   Documentation expanded a bit.

1997-07-10   Gisle Aas <>

   Release 2.03

   Decode_base64() doesn't croak on premature ended data any more.
   A warning is generated instead if running under -w.

1997-06-27   Gisle Aas <>

   Release 2.02

   QuotedPrint fix by Roderick Schertler <>:

      - Long lines were not broken unless they're at the beginning
        of the text

      - Lines near but not over 76 chars were broken when they
        shouldn't be

1997-06-13   Gisle Aas <>

   Release 2.01

   Base64.xs: Avoid type convertion warnings with some compilers

   Minor documentation updates

1997-04-24   Gisle Aas <>

   Release 2.00, based on libwww-perl-5.08.