File manager - Edit - /home/jardides/www/Jardi-design/images/administrator/changelog.tar
Back
1.9.0.md 0000604 00000006100 15247121753 0005533 0 ustar 00 # 1.9.0 changelog ## Removal of default regions Perhaps the most conspicuous change with this release is the removal of default regions. Since v1.6.0 users have had the ability to create service objects without explicitly defining geographic regions. This has serious implications, however, for data jurisdiction - so we decided to move towards a system where users have to explicitly decide where their data sits. We want to ensure that the user retains control over where their data is stored, rather than making that decision on their behalf. The changes are very small, you just need to pass in an additional argument (which has always existed): ```php $compute = $client->computeService('cloudServersOpenStack', 'DFW'); ``` If this is too verbose, we've also added a new feature to the Identity service that allows users to setup a default region for their own user accounts. If a default region has been set for their user account, explicitly setting one on object creation is not necessary. ## Identity/Keystone support We now have full support for Rackspace Cloud Identity, and also support for OpenStack Keystone. The resources that you can interact with are: * Users (list, get, create, update, delete) * API keys (get, reset) * Roles (list, get, assign, revoke) * Tokens (generate, revoke) * Tenants (list) ## Coveralls integration We have externalized our test coverage with Coveralls and are currently in the process of bumping it to 100%. This allows for greater transparency and holds the project to a far higher standard. We've tied it into Jenkins CI, so a coverage report is generated every time the project is built. ## New iterator for DNS collections There was an issue (#258) that made DNS collections iterate incorrectly (results were being duplicated). The reason was because the API for the DNS service handled pagination differently than most other services, so we needed to create a specialized concrete class for DNS iteration. This class extends the new iterator functionality implemented in the last release. ## Updating Swift object metadata is now easier and more efficient Instead of having to do a full update, you can now update metadata in a separate call (`OpenCloud\ObjectStore\Resource\AbstractResource::saveMetadata`) with the option of prepending all array keys with the object's metadata prefix. So for objects, an array in the format of `['foo' => 1, 'bar' => 2]` would become `['X-Object-Meta-foo' => 1, 'X-Object-Meta-bar' => 2]` by default unless `false` is explicitly passed in as the second parameter. ## Misc fixes - Removal of callable type hint in `OpenCloud\Common\Collection\ResourceIterator` that was causing errors (fixes #249) - Fix to `OpenStack\Rackspace` so it references the correct `CredentialError` class (fixes #253) - Updating various Orchestration models to reference the correct PersistentObject class path ## Doc changes/fixes - Addition of Keystone docs - Addition and improvement of Nova docs - Fix to Swift object doc so that the mode is included in `fopen()` (fixes #262) - Fix to sprintf in code sample in Getting Started guide (fixes #254, #259) 1.7.0.md 0000604 00000010125 15247121753 0005533 0 ustar 00 # Changelog for v1.7.0 This guide lists the most conspicuous change features for this release, and hopefully provides help for developers to achieve backwards compatibility. ## Integration with Guzzle HTTP component This guide cannot give a complete overview of Guzzle HTTP's awesomeness, but here some highlights: - Uploading files is now __much quicker__ - Parallel requests using multi-cURL, which means files can be uploaded concurrently - Files over 5GB are fragmented and uploaded using multibyte chunking - URLs are now treated as fully fledged objects (`Guzzle\Http\Url`), allowing for greater functionality - Requests that send content now have the benefit of using the `Guzzle\Http\EntityBody` object, which extends and builds on the native functionality offered by PHP streams. Now there is a cool abstraction layer that offers a lot of consistency - Progress functionality (either by dedicated methods or by anonymous functions) - Event dispatching so all of your objects now have access to, and can also modify, the HTTP workflow. See Symfony's [Event Dispatcher Component](http://symfony.com/doc/current/components/event_dispatcher/introduction.html) for more info. For a complete list of features, [view the official page](http://guzzlephp.org). ## Keypair support Although code now exists in the SDK for API compatibility for creating servers with keypairs, there has been a recent bug in Nova where certain endpoints (DFW, IAD and ORD) do not exhibit the desired functionality. A patch will be released in the near future. For reference, you just need to add in an extra array key: ```php try { $server->create(array( 'name' => 'test', 'image' => $image, 'flavor' => $flavor, 'networks' => array( $service->network(RAX_PUBLIC), $service->network(RAX_PRIVATE) ), 'OS-DCF:diskConfig' => 'AUTO', 'keypair' => array( 'name' => 'id_rsa.pub', 'publicKey' => file_get_contents('/path/to/local/key') ) )); } catch (\Guzzle\Http\Exception\ClientErrorResponseException $e) { var_dump($e->getResponse()); } ``` ## Better handling of services - Endpoints, the Service Catalog, and Catalog Items are now treated as objects - Factory methods in the core OpenStack client have been renamed for greater clarity - Services are now constructed with a ServiceBuilder for efficiency - Namespace changes to all resource models for greater consistency ## Major upgrade of CloudFiles - _Near_ 100% API consistency for Cloud Files - Complete documentation, both technical and non-technical, for all functionality - Better handling of resource objects: `Account`, `Container`, `CDNContainer`, `DataObject` - The ability to upload files in 3 different ways (each one has a different use case): - Sequential uploads for simple files - Parallel batched uploads for multiple files - An `OpenCloud\ObjectStore\Upload\TransferBuilder` factory for handling large uploads (+5GB) that require chunking - Conditional requests for getting objects (`If-Match`, `If-None-Match`, `If-Modified-Since` and `If-Unmodified-Since`). `Range` is also now supported for partial content returns. - Bulk extract and bulk delete now better supported ## Unit test structure overhaul - Completely refactored unit tests - All unit tests now inherit from one centralized test case - Use of singletons for client object re-use - New implementation of mock responses - Request capturing using Event dispatchers ## Other changes - Refactoring of Autoscale/Monitoring to keep things DRY - New docblock for every file with up-to-date license - Fix to logging output functionality - Fixes to server metadata - Minor changes to Metadata - Core change to method/property overloading. For every private model property, the end-user now has access to a dynamic getter/setter methods that ensure better encapsulation. For finer-grained control, they can specify concrete methods which supercede the magic methods. I want to get into the habit of encouraging filtered access through methods rather than raw property access. Upgrading to 1.7.0.md 0000604 00000002336 15247121753 0010044 0 ustar 00 ## ObjectStore completely refactored All functionality is documented in detail here. If you need a more in-depth look, most of the source code is commented and has docblocks for each method. ## Renamed service methods Factory methods in `OpenCloud\OpenStack` have been upgraded for greater consistency. The full range are: ### OpenStack services - `objectStoreService` - `computeService` - `orchestrationService` - `volumeService` ### Rackspace services - `databaseService` - `loadBalancerService` - `dnsService` - `cloudMonitoringService` - `autoscaleService` - `queuesService` The arguments remain the same ## HTTP stuff - Issuing HTTP requests are now a breeze: you can piggy-back off Guzzle\Http and issue your own requests if you so wish. For a full overview, please see the [official documentation](http://guzzlephp.org). ## Misc changes - URLs are no longer returned as strings, but rather as `Guzzle\Http\Url` objects. To get a string representation, you can cast the object as a string: `(string) $url` - The models of most services have had minor changes to their namespaces - which shouldn't matter if you've used the convenience methods in the past. So a server, for example, is now `OpenCloud\Compute\Resource\Server`.
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings