Change history for MIME-Base64 3.16 2020-09-26 - Convert the build to Dist::Zilla to ensure we're releasing well built packages - Ensure all tests are using strict and warnings (thanks, Nicolas R). - Cleanup this change log - Add a .mailmap to cleanup our contributors list - Use `our` instead of `use vars` - Bump the required Perl version to v5.6.2 3.15 2015-01-12 - Avoid compilation warnings on Windows. - Restore compatibility with perl-5.4 3.14 2013-07-02 - Install to 'site' instead of 'perl' when perl version is 5.12+ 3.13 2010-10-26 - 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. 3.12 2010-10-25 - Don't change SvUTF8 flag on the strings encoded [RT#60105] - Documentation tweaks 3.11 2010-10-24 - 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. 3.10 2010-10-11 - Provide functions to calculate the length of encoded and decoded base64 strings [RT#62404] 3.09 2010-01-25 - The Quoted-Printable encoder would sometimes output lines that were 77 characters long. The max line length should be 76. [RT#53919] 3.08 2009-06-09 - EBCDIC changes from core (Thanks, Jarkko Hietaniemi) - Get rid of the PERL_CORE hacks (Thanks, Nicholas Clark) 3.07 2005-11-30 - Use a Makefile.PL that is also suitable for core perl. 3.06 2005-11-26 - 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. 3.05 2004-09-20 - Steve Hay found the warn test broken on Windows and provided a fix. 3.04 2004-09-18 - Fixed the bad-sv.t test script to actually contain the correct expected result as of v3.02. 3.03 2004-08-25 - 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. 3.02 2004-08-24 - The encode_qp() function now takes an optional third argument to select binary encoding mode. (RT #7456) - 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". 3.01 2004-03-29 - 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 . 3.00 2004-01-14 - 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. 2.23 2004-01-08 - Documentation fixes by Paul Croome . 2.22 2004-01-08 - Fix 'gcc -Wall' complaints. 2.21 2003-10-09 - 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. 2.20 2003-05-13 - decode_qp() recognize soft whitespace when there is whitespace between the '=' and the '\n'. 2.19 2003-05-13 - 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 . 2.18 2003-03-09 - Fix up INSTALLDIRS for perl-5.8 and newer. 2.17 2003-03-09 - 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 2.16 2003-01-05 - 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. 2.15 2003-01-03 - 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. 2.14 2003-01-01 - 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. 2.13 2002-12-27 - 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 . 2.12 2001-02-23 - 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. 2.11 1999-02-27 - Fixed bogus "Premature end of base64 data" warning (Thanks, Dwayne Jacques Fontenot) - Workaround for Redhat shipping trial releases of perl. 2.10 1998-12-18 - A tweak that should make compilation with some old perl5.00[23] perls better. - A cast that make some compilers more happy. 2.09 1998-11-13 - The 2.08 release did not compile with perl5.005_53, because all simple globals now need to be prefixed with "PL_". 2.08 1998-10-22 - Found another tweak to speed up decode_base64() with another 3%. - Improved MIME::Base64 documentation a little. 2.07 1998-10-21 - Faster and smarter C implementation of the decode_base64() function. The new decode_base64() was 25% faster when tested on Linux, i586, gcc -O2. 2.06 1998-07-15 - 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'. 2.05 1998-01-27 - 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. 2.04 1997-12-02 - Documentation expanded a bit. 2.03 1997-07-10 - Decode_base64() doesn't croak on premature ended data any more. A warning is generated instead if running under -w. 2.02 1997-06-27 - 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 2.01 1997-06-13 - Base64.xs: Avoid type conversion warnings with some compilers - Minor documentation updates 2.00 1997-04-24 - based on libwww-perl-5.08.