Mail-IMAPClient

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	- rt.cpan.org#106500: split UID EXPUNGE with a large sequence set
	- added t/quota.t and t/lib/MyTest.pm for testing
	- updated copyright for 2016

version 3.37: Fri Aug 14 11:04:53 EDT 2015
	- regex fix in rt.cpan.org#96575 required Perl 5.10
	    updated regex to be backwards compatible with Perl 5.8
	  [Paul Howarth]

version 3.36: Fri Aug 14 01:40:50 UTC 2015
	- rt.cpan.org#96575: parsing fixes for fetch_hash and bodystructure
	  + better handling of data containing escaped characters
	  [Ken Neighbors]
	- rt.cpan.org#97718: hang waiting for tag if DONE sent outside of IDLE
	  [Laurence Darby]
	- rt.cpan.org#100683: failed literal commands hang waiting for '+'
	  [Matthias Pitzl]
	- rt.cpan.org#100601: login() fails if username requires use of literals
	  [Andy Lyttle]
	- *rt.cpan.org#103823: is_parent() should return undef on \NoInferiors
	  [Gilles Lamiral]
	- rt.cpan.org#105456: fetch_hash fails if sequence number contains '*'
	  + *no longer removing unrequested data (except UID) in returned hashes
	  [Gilles Lamiral]
	- rt.cpan.org#91912: selectable broke in 3.29 due to \b around \NoSelect
	  [Justin Vallon, Gilles Lamiral]
	- some documentation, test cleanup and new tests

version 3.35: Fri, Nov 22, 2013  2:18:41 PM
	- *use Quote() over Massage() to avoid stripping double quotes from arg
	  + removed constant NonFolderArg
	  + may deprecate Massage() in a future release
	- _list_or_lsub failed to handle folder names with double quotes
	  + cleanup Escaped_results()
	  + new methods: Escaped_history() _escaped_trans_data()
	  + removed method: _list_response_preprocess()
	  [Gilles Lamiral, Victor Lé]
	- rt.cpan.org#90315: getacl on a folder returned as literal failed
	  + _read_line could remove extra space when literal data was received
	  [Carl Karcher]
	- rt.cpan.org#89040: typo fixes
	  [David Steinbrunner]

version 3.34: Fri, Sep 27, 2013 12:50:17 AM
	- make Makefile.PL use non-interactive and document test.txt usage
	- new attribute: Socketargs => [ (IO::Socket::.. args) ]
	  + cleanup connect() to more flexible with IO::Socket::* args
	- untagged server data during send literal may cause client to hang
	  [Arthur Wolfe, Josh Hillman]
	  + _send_line() needs '+' only to know it is OK to send LITERAL data
	  + created _response_code_sub() to simplify _get_response()
	- remove internal "Folders" cache
	- Allow for RFC 6154 "IMAP LIST Extension for Special-Use Mailboxes"
	  [Mathias Reitinger]
	  + new method: folders_hash()
	  + deprecate: xlist_folders(), xlist()

version 3.33: Tue, May 14, 2013 10:12:43 AM
	- more cleanup on use of $@ and $!
	- cleanup get_bodystructure / get_envelope
	- allow Ssl arg as an arrayref to pass args to IO::Socket::SSL
	  [Ramana V Mokkapati]
	- no need to Massage() the folder name in uidnext()
	- rt.cpan.org#84028: get_envelope() fails when subject ends w/backslash
	  [Andy Lyttle]
	- rt.cpan.org#79476: move()/copy() with sequence causes numeric warning
	  [Oleg G]
	- *move()/copy() no longer sort message(s) provided by caller

version 3.32: Fri, Aug 10, 2012	 4:43:24 PM
	- document RFC2087 quota related calls
	  [Mathias Reitinger] documentation request
	- rt.cpan.org#78474: idle/idle_data documentation error
	  [Dima Kogan]
	- Quote()/Massage() now uses literals for non ascii data
	  [Mathias Reitinger] reported issues with utf8 data in password
	- use Quote()/Massage() consistently now in:
	    login() proxyauth() deleteacl() setacl() listrights() rename()
	- documented deleteacl() and other minor pod cleanup
	- ran Mail::IMAPClient::BodyStructure through perltidy
	- update year in README/pod to 2012
	- rt.cpan.org#74733: Fails with Parse::RecDescent >= 1.966_002
	  rt.cpan.org#74593: Recent changes break Module::ExtractUse and ...
	  [ANDK, TEAM, SREZIC, NBEBOUT at CPAN and nine from detonation]
	  - Makefile.PL avoid buggy Parse::RecDescent 1.966_002 until 1.967_009
	- rt.cpan.org#76989: Mail::IMAPClient::BodyStructure usage/docs
	  [Pierluigi Frullani]
	  - fix incorrect documentation on new()
	  - lots of doc verbiage updates

version 3.31: Mon, Mar 19, 2012 11:11:11 AM
	- rt.cpan.org#74799: Support for partial data responses in fetch_hash
	  [Philip Garrett]
	  + bonus: cleaner handling of BODY.PEEK responses
	- properly handle ALL|FULL|FAST fetch macros in fetch_hash

