Apache-libcloud

Latest version: v3.8.0

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

Scan your dependencies

Page 1 of 12

3.8.0

--------------------------------

Compute
~~~~~~~

- Remove obsolete compute driver where the provider is either dead or not
offering those services anymore: Bluebox, bsnlcloud, Cloudwatt, Enomaly,
ElasticHosts, ElasticStack, GoGrid, Gridspot, HostVirtual, Joyent, Med-1,
Nephoscale, 1on1, ProfitBricks, ServerLove, SkaliCloud, Softlayer, Voxel.

(1743, 1852)
[Anthony Monthe - ZuluPro, Tomaz Muraus - Kami]

- [Outscale] Fix ``list_nodes()`` and ``list_volumes()`` method.
(1877)
[Matthias Gatto - outscale-mgo]

- [Azure ARM] Implement pagination in the ``list_nodes()`` method. This fixes a
bug which would result in sometimes not all the nodes being returned.
(1824, 1850)
[Jan Müller - ojan-mue]

- [Azure ARM] Implement pagination in the ``list_volumes()`` method. This fixes a
bug which would result in sometimes not all the volumes nodes being returned.
(1891)
[Jan Müller - ojan-mue]

- [Azure ARM] Bump DISK_API_VERSION from ``2018-06-01`` to ``2023-01-02`` to
support premium v2 SSDs.
(1904)
[John Wren Kennedy - jwk404]

- [AWS EC2] Add support for the following new arguments to the
``ex_register_image()`` method:
* ``boot_mode`` - control bios vs uefi boot
* ``tpm_support`` - enable a tpm
* ``uefi_data`` - provide NV UEFI vars
* ``imds_support`` - require IMDSv2.
(1906)
[Ross Vandegrift - rvandegrift]

Storage
~~~~~~~

- Optimize ``read_in_chunks()`` function implementation.

This should result in large performance speedups and lower memory usage when
uploading or downloading a large file with a mismatching chunk size.

Keep in mind that this only affects code paths where the function is called
with ``fill_size=True`` argument (such as in the S3 driver, etc).
(1847)
[Tobias Biester - Tobi995]

- [Aliyun OSS] Fix ``upload_object()`` function.
(1796)
[shengwubin]

- [S3] Support all available storage classes. Previously only "standard" and
"reduced_redundancy" were supported.
(1875)
[Mohammad Aburadeh - mohammad-aburadeh]

- [CloudFiles] Fix ``get_endpoint_url()`` throwing an exception when being used
with ``use_internal_url=True`` argument.
(1883, 1884)
[Marcus T - llamasoft]

- [CloudFiles] Update OpenStack connection handling code to only re-connect in
case connection details (scheme, host, port) have changed.

This should result in significant performance improvements when downloading
objects since the underlying HTTP connection will be properly re-used.
(1885, 1886)
[Marcus T - llamasoft]

- [Backblaze B2] Fix a bug which would result in an exception when passing
``extra={"meta_data": {}}`` argument to the ``upload_object()`` method.
(1916)
[Shepilov Vladislav - shepilov-vladislav]

Other
~~~~~

- Move Python tooling (pytest, bandit, pylint, mypy, coverage) config options
from separate config files into single pyproject.yaml config files.

NOTE: This change only affects development process and nothing else.
(1901)
[RS Nikhil Krishna - rsnk96]

- Fix minor typos in the code using codespell package and enforce this check as
part of our GHA CI system.
(1923)
[Tomaz Muraus - Kami]

- Indicate we also support Python 3.12 (beta).
(1920)
[Tomaz Muraus - Kami]

- Remove unused ``libcloud.security.SSL_VERSION`` constant / module level
variable. This variable has been unused and had no affect on the behavior
since we switched to the ``requests`` library for making HTTP(s) requests in
2016.
[Tomaz Muraus - Kami]

- Packaging related metadata has been migrated from ``setup.py`` to
``pyproject.yaml`` file.
(1929)
[Tomaz Muraus - Kami]

- Deprecated and unsafe ``setup.py test`` convenience alias for running tests
using pytest has been removed in favor of running pytest directly.
(1929)
[Tomaz Muraus - Kami]

