2013-07-02 Gisle Aas Release 3.14 Install to 'site' instead of 'perl' when perl version is 5.12+ 2010-10-26 Gisle Aas Release 3.13 The fix in v3.12 to try to preserve the SvUTF8 flag was buggy and actually managed to set the flag on strings that did not have it originally. 2010-10-25 Gisle Aas Release 3.12 Don't change SvUTF8 flag on the strings encoded [RT#60105] Documentation tweaks 2010-10-24 Gisle Aas Release 3.11 Provide encode_base64url and decode_base64url functions to process the base64 scheme for "URL applications". The decode_base64() does not issue warnings on suspect input data any more. 2010-10-11 Gisle Aas Release 3.10 Provide functions to calculate the length of encoded and decoded base64 strings [RT#62404] 2010-01-25 Gisle Aas Release 3.09 The Quoted-Printable encoder would sometimes output lines that were 77 characters long. The max line length should be 76. [RT#53919] 2009-06-09 Gisle Aas Release 3.08 Jarkko Hietaniemi (1): EBCDIC changes from core Nicholas Clark (1): Get rid of the PERL_CORE hacks 2005-11-30 Gisle Aas Release 3.07 Use a Makefile.PL that is also suitable for core perl. 2005-11-26 Gisle Aas Release 3.06 Documentation tweaks. use XSLoader; perl-5.6 now required. Some consting from bleadperl. Unbundled the {en,de}code-{base64,qp} utility scripts. These are now found in the MIME-Base64-Scripts package. 2004-09-20 Gisle Aas Release 3.05 Steve Hay found the warn test broken on Windows and provided a fix. 2004-09-18 Gisle Aas Release 3.04 Fixed the bad-sv.t test script to actually contain the correct expected result as of v3.02. 2004-08-25 Gisle Aas Release 3.03 Forgot to increment version number in MIME::QuotedPrint even if its interface changed in 3.02. As a result you will now need to require MIME::QuotedPrint 3.03 if you want to ensure it provides the binmode interface. 2004-08-24 Gisle Aas Release 3.02 The encode_qp() function now takes an optional third argument to select binary encoding mode. The result of encode_qp($non_empty, $eol) will now always be $eol terminated. If the string to encode does not end with "\n" then a soft line break is appended to the result. As an example encode_qp("foo") used to be encoded as "foo", but now encodes as "foo=\n". 2004-03-29 Gisle Aas Release 3.01 By compiling the extension with PERL_NO_GET_CONTEXT we can make it slightly faster on a threaded perl. No change on a regular perl. Patch provided by Beau E. Cox . Fixed missing ";" with assert. Patch provided by Brendan O'Dea . 2004-01-14 Gisle Aas Release 3.00 Drop the pure Perl implementations of the encoders and decoders. They are bloat that hides real problems in the XS implementations. I will re-release them separately in the new MIME-Base64-Perl distribution. The 'gcc -Wall' fix in 2.22 broke support for perl5.005, as the isXDIGIT() macro is not available in that perl. This problem has now been fixed. 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 http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-10/msg00258.html 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 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 conversion warnings with some compilers Minor documentation updates 1997-04-24 Gisle Aas Release 2.00, based on libwww-perl-5.08.