11Changelog
22=========
33
4- Changes in Apache Libcloud in development
5- -----------------------------------------
4+ Changes in Apache Libcloud in development (3.0.0)
5+ -------------------------------------------------
6+
7+ General
8+ ~~~~~~~
9+
10+ - This release drops support for Python versions older than 3.5.0.
11+
12+ If you still need to use Libcloud with Python 2.7 or Python 3.4 you can do
13+ that by using the latest release which still supported those Python versions
14+ (Libcloud v2.8.0).
15+ (GITHUB-1377)
16+ [Tomaz Muraus]
17+
18+ - Make sure unit tests now also pass on Windows.
19+ (GITHUB-1396)
20+ [Tomaz Muraus]
21+
22+ Compute
23+ ~~~~~~~
24+
25+ - [VMware vSphere] vSphere driver relies on ``pysphere `` Python library which
26+ doesn't support Python 3 so it has been removed.
27+
28+ There is an unofficial ``pysphere `` fork which adds Python 3 support, but
29+ it's out of date and not maintained (https://github.com/machalekj/pysphere/tree/2to3).
30+ (GITHUB-1377)
31+ [Tomaz Muraus]
32+
33+ - [GCE] Fix ``ex_list_instancegroups `` method so it doesn't throw if ``zone ``
34+ attribute is not present in the response.
35+
36+ Reported by Kartik Subbarao (@kartiksubbarao)
37+ (GITHUB-1346)
38+ [Tomaz Muraus]
39+
40+ - [AWS EC2] Add support for creating spot instances by utilizing new ``ex_spot ``
41+ and optionally also ``ex_spot_max_price `` keyword argument in the
42+ ``create_node `` method.
43+ (GITHUB-1398)
44+ [Peter Yu - @yukw777]
45+
46+ Storage
47+ ~~~~~~~
48+
49+ - [AWS S3] Fix upload object code so uploaded data MD5 checksum check is not
50+ performed at the end of the upload when AWS KMS server side encryption is
51+ used.
52+
53+ If AWS KMS server side object encryption is used, ETag header value in the
54+ response doesn't contain data MD5 digest so we can't perform a checksum
55+ check.
56+
57+ Reported by Jonathan Harden - @jfharden.
58+ (GITHUB-1401, GITHUB-1406)
59+ [Tomaz Muraus - @Kami]
60+
61+ Container
62+ ~~~~~~~~~
63+
64+ - [LXD] Add new LXD driver.
65+ (GITHUB-1395)
66+ [Alexandros Giavaras - @pockerman]
67+
68+ Storage
69+ ~~~~~~~
70+
71+ - [Azure Blobs] Implement chunked upload in the Azure Storage driver.
72+
73+ Previously, the maximum object size that could be uploaded with the
74+ Azure Storage driver was capped at 100 MB: the maximum size that could
75+ be uploaded in a single request to Azure. Chunked upload removes this
76+ limitation and now enables uploading objects up to Azure's maximum block
77+ blob size (~5 TB). The size of the chunks uploaded by the driver can be
78+ configured via the ``LIBCLOUD_AZURE_UPLOAD_CHUNK_SIZE_MB `` environment
79+ variable and defaults to 4 MB per chunk. Increasing this number trades-off
80+ higher memory usage for a lower number of http requests executed by the
81+ driver.
82+
83+ Reported by @rvolykh.
84+ (GITHUB-1399, GITHUB-1400)
85+ [Clemens Wolff - @c-w]
86+
87+ - [Azure Blobs] Drop support for uploading PageBlob objects via the Azure
88+ Storage driver.
89+
90+ Previously, both PageBlob and BlockBlob objects could be uploaded via the
91+ ``upload_object `` and ``upload_object_via_stream `` methods by specifying the
92+ ``ex_blob_type `` and ``ex_page_blob_size `` arguments. To simplify the API,
93+ these options were removed and all uploaded objects are now of BlockBlob
94+ type. Passing ``ex_blob_type `` or ``ex_page_blob_size `` will now raise a
95+ ``ValueError ``.
96+
97+ (GITHUB-1400)
98+ [Clemens Wolff - @c-w]
99+
100+ - [Common] Add ``prefix `` argument to ``iterate_container_objects `` and
101+ ``list_container_objects `` to support object-list filtering in all
102+ StorageDriver implementations.
103+
104+ A lot of the existing storage drivers already implemented the filtering
105+ functionality via the ``ex_prefix `` extension argument so it was decided
106+ to promote the argument to be part of the standard Libcloud storage API.
107+ For any storage driver that doesn't natively implement filtering the results
108+ list, a fall-back was implemented which filters the full object stream on
109+ the client side.
110+
111+ For backward compatibility reasons, the ``ex_prefix `` argument will still
112+ be respected until a next major release.
113+ (GITHUB-1397)
114+ [Clemens Wolff - @c-w]
115+
116+ - [Azure Blobs] Implement ``get_object_cdn_url `` for the Azure Storage driver.
117+
118+ Leveraging Azure storage service shared access signatures, the Azure Storage
119+ driver can now be used to generate temporary URLs that grant clients read
120+ access to objects. The URLs expire after a certain period of time, either
121+ configured via the ``ex_expiry `` argument or the
122+ ``LIBCLOUD_AZURE_STORAGE_CDN_URL_EXPIRY_HOURS `` environment variable
123+ (default: 24 hours).
124+
125+ Reported by @rvolykh.
126+ (GITHUB-1403, GITHUB-1408)
127+ [Clemens Wolff - @c-w]
128+
129+ Changes in Apache Libcloud v2.8.0
130+ ---------------------------------
6131
7132Common
8- ------
133+ ~~~~~~
9134
10135- Fix a regression with ``get_driver() `` method not working if ``provider ``
11136 argument value was a string (e.g. using ``get_driver('openstack') ``
@@ -35,7 +160,7 @@ Common
35160 [Tomaz Muraus]
36161
37162Compute
38- -------
163+ ~~~~~~~
39164
40165- [DigitalOcean] Fix ``attach_volume `` and ``detach_volume `` methods.
41166 Previously those two methods incorrectly passed volume id instead of
@@ -92,7 +217,7 @@ Compute
92217 [Tomaz Muraus]
93218
94219Storage
95- -------
220+ ~~~~~~~
96221
97222- [AWS S3] Make sure ``host `` driver constructor argument has priority
98223 over ``region `` argument.
@@ -107,14 +232,14 @@ Changes in Apache Libcloud v2.7.0
107232---------------------------------
108233
109234General
110- -------
235+ ~~~~~~~
111236
112237- Test code with Python 3.8 and advertise that we also support Python 3.8.
113238 (GITHUB-1371, GITHUB-1374)
114239 [Tomaz Muraus]
115240
116241Common
117- ------
242+ ~~~~~~
118243
119244- [OpenStack] Fix OpenStack project scoped token authentication. The driver
120245 constructors now accept ``ex_tenant_domain_id `` argument which tells
@@ -123,7 +248,7 @@ Common
123248 [kshtsk]
124249
125250Compute
126- -------
251+ ~~~~~~~
127252
128253- Introduce type annotations for the base compute API methods. This means you
129254 can now leverage mypy to type check (with some limitations) your code which
0 commit comments