- Script for building release artifacts has been updated to utilize ``build``
Python package to build release artifacts (sdist + wheel) in an isolated
environment.
(1929)
[Tomaz Muraus - Kami]

3.7.0

--------------------------------

Common
~~~~~~

- Support for Python 3.6 which has been EOL for more than a year now has been
removed.

If you still want to use Libcloud with Python 3.6, you should use an older
release which still supports Python 3.6.
(1611)

Compute
~~~~~~~

- [CloudSigma] Update API URLs for US locations.
(1781)
[Mohsen Hassani - mohsen-hassani-cs]

- [GCP] Fix OAuth2 desktop client login.
(1806, 1807)
[Veith Röthlingshöfer - RunOrVeith]

Storage
~~~~~~~

- [Amazon S3] Add support for ``af-south-1`` region.
(1821)
[alier350]

Other
~~~~~

- Also run unit tests under Python 3.11 on CI/CD and indicate we also support
Python 3.11.
(1818)

3.6.1

--------------------------------

Common
~~~~~~

- [OpenStack] Fix OpenStack Identitiy bug when auth url contains a path.

(1717, 1718)
[Dimitris Galanis - dimgal1]


- Update EC2 price scraping script to utilize official pricing API endpoint.

Pricing file has also been updated to include latest EC2 pricing data.

Complete raw pricing data file size has grown by ~1 MB (from ~2 MB to
~3 MB).

By default when requesting pricing data we only cache pricing data in memory
for used / requested drivers so a slight memory increase due to the pricing
file size increase will only affect users who utilize pricing related
functionality in the EC2 driver.

(1715)
[Eis D. Zaster - Eis-D-Z]

Compute
~~~~~~~

- [EC2] Update ``list_images()`` method to better handle scenario when an image
doesn't contain ``creationDate`` attribute (previously the code would throw if
an image without ``creationDate`` was encountered).

Reported by Juan Marcos Caicedo Mejía - juanmarcosdev.

(1700, 1701)
[Tomaz Muraus - Kami]

- [Azure ARM] Allow user to create volume / disks in specific zone by passing
``ex_zones`` argument to the ``create_volume()`` method.

Also add new ``ex_sku_name`` and remove ``ex_account_type`` argument from
that method.

Also change ``DISK_API_VERSION`` version from ``2016-04-30-preview`` to
``2018-06-01``. This is needed to be able to support those changes. Code
has been updated to handle slightly different response format for the
volume API operations.

(1736)
[Palash Gandhi - palashgandhi]

- [GCE] Add improved support for retrieving GCE image pricing data using
``libcloud.pricing.get_image_price("gce_images", ...)`` method.

Existing way of retrieving image pricing using
``libcloud.pricing.get_pricing("compute", "gce_images")`` method continues to
work.

(1699)
[Eis D. Zaster - Eis-D-Z]

- [Azure ARM] Add new ``ex_create_additional_capabilities()`` method which allows
user to set capabilities on a stopped node. This allows users to utilize ultra
SSDs and similar.

Also add support for new ``ex_iops`` and ``ex_throughput`` argument to the
``create_volume()`` method.

(1744)
[John Wren Kennedy - jwk404]

Storage
~~~~~~~

- [Azure Blobs] Fix ``get_container()`` method and make sure Container ``etag``
extra attribute contains the correct scheme (https or http), depending on the
used endpoint.

(1703, 1712)
[KatiRG]

