Mail-IMAPClient
view release on metacpan or search on metacpan
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]
version 3.14: Mon Feb 16 14:18:09 CET 2009
Fixes:
- isparent() when list() returns nothing.
rt.cpan.org#42932 [Phil Lobbes]
- Quote more characters in Massage(): add CTL, [, ], % and *
rt.cpan.org#42932 [Phil Lobbes]
- message_string() will only complain about a difference between
reported message size and actually received size; it will not
try to correct it anymore.
rt.cpan.org#42987 [Phil Lobbes]
- No error when empty text in append_string()
rt.cpan.org#42987 [Phil Lobbes]
- login() should not try authenticate() if auth is empty or undef
rt.cpan.org#43277 [Phil Lobbes]
version 3.13: Thu Jan 15 10:29:04 CET 2009
Fixes:
- "othermessage" in bodystructure parser should expect an MD5,
not bodyparams. Fix and test(!) by [Michael Stok]
Improvement:
- minor simplifications in code of run() and _imap_command()
- get_bodystructure trace message fix [Michael Stok]
- add Domain option for NTLM authentication.
version 3.12: Mon Nov 24 15:34:58 CET 2008
Improvement:
- major performance improvement in append_message(), avoiding
reading the whole file in memory as the docs promised but the
code didn't do. [David Podolsky]
version 3.11: Wed Oct 8 10:57:31 CEST 2008
Fixes:
- some SSL connections process more bytes then needed, which
made the select() timeout. Nice fix by [David Sansome]
rt.cpan.org#39776
Improvements:
- improved example imap_to_mbox by [Ralph Sobek]
version 3.10: Sun Aug 24 21:26:27 CEST 2008
Fixes:
- INET socket scope error, introduced by 3.09
rt.cpan.org#38689 [Matt Moen]
version 3.09: Fri Aug 22 16:38:25 CEST 2008
Fixes:
- return status of append_message reversed.
rt.cpan.org#36726 [Jakob Hirsch]
- no line-breaks in base64 encoded strings when logging-in
rt.cpan.org#36879 [David Jonas]
- fix MD5 authentication.
rt.cpan.org#38654 [Thomas Jarosch]
Improvements:
- extensions and clean-ups in examples/imap_to_mbox.pl by
[Ralph Sobek]
- an absolute path as Server setting will open a local ::UNIX
socket, not an ::INET
rt.cpan.org#38655 [Thomas Jarosch]
version 3.08: Tue Jun 3 09:36:24 CEST 2008
Fixes:
- message_to_file used wrong command.
rt.cpan.org#36184 [Parse Int]
- oops, distribution released with OODoc/oodist, not make dist.
[Randy Harmon]
- fix parsing of body-structure information for multi-parts.
rt.cpan.org#36279 [Doug Claar]
Improvements:
- Updated README and TODO (Was 'Todo')
version 3.07: Mon Apr 28 09:17:30 CEST 2008
Fixes:
- expunge with no folder specified produced "use of undef"
error. Fixed by [André Warnier]
- additional arguments for create [Michael Bacon]
- accepts LIST answer with multiple lines [Michael Bacon]
- ::BodyStructure::_address() should be _addresses()
Fixed by rt.cpan.org#35471 [Brian Kelly]
version 3.06: Mon Apr 14 23:44:03 CEST 2008
Fixes:
- expunge without argument must use selected folder. [John W]
- expunge with folder does not select it. [John W]
- the documentation still spoke about "autogenerated methods",
but they were removed with 2.99 [John W]
- append_string needs LF -> CRLF translations, for some
servers. rt.cpan.org #35031 [Jonathan Kamens]
Improvements:
- added ::setquota(), thanks to [Jappe Reuling]
version 3.05: Wed Feb 20 08:59:37 CET 2008
Fixes:
- match ENVELOPE and BODYSTRUCTURE more strict in the
grammar, to avoid confusion. [Zach Levow]
- get_envelope and get_bodystructure failed for servers which
did not return the whole answer in one piece. [Zach Levow]
- do not produce parser errors when get_envelope does not
return an envelope. [Zach Levow]
- PLAIN login response possibly solely a '+' [Zach] and [Nick]
version 3.04: Fri Jan 25 09:25:51 CET 2008
Fixes:
- read_header fix for UID on Windows Server 2003.
rt.cpan.org#32398 [Michiel Stelman]
Improvements:
- doc update on authentication, by [Thomas Jarosch]
version 3.03: Wed Jan 9 22:11:36 CET 2008
Fixes:
- LIST (f.i. used by folders()) did not return anything when the
passed argument had a trailing separator. [Gunther Heintze]
- Rfc2060_datetime() must include a zone.
rt.cpan.org#31971 [David Golden]
- folders() uses LIST, and then calls a STATUS on each of the
names found. This is superfluous, and will cause problems when
the STATUS fails... for instance because of ACL limitations
on the sub-folder.
rt.cpan.org#31962 [Thomas Jarosch]
- fixed a zillion of problems in the BodyStructure parser. The
original author did not understand parsing, nor Perl.
- part numbering wrong when nested messages contained multiparts
Improvements:
- implementation of DIGEST-MD5 authentication [Thomas Jarosch]
- removed call for status() in Massage(), which hopefully speeds-up
things without destroying anything. It removed a possible deep
recursion, which no-one reported (so should be ok to remove it)
- simplified folders() algorithm.
- merged folder commands, like subscribe into one.
- added unsubscribe()
rt.cpan.org#31268 [G Miller]
- lazy-load Digest::HMAC_MD5
version 3.02: Wed Dec 5 21:33:17 CET 2007
Fixes:
- Another attempt to get get FETCH UID right. Patch by [David Golden]
version 3.01: Wed Dec 5 09:55:43 CET 2007
Changes:
- removed version number from ::BodyStructure
Fixes:
- quote password at login.
rt.cpan.org#31035 [Andy Harriston]
- empty return of flags command should be empty list, not undef.
rt.cpan.org#31195 [David Golden]
- UID command does not work with folder management commands
rt.cpan.org#31182 [Robbert Norris]
- _read_line simplifications avoids timeouts.
rt.cpan.org#31221 [Robbert Norris]
- FETCH did not detect the UID of a message anymore.
[David Golden]
Improvements:
- proxyauth for SUN/iPlanet/NetScape IMAP servers.
patch by rt.cpan.org#31152 [Robbert Norris]
- use grep in stead of map in one occasion in MessageSet.pm
[Yves Orton]
version 3.00: Wed Nov 28 09:56:54 CET 2007
Fixes:
- "${peek}[]" should be "$peek\[]" for perl 5.6.1
rt.cpan.org#30900 [Gerald Richter]
version 2.99_07: Wed Nov 14 09:54:46 CET 2007
Fixes:
- forgot to update the translate grammar.
version 2.99_06: Mon Nov 12 23:21:58 CET 2007
Fixes:
- body structure can have any number of optional parameters.
Patch by [Gerald Richter].
- get_bodystructure did not take the output correctly [Gerald Richter]
- parser of body-structure did not handle optional body parameters
Patch by [Gerald Richter], rt.cpan.org#4479 [Geoffrey D. Bennet]
version 2.99_05: Mon Nov 12 00:17:42 CET 2007
Fixes:
- pod error in MessageSet.pm
- folders() without argument failed. [Gerald Richter]
Improvements:
- better use of format syntax in date formatting.
- Rfc2060_datetime also contains the time.
- append_file() now has options to pass flags and time of file
in one go. [Thomas Jarosch]
version 2.99_04: Sat Nov 10 20:55:18 CET 2007
Changes:
- Simplified initiation of IMAP object with own Socket with a new
option: RawSocket [Flavio Poletti]
Fixes:
- fixed read_line [Flavio Poletti]
- fixed test-run in t/basic.t [Flavio Poletti]
version 2.99_03: Thu Nov 1 12:36:44 CET 2007
Fixes:
- Remove note about optional Parse::RecDescent by Makefile.PL;
it is not optional anymore
Improvements:
- When syswrite() returns 0, that might be caused by an error
as well. Take the timeout/maxtemperrors track.
rt.cpan.org#4701 [C Meyer]
- add NTLM support for logging-in, cleanly intergrated. Requires
the user to install Authen::NTLM.
version 2.99_02: Fri Oct 26 11:47:35 CEST 2007
The whole Mail::IMAPClient was rewritten, hopefully without
breaking the interface. Nearly no line was untouched.
The following things happened:
- use warnings, use strict everywhere
- removed many lines which were commented out, over the years
- $self->_debug if $self->Debug checked debug flag twice
- $self->LogError calls where quite inconsequent wrt $@ and carp
- consequent layout, changed sporadic tabs in blanks
- consequent calling convensions
- \0x0d\0x0a is always \r\n
- zillions of minor syntactical improvements
- a few major algorithmic rewrites to simplify the code, still
many oppotunities for improvements.
- expanded "smart" accessor methods, search abbreviations,
and autoloaded methods into separate subs. In total much
shorter, and certainly better understandable!
- fixed many potential bugs.
- labeled some weird things with #????
Over 1000 lines (30%!) and 25kB smaller in size
Needs to be tested!!!! Volunteers?
Fixes:
- Exchange 2007 only works with new parameter: IgnoreSizeErrors
rt.cpan.org#28933 [Dregan], #5297 [Kevin P. Fleming]
- Passed socket did not get selected.
debian bug #401144, rt.cpan.org# [Alexander Zanger],
#8480 [Karl Gaissmaier], #8481 [Karl Gaissmaier],
#7298 [Herbert Engelmann]
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=401144
- Seperator not correctly extracted from list command.
rt.cpan.org#9236 [Eugene Koontz], #4662 [Rasjid]
- migrate() Massage'd foldername twice
rt.cpan.org#20703 [Peter J. Holzer]
- migrate() could loop because error in regexp.
rt.cpan.org#20703 [Peter J. Holzer]
- migrate() append_string result not tested.
( run in 1.303 second using v1.01-cache-2.11-cpan-e1769b4cff6 )