version 3.30: Fri Nov 11 09:37:00 EST 2011
	- rt.cpan.org#72347: Starttls array ref argument dereferenced twice
	  [Jonathan Buhacoff]
	- during connect(): Port now defaults 143 or 993 if $self->Ssl
	  [Kodi Arfer]
	- stop reconnect deep recursion if server disconnects on login
	  [Luca Ferrario]
	- reconnect() now returns 1 on success; on error undef or 0=recursive
	- handle EBADF from syswrite in _send_bytes
	- rt.cpan.org#67263: add RFC4978 IMAP COMPRESS Extension support
	  [SDIZ]
	  + new method: compress()
	  + new attributes: Compress Readmoremethod
	- general code cleanup:
	  + new() now always returns $self or undef (never $sock any more)
	  + Socket() now always return a socket or undef
	  + login() now always return $self or undef
	  + _read_more() will now use Readmoremethod if set
	- missing second arg '' for encode_base64 causing AUTHENTICATE
	  PLAIN to fail on lines longer than 76 characters
	  [Yoshiho Yoshida]

version 3.29: Tue Aug  9 00:33:52 EDT 2011
	- rt.cpan.org#69876: ENVELOPE as part of fetch_hash convenience method
	  [Chris Huttman]

Changes  view on Meta::CPAN

	- added/updated documentation for idle, idle_data, and done
	- rt.cpan.org#53998: fix NTLM auth: call ntlm with challenge string
	  [Dragoslav Mlakar]
	- report the return value from select/_read_more on errors
	- logout() again returns the success/failure of the LOGOUT command
	- set/return error when $response->() returns undef in authenticate()
	- new internal method _load_module() centralizing some 'require' calls
	- localize use $@ in several places to avoid stomping on global val
	- refactor code calling _read_more() to centralize error handling

version 3.22: Thu Jan 21 15:25:54 EST 2010
	- rt.cpan.org#52313: Getting read errors if Fast_io is set to 1
	  [Jukka Huhta]
	- updated Maxttemperrors docs related to EAGAIN handling
	- new starttls() method and Starttls attribute to support STARTTLS
	- update parse_headers to try harder to find UID in fetch response

version 3.21: Tue Sep 22 19:45:13 EDT 2009
	- rt.cpan.org#49691: rewrite of fetch_hash to resolve several issues
	  [Robert Norris]
	  includes new tests via t/fetch_hash.t
	- rt.cpan.org#48980: (enhancement) add support for XLIST extension
	  [Robert Norris]
	- rt.cpan.org#49024: NIL personal name returned by *_addresses methods
	  [Dmitry Bigunyak]
	- rt.cpan.org#49401: IMAPClient expunge fails (unless folder arg used)
	  [Gary Baluha]
	- update/clarify close and expunge documentation a little

version 3.20: Fri Aug 21 17:40:40 EDT 2009
	- added file/tests in t/simple.t
	- added methods Rfc3501_date/Rfc3501_datetime
	  used by deprecated methods Rfc2060_date/Rfc2060_datetime
	  rt.cpan.org#48510: Rfc3501_date/Rfc3501_datetime methods do
	    not exist [sedmonds]
	- login() hack to quote an empty password
	  rt.cpan.org#48107: Cannot LOGIN with empty password [skunk]

version 3.19: Fri Jun 19 14:59:15 EDT 2009
	- *search() backwards compat: caller must quote single arg properly
	  rt.cpan.org#47044: $imap->search does not return [ekuemmer]
	- cleanup regexp in _send_line()
	- reduce extra newlines injected by _debug()

version 3.19_02: Tue Jun  9 00:47:52 EDT 2009
	- _list_or_lsub() now calls _list_response_preprocess so
	  consumers of this method no longer need to deal with how
	  LITERAL data is represented in the returned data
	- update _list_or_lsub_response_parse handling of folder names
	  that came back as literal data
	- update comments related to _list_response_preprocess
version 3.19_01: Fri Jun  5 15:45:05 EDT 2009
	- make parse_headers more robust to errors/non-header data

version 3.18: Wed Jun  3 23:07:12 EDT 2009
	- enhance fetch_hash to enable caller to specify list of messages
	  suggestion by [Eugene Mamaev]
	- better handling of untagged BYE response

version 3.18_02: Wed May 27 10:02:24 EDT 2009
	- *new attribute Ssl, when true causes IO::Socket::SSL to be
	  used instead of IO::Socket::INET.  This change allows
	  Reconnectretry logic to work on SSL connections too.
	- have LastError cluck() if setting error to NO not connected
	- handle errors from imap4rev1() in multiple places
	- Reconnectretry/_imap_command enhancements/fixes
	  + only run command if IsConnected
	  + keep a temporary history of LastError(s)
	  + sets LastError to NO not connected if ! IsConnected
	  + retry =~ timeout|socket closed|* BYE| NO not connected
	- _imap_command_do reduce data logged when using APPEND
	- fetch() now handles messages() errors
	- thread(), has_capability(), capability() better error checking
	- authenticate() now uses _imap_command for retry mechanism
	- size() now sets LastError when no RFC822.SIZE is found 

version 3.18_01: Fri May 22 17:08:00 EDT 2009
	- *update several methods to use common _get_response() method
	- refactor most code handling imap responses
	- new internal method _get_response() to reduce code duplication
	- more regex cleanup $CR/$LF (not \r\n) per perlport/IMAP spec
	- major cleanup/fix of append_file for rt.cpan.org#42434

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
	- *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
	- *new Reconnectretry attribute 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()

Changes  view on Meta::CPAN

	- *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]

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:



( run in 1.060 second using v1.01-cache-2.11-cpan-39bf76dae61 )