- [Azure Blobs] Fix `list_containers()`` method and make sure Container ``etag``
extra attribute doesn't contain unncessary double quotes around the value
(``"0x8CFBAB7B5B82D8E"`` -> ``0x8CFBAB7B5B82D8E``).

(1712)
[Tomaz Muraus - Kami]

- [OVH] Add new driver for OVH Storage based on the S3 compatible storage
endpoints.

(1732)
[Olivier Picquenot - pcqnt]

Other / Development
~~~~~--------------

- All the imports in the code have been re-organized / sorted using the ``isort``
library.

Going forward, consistent import ordering will be automatically enforced
using ``isort`` check on the CI.

Developers can run the isort check locally using
``tox -e <isort|isort-check>`` command.

(1761)
[Tomaz Muraus - Kami]

- Fix black config (``pyproject.toml``) and ensure max line length is correctly
set to 100 characters everywhere.

Also re-format code with this fixed / updated config option.

(1761)
[Tomaz Muraus - Kami]

- Code has been reformatted using pyupgrade and Python 3.6 higher compatible
syntax.

(1765)
[Tomaz Muraus - Kami]

3.6.0

--------------------------------

Compute
~~~~~~~

- [OpenStack] Fix error attaching/detaching a Floating IP to an OpenStack node
when `ex_force_microversion` is set with 2.44 or newer microversion.

(1674)
[Miguel Caballer - micafer]

- [OpenStack] Error in volume api calls if microversion is set in OpenStack.
In previous version if `ex_force_microversion` is set, it is assumed to set
it to the compute service. Now if only a version is set `2.67`, compute
service is assumed but it can be also set the service name `volume 3.21`.

(1675)
[Miguel Caballer - micafer]

- [OpenStack] Fix error creating and getting node in OpenStack when
ex_force_microversion is set to a version newer than 2.47.

(1672)
[Miguel Caballer - micafer]

- [EC2] Add support for new ``af-south-1`` region.
(1688)
[Balazs Baranyi - balazsbaranyi]

- [SSH] Update deploy node and ParamikoSSHClient related code so it works
with paramiko >= 2.9.0 and older OpenSSH server versions which doesn't
support SHA-2 variants of RSA key verification algorithm.

paramiko v2.9.0 introduced a change to prefer SHA-2 variants of RSA key
verification algorithm. With this version paramiko would fail to connect
to older OpenSSH servers which don't support this algorithm (e.g. default
setup on Ubuntu 14.04) and throw authentication error.

The code has been updated to be backward compatible. It first tries to
connect to the server using default preferred algorithm values and in case
this fails, it will fall back to the old approach with SHA-2 variants
disabled.

This functionality can be disabled by setting
``LIBCLOUD_PARAMIKO_SHA2_BACKWARD_COMPATIBILITY``environment variable to
``false``.

For security reasons (to prevent possible downgrade attacks and similar) you
are encouraged to do that in case you know you won't be connecting to any old
OpenSSH servers.
[Tomaz Muraus]

Storage
~~~~~~~

- [Google Storage] Fix public objects retrieval. In some scenarios, Google
doesn't return ``etag`` header in the response (e.g. for gzip content
encoding). The code has been updated to take this into account and not
throw if the header is not present.

(1682, 1683)
[Veith Röthlingshöfer - RunOrVeith]

- [Azure Blobs] Add support for authenticating with Azure AD by passing
``auth_type="azureAd"`` argument to the driver constructor.

(1663)
[Brooke White - brookewhite9]

DNS
~~~

- [GoDaddy] Fix ``list_zones()`` method so it doesn't throw if an item is
missing ``expires`` attribute.
(1681)
[Dave Grenier - livegrenier]

Container
~~~~~~~~~

- [Kubernetes] Various improvements in the driver - implement list methods for
nodes, services, deployments, node/pod metrics, add more fields to Pods and
Containers, rename clusters to namespaces, add type annotations.

(1667)
[Dimitris Galanis - dimgal1]

Other
~~~~~

- Test code has been updated to utilize stdlib ``unittest.mock`` module instead
of 3rd party PyPi ``mock`` package.

(GITHUG-1684)
Reported by pgajdos.

3.5.1

--------------------------------

Common
~~~~~~

- Update code which retries failed HTTP requests to also retry failed "raw"
requests and make sure we also wrap and retry piece of code where Response
class is instantiated and exceptions can be thrown.
[Daniel Draper - Germandrummer92]
(1592)

Compute
~~~~~~~

- [GCE] Retrieve regions and zones lazily when they are first accessed (via
self.zone_{dict,list} and self.region_{dict,list} attribute) instead of
retrieving them inside the driver constructor.

(1661, 1661)
[Dimitris Galanis - dimgal1]

3.5.0

--------------------------------

Common
~~~~~~

- Support for Python 3.5 which has been EOL for more than a year now has been
removed.

If you still want to use Libcloud with Python 3.5, you should use an older
release which still supports Python 3.5.
(1620)

- Update AWS error response parsing code so it also correctly handles error XML
responses without a namespace in the response body.

In some scenarios AWS returns error response without the namespace in the body
and previous version of the code didn't handle that scenario.
[Tomaz Muraus - Kami]

Compute
~~~~~~~

- [EC2] Add support for new ``ap-east-1`` region.
(1628)
[Arturo Noha - r2ronoha, Tomaz Muraus - Kami]

- [OpenStack] Add Server Groups functions in OpenStack driver.
(1629)
[Miguel Caballer - micafer]

- [OpenStack] OpenStack: Move floating IP functions to use network service
instead of nova.

This change affects all the floating ip related functions of the
``OpenStack_2_NodeDriver`` class. Two new classes have been added
``OpenStack_2_FloatingIpPool`` and ``OpenStack_2_FloatingIpAddress``.
The main change applies to the FloatingIP class where ``node_id``
property cannot be directly obtained from FloatingIP information and it
must be gotten from the related Port information with the ``get_node_id``
method.
(1638)
[Miguel Caballer - micafer]

- [OpenStack] Avoid raising exception if ip is not found.
(1595)
[Miguel Caballer - micafer]

- [Azure ARM] Add option to create node from Compute Gallery image.
(1643)
[Robert Harris - rgharris]

- [Azure ARM] Add create node OS disk delete option.
(1644)
[Robert Harris - rgharris]

- [EC2] Add missing ``creation_date`` NodeImage extra.
(1641)
[Thomas JOUANNOT - mazerty]

- [GCE] Allow ``credentials`` argument which is provided to the driver
constructor to also be either a Python dictionary with the credentials object
or a JSON string with the serialized credentials object. That's in addition
to supporting passing in path to the credentials file or string PEM version of
the key.
(1214)
[bverschueren]

- [OpenStack] Personality field in the server requests of OpenStack must
be optional
(1649)
[Miguel Caballer - micafer]

- [OpenStack] headers field are overwrited in case of POST of
PUT methods in OpenStack connection
(1650)
[Miguel Caballer - micafer]

- [EC2] Update supported EC2 regions and instance sizes and add support
for eu-south-1 region.
(1656)
[Arturo Noha - r2ronoha]

- [OpenStack] Add new ``ex_force_microversion`` constructor argument with which
user can specify which micro version to use (
https://docs.openstack.org/api-guide/compute/microversions.html).
(1647, 1648)

- [GCE] Add ``paginated_request()`` method to GCEConnection and update
``ex_list_project_images()`` method to utilize it.
(1646, 1655)
[Miguel Caballer - micafer]

- [OpenStack] Fix regression which was inadvertently introduced in 1557 which
would cause some OpenStack authentication methods to not work and result in
an exception.

Reported by LanderOtto via 1659.
(1659, 1660)
[Tomaz Muraus - Kami]

Storage
~~~~~~~

- [Local Storage] Fix object name prefix based filtering in the
``list_container_objects()`` method.

A change in the previous release inadvertently introduced a regression which
changed the behavior so the object name prefix based filtering didn't work
correctly in all the scenarios.

Reported by louis-van-der-stam.
(1631)
[Tomaz Muraus - Kami]

- [Local Storage] Objects returned by the ``list_container_objects()`` method
are now returned sorted in the ascending order based on the object name.

Previously the order was arbitrary and not stable and consistent across
different environments and runs.

(1631)
[Tomaz Muraus - Kami]

- [Scaleway] Add new driver for the Scaleway Object Storage.
(1633)
[reixd]

Other
~~~~~

- Also run unit tests under Python 3.10 + Pyjion on CI/CD.
(1626)

- All the code has been reformatted using black v21.10b0 and we will enforce
black code style for all the new code going forward.

Developers can re-format their code using new ``black`` tox target (``black
-etox``) and they can check if there are any violations by running
``black-check`` target (``tox -eblack-check``).
(1623, 1624)

Page 1 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.