2009-04-27 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.7
* build/vs2008/gmime.vcproj: Bumped version.
2009-04-25 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-object.c (g_mime_object_set_disposition): Unref the
disposition after setting it on the GMimeObject, don't ref it
again. Oops.
* gmime/gmime-message.c (unblock_changed_event): Oops, this needs
to /unblock/ the event handler.
* gmime/gmime-header.c (g_mime_header_list_set_raw): Added back
just in case someone was foolish enough to use this API.
(g_mime_header_list_has_raw): Same.
2009-04-24 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-parser.c (struct _GMimeParserPrivate): Added
message_headers_begin/end and changed the meaning of
headers_begin/end to be for the current MIME part rather than for
the current message itself.
(g_mime_parser_init): Init the boolean state variables before
calling parser_init() so that parser_init() can use them.
(parser_init): Only create a rawbuf if our stream isn't seekable
or isn't persistent. Initialize our new message_headers_begin/end.
(g_mime_parser_set_persist_stream): If our persist mode has
changed, malloc or free our rawbuf.
(raw_header_append): Don't append any data if rawbuf is NULL (this
means we're keeping track of offsets instead).
(parser_step_headers): Always update headers_begin/end since we
now always want to keep track of all header begin/end offsets.
(parser_step): Update our message_headers_begin/end state.
(parser_scan_message_part): Set the mime-part's raw header stream
on the message too.
(parser_construct_message): Same.
(parser_construct_leaf_part): Substream the input stream to get
our raw header stream to set on the mime-part's header-list.
(parser_construct_multipart): Same.
* gmime/gmime-header.c (struct _GMimeHeaderList): Instead of
having a string buffer holding the raw header block content,
instead keep a stream. This not only makes it easy for us to keep
track of what the header offsets on disk are should the developer
want to know, but it also means we don't necessarily have to use
duplicate the header block to memory.
(g_mime_header_list_set_stream): New function that replaces the
old g_mime_header_list_set_raw() and looks much cleaner.
(g_mime_header_list_get_stream): New function to access said
stream.
* gmime/gmime-message.c: Fixed uses of
g_mime_header_list_set/has_raw().
(g_mime_message_set_mime_part): Set the message's raw header
stream to NULL.
* gmime/gmime-multipart.c: Same.
* tests/test-parser.c (test_parser): Updated.
2009-04-09 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.6
2009-04-05 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-encodings.c (g_mime_encoding_uudecode_step): Fixed a
bug wrt updating uulen when the data isn't an exact multiple of 3.
* src/uuencode.c (uuencode): Don't bother dup()ing the stdout fd, just
use set_owner(FALSE) so that it doesn't close when we destroy the stream
instead.
* gmime/gmime-stream-file.c (stream_read, stream_write): Don't depend on
simple arithmetic to update our stream->position on Windows since it
may do line-ending translation behind our backs. Call ftell() to get
our real position after reading or writing.
* gmime/gmime-stream-fs.c (stream_read, stream_write): Same idea.
* gmime/gmime-utils.c (mktime_utc): Fixed the Windows code-path.
(charset_convert): In the Windows case, fake the E2BIG error condition
if outleft <= inleft on any error as errno doesn't seem to get
properly set in this case.
* tests/test-headers.c: Removed unused headers to fix the build on
Windows.
2009-04-04 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-stream-fs.c: Ported to Windows by #including io.h
* examples/basic-example.c: Reverted to the old GMimeStreamFs logic
and #included io.h for G_OS_WIN32 systems.
* examples/imap-example.c: Ported to Windows by #including io.h and
using g_ascii_strcasecmp().
2009-04-03 Jeffrey Stedfast <fejj@novell.com>
* build/vs2008: New directory for Visual Studio 2008 Solution & Project
files.
* gmime.vcproj: Moved to build/vs2008
* config.h.win32: Same.
* gmime.sln: Same.
* examples/basic-example.c: Fixed to build under Visual Studio by
using GMimeStreamFile instead of GMimeStreamFs and by #ifdef'ing
out the GnuPG code.
* tests/testsuit.[c,h]: Fixed to compile under Visual Studio which
basically means we can't use _try() as a function. Renamed to g_try().
Also renamed throw() to g_throw() for consistency.
2009-04-02 Jeffrey Stedfast <fejj@novell.com>
* tests/testsuite.c: Modified to compile without the need for
pthread.h
* gmime.vcproj: Added logic to the PreBuild step to copy
config.h.win32 to config.h
* config.h.win32: Added.
2009-04-01 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-utils.c: #include <process.h> for getpid() and ws2tcpip.h
for getaddrinfo() on Windows platforms.
(mktime_utc): Use _get_timezone() when building on Windows.
(g_mime_utils_header_format_date): Windows has gmtime_s() instead
of gmtime_r(), so use that on Windows.
* gmime/gmime-parser.c: If glib is >= 2.14, use GRegex instead of
glibc regex.
2009-04-01 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-utils.c: Need to #include <unistd.h> for getpid().
* gmime/gmime-stream-fs.c: Need to #include <unistd.h> here.
* gmime/gmime-multipart-signed.c: Got rid of an unused variable.
* gmime/gmime-message.c: Removed unused variables.
* gmime/gmime-content-type.c: Don't need to #include
"gmime-table-private.h" here as we don't actually use it.
* util/gtrie.c: Disable g_warning()'s when compiled w/o
--enable-warnings and also fixed some compile warnings.
2009-03-31 Jeffrey Stedfast <fejj@novell.com>
* gmime.sln: New Microsoft Visual Studio 2008 Solution file for GMime.
* gmime.vcproj: New Microsoft Visual C++ Project file for GMime.
2009-03-31 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-utils.c: Removed unneeded #include <unistd.h>
* configure.in: Check for unistd.h
* gmime/gmime-multipart.c (read_random_pool): Implement using
rand() in the case that unistd.h is not available.
* gmime/gmime-parser.c (parser_scan_content): Fixed 'crlf'
argument to be a guint to make it easier to avoid compile warnings
about comparison between signed/unsigned ints in the callers.
* gmime/internet-address.c (internet_address_group_add_member):
Fixed g_return macros to return a value.
(internet_address_mailbox_get_addr): Same.
2009-03-30 Jeffrey Stedfast <fejj@novell.com>
* configure.in: Check for regex.h
* gmime/gmime-parser.c: #ifdef out the regex functionality if the
system does not have regex.h
* gmime/gmime-stream-fs.h: Don't #include <unistd.h> here.
* gmime/gmime-stream.h: Removed #include <unistd.h> as it isn't
needed there.
* gmime/gmime-part.c: Removed unused includes.
* gmime/gmime-utils.c: Only #include <sys/utsname.h> if we have
utsname.domainname. Helps build process on Windows.
2009-03-29 Jeffrey Stedfast <fejj@novell.com>
* README: Bumped version
* configure.in: Bumped version to 2.4.5
2009-03-27 Jeffrey Stedfast <fejj@novell.com>
* gmime/gmime-stream-buffer.c: Fixed to be more diligent in setting
errno on error.
* gmime/gmime-stream-mmap.c: Fixed to be more diligent in setting
errno on error.
* gmime/gmime-stream-mem.c: Fixed to be more diligent in setting
errno on error.
(stream_seek): If the user seeks beyond the end of the buffer and
bound_end is unbound, then grow the buffer (e.g. a sparse file).
* gmime/gmime-stream-file.c: Fixed to be more diligent in setting
errno on error.
* gmime/gmime-stream-fs.c: Fixed to be more diligent in setting
errno on error.
2009-03-20 Jeffrey Stedfast <fejj@novell.com>
* configure.in: Default --enable-largefile to yes. Looks like I
forgot to do this before rolling the version to 2.4.0 like I
intended.
* tools/Makefile.am: Fixed to include the porting script in
EXTRA_DIST (instead of extra_DIST) so that the tarball includes
it, doh!
The keys used are:
!: modified feature, -: deleted feature, +: new feature
1.5.20 (2009-06-14):
! $fcc_attach is a quadoption now
+ $honor_disposition to honor Content-Disposition headers
+ $search_context specifies number of context lines for search results
in pager/page-based menus
+ ssl_use_sslv2 defaults to no
+ uncolor works for header + body objects, too
+ the "flagged" and "replied" flags are enabled/supported for
POP when built with header caching
! browser correctly displays maildir's mtime
+ <set-flag> and <clear-flag> work in the pager, too
+ ~x pattern also matches against In-Reply-To
+ lower case patterns for string searches perform case-insensitive
search as regex patterns do (except IMAP)
+ $ssl_verify_dates controls whether mutt checks the validity period of
SSL certificates
+ $ssl_verify_hostname controls whether mutt will accept certificates whose
host names do not match the host name in the folder URL.
Disable temporarily mutt-compressed-mbox and mutt-xlabel as the patches are not
available for this version yet.
- IMAP: Don't crash if IDLE command is pipelined after a long-running
UID FETCH or UID SEARCH.
- IMAP: Some FETCH command parameters were broken with in some OSes.
- mbox: New mailboxes were created with UIDVALIDITY 1.
- mbox: Don't write garbage to mbox if message doesn't have a body.
- Maildir: Fixed using in-memory indexes when some required directory
was missing.
- auth: Don't assert-crash if trying to log in as master user but
with empty login username.
- Transaction log dotlocking ignored mail_nfs_index and
dotlock_use_excl settings.
- convert plugin / convert-tool: Fixed changing hierarchy separators
in mailbox names when alt_hierarchy_char isn't set.
- Several fixes to expire plugin / expire-tool
- zlib: Give better error messages on failures.
Security fixes in this version:
MFSA 2009-33 Crash viewing multipart/alternative message with text/enhanced part
MFSA 2009-32 JavaScript chrome privilege escalation
MFSA 2009-29 Arbitrary code execution using event listeners attached to an element whose owner document is null
MFSA 2009-27 SSL tampering via non-200 responses to proxy CONNECT requests
MFSA 2009-24 Crashes with evidence of memory corruption (rv:1.9.0.11)
MFSA 2009-17 Same-origin violations when Adobe Flash loaded via view-source: scheme
MFSA 2009-14 Crashes with evidence of memory corruption (rv:1.9.0.9)
For more info, see http://www.mozilla.com/en-US/thunderbird/2.0.0.22/releasenotes/
Pkgsrc changes:
o For the benefit of 64-bit strict alignment archs using gcc, such
as NetBSD/sparc64, ensure that the specially crafted double values
are properly aligned. Thanks to martin@ for pointing to the problem.
This should stop regxpcom from dropping core on NetBSD/sparc64.
OK'ed by wiz@
Postfix stable release 2.6.2 fixes one defect in SASL support.
This does not affect Postfix versions 2.5 and earlier.
With plaintext SMTP sessions AND smtpd_tls_auth_only=yes AND
smtp_sasl_auth_enable=yes, the SMTP server logged warnings for
reject_*_sender_login_mismatch, instead of enforcing them.
You can find Postfix version 2.6.2 at the mirrors listed at
http://www.postfix.org/
The same fix is also available in Postfix snapshot 2.7-20090528.
Postfix versions 2.5 and earlier are not affected.
Postfix stable release 2.6.2 fixes one defect in SASL support.
This does not affect Postfix versions 2.5 and earlier.
With plaintext SMTP sessions AND smtpd_tls_auth_only=yes AND
smtp_sasl_auth_enable=yes, the SMTP server logged warnings for
reject_*_sender_login_mismatch, instead of enforcing them.
You can find Postfix version 2.6.2 at the mirrors listed at
Postfix stable release 2.6.2 fixes one defect in SASL support.
This does not affect Postfix versions 2.5 and earlier.
Fixes a couple of bugs in v1.1.15's changes. Hopefully the last v1.1 release
before v1.2.0.
- v1.1.15 could have crashed if mailbox-closing command was pipelined after a
mailbox-accessing command.
- v1.1.15's zlib plugin may have caused crashes when fetching INTERNALDATE.
- Maildir: If messages had been deleted externally from new/ directory and
mailbox was opened with EXAMINE, Dovecot didn't immediately notice that the
messages were deleted.
- If message body started with a space, some operations could have assert-
crashed.
* Fix compatibility with Python 2.6.
* Fixed a bug in admin.py which would result in chunked pages of the
membership list for members whose address begins with a non-alphanumeric
character to not be visible or retrievable.
* Changed ListAdmin.py to make rejected post messages From: the -owner
address instead of the -bounces address.
* With MTA = 'Postfix', if the STANZA END for a list being removed is
missing or munged, the remainder of the aliases and/or virtual-mailman
file is lost. Fixed.
* Since Mailman 2.1.1, 2.0.x outstanding subscription and held message
requests have not been migrated properly. This is fixed.
* Changed cron/gate_news to continue processing the remaining lists on
certain errors that can be caused by configuration of a particular list.
* Fixed a bug in AvoidDuplicates.py that caused it to fail if the address
in the To: or Cc: header differed in case from the case-preserved member
address.
* Fixed a problem in SecurityManager that caused it to not find the
cookie when CheckCookie was not given a user and the user in the cookie
had a %xx encoded character.
* Fixed a minor fromusenet reporting issue in the contributed mmdsr
script.
* Fixed a minor issue in cron/gate_news that could cause a list's
watermark to not be completely updated.
* Fixed an issue that prevented editing the options.html template from
the web admin interface.
* Fixed a problem in Decorate which could throw a TypeError on conversion
to unicode of a header/footer that was already unicode because of
interpolating a unicode value.
* Fixed an issue where list creation would report bad owner email
instead of bad listname when the list name had non-ascii characters.
* Updated Dutch, Catalan and Polish translations.
* Fix compatibility with Python 2.6.
* Fixed a bug in admin.py which would result in chunked pages of the
membership list for members whose address begins with a non-alphanumeric
character to not be visible or retrievable.
* Changed ListAdmin.py to make rejected post messages From: the -owner
address instead of the -bounces address.
* With MTA = 'Postfix', if the STANZA END for a list being removed is
missing or munged, the remainder of the aliases and/or virtual-mailman
file is lost. Fixed.
* Since Mailman 2.1.1, 2.0.x outstanding subscription and held message
requests have not been migrated properly. This is fixed.
* Changed cron/gate_news to continue processing the remaining lists on
certain errors that can be caused by configuration of a particular list.
* Fixed a bug in AvoidDuplicates.py that caused it to fail if the address
in the To: or Cc: header differed in case from the case-preserved member
address.
* Fixed a problem in SecurityManager that caused it to not find the
cookie when CheckCookie was not given a user and the user in the cookie
had a %xx encoded character.
* Fixed a minor fromusenet reporting issue in the contributed mmdsr
script.
* Fixed a minor issue in cron/gate_news that could cause a list's
watermark to not be completely updated.
* Fixed an issue that prevented editing the options.html template from
the web admin interface.
* Fixed a problem in Decorate which could throw a TypeError on conversion
to unicode of a header/footer that was already unicode because of
interpolating a unicode value.
* Fixed an issue where list creation would report bad owner email
instead of bad listname when the list name had non-ascii characters.
* Updated Dutch, Catalan and Polish translations.
- if oldmail file is corrupted on disk (by system crash, perhaps),
handle it gracefully. Some lines may be lost (and messages therefore
re-retrieved), but operation will continue, with the corrupt lines
logged. Thanks: Domen Puncer.
Evolution 2.26.2 2009-05-18
---------------------------
Bug fixes:
#471083 (bnc) - Do not allow deletion of system folders. (Chenthill)
#561312 - Fix recurrence issues (Chenthill)
#467659 - Fix description for send mail (Chenthill)
#578685 - Copy string. Avoids SIGSEGV (Sebastien Bacher)
#569507 - Don't translate gconf/key values (khaledh)
#574842 - Fix Catalan translation issue (Gil Forcada Codinachs)
#571272 - Possible leak (Milan Crha)
#573704 - Don't close dialog after error (Milan Crha)
#579306 - Fix crash on delete folder (Milan Crha)
#491755 - Sanitize values from GConf before using them (Milan Crha)
#579635 - Hide last junked message too from the non-junk folder (Milan Crha)
#579550 - Do not mark newly recognized Junk messages Read (Milan Crha)
#578355 - Store username in a source URL in CalDAV (Milan Crha)
#575242 – New composer window not autosaved until modification (Michel Dänzer)
#581032 – Some links can't be opened (Matthew Barnes)
#573170 - Add back support for vfolder of vfolders (Srinivasa Ragavan)
#580163 - Resize alarm notifier correctly (Ritesh Khadgaray)
#578478 – Composer shows not all "From" information (Matthew Barnes)
#582744 – CC field autofill doesn't work for replies (Matthew Barnes)
#578176 – "Send message to contact" does not honor "always BCC" (Matthew Barnes)
Updated translatios:
Ihar Hrachyshka (be)
Christian Kirbach (de)
Jorge Gonzalez (es)
Other fixes:
Fix win32 filename/uri issues (Fridrich Strba)
Evolution-Data-Server 2.26.2 2009-05-18
----------------------------------------
Bug fixes:
#581420 - On Solaris, the service name 'http' or 'https' is not defined (Jeff Cai)
#579360 - Problem with vfolders/hang with unmatched folders. (Srinivasa Ragavan)
#573170 - Add back support for vfolder of vfolders. (Srinivasa Ragavan)
#556116 - support for unmatched search folder (Srinivasa Ragavan)
#578823 – invalid condition (Sergio Villar Senin)
#578821 - More invalid conditions (Sergio Villar Senin)
Updated Translations:
Milo Casagrande (it)
Christian Kirbach (de)
Other fixes:
dolt has some link issues with library dependency (Marc-André Lureau)
Map WinLDAP to openLDAP api in win32 (Fridrich Strba)
The security fix to map_yp_alias in 1.4.18 turned out to be incomplete. We
also expierenced some regressions in the updated filter plugin. Both are
addressed in this new release 1.4.19 which contains a few other small fixes
aswell.
If you do not use map_yp_alias or the filters plugin there's no urgent need to
upgrade now if you already installed 1.4.18. If you are still on an older
release than 1.4.18 (or use the mentioned functionality) we do urge you to
upgrade as soon as possible as 1.4.18 and 1.4.19 combined fix some important
security issues. Those using the development branch (1.5.x) should install a
recent SVN snapshot.
- Updating package for p5 module Mail::IMAPClient from 3.14 to 3.16
- Splitting dependencies into "real depends" part and a recommended part
- Add Authen::SASL as recommended dependency
- Set gnu-gpl-v2 as license
Upstream changes:
version 3.17: Thu May 21 01:40:08 EDT 2009
- ran all test code and lib/Mail/IMAPClient.pm through Perl::Tidy
- plan on using perltidy to standardize format going forward
- added 13 tests to t/basic.t to cover more methods
- fix some broken tests
- update Makefile.PL to provide info about optional modules
version 3.17_05: Tue May 19 11:04:28 EDT 2009
Potential compatibility issues highlighted with '*':
- *reset LastError for every call to _imap_command_do()
- *run() - use _imap_command_do(), return arrayref in scalar context
- *tag_and_run() - return arrayref in scalar context
- *done() - use _imap_command_do(), return arrayref in scalar context
- *search() now returns empty arrayref not undef if no matches found
- _imap_command_do() made more flexible to avoid code duplication
- _list_response_parse renamed _list_or_lsub_response_parse
- updated POD with new/updated behavior
- append_string() now uses _imap_command_do() for Reconnectretry
- internally use defined return values instead of only LastError()
- run() updated to use same/similar code to _imap_command_do()
- make several return statements more consistent
- delete() now unsets current Folder attribute on success
version 3.17_04: Fri May 15 17:18:52 EDT 2009
- updated POD with new reconnect() method and Reconnectretry attr
- *new _imap_command() after renaming old one to _imap_command_do
support retrying commands X times EPIPE/ECONNRESET errors
- *added Reconnectretry attr to control number of retry
attempts (default is 0 - no reconnect/retry)
- *added reconnect() method to support Reconnectretry attr
reconnect and updated _imap_command() method
- *_imap_command_do will return undef if command given has no TAG
- fixed message_string() logic/errors for failed size() calls
- local-ize $! anywhere we use Carp routines as older versions
of Carp could cause $! to be reset
- several 'BUG?' comments -- raising red flag for future work
- minor cleanup of sort() logic
- reduce duplicate code, hopefully improved error handling:
new _list_or_lsub() for list() and lsub()
new _folders_or_subscribed() for folders() and subscribed()
+ new _list_response_preprocess() keeping old code/logic in
for now, but may remove in the future (for buggy servers?)
- some updates for migrate() but this method needs much work
- body_string() now handles fetch() errors
- tag_and_run now handles _imap_command() errors
- changed non-timeout CORE::select() timeout from 0.001 to 0.025
- minor cleanup of _read_line() error handling/debug output
- get_bodystructure() handle more fetch() errors
- expunge() handle select() errors
- restore_message() handle store() errors
- uidvalidity() handle status() errors
- uidnext() handle status() errors
- is_parent() use _list_response_preprocess() for parsing
- move() send delete_message() errors to stderr
- simplify size() method
version 3.17_03: Fri May 8 16:37:08 EDT 2009
- *added uidexpunge() for UID EXPUNGE UIDPLUS support
- *search() now DWIM: auto-escapes args, SCALAR refs not escaped
rt.cpan.org#44936 [cjhenck]
- _quote_search() provides auto-escape capability for search()
- many POD updates as well as some major reformatting (incomplete)
- login now fails if passwd and user are not defined
- _sysread(): $self was in args to 'Readmethod' twice
- authenticate() return undef on scheme eq "" or LOGIN
- "require" instead "use" Digest::HMAC_MD5 for CRAM-MD5 support
version 3.17_02: Fri May 1 16:44:21 EDT 2009
- cleanup of use/imported data
- use Socket $CRLF in many cases not \r\n per perlport/IMAP spec
- new Keepalive attr for use with new()/Socket() enables SO_KEEPALIVE
- LastError now uses Carp::confess for stack trace if Debug is true
- Maxcommandlength now defaults to 1000 per RFC2683 section 3.2.1.5
- added noop() to support IMAP NOOP
- _imap_command now sets LastError if a OK/$good response is not seen
- fixed fetch_hash() to return FLAGS as "" not () when no FLAGS set
version 3.17_01: Fri Apr 24 18:36:45 EDT 2009
- *new attribute Maxcommandlength used by fetch() to limit
length of commands sent to a server. This should removes
need for utilities like imapsync to create their own split()
functions and instead allows Mail::IMAPClient to hopefully
"do the right thing"
- remove extra 'use' calls for Carp and Data::Dumper
- _read_more() improperly initialized vector causing select
errors, thus timeouts were not working properly (now they
work...)
- *change default timeout 30s => 600s: 30s seems too short in
practice
- *explicit import of encode_base64 and decode_base64 from
MIME::Base64 note the code forces a disconnect from the
server on timeout as we can not easily recover from this
situation right now in the code
- *numerous changes of error messages, removing superfluous
text and now relying on LastError instead of $! or $@ when
appropriate
- separator():
+ now return undef if an error occured for NAMESPACE or LIST calls
+ *no longer defaults to '/' if NAMESPACE call does not succeed
- new internal _list_response_parse() method for parsing LIST
responses
- handle ECONNRESET errors on syswrite and mark connection as
Unconnected
+ error "Connection lost" changed to "Write failed"
- previously untrapped syswrite error now generate "Write
failed" errors
- fix in _imap_command where LastError would be erroneously
set on LOGOUT
- _record() no longer tries to infer errors based on data
being "recorded"
- _send_line()
+ cleanup in watching for: +|NO|BAD|BYE
+ now sets LastError when an unexpected response is seen
- _read_line()
+ handle select errors instead of ignoring them
+ forcefully _disconnect() on timeouts as this breaks app logic
+ reduced duplication of code on error handling
- added _disconnect() method to brute force drop connections
on timeout
- added _list_response_parse() to reduce duplicate code for
LIST parsing
- added _split_sequence() to support new Maxcommandlength argument
- fetch()
+ use new Maxcommandlength to split a request into multiple
subrequests then aggregate results before passing them
back to the caller
- fetch_hash(): added checks for failed IMAP commands
- parse_headers()
+ properly check if fetch fails
+ handle cases where $header and/or $field are not defined
- size():
+ return undef if LastError is set
+ fix case where SIZE is not found and return undef as expected
version 3.16: Mon Apr 6 12:03:41 CEST 2009
Fixes:
- set LastError when the imap_command receives an unexpected 'BYE' answer.
rt.cpan.org#44762 [Phil Lobbes]
- handle SIGPIPE cleanly.
rt.cpan.org#43414 [Phil Lobbes]
- improve handling of quotes in folder names
rt.cpan.org#43445 [Phil Lobbes]
- do not use $socket->eof(), because IO::Socket::SSL does not support it.
rt.cpan.org#43415 [Phil Lobbes]
- remove excessive reconfiguration of fastio in _read_line()
rt.cpan.org#43413 [Phil Lobbes]
Improvements:
- remove experied docs about automatically created calls, which
do not exist since 3.00
- remove verbose explanation about reporting bugs.
version 3.15: Fri Mar 20 13:20:39 CET 2009
Fixes:
- manual-page was using POD syntax incorrectly, which caused many
broken links on search.cpan.org
rt.cpan.org #44212 [R Hubbell]