3 Changes with Apache Libcloud 0.14.0-beta3
7 - If the file exists, read pricing data from ~/.libcloud/pricing.json
8 by default. If the file doesn't exist, fall back to the old behavior
9 and use pricing data which is bundled with the release.
12 - Add libcloud.pricing.download_pricing_file function for downloading and
13 updating the pricing file.
16 - Fix libcloud.utils.py3.urlquote so it works with unicode strings under
17 Python 2. (LIBCLOUD-429)
22 - Refactor Rackspace driver classes and make them easier to use. Now there
23 are two Rackspace provider constants - Provider.RACKSPACE which
24 represents new next-gen OpenStack servers and
25 Provider.RACKSPACE_FIRST_GEN which represents old first-gen cloud
28 Note: This change is backward incompatible. For more information on those
29 changes and how to update your code, please visit "Upgrade Notes"
30 documentation page - http://s.apache.org/lc0140un
33 - Deprecate the following EC2 provider constants: EC2_US_EAST,
34 EC2_EU, EC2_EU_WEST, EC2_AP_SOUTHEAST, EC2_AP_NORTHEAST,
35 EC2_US_WEST_OREGON, EC2_SA_EAST, EC2_SA_EAST and replace it with a new
37 Driver referenced by this new constant now takes a "region" argument which
38 dictates to which region to connect.
40 Note: Deprecated constants will continue to work until the next major
41 release. For more information on those changes and how to update your
42 code, please visit "Upgrade Notes" documentation page -
43 http://s.apache.org/lc0140un
46 - Add support for volume related functions to OpenNebula driver.
50 - Add methods for managing storage volumes to the OpenStack driver.
54 - Add new driver for Google Compute Engine (LIBCLOUD-266, LIBCLOUD-386)
57 - Fix create_node "features" metadata and update affected drivers.
61 - Update EC2 driver to accept the auth kwarg (it will accept NodeAuthSSH
62 objects and automatically import a public key that is not already
63 uploaded to the EC2 keyring). (Follow on from LIBCLOUD-367).
66 - Unify extension argument names for assigning a node to security groups
67 in EC2 and OpenStack driver.
68 Argument in the EC2 driver has been renamed from ex_securitygroup to
69 ex_security_groups. For backward compatibility reasons, old argument
70 will continue to work until the next major release. (LIBCLOUD-375)
73 - Add ex_import_keypair_from_string and ex_import_keypair method to the
74 CloudStack driver. (LIBCLOUD-380)
77 - Add support for managing floating IP addresses to the OpenStack driver.
81 - Add extension methods for handling port forwarding to the CloudStack
82 driver, rename CloudStackForwardingRule class to
83 CloudStackIPForwardingRule. (LIBCLOUD-383)
86 - Hook up deploy_node functionality in the CloudStack driver and unify
87 extension arguments for handling security groups. (LIBCLOUD-388)
90 - Allow user to pass "args" argument to the ScriptDeployment and
91 ScriptFileDeployment class. This argument tells which command line
92 arguments get passed to the ScriptDeployment script. (LIBCLOUD-394)
94 Note: This change is backward incompatible. For more information on how
95 this affects your code and how to update it, visit "Upgrade Notes"
96 documentation page - http://s.apache.org/lc0140un
99 - Allow user to specify IAM profile to use when creating an EC2 node.
103 - Add support for keypair management to the OpenStack driver.
107 - Allow user to specify disk partitioning mode using ex_disk_config argument
108 in the OpenStack based drivers. (LIBCLOUD-402)
111 - Add new driver for NephoScale provider (http://nephoscale.com/).
115 - Update network related extension methods so they work correctly with
116 both, OpenStack and Rackspace driver. (LIBCLOUD-368)
119 - Add tests for networking functionality in the OpenStack and Rackspace
123 - Allow user to pass all supported extension arguments to ex_rebuild_server
124 method in the OpenStack driver. (LIBCLOUD-408)
127 - Add pricing information for Rackspace Cloud Sydney region.
130 - Update EC2 instance type map and pricing data. High Storage instances are
131 now also available in Sydney and Singapore region.
134 - Add new methods for managing storage volumes and snapshots to the EC2
135 driver (list_volumes, list_snapshots, destroy_volume_snapshot,
136 create_volume_snapshot) (LIBCLOUD-409)
139 - Add the following new extension methods to EC2 driver: ex_destroy_image,
140 ex_modify_instance_attributes, ex_delete_keypair. (LIBCLOUD-409)
143 - Allow user to specify a port range when creating a port forwarding rule.
147 - Align Joyent driver with other drivers and deprecate "location" argument
148 in the driver constructor in favor of "region" argument.
150 Note: Deprecated argument will continue to work until the next major
154 - Deprecate the following ElasticHosts provider constants: ELASTICHOSTS_UK1,
155 ELASTICHOSTS_UK2, ELASTICHOSTS_US1, ELASTICHOSTS_US2, ELASTICHOSTS_US3,
156 ELASTICHOSTS_CA1, ELASTICHOSTS_AU1, ELASTICHOSTS_CN1 and replace it with a
157 new ELASTICHOSTS constant.
158 Driver referenced by this new constant now takes a "region" argument which
159 dictates to which region to connect.
161 Note: Deprecated constants will continue to work until the next major
162 release. For more information on those changes and how to update your
163 code, please visit "Upgrade Notes" documentation page -
164 http://s.apache.org/lc0140un (LIBCLOUD-383)
165 [Michael Bennett, Tomaz Muraus]
167 - Add log statements to our ParamikoSSHClient wrapper. This should make
168 debugging deployment issues easier. (LIBCLOUD-414)
171 - Add new "NodeState.STOPPED" node state. Update HostVirual and EC2 driver to
172 also recognize this new state. (LIBCLOUD-296)
175 - Add new Hong Kong endpoint to Rackspace driver.
178 - Fix ex_delete_keypair method in the EC2 driver. (LIBCLOUD-415)
181 - Add the following new extension methods for elastic IP management to the
182 EC2 driver: ex_allocate_address, ex_disassociate_address,
183 ex_release_address. (LIBCLOUD-417)
186 - For consistency and accuracy, rename "ex_associate_addresses" method in the
187 EC2 driver to "ex_associate_address_with_node".
189 Note: Old method will continue to work until the next major release.
192 - Add new driver for CloudFrames (http://www.cloudfounders.com/CloudFrames)
193 provider. (LIBCLOUD-358)
194 [Bernard Kerckenaere]
196 - Update default kernel versions which are used when creating a Linode
199 Old default kernel versions:
201 - x86 - 2.6.18.8-x86_64-linode1
202 - x86_64 - 2.6.39.1-linode34
204 New default kernel versions:
206 - x86 - 3.9.3-x86-linode52
207 - x86_64 - 3.9.3-x86_64-linode33
210 [Tomaz Muraus, Jon Chen]
212 - Disable cache busting functionality in the OpenStack and Rackspace next-gen
213 driver and enable it only for Rackspace first-gen driver.
216 - Update Google Compute Engine driver to v1beta16.
219 - Modify auth_url variable in the OpenStack drivers so it works more like
220 users would expect it to.
222 Previously path specified in the auth_url was ignored and only protocol,
223 hostname and port were used. Now user can provide a full url for the
224 auth_url variable and the path provided in the url is also used.
225 [DaeMyung Kang, Tomaz Muraus]
227 - Allow user to associate arbitrary key/value pairs with a node by passing
228 "ex_metadata" argument (dictionary) to create_node method in the EC2
230 Those values are associated with a node using tags functionality.
234 - Add "ex_get_metadata" method to EC2 and OpenStack driver. This method reads
235 metadata dictionary from the Node object. (LIBCLOUD-395)
238 - Multiple improvements in the Softlayer driver:
239 - Map "INITIATING" node state to NodeState.PENDING
240 - If node is launching remap "halted" state to "pending"
241 - Add more node sizes
242 - Add ex_stop_node and ex_start_node method
243 - Update tests response fixtures
247 - Modify list_sizes method in the KT UCloud driver to work, even if the item
248 doesn't have 'diskofferingid' attribute. (LIBCLOUD-435)
251 - Add new c3 instance types to the EC2 driver.
254 - Fix an issue with the ex_list_keypairs and ex_list_security_groups method
255 in the CloudStack driver which caused an exception to be thrown if the API
256 returned no keypairs / security groups.
258 [Carlos Reategui, Tomaz Muraus]
260 - Fix a bug in the OpenStack based drivers with not correctly checking if the
261 auth token has expired before re-using it. (LIBCLOUD-428)
263 Reported by Michael Farrell.
264 [Tomaz Muraus, Michael Farrell]
268 - Deprecate CLOUDFILES_US and CLOUDFILES_UK provider constant and replace
269 it with a new CLOUDFILES constant.
270 Driver referenced by this new constant takes a "region" keyword argument
271 which can be one of 'ord', 'dfw', 'iad', 'syd', 'lon'.
273 Note: Deprecated constants will continue to work until the next major
275 For more information on this change, please visit "Upgrade Notes"
276 documentation section - http://s.apache.org/lc0140un
279 - Allow users to filter objects starting with a prefix by passing ex_prefix
280 argument to the list_container_objects method in the S3, Google Storage
281 and CloudFiles driver. (LIBCLOUD-369)
284 - Fix an issue with mutating connectionCls.host attribute in the Azure
285 driver. This bug prevented user from having multiple Azure drivers with
286 different keys instantiated at the same time. (LIBCLOUD-399)
289 - Add a new driver for KT UCloud based on the OpenStack Swift driver.
295 - Deprecate RACKSPACE_US and RACKSPACE_UK provider constant and replace it
296 with a new RACKSPACE constant.
297 Driver referenced by this new constant takes a "region" keyword argument
298 which can be one of the following: 'ord', 'dfw', 'iad', 'syd', 'lon'.
300 Note: Deprecated constants will continue to work until the next major
302 For more information on this change, please visit "Upgrade Notes"
303 documentation section - http://s.apache.org/lc0140un
306 - Add new driver for Google Compute Engine (LIBCLOUD-386)
309 - Add new Hong Kong endpoint to Rackspace driver.
314 - Deprecate RACKSPACE_US and RACKSPACE_UK provider constant and replace it
315 with a new RACKSPACE constant.
316 Driver referenced by this new constant takes a "region" keyword argument
317 which can be one of the following: 'us', 'uk'.
319 Note: Deprecated constants will continue to work until the next major
321 For more information on this change, please visit "Upgrade Notes"
322 documentation section - http://s.apache.org/lc0140un
325 - Use string instead of integer for RecordType ENUM value.
327 Note: If you directly use an integer instead of RecordType ENUM class you
328 need to update your code to use the RecordType ENUM otherwise the code
329 won't work. For more information on how to do that, see "Upgrade Notes"
330 documentation section - http://s.apache.org/lc0140un
333 - Add "export_zone_to_bind_format" and export_zone_to_bind_zone_file method
334 which allows users to export Libcloud Zone to BIND zone format.
338 - Update issue with inexistent zone / record handling in the get_zone and
339 get_record method in the Linode driver. Those issues were related to
340 changes in the Linode API. (LIBCLOUD-425)
343 Changes with Apache Libcloud 0.13.2
347 - Don't sent Content-Length: 0 header with POST and PUT request if "raw"
348 mode is used. This fixes a regression which could cause broken behavior
349 in some storage driver when uploading a file from disk.
355 - Added Ubuntu Linux 12.04 image to ElasticHost driver image list.
359 - Update ElasticHosts driver to store drive UUID in the node 'extra' field.
365 - Store last_modified timestamp in the Object extra dictionary in the S3
366 driver. (LIBCLOUD-373)
371 - Expose CloudStack driver directly through the Provider.CLOUDSTACK
377 - Modify Zerigo driver to include record TTL in the record 'extra' attribute
378 if a record has a TTL set.
381 - Modify values in the Record 'extra' dictionary attribute in the Zerigo DNS
382 driver to be set to None instead of an empty string ('') if a value for
383 the provided key is not set.
386 Changes with Apache Libcloud 0.13.1
390 - Fix a regression introduced in 0.13.0 and make sure to include
391 Content-Length 0 with PUT and POST requests. (LIBCLOUD-362, LIBCLOUD-390)
396 - Fix a bug in the ElasticHosts driver and check for right HTTP status
397 code when determining drive imaging success. (LIBCLOUD-363)
400 - Update Opsource driver to include node public ip address (if available).
406 - Fix a regression with calling encode_container_name instead of
407 encode_object_name on object name in get_object method.
408 Reported by Ben Meng (LIBCLOUD-366)
411 - Ensure that AWS S3 multipart upload works for small iterators.
415 Changes with Apache Libcloud 0.13.0:
419 - Add homebrew curl-ca-bundle path to CA_CERTS_PATH. This will make Libcloud
420 use homebrew curl ca bundle file (if available) for server certificate
421 validation. (LIBCLOUD-324)
424 - Modify OpenStackAuthConnection and change auth_token_expires attribute to
425 be a datetime object instead of a string.
428 - Modify OpenStackAuthConnection to support re-using of the existing auth
429 token if it's still valid instead of re-authenticating on every
433 - Modify base Connection class to not send Content-Length header if body is
437 - Add the new error class ProviderError and modify InvalidCredsError to
438 inherit from it. (LIBCLOUD-331)
443 - Add unittest2 library dependency for tests and update some tests to use
449 - Fix destroy_node method in the experimental libvirt driver.
452 - Add ex_start_node method to the Joyent driver. (LIBCLOUD-319)
455 - Fix Python 3 compatibility issue in the ScriptFileDeployment class.
457 [Arfrever Frehtes Taifersar Arahesis]
459 - Add ex_set_metadata_entry and ex_get_metadata method to the VCloud driver.
463 - Various improvements and bug-fixes in the VCloud driver. (LIBCLOUD-323)
466 - Various bug fixes and improvements in the HostVirtual driver.
470 - Modify list_sizes method in the OpenStack driver to include
471 OpenStackNodeSize object which includes 'vcpus' attribute which holds
472 a number of virtual CPUs for this size. (LIBCLOUD-325)
475 - For consistency rename "ex_describe_keypairs" method in the EC2 driver to
476 "ex_describe_keypair".
479 - Modify "ex_describe_keypair" method to return key fingerprint in the
480 return value. (LIBCLOUD-326)
481 [Andre Merzky, Tomaz Muraus]
483 - Populate private_ips attribute in the CloudStack drive when returning
484 a Node object from the create_node method. (LIBCLOUD-329)
485 [Sebastien Goasguen, Tomaz Muraus]
487 - Allow user to pass extra arguments via "extra_args" argument which are
488 then passed to the "deployVirtualMachine" call in the CloudStack driver
489 create_node method. (LIBCLOUD-330)
490 [Sebastien Goasguen, Tomaz Muraus]
492 - Update Gandi driver to handle new billing model. (LIBCLOUD-317)
495 - Fix a bug in the Linode driver and remove extra newline which is added
496 when generating a random root password in create_node. (LIBCLOUD-334)
499 - Add extension methods for managing keypairs to the CloudStack driver.
503 - Add extension methods for managing security groups to the CloudStack
504 driver. (LIBCLOUD-332)
507 - Add extension methods for starting and stoping the node to the
508 CloudStack driver. (LIBCLOUD-338)
511 - Fix old _wait_until_running method. (LIBCLOUD-339)
514 - Allow user to override default async task completion timeout by
515 specifying ex_clone_timeout argument. (LIBCLOUD-340)
518 - Fix a bug in the GoGrid driver get_uuid method. (LIBCLOUD-341)
521 - Fix a bug with deploy_node not respecting 'timeout' kwarg.
524 - Modify create_node method in CloudStack driver to return an instance of
525 CloudStackNode and add a new "expunging" node state. (LIBCLOUD-345)
528 - Update API endpoint hostnames in the ElasticHost driver and use hostnames
529 which return a valid SSL certificate. (LIBCLOUD-346)
532 - Add ex_list_networks method and missing tests for list_templates to the
533 CloudStack driver. (LIBCLOUD-349)
536 - Correctly throw InvalidCredsError if user passes invalid credentials to
537 the DigitalOcean driver.
542 - Fix an issue with double encoding the container name in the CloudFiles
543 driver upload_object method.
544 Also properly encode container and object name used in the HTTP request
545 in the get_container and get_object method. (LIBCLOUD-328)
550 - Add ex_list_current_usage method to the Rackspace driver.
552 Changes with Apache Libcloud 0.12.4:
556 - Fix a regression in Softlayer driver caused by the xmlrpclib changes.
560 - Allow user to pass alternate ssh usernames to deploy_node
561 (ssh_alternate_usernames kwarg) which are used for authentication if the
562 default one doesn't work. (LIBCLOUD-309)
563 [Chris Psaltis, Tomaz Muraus]
565 - Fix a bug in EC2 list_locations method - 'name' attribute didn't contain a
569 - Add new ScriptFileDeployment deployment class which reads deploy script
573 - Add support for API version 5.1 to the vCloud driver and accept any value
574 which is a multiple of four for ex_vm_memory kwarg in create_node method.
580 - Fix a regression with removed ex_force_service_region constructor kwarg in
581 the CloudFiles driver. (LIBCLOUD-260)
583 Changes with Apache Libcloud 0.12.3:
587 - Fix Python 3.x related regressions. (LIBCLOUD-245)
588 Reported by Arfrever Frehtes Taifersar Arahesis.
591 - Fix a regression introduced with recent xmlrpiclib changes which broke all
592 the Gandi.net drivers. (LIBCLOUD-288)
594 Reported by Hutson Betts.
597 - Improve deploy code to work correctly if the ssh user doesn't have access
598 to the /root directory.
600 Previously the ScriptDeployment script was stored in /root folder by
601 default. Now it's stored in users home directory under filename
602 ~/libcloud_deploymeny_<random>.sh. (LIBCLOUD-302)
604 Reported by rotem on #libcloud.
609 - Improve public and private IP address handling in OpenStack 1.1 driver.
610 Assume every IP address which doesn't have a label "public" or "internet"
611 is private. (LIBCLOUD-297)
612 [Grischa Meyer, Tomaz Muraus]
614 - Add new driver for DigitalOcean provider - https://www.digitalocean.com/.
618 - Fix a regression in ParamikoSSHClient.run method which caused this methid
619 to only work as expected if you passed an absolute or a relative path to
620 the script to it. (LIBCLOUD-278)
625 - Allow user to specify 'priority' extra argument when creating a MX or SRV
627 [Brian Jinwright, Tomaz Muraus]
629 Changes with Apache Libcloud 0.12.1:
633 - Deprecate LazyList method of iteration over large paginated collections
634 and use a new, more efficient generator based approach which doesn't
635 require the iterator to be pre-exhausted and buffering all of the values
638 Existing list_* methods which previously used LazyList class are
639 preserving the old behavior and new iterate_* methods which use a new
640 generator based approach have been added. (LIBCLOUD-254)
643 - Replace old ENUM style provider constants and replace them with a string
645 This change allows users to dynamically register new drivers using a new
646 set_driver method. (LIBCLOUD-255)
649 - Allow user to explicitly specify which CA file is used for verifying
650 the server certificate by setting 'SSL_CERT_FILE' environment variable.
652 Note: When this variable is specified, the specified path is the only
653 CA file which is used to verifying the server certificate. (LIBCLOUD-283)
654 [Tomaz Muraus, Erinn Looney-Triggs]
656 - Add a common module (libcloud.common.xmlrpc) for handling XML-RPC
657 requests using Libcloud http layer.
659 Also refactor existing drivers which use xmlrpclib directly (VCL, Gandi,
660 Softlayer) to use this module.
662 This change allows drivers to support LIBCLOUD_DEBUG and SSL certificate
663 validation functionality. Previously they have bypassed Libcloud http
664 layer so this functionality was not available. (LIBCLOUD-288)
669 - Fix string interpolation bug in __repr__ methods in the IBM SCE driver.
673 - Fix test failures which happened in Python 3.3 due to:
675 - changes in xml.etree module
676 - changes in xmlrpc module
680 - Improvements and additions in vCloud driver:
681 - Expose generic query method (ex_query)
682 - Provide functionality to get and set control access for vApps. This way
683 created vApps can be shared between users/groups or everyone.
687 - Update EC2 pricing data to reflect new, lower prices -
688 http://aws.typepad.com/aws/2012/10/new-ec2-second-generation-standard-instances-and-price-reductions-1.html
691 - Update EC2 instance size to reflect new m3 instance types. Also refactor
692 the code to make it easier to maintain.
695 - Add a new driver for HostVirtual (http://www.vr.org) provider.
699 - Fix a bug where a numeric instead of a string value was used for the
700 content-length header in VCloud driver. (LIBCLOUD-256)
701 [Brian DeGeeter, Tomaz Muraus]
703 - Add a new driver for new Asia Pacific (Sydney) EC2 region.
706 - Add support for managing security groups to the OpenStack driver. This
707 patch adds the following extension methods:
708 - ex_list_security_groups, ex_get_node_security_groups methods
709 - ex_create_security_group, ex_delete_security_group
710 - ex_create_security_group_rule, ex_delete_security_group_rule
714 - Modify ElasticStack driver class to pass 'vnc auto' instead of
715 'vnc:ip auto' argument to the API when creating a server.
716 It looks like 'vnc:ip' has been replaced with 'vnc'.
717 [Rick Copeland, Tomaz Muraus]
719 - Add new EC2 instance type - High Storage Eight Extra Large Instance
723 - Map 'shutting-down' node state in EC2 driver to UNKNOWN. Previously
724 it was mapped to TERMINATED. (LIBCLOUD-280)
726 Note: This change is backward incompatible which means you need to update
727 your code if you rely on the old behavior.
728 [Tomaz Muraus, Marcin Kuzminski]
730 - Change _wait_until_running method so it supports waiting on multiple nodes
731 and make it public (wait_until_running). (LIBCLOUD-274)
734 - Add new EC2 instance type - High Memory Cluster Eight Extra Large.
738 - Add new driver for Abiquo provider - http://www.abiquo.com (LIBCLOUD-250).
741 - Allow user to pass 'ex_blockdevicemappings' kwarg to the EC2 driver
742 'create_node' method. (LIBCLOUD-282)
743 [Joe Miller, Tomaz Muraus]
745 - Improve error handling in the Brightbox driver.
748 - Fix the ScriptDeployment step to work correctly if user provides a
749 relative path for the script argument. (LIBCLOUD-278)
752 - Fix Softlayer driver and make sure all the code is up to date and works
753 with the latest version of the actual Softlayer deployment (v3).
757 - Update EC2 driver, m3 instance types are now available in all the regions
760 Also update pricing to reflect new (decreased) prices.
763 - Minor improvements in the HostVirtual driver and add new ex_get_node and
764 ex_build_node extension method. (LIBCLOUD-249)
767 - Add ex_destroy_image method to IBM SCE driver. (LIBCLOUD-291)
770 - Add the following new regions to the ElasticHosts driver: sjc-c, syd-v,
771 hkg-e. (LIBCLOUD-293)
774 - Fix create_node in OpenStack driver to work correctly if 'adminPass'
775 attribute is not present in the response.
776 [Gavin McCance, Tomaz Muraus]
778 - Allow users to filter images returned by the list_images method in the EC2
779 driver by providing ex_image_ids argument. (LIBCLOUD-294)
780 [Chris Psaltis, Joseph Hall]
782 - Add support for OpenNebula 3.8. (LIBCLOUD-295)
785 - Add missing 'deletd' -> terminated mapping to OpenStack driver.
789 - Fix create_node in OpenStack driver to work correctly if 'adminPass'
790 attribute is not present in the response. (LIBCLOUD-292)
791 [Gavin McCance, Tomaz Muraus]
795 - Add a new local storage driver.
796 (LIBCLOUD-252, LIBCLOUD-258, LIBCLOUD-265, LIBCLOUD-273)
799 - Fix a bug which caused the connection to not be closed when using Python
800 2.6 and calling get_object on an object which doesn't exist in the S3
801 driver. (LIBCLOUD-257)
804 - Add a new generator based method for listing / iterating over the
805 containers (iterate_containers). (LIBCLOUD-261)
808 - Add ex_purge_object_from_cdn method to the CloudFiles driver.
812 - Support for multipart uploads and other improvements in the S3 driver
813 so it can more easily be re-used with other implementations (e.g. Google
816 Also default to a multipart upload when using upload_object_via_stream.
817 This methods is more efficient compared to old approach because it only
818 requires buffering a single multipart chunk (5 MB) in memory.
822 - Add new driver for Windows Azure Storage with support for block and page
828 - Update 'if type' checks in the update_record methods to behave correctly
829 if users passes in RecordType.A with a value of 0 - if type is not None.
833 - New driver for HostVirtual provider (www.vr.org). (LIBCLOUD-249)
836 - Finish Amazon Route53 driver. (LIBCLOUD-132)
839 - Add new driver for Gandi provider (https://www.gandi.net). (LIBCLOUD-281)
844 - Add new driver for AWS Elastic Load Balancing service. (LIBCLOUD-169)
847 Changes with Apache Libcloud 0.11.4:
851 - Fix some of tests failures which happened in Python 3.3 due to randomized
852 dictionary ordering. (LIBCLOUD-245)
857 - Fix a bug where a numeric instead of a string value was used for the
858 content-length header in VCloud driver. (LIBCLOUD-256)
859 [Brian DeGeeter, Tomaz Muraus]
863 - Don't ignore ex_force_service_region argument in the CloudFiles driver.
867 - Fix a bug which caused the connection to not be closed when using Python
868 2.6 and calling get_object on an object which doesn't exist in the S3
869 driver. (LIBCLOUD-257)
874 - Update 'if type' checks in the update_record methods to behave correctly
875 if users passes in RecordType.A with a value of 0 - if type is not None.
879 Changes with Apache Libcloud 0.11.3:
883 - Include 'last_modified' and 'content_type' attribute in the Object
884 'extra' dictionary when retrieving object using get_object in the S3
885 driver. Also modify 'meta_data' dictionary to include all the headers
886 prefixed with 'x-amz-meta-'.
889 Changes with Apache Libcloud 0.11.2:
893 Fix a bug with the Libcloud SSL verification code. Code was too strict and
894 didn't allow "-" character in the sub-domain when using a wildcard
897 Note: This is NOT a security vulnerability. (LIBCLOUD-244)
902 - Add new Rackspace Nova driver for Chicago (ORD) location (LIBCLOUD-234)
905 - Add capacity information to Vdc objects and implement power operations.
909 - Allow user to pass 'timeout' argument to the 'deploy_node' method.
912 - Add ex_list_security_groups, ex_authorize_security_group and
913 ex_describe_all_keypairs methods to the EC2 driver. (LIBCLOUD-241,
917 - Add new methods for managing storage volumes and other extenstion methods
918 to the IBM SCE driver. (LIBCLOUD-242)
923 - Add the following new methods to the CloudFiles driver:
924 ex_set_account_metadata_temp_url_key, ex_get_object_temp_url. (GITHUB-72)
929 - Add 'balancer' attribute to the Member instance. This attribute refers to
930 the LoadBalancer instance this member belongs to.
933 Changes with Apache Libcloud 0.11.1:
937 - Fix hostname validation in the SSL verification code (CVE-2012-3446).
939 Reported by researchers from the University of Texas at Austin (Martin
940 Georgiev, Suman Jana and Vitaly Shmatikov).
942 Changes with Apache Libcloud 0.11.0:
946 - Add a timeout of 10 seconds to OpenStackAuthConnection class.
950 - Add time.sleep(wait_period) to _ssh_client_connect to prevent busy loops
951 when we immediately can't connect to a server. (LIBCLOUD-197)
954 - Fix a bug with Python 3 support in the following drivers
967 [Sengor Kusturica, Hutson Betts, Tomaz Muraus]
969 - Make CloudStack driver more robust and make it work if list_images() call
970 returns no images. (LIBCLOUD-202)
973 - Add force_ipv4 argument to _wait_until_running and default it to True.
974 This will make Libcloud ignore IPv6 addresses when using deploy_node.
975 [Jay Doane, Tomaz muraus]
977 - Include error text if a CloudStack async job returns an error code.
981 - Add extenstion methods for block storage volume management to the
982 CloudStack driver. (LIBCLOUD-208)
985 - New driver for KT UCloud (http://home.ucloud.olleh.com/main.kt) based on
986 the CloudStack driver.
989 - Add a standard API and methods for managing storage volumes to the
990 EC2 and CloudStack drivers. Base API consistent of the following methods:
991 create_volume, destroy_volume, attach_volume, detach_volume.
995 - Change ex_describe_tags, ex_create_tags and ex_delete_tags methods
996 signature in the EC2 driver. Argument is now called resource (previously
997 it was called node). This methods work with both Node and StorageVolume
998 objects. (LIBCLOUD-213)
999 [Gabriel Reid, Tomaz Muraus]
1001 - Add Rackspace Nova London driver.
1004 - Fix a bug - If user doesn't pass in 'network_id' argument to the
1005 create_node method in the CloudStack driver, don't explicitly define it.
1007 [Bruno Mahé, Tomaz Muraus]
1009 - Modify EC2 driver to also return cc2.8xlarge cluster compute instance in
1010 the eu-west-1 region.
1013 - Add 'auth_user_variable' to the OpenStackAuthConnection class.
1016 - Fix a bug with repeated URLs in some requests the vCloud driver.
1020 - New Gridspot driver with basic list and destroy functionality.
1024 - Add methods for managing storage volumes to the Gandi driver.
1030 - Add support for GEO RecordType to Zerigo driver. (LIBCLOUD-203)
1033 - Fix a bug with Python 3 support in the following drivers (LIBCLOUD-204)
1037 - Add support for URL RecordType to Zerigo driver. (LIBCLOUD-209)
1040 - Properly handle record creation when user doesn't provider a record name
1041 and wants to create a record for the actual domain.
1042 Reported by Matt Perry (LIBCLOUD-224)
1047 - Fix a bug with Python 3 support in the following drivers
1054 - Fix a bug in the CloudFiles driver which prevented it to work with
1055 accounts which use a non ORD endpoint. (LIBCLOUD-205)
1058 - Fix a bug in the enable_container_cdn method. (LIBCLOUD-206)
1061 - Allow user to specify container CDN TTL when calling container.enable_cd()
1062 using ex_ttl keyword argument in the CloudFiles driver.
1065 - Add ex_enable_static_website and ex_set_error_page method to the
1069 - Propagate kwargs passed to container.download_object() to
1070 driver.download_object(). (LIBCLOUD-227)
1073 - Fix a bug with not escaping container and object name in the Atmos driver.
1074 [Russell Keith-Magee, Benno Rice]
1076 - Fix upload_object_via_stream method in the Atmos driver. (LIBCLOUD-228)
1079 - Fix a bug with uploading zero-sized files in the OpenStack Swift /
1083 - Fix a bug with content_type and and encoding of object and path names in
1085 [Russell Keith-Magee]
1089 - Unify docstrings formatting in the compute drivers. (LIBCLOUD-229)
1092 Changes with Apache Libcloud 0.10.1:
1096 - Add timeout attribute to base 'Connection' class and pass it to the
1097 connection class constructor if Python version is not 2.5.
1102 - Update IBM SBC driver so it works with IBM Smart Cloud Enterprise.
1106 - Add ex_register_iso method to the CloudStack driver. (LIBCLOUD-196)
1109 - Allow user to specify which IP to use when calling deploy_node.
1110 (defaults to 'public_ips'). Previously it only worked with public IP, now
1111 user can pass 'private_ips' as an argument and SSH client will try to
1112 connect to the node first private IP address.
1115 - Fix CloudSigmaLvsNodeDriver connectionCls bug.
1118 - Add 'ex_keyname' argument to the create_node method in the OpenStack
1119 driver. (LIBCLOUD-177)
1122 - Fix a problem in deploy_node - make it work with providers which
1123 don't instantly return created node in the list_node response.
1124 Also add __str__ and __repr__ method to DeploymentError so the
1125 error message is more useful. (LIBCLOUD-176)
1126 [Jouke Waleson, Tomaz Muraus]
1128 - Add 'ssh_key' feature to Brigthbox driver. This way it works with
1129 deploy_node. (LIBCLOUD-179)
1132 - Add Joyent compute driver.
1135 - Store auth token expire times on the connection class in the attribute
1136 called 'auth_token_expires'. (LIBCLOUD-178)
1137 [Chris Gilmer, Brad Morgan]
1139 - Add new driver for VCL cloud
1140 (http://www.educause.edu/blog/hes8/CloudComputingandtheVirtualCom/167931)
1142 [Jason Gionta, Tomaz Muraus]
1144 - Improve and add new features to Brightbox driver
1145 - Update fixtures to represent actual api output
1146 - Update compute tests to 100% coverage
1147 - Add userdata and server group extensions to create_node
1148 - Add ipv6 support to public ip list
1149 - Improve in line documentation
1150 - Add lots of api output information to Node and Image
1152 - Allow variable API versions (api_version argument)
1153 - Allow reverse dns updates for cloud ip extensions
1155 [Neil Wilson, Tomaz Muraus]
1157 - Add ex_userdata argument to the OpenStack 1.1 driver. (LIBCLOUD-185)
1160 - Modify Vmware vCloud driver and implement new features
1161 for the vCloud version 1.5. (LIBCLOUD-183)
1162 [Michal Galet, Sengor Kusturica]
1164 - Allow user to pass mode argument to SSHClient.put method and default it to
1168 - Modify SSHKeyDeployment step to use append mode so it doesn't overwrite
1169 existing entries in .ssh/authorized_keys. (LIBCLOUD-187)
1172 - Modify ParamikoSSHClient to connect to the SSH agent and automatically
1173 look for private keys in ~/.ssh if the 'auth' and 'ssh_key' argument
1174 is not specified when calling deploy_node. (LIBCLOUD-182)
1177 - Add ex_rescue and ex_unrescue method to OpenStack 1.1 driver.
1181 - Include 'password' in the node extra dictionary when calling deploy_node
1182 if the password auth is used.
1183 [Juan Carlos Moreno]
1185 - Add FileDeployment class to libcloud.compute.deployment module. This can
1186 be used as a replacement for ex_files argument if the provider supports
1187 deployment functionality. (LIBCLOUD-190)
1192 - Large object upload support for CloudFiles driver
1193 - Add CLOUDFILES_SWIFT driver to connect to OpenStack Swift
1194 [Dmitry Russkikh, Roman Bogorodskiy]
1198 - Don't include 'body_regex' attribute in the Rackspace driver body if
1199 body_regex is None or empty string. (LIBCLOUD-186)
1202 - Don't split Load balancer IP addresses into public and private list.
1203 Include all the addresses in the 'virtualIps' variable in the extra
1204 dictionary (Rackspace driver). (LIBCLOUD-191)
1207 Changes with Apache Libcloud 0.9.1:
1211 - Make parsing of the Auth API responses in the OpenStack drivers more
1212 flexible and extensible.
1214 Now, every connection class that inherits from the openstack base
1215 connection must implement get_endpoint(), who's job is to return the
1216 correct endpoint out of the service catalog.
1218 Note: The openstack.py base driver no longer works by default with
1219 Rackspace nova. The default endpoint parsed from the service catalog
1220 is the default compute endpoint for devstack. (LIBCLOUD-151)
1223 - Allow user to pass ex_tenant_name keyword argument to the OpenStack node
1224 driver class. This scopes all the endpoints returned by the Auth API
1225 endpoint to the provided tenant. (LIBCLOUD-172)
1228 - Allow user to specify OpenStack service catalog parameters (service type,
1229 name and region). This way base OpenStack driver can be used with
1230 different providers without needing to subclass. (LIBCLOUD-173)
1233 - Fix a bug with handling compressed responses in the Linode driver.
1239 - Add new RackspaceNovaBeta and RackspaveNovaDfw driver based on the
1240 OpenStack. (LIBCLOUD-151)
1243 - Include 'created' and 'updated' attribute in the OpenStack 1.1 driver.
1247 - Include 'minRam' and 'minDisk' attribute in the OpenStack 1.1 driver
1248 Node extra dictionary. (LIBCLOUD-163)
1251 - Alow users to use a list of tuples for the query string parameters inside
1252 the OpenStack connection classes. This way same key can be specified
1253 multiple times (LIBCLOUD-153)
1256 - Allow user to pass 'max_tries' keyword argument to deploy_node method.
1259 - Include original exception error message when re-throwing an exception
1260 inside _run_deployment_script method.
1263 - Add support for ElasticHosts new United States (Los Angeles) and Canada
1264 (Toronto) locations. (GITHUB-53)
1267 - Add serverId attribute to the NodeImage object extra dictionary in the
1271 - Add new EC2 instance type - m1.medium.
1274 - Allow user to re-use auth tokens and pass 'ex_force_auth_token' keyword
1275 argument to the OpenStack driver constructor. (LIBCLOUD-164)
1278 - Add new experimental libvirt driver.
1281 - Properly handle OpenStack providers which return public IP addresses under
1282 the 'internet' key in the addresses dictionary.
1285 - Update create_node in Linode driver and make it return a Node object
1286 instead of a list. Reported by Jouke Waleson. (LIBCLOUD-175)
1291 - Don't lowercase special header names in the Amazon S3 storage driver.
1297 - Allow user to specify a condition and weight when adding a member in
1298 the Rackspace driver.
1301 - Add an extension method (ex_balancer_attach_members) for attaching
1302 multiple members to a load balancer in the Rackspace driver.
1306 - Add ex_creaate_balancer method to the Rackspace driver and allow user to
1307 pass 'vip' argument to it. (LIBCLOUD-166)
1310 - Update Rackspace driver to support Auth 2.0. (LIBCLOUD-165)
1313 - Add new ex_create_balancer_access_rule and
1314 ex_create_balancer_access_rule_no_poll method to the Rackspace driver.
1320 - Update Rackspace driver to support Auth 2.0. (LIBCLOUD-165)
1323 Changes with Apache Libcloud 0.8.0:
1327 - Add 'request_kwargs' argument to the get_poll_request_kwargs method.
1328 This argument contains kwargs which were previously used to initiate the
1332 - Add support for handling compressed responses (deflate, gzip). Also send
1333 "Accept-Encoding" "gzip,deflate" header with all the requests.
1336 - Fix debug module (LIBCLOUD_DEBUG env variable) so it works with Python 3
1341 - Added support for retrieving OpenNebula v3.2 instance types, OpenNebula
1342 v3.0 network Public attribute support, and additional code coverage
1346 - Add implementation for ex_save_image method to the OpenStack 1.1 driver.
1349 - Add support for Amazon new South America (Sao Paulo) location.
1352 - Fix a bug in OpenStack driver when 2.0_apikey or 2.0_password
1353 'auth_version' is used.
1356 - Current OpenNebula OCCI implementation does not support a proper
1357 restart method. Rather it suspends and resumes. Therefore, restart_node
1358 has been removed from the OpenNebula driver.
1361 - Enable ex_delete_image method in the OpenStack 1.1 driver.
1364 - Return NodeImage instance in OpenStack 1.1 driver ex_save_image method
1368 - Enable reboot_node method in the OpenNebula 3.2 driver.
1371 - Fix a public_ips Node variable assignment in the Gandi.net driver.
1374 - Updated the list of node states for OpenNebula drivers. (LIBCLOUD-148)
1379 - Propagate extra keyword arguments passed to the Rackspace driver
1385 - Add 'extra' attribute to the LoadBalancer object and retrieve all the
1386 virtual IP addresses in the Rackspace driver.
1389 - Add list_supported_algorithms() method to the base LoadBalancer class.
1390 This method returns a list of supported algorithms by the provider.
1393 - Update Rackspace driver:
1394 - Add two new supported algorithms: WEIGHTED_ROUND_ROBIN,
1395 WEIGHTED_LEAST_CONNECTIONS
1396 - Add ex_list_algorithm_names method
1397 - Add ex_get_balancer_error_page method
1398 - Add ex_balancer_access_list method
1399 - Populate LoadBalancer extra dictionary with more attributes
1400 - Add support for health monitors and connection throttling
1401 - Add more balancer states
1402 - ex_list_protocols_with_default_ports
1405 - Propagate extra keyword arguments passed to the Rackspace driver
1409 - Add 'extra' attribute to the Member object and populate it in
1410 the Rackspace driver.
1413 - Adds status to the Member object and conditions an 'enum'
1417 - Add update_balancer method to the base LoadBalancer class.
1420 - Add update_balancer method to the Rackspace driver.
1423 - Add created and updated attribute to the LoadBalancer extra dictionary in
1424 the Rackspace driver.
1427 - Fix protocol name maping in the Rackspace driver.
1430 Changes with Apache Libcloud 0.7.1:
1434 - Fix a minor bug in debug mode (LIBCLOUD_DEBUG=/dev/stderr) which has been
1435 introduced when adding Python 3 compatibility layer.
1438 - Update OpenStack Auth API endpoint paths.
1441 Changes with Apache Libcloud 0.7.0:
1445 - Add support for Python 3.x.
1448 - Remove old deprecated paths.
1453 - Update CloudSigma Zurich API endpoint address.
1456 - Add new US Las Vegas endpoint to CloudSigma driver (types.CLOUDSIGMA_US)
1459 - Allow user to specify drive type (hdd, ssd) when creating a
1462 Note 'ssd' drive_type doesn't work with the API yet.
1465 - Update OpenStack 1.1 driver to comply with the API specs. Need to make
1466 another call to retrieve node name and ip addresses when creating a node,
1467 because the first call only returns an id an the password. (GITHUB-40)
1470 - Add ex_node_ids argument to the EC2 driver list_nodes method.
1474 - If OpenStack Auth 2.0 API is used, also parse out tenant id and
1475 name and save it on the connection class (conn.tenant['id'],
1476 conn.tenant['name']).
1479 - Add new "Cluster Compute Eight Extra Large" size to the Amazon EC2
1483 - Add the following extension methods to the EC2 compute driver:
1484 ex_describe_all_addresses, ex_associate_addresses, ex_start_node,
1488 - Change public_ip and private_ip attribute on the Node object to the
1489 public_ips and private_ips since both of the objects are always a list.
1491 Note: For backward compatibility you can still access public_ip and
1492 private_ip attributes, but this will be removed in the next release.
1495 - Fix an inconsistency in IBM SBC driver and make sure public_ips and
1496 private_ips attributes are a list.
1499 - Fix an inconsistency in OpSource driver and make sure public_ips is an
1500 empty list ([]), not 'unknown'
1503 - Updated support for OpenNebula.org v1.4, v2.x, and v3.x APIs and included
1504 additional compute tests validating functionality. (LIBCLOUD-121)
1509 - Add ex_member_address argument to the Rackspace driver list_balancers
1510 method. If this argument is provided, only loadbalancers which have a
1511 member with the provided IP address attached are returned.
1514 Changes with Apache Libcloud 0.6.2:
1518 - Fix a bug in PollingConnection class - actually use and don't ignore
1524 - Add support for Auth 2.0 API (keystone) to the OpenStack Auth
1528 - Add list_locations method to the OpenStack driver and fix some
1529 inconsistencies in the OpenStack driver extension method signatures.
1532 - Update Amazon EC2 driver and pricing data to support a new region -
1536 - Expose 'CLOUDSTACK' provider. This driver can be used with an
1537 arbitrary CloudStack installation.
1542 - Update Amazon S3 driver to support a new region - US West 2 (Oregon)
1547 - Increase the default poll interval in the Rackspace driver to 2.5
1551 - Fix a bug in Rackspace Cloud DNS driver and make sure to throw an
1552 exception if an unexpected status code is returned. Reported by
1556 Changes with Apache Libcloud 0.6.1:
1560 - Modify ParamikoSSHClient.connect so it supports authentication using a
1561 key file, (LIBCLOUD-116)
1564 - User must now explicitly specify a path when using LIBCLOUD_DEBUG
1565 environment variable. (LIBCLOUD-95)
1566 [daveb, Tomaz Muraus]
1568 - Add new XmlResponse and JsonResponse base class and modify all the
1569 driver-specific response classes to inherit from one of those two
1570 classes where applicable.
1573 - Add new 'PollingConnection' class. This class can work with 'async'
1574 APIs. It sends and an initial request and then periodically poll the API
1575 until the job has completed or a timeout has been reached.
1580 - Add 24GB size to the GoGrid driver
1583 - Fix API endpoint URL in the Softlayer driver
1586 - Add support for OpenNebula 3.0 API (LIBCLOUD-120)
1589 - Add more attributes to the extra dictionary in the EC2 driver.
1591 [Juan Carlos Moreno]
1593 - Fix IP address assignment in the EC2 driver. Don't include "None" in the
1594 public_ip and private_ip Node list attribute.
1597 - Make deploy_node functionality more robust and don't start deployment if
1598 node public_ip attribute is an empty list.
1601 - Support SSH key authentication when using deploy_node.
1602 [Russell Haering, Tomaz Muraus]
1604 - Enable deploy_node functionality in the EC2 driver using SSH key
1606 [Russell Haering, Tomaz Muraus]
1608 - Enable paramiko library debug log level if LIBCLOUD_DEBUG is used and
1609 paramiko is installed.
1612 - Fix the request signature generation in the base EC2 compute driver.
1613 If the endpoint is using a non-standard port (Eucalyptus based
1614 installations), append it to the hostname used to generate the
1618 - Add new "unavailable" state to the BrightboxNodeDriver class.
1621 - Increase a PollingConnection timeout in the CloudStack connection
1622 and fix the context dictionary creation in the _async_request method.
1625 - Fix networks retrieval in the CloudStack driver create_node method.
1626 Also only pass 'networkids' field to the API if there are any networks
1628 [gigimon, Tomaz Muraus]
1630 - Fix list_nodes in the CloudStack driver. Private IPs aren't always
1636 - Add a missing argument to the method call inside
1637 LoadBalancer.attach_compute_node and Driver.balancer_attach_compute_node.
1638 [Tim Fletcher, Tomaz Muraus]
1640 - Add missing destroy() method to the LoadBalancer class.
1645 - New drivers for Rackspace Cloud DNS (US and UK region)
1648 - Add list_record_types() method. This method returns a list of record
1649 types supported by the provider.
1652 Changes with Apache Libcloud 0.6.0-beta1
1656 - All the driver classes now inherit from the BaseDriver class
1659 - Prefer simplejson (if available) over json module. (LIBCLOUD-112)
1662 - Update compute demo and change the syntax of test credentials stored in
1663 test/secrets.py-dist. (LIBCLOUD-111)
1666 - Enable SSL certificate verification by default and throw an exception
1667 if CA certificate files cannot be found. This can be overridden by
1668 setting libcloud.security.VERIFY_SSL_CERT_STRICT to False.
1673 - Support for 1.1 API and many other improvements in the OpenStack driver ;
1675 [Mike Nerone, Paul Querna, Brad Morgan, Tomaz Muraus]
1677 - Add some extra methods to the Gandi.net driver (LIBCLOUD-115)
1680 - Add ex_delete_image method to the Rackspace driver. (GITHUB-27)
1683 - Linode driver now supports new 'Japan' location
1686 - Rackspace driver now inherits from the OpenStack one instead of doing
1687 it vice versa. (LIBCLOUD-110)
1690 - Properly populate NodeImage "details" dictionary in the Rackspace
1691 compute driver. (LIBCLOUD-107)
1694 - Fix a bug in Eucalyptus driver ex_describe_addresses method.
1697 - Add the following new extenstion methods to the Rackspace driver:
1698 ex_resize, ex_confirm_resize, ex_revert_resize.
1701 - Also allow user to pass in Node object to some ex_ methods in
1702 the Rackspace compute driver.
1705 - Throw an exception in deploy_node if paramiko library is not
1709 - Fix chmod argument value which is pased to the sftpclient.put
1713 - New driver for Ninefold.com. (LIBCLOUD-98)
1718 - New driver for Google Storage based on the v1.0 / legacy API
1721 - New driver for Ninefold.com. (GITHUB-19)
1724 - Fix a bug in uploading an object with some versions of Python 2.7
1725 where httplib library doesn't automatically call str() on the
1729 - Allow users to upload (create) 0-bytes large (empty) objects
1734 - New driver for Rackspace UK location
1737 - New driver for Ninefold.com. (LIBCLOUD-98)
1742 - Drivers for Linode DNS and Zerigo DNS
1745 - Brand new DNS API!
1748 Changes with Apache Libcloud 0.5.2
1751 - New driver for serverlove.com and skalicloud.com
1754 - Fix node name and tag handling in the Amazon EC2 driver
1757 - Fix pricing and response handling in the OpenStack driver
1760 - Fix deploy_node() method and make it more robust
1763 - Users can now pass file like objects to ScriptDeployment and
1764 SSHKeyDeployment constructor.
1767 - Include node tags when calling list_nodes() in the Amazon EC2
1771 - Properly handle response errors in the Rackspace driver and
1772 only throw InvalidCredsError if the returned status code is 401
1775 - Fix the create_node method in the Nimbus driver and make the
1776 "ex_create_tag" method a no-op, because Nimbus doesn't support creating
1782 - Fix handling of the containers with a lot of objects. Now a LazyList
1783 object is returned when user calls list_container_objects() method
1784 and this object transparently handles pagination.
1785 [Danny Clark, Wiktor Kolodziej]
1787 Changes with Apache Libcloud 0.5.0
1789 *) Existing APIs directly on the libcloud.* module have been
1790 deprecated and will be removed in version 0.6.0. Most methods
1791 were moved to the libcloud.compute.* module.
1793 *) Add new libcloud.loadbalancers API, with initial support for:
1794 - GoGrid Load Balancers
1795 - Rackspace Load Balancers
1798 *) Add new libcloud.storage API, with initial support for:
1800 - Rackspace CloudFiles
1803 *) Add new libcloud.compute drivers for:
1804 - Bluebox [Christian Paredes]
1805 - Gandi.net [Aymeric Barantal]
1806 - Nimbus [David LaBissoniere]
1807 - OpenStack [Roman Bogorodskiy]
1808 - Opsource.net [Joe Miller]
1810 *) Added "pricing" module and improved pricing handling.
1813 *) Updates to the GoGrid compute driver:
1814 - Use API version 1.0.
1815 - Remove sandbox flag.
1816 - Add ex_list_ips() to list IP addresses assigned to the account.
1817 - Implement ex_edit_image method which allows changing image attributes
1818 like name, description and make image public or private.
1821 *) Updates to the Amazon EC2 compute driver:
1822 - When creating a Node, use the name argument to set a Tag with the
1823 value. [Tomaz Muraus]
1824 - Add extension method for modifying node attributes and changing the
1825 node size. [Tomaz Muraus]
1826 - Add support for the new Amazon Region (Tokyo). [Tomaz Muraus]
1827 - Added ex_create_tags and ex_delete_tags. [Brandon Rhodes]
1828 - Include node Elastic IP addresses in the node public_ip attribute
1829 for the EC2 nodes. [Tomaz Muraus]
1830 - Use ipAddress and privateIpAddress attribute for the EC 2node public
1831 and private ip. [Tomaz Muraus]
1832 - Add ex_describe_addresses method to the EC2 driver. [Tomaz Muraus]
1834 *) Updates to the Rackspace CloudServers compute driver:
1835 - Add ex_rebuild() and ex_get_node_details() [Andrew Klochkov]
1836 - Expose URI of a Rackspace node to the node meta data. [Paul Querna]
1838 *) Minor fixes to get the library and tests working on Python 2.7 and PyPy.
1841 Changes with Apache Libcloud 0.4.2 (Released January 18, 2011)
1843 *) Fix EC2 create_node to become backward compatible for
1847 *) Update code for compatibility with CPython 2.5
1850 *) Implement ex_edit_node method for GoGrid driver which allows
1851 changing node attributes like amount of RAM or description.
1854 *) Add ex_set_password and ex_set_server_name to Rackspace driver.
1855 [Peter Herndon, Paul Querna]
1857 *) Add Hard and Soft reboot methods to Rackspace driver.
1860 *) EC2 Driver availability zones, via ex_list_availability_zones;
1861 list_locations rewrite to include availablity zones
1864 *) EC2 Driver Idempotency capability in create_node; LIBCLOUD-69
1865 [David LaBissoniere]
1867 *) SSL Certificate Name Verification:
1868 - libcloud.security module
1869 - LibcloudHTTPSConnection, LibcloudHTTPConnection (alias)
1870 - Emits warning when not verifying, or CA certs not found
1872 *) Append ORD1 to available Rackspace location, but keep in the
1873 same node as DFW1, because it's not readable or writeable from
1875 [Per suggestion of Grig Gheorghiu]
1877 *) ex_create_ip_group, ex_list_ip_groups, ex_delete_ip_group,
1878 ex_share_ip, ex_unshare_ip, ex_list_ip_addresses additions
1882 *) New driver for CloudSigma.
1885 *) New driver for Brightbox Cloud. (LIBCLOUD-63)
1888 *) Deployment capability to ElasticHosts
1891 *) Allow deploy_node to use non-standard SSH username and port
1894 *) Added Rackspace UK (London) support
1897 *) GoGrid driver: add support for locations, i.e. listing
1898 of locations and creation of a node in specified
1902 *) GoGrid and Rackspace drivers: add ex_save_image() extra
1903 call to convert running node to an image
1906 *) GoGrid driver: add support for creating 'sandbox' server
1907 and populate isSandbox flag in node's extra information.
1910 *) Add ImportKeyPair and DescribeKeyPair to EC2. (LIBCLOUD-62)
1913 *) Update EC2 driver and test fixtures for new API.
1916 Changes with Apache Libcloud 0.4.0 [Released October 6, 2010]
1918 *) Add create keypair functionality to EC2 Drivers. (LIBCLOUD-57)
1921 *) Improve handling of GoGrid accounts with limited access
1922 API keys. [Paul Querna]
1924 *) New Driver for ElasticHosts. (LIBCLOUD-45)
1927 *) Use more consistent name for GoGrid driver and use http
1928 POST method for 'unsafe' operations
1931 *) Implement password handling and add deployment support
1935 *) Fix behavior of GoGrid's create_node to wait for a Node ID.
1938 *) Add ex_create_node_nowait to GoGrid driver if you don't need to
1939 wait for a Node ID when creating a node.
1942 *) Removed libcloud.interfaces module.
1945 *) Removed dependency on zope.interfaces.
1948 *) RimuHosting moved API endpoint address.
1951 *) Fix regression and error in GoGrid driver for parsing node objects.
1954 *) Added more test cases for GoGrid driver. (LIBCLOUD-34)
1955 [Roman Bogorodskiy, Jerry Chen]
1957 *) Fix parsing of Slicehost nodes with multiple Public IP addresses.
1960 *) Add exit_status to ScriptDeployment. (LIBCLOUD-36)
1963 *) Update prices for several drivers.
1964 [Brad Morgan, Paul Querna]
1966 *) Update Linode driver to reflect new plan sizes.
1969 *) Change default of 'location' in Linode create_node. (LIBCLOUD-41)
1970 [Jed Smith, Steve Steiner]
1972 *) Document the Linode driver.
1975 *) Request a private, LAN IP address at Linode creation.
1978 Changes with Apache Libcloud 0.3.1 [Released May 11, 2010]
1980 *) Updates to Apache License blocks to correctly reflect status as an
1983 *) Fix NOTICE file to use 2010 copyright date.
1985 *) Improve error messages for when running the test cases without
1986 first setting up a secrets.py
1988 Changes with Apache Libcloud 0.3.0 [Tagged May 6, 2010, not released]
1994 - IBM Developer Cloud
1998 *) Added new deployment and bootstrap API.
2000 *) Improved Voxel driver.
2002 *) Added support for Amazon EC2 Asia Pacific (Singapore) Region.
2004 *) Improved test coverage for all drivers.
2006 *) Add support for multiple security groups in EC2.
2008 *) Fixed bug in Rackspace and RimuHosting when using multiple threads.
2010 *) Improved debugging and logging of HTTP requests.
2012 *) Improved documentation for all classes and methods.
2014 Changes with Apache Libcloud 0.2.0 [Tagged February 2, 2010]
2016 *) First public release.