Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


@jamiehannaford jamiehannaford released this

:new: CDN feature

Doc fixes

  • @AdamMerrifield fixed the argument naming for the Guzzle backoff plugin docs.



@jamiehannaford jamiehannaford released this · 335 commits to master since this release

Project installation

  • We are bumping the minimum PHP version required from 5.3 to 5.4, since 5.3 has officially entered end of life and no longer receives security updates. Users can still use 5.3 with an older stable version of php-opencloud by following this guide.

Object Store

  • Added symlink functionality (#565 - added by @markchalloner)
  • Added sample of how to retrieve over 10,000 objects (#568 - added by @ilithium)
  • Performance improvement with how CDN containers are instantiated (#570)


  • Add support for Availability Zones (#576)


  • Added convenience method for retrieving domain by name rather than ID (#574)


  • Added more links to our new official docs
  • Fixed incorrect reference to URL type (#578 - added by @AdamMerrifield )
  • Fixing dead links (#580)



@ycombinator ycombinator released this · 390 commits to master since this release

:new: Documentation

Object Storage

  • Container::uploadObjects() can now return an array of DataObjects (#546)
  • Bug fix: Fixed CDN container population when iterating via listContainers() (#527)


  • Added support for Security Groups (#551)


  • Bug fix: Using custom cipher suite for Rackspace Cloud Databases service (#562)

Load Balancers

  • Bug fix: LoadBalancer marker uses name instead of ID (#521 — bug reported by @JPry)


  • Adding explanation for prefixing user agents (#543)
  • Use guzzle/guzzle instead of various guzzle/* packages (#544)
  • Bug fix: OpenStack service setup was not clear (#508 — bug reported by @mastermindg)
  • Bug fix: Logger interface did not conform to PSR-3 (#512 — bug reported and fixed by @Rvanlaak)



@ycombinator ycombinator released this

:new: CDN

  • Alpha support for OpenStack and Rackspace CDN service (#505)

The "alpha" tag on this release indicates that the PHP API provided by the SDK for the new CDN service might change in a backwards-incompatible manner. Once stable, we will release the new CDN service as part of a regular, non-alpha release.



@ycombinator ycombinator released this · 532 commits to master since this release

Object Store

  • Bug fix: Fix issue with not being able to delete empty containers (#490 — bug reported and fixed by @joshrencher)


  • Bug fix: Fix breaking change introduced during version negotation (#492 — bug reported by @JeroenVanOort)
  • Typo fixes in documentation (#489 — added by @vlajos)



@jamiehannaford jamiehannaford released this · 557 commits to working since this release

:new: Networking

  • Full support for OpenStack Networking service (#444, #448, #465)
  • Typo fixes in documentation (#475, #476)
  • Standardizing code samples (#470)

Object Storage

  • Improve bulk delete algorithm (#478)
  • Refactoring delete container operation to make it more reliable (#479, #481)
  • Setting container TTL is now a lot easier (#439)
  • More code samples (#464)
  • Standardizing code samples (#471)

Load Balancers

  • Certificate Mappings feature now supported (#482 — added by @tylerturk, @JPry, and @ttaylor-wpe)
  • HTTPS Redirect is now a configurable option when creating LBs (#454)
  • Standardizing code samples (#457)
  • More code samples (#464)
  • Bug fix: Fixed typo in documentation (#438 — bug reported by @jjtroberts)


  • Start and stop actions added for servers (#462 — added by @notFloran)
  • Diagnostics feature added for server (#460 — added by @notFloran)
  • Added "create server with networks" sample (#468)
  • Standardizing code samples (#461)


  • Standardizing code samples (#458)
  • Bug fix: Fix to how users are created (#442 — bug reported by @hexusio)


  • Standardizing code samples (#470)


  • Standardizing code samples (#474)


  • Standardizing code samples (#469)


  • More code samples (#464)
  • Bug fix: Fix to list messages iterator (#448)


  • Added a more robust solution to negotiating versions in service catalog (#463)
  • Table of contents added to userguide (#452)
  • Bug fix: X-Auth-Token header was not being reset before authentication, causing OpenStack auth calls to fail (#484 — bug reported by @notFloran)
  • Bug fix: Fixed typo in constants file (#480 - bug reported and fixed by @ficus)
  • Bug fix: Tenant IDs can now be imported as strings, rather than as integers (#456 — bug reported by @JeroenVanOort)



@ycombinator ycombinator released this · 751 commits to master since this release


  • Servers can now be suspended and resumed (#425 — added by @asusk7m550)
  • Added extended status server properties (#386 — added by @cs278)
  • Servers can now be booted up from a volume (#407)
  • Added sample code for creating a server and retrieving its IP address (#416)


  • Added support for datastores and configurations (#409)


  • Added methods for asynchronous job retrieval (#372)
  • Bug fix: Fixed broken path in user guide (#392 — bug reported by @jsbodine)
  • Bug fix: Made cross-links in documentation use relative paths (#394 — bug reported by @jsbodine)

Load Balancer

  • Added httpsRedirect as an updatable attribute (#367)
  • Bug fix: Nodes are added only if they are new (#400)
  • Bug fix: Removed call to non-existent list with details HTTP API (#426 — bug reported by @jjtroberts)


  • Bug fix: PaginatedIterator from fetchDataPoints now returns MetricDataPoints instead of Metrics (#387 — bug fixed by @Ben-Speakman)
  • Bug fix: Memory agent host info is now treated consistently (#385 — bug reported by @Ben-Speakman)

:new: Orchestration

Object Store

  • More code samples (#413, #420)
  • Bug fix: CORS header are no longer prefixed with X-*-Meta-* (#403 — bug reported and fixed by @killswitch)


  • Bug fix: Fixed regex to not assume presence of claim_id (#382)


  • Released responsibility for logging onto PSR interfaces (#368)
  • Bug fix: Fixed to how iterator traverses collection with next url (#370 — bug reported by @mastef)


  • Let composer automatically decide what version constraint to use (#423 — added by @GrahamCampbell)
  • Fixed license (#399)
  • Started a Conventions section for contributors (#411, #414)
  • Added automatic lint-checking at build time (#433)
  • Added automatic PSR-2 compliance checking at build time (#434)



@jamiehannaford jamiehannaford released this · 993 commits to master since this release

  • Rackspace Cloud Images / OpenStack Glance now supported
  • Sample scripts added for Compute and Object Storage services
  • Fixes to various pieces of documentation
  • Fix to how PTR records are deleted in DNS service
  • Adding Load Balancer access lists is now easier
  • Adding multiple scaling policies is now easier
  • Convenience methods added to Queues, allowing for easy deletion of members for a queue
  • More specific and clear dependency versioning in composer file
  • Fix to DNS import method which now adds the appropriate HTTP headers
  • Enabling Compute v1.1 to work, which beforehand wasn't supported due to an overly strict wildcard
  • Fixes to how the catalog handles region-specific UK DNS
  • Servers can now be provisioned using flavor/image IDs instead of fully instantiated objects



@jamiehannaford jamiehannaford released this · 1175 commits to master since this release

  • New container migration strategy. With the deprecation of default regions, a use case arose where people might want to migrate the contents of a Swift container to another geographic region. The copy method only supports cross-container migrations in one region. For more information about how to implement this, please consult the documentation.

  • Cloud init now supported for VM creation (see #288)

  • CDN enabled check fixed for containers (fixes #292)

  • Paths are now added as strings. This arose because integers paths were being ignored, which was fixed with a PR to Guzzle (see here).

  • More sympathetic errors when object not found (see 70e807)

  • Setting tenant now accounts for numerical strings, rather than just integers (fixes #290)

  • New doc for caching credentials

  • More documentation for load balancers

  • Updated docs for setting metadata when uploading object



@jamiehannaford jamiehannaford released this · 1265 commits to master since this release

  • Fix to server keypairs in how the JSON schema was generated for server creation (fixes #272)

  • Removal of abstract method in AbstractService, since the method was already defined in ServiceInterface - this caused problems with versions of 5.3

  • Bug fix with Data Objects, allowing 0 content size to be returned (fixes #273)

  • Bug fix with Paginated Collections. Previously, the "should append" rule was incorrect - meaning that subsequent requests were not being executed (fixes #274)

  • Bug fix with LoadBalancer access resources which prohibited them from being created

  • More graceful error handling with Container deletion. If a 409 Conflict response is returned, a more meaningful error will be sent to the end-user (fixes #252)

  • Adding OpenCloud\Version class for greater clarity

  • Updated Guzzle dependency version to v2.8

  • Copyright notices updated to 2014

  • New "Getting Started" guide for OpenStack

  • Updated documentation for spawning Cloud Servers with keypair authentication

  • Adding --prefer-source flag to Travis builds to get around Github API rate-limits


Something went wrong with that request. Please try again.