Imapclient

Latest version: v3.0.1

Safety actively analyzes 682404 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

0.8.1

Not secure
===============

* IMAPClient wasn't installing on Windows due to an extra trailing
slash in MANIFEST.in (102). This is a bug in distutils.
* MANIFEST.in was fixed so that the main documentation index file
is included the source distribution.
* distribute_setup.py was updated to the 0.6.24 version.
* This release also contains some small documentation fixes.

=============

0.8

Not secure
=============

OAUTH Support (54) [NEW]
-------------------------
OAUTH authentication is now supported using the oauth_login
method. This requires the 3rd party oauth2 package is
installed. Thanks to Johannes Heckel for contributing the patch to
this.

IDLE Support (50) [NEW]
------------------------
The IDLE extension is now supported through the new idle(),
idle_check() and idle_done() methods. See the example in
imapclient/examples/idle_example.py.

NOOP Support (74) [NEW]
------------------------
The NOOP command is now supported. It returns parsed untagged server
responses in the same format as idle_check() and idle_done().

Sphinx Based Docs (5) [NEW]
----------------------------
Full documentation is now available under doc/html in the source
distribution and at http://imapclient.readthedocs.io/ online.

Added rename_folder (77) [NEW]
--------------------------------
Renaming of folders was an obvious omission!

Minor Features
--------------
* interact.py can now read livetest.py INI files (66)
* interact.py can now embed shells from ipython 0.10 and 0.11 (98)
* interact.py and livetest.py are now inside the imapclient package so
they can be used even when IMAClient has been installed from PyPI
(82)
* Added "debug" propety and setting of a log file (90)
* "normalise_times" attribute allows caller to select whether
datetimes returned by fetch() are native or not (96) (Thanks Andrew
Scheller)
* Added imapclient.version_info - a tuple that contains the IMAPClient
version number broken down into it's parts.

Minor Bug Fixes
---------------
* getacl() was using wrong lexing class (85) (Thanks josephhh)
* Removed special handling for response tuples without whitespace
between them. Post-process BODY/BODYSTRUCTURE responses
instead. This should not affect the external API. (91) (Thanks
daishi)
* Fix incorrect msg_id for UID fetch when use_uid is False (99)

=============

0.7

Not secure
=============

BODY and BODYSTRUCTURE parsing fixes (58) [API CHANGE]
-------------------------------------------------------
The response values for BODY and BODYSTRUCTURE responses may include a
sequence of tuples which are not separated by whitespace. These should
be treated as a single item (a list of multiple arbitrarily nested
tuples) but IMAPClient was treating them as separate items. IMAPClient
now returns these tuples in a list to allow for consistent parsing.

A BODYSTRUCTURE response for a multipart email with 2 parts would have
previously looked something like this::

(('text', 'html', ('charset', 'us-ascii'), None, None, 'quoted-printable', 55, 3),
('text', 'plain', ('charset', 'us-ascii'), None, None, '7bit', 26, 1),
'mixed', ('boundary', '===============1534046211=='))

The response is now returned like this::

([
('text', 'html', ('charset', 'us-ascii'), None, None, 'quoted-printable', 55, 3),
('text', 'plain', ('charset', 'us-ascii'), None, None, '7bit', 26, 1)
],
'mixed', ('boundary', '===============1534046211=='))

The behaviour for single part messages is unchanged. In this case the
first element of the tuple is a string specifying the major content
type of the message (eg "text").

An is_multipart boolean property now exists on BODY and BODYSTRUCTURE
responses to allow the caller to easily determine whether the response
is for a multipart message.

Code that expects the previous response handling behaviour needs to be
updated.

Live tests converted to use unittest2 (4)
------------------------------------------
livetest.py now uses the unittest2 package to run the tests. This
provides much more flexibility that the custom approach that was used
before. Dependencies between tests are gone - each test uses a fresh
IMAP connection and is preceeded by the same setup.

unittest2.main() is used to provide a number of useful command line
options and the ability to run a subset of tests.

IMAP account parameters are now read using a configuration file
instead of command line arguments. See livetest-sample.ini for an
example.

Added NAMESPACE support (63) [API CHANGE]
------------------------------------------
namespace() method added and get_folder_delimiter() has been
deprecated.

Added support for FETCH modifiers (62) [NEW]
---------------------------------------------
The fetch method now takes optional modifiers as the last
argument. These are required for extensions such as RFC 4551
(conditional store). Thanks to Thomas Jost for the patch.

===============

0.6.2

Not secure
===============

Square brackets in responses now parsed correctly (55)
-------------------------------------------------------
This fixes response handling for FETCH items such as
``BODY[HEADER.FIELDS (from subject)]``.

Example moved (56)
-------------------
The example has been moved to imapclient/examples directory and is
included when the IMAPClient is installed from PyPI.

Distribute (57)
----------------
The project is now packaged using Distribute instead of
setuptools. There should be no real functional change.

===============

0.6.1

Not secure
===============

Python SSL bug patch
--------------------
Automatically patch a bug in imaplib which can cause hangs when using
SSL (Python Issue 5949). The patch is only applied when the running
Python version is known to be affected by the problem.

Doc update
----------
Updated the README to better reflect the current state of the project.

=============

0.6

Not secure
=============

New response parser (1, 45)
-----------------------------
Command response lexing and parsing code rewritten from stratch to
deal with various bugs that surfaced when dealing with more complex
responses (eg. BODYSTRUCTURE and ENVELOPE). This change also fixes
various problems when interacting with Gmail and MS Exchange.

XLIST extension support (25) [NEW]
-----------------------------------
Where the server supports it, xlist_folders() will return a mapping of
various common folder names to the actual server folder names. Gmail's
IMAP server supports this.

Added COPY command support (36) [NEW]
--------------------------------------
New copy() method.

Added interact.py [NEW]
-----------------------
A script for interactive IMAPClient sessions. Useful for debugging and
exploration. Uses IPython if installed.

Full SELECT response (24) [API CHANGE]
---------------------------------------
select_folder() now returns a dictionary with the full (parsed) SELECT
command response instead of just the message count.

Full list responses (24) [API CHANGE]
--------------------------------------
The return value from list_folders(), list_sub_folders() and
xlist_folders() now include the IMAP folder flags and delimiter.

Folder name character encoding (21) [API CHANGE]
-------------------------------------------------
Bytes that are greater than 0x7f in folder names are will cause an
exception when passed to methods that accept folder name arguments
because there is no unambigous way to handle these. Callers should
encode such folder names to unicode objects first.

Folder names are now always returned as unicode objects.

Message sequence number now always returned in FETCH responses
--------------------------------------------------------------
Fetch responses now include a "SEQ" element which gives the message
(non-UID) sequence number. This allows for easy mapping between UIDs
and standard sequence IDs.

Folder name handling fixes (28, 42)
-------------------------------------
Various folder name handling bugs fixed.


===============

Page 4 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.