Skip to content

Releases: contentful/contentful.php

2.0.1

16 Jun 11:25
Compare
Choose a tag to compare

Fixed

  • ResourceBuilder now correctly handles locale when building referenced assets.
  • Asset::getFile now uses fallback chain logic to determine the locale to use.

2.0.0

13 Jun 09:33
2.0.0
Compare
Choose a tag to compare

ATTENTION: This release contains breaking changes. Please take extra care when updating to this version.

Added

  • Link implements the JsonSerializable interface. This is done in preparation for the upcoming CMA SDK.
  • UploadFile class now manages files which aren't yet processed (for Preview API) [BREAKING]. Contentful\Delivery\Asset::getFile now returns Contentful\Delivery\File\FileInterface instead of one of File|ImageFile. If you were type hinting on either one of those, please now use the interface or add UploadFile to the possible types.
  • Exceptions thrown because of an API error now extend ApiException. This class gives access to some additional data like, the request, response and request ID.
  • Extended Client to support a future CMA SDK.

Fixed

  • Retrieving a list of entries that contained multiple loops creates too many objects. [BREAKING] (#105)
    The new behavior is, that any entry that appears multiple times in the graph of the response will be the same instance.
  • The contentful script used to warm up/clear the cache was not marked as a binary in composer.json and thus not published to vendor/bin.
  • In console commands <info> can't be used as part of an Exception message. (#129)
  • Assets that are part of includes would not be resolved and always fetched again.
  • Client::request ignored the timer returned in LoggerInterface::getTimer when timing requests.

Changed

  • Moved file classes to a sub-namespace Contentful\File [BREAKING].
    • Contentful\File to Contentful\File\File
    • Contentful\ImageFile to Contentful\File\ImageFile
    • Contentful\ImageOptions to Contentful\File\ImageOptions

1.2.0

16 May 11:19
1.2.0
Compare
Choose a tag to compare

Added

  • Implemented ResourceArray::getItems to allow access to the values of a ResourceArray as an actual PHP array.
  • Send the new X-Contentful-User-Agent header.

1.1.0

15 May 12:20
1.1.0
Compare
Choose a tag to compare

Added

  • Implemented DeletedEntry::getContentType() to be used with webhooks. (#101)

Changed

  • The minimum required version of guzzlehttp/psr7 is now 1.4.

Fixed

  • Retrieving assets with the Preview API fails if no file is set. (#99)
  • When lazy-loading a linked entry, it would always be fetched in the default locale. (#109)

1.0.0

26 Apr 14:03
1.0.0
Compare
Choose a tag to compare

Added

  • Content in disabled fields can now be read.

0.8.1-beta

11 Apr 15:18
0.8.1-beta
Compare
Choose a tag to compare
0.8.1-beta Pre-release
Pre-release

Fixed

  • The caching of resolved links does not work for an array of links.

0.8.0-beta

10 Apr 15:45
0.8.0-beta
Compare
Choose a tag to compare
0.8.0-beta Pre-release
Pre-release

ATTENTION: This release contains breaking changes. Please take extra care when updating to this version.

Changed

  • Renamed a few classes to move them outside the Delivery namespace. [BREAKING]
    • Contentful\Delivery\Link to Contentful\Link
    • Contentful\Delivery\ImageOptions to Contentful\ImageOptions
    • Contentful\Delivery\File to Contentful\File
    • Contentful\Delivery\ImageFile to Contentful\ImageFile
  • Renamed ResourceNotFoundException to NotFoundException to match the names the API uses. [BREAKING]
  • Turned Contentful\Query into an abstract class to promote separation between CDA and CMA SDKs. [BREAKING]

Removed

  • Removed all get* methods except getQueryData() and getQueryString() from the various query classes. [BREAKING]

Fixed

  • The FilesystemCache would try to read cached content types from the wrong file name.
  • CacheWarmer wrote incorrect data for content types.
  • Retrieving a cached content type would cause the maximum function nesting level to be exceeded.
  • Correctly set the Accept header for API versioning. Previously the Content-Type header was set instead.
  • Serializing a LogEntry would fail if no response has been set.

0.7.0-beta

06 Apr 12:16
0.7.0-beta
Compare
Choose a tag to compare
0.7.0-beta Pre-release
Pre-release

ATTENTION: This release contains breaking changes. Please take extra care when updating to this version.

Added

  • Added support for the webp format in the Images API.
  • Introduced RateLimitExceededException, InvalidQueryException and AccessTokenInvalidException for more specific error handling. [BREAKING]
  • Allow injecting a custom Guzzle instance into Client.
  • Allow fetching content in a single locale by adding the locale code to the query. [BREAKING]
    MIGRATION: To retain the old behavior set the default locale to '*'' when creating the client. This could look
    like: new Client($token, $spaceID, false, null, ['defaultLocale => '*'])
  • Allow setting the locale in which you work when creating the client.
  • Allow overriding the URI used to connect with the Contentful API.
  • The select operator can now be specified on queries. Thanks @Haehnchen.
  • Support for the all operator and passing arrays as $value in Query::where().
  • Support for ordering by multiple fields.
  • The space metadata and the content types can now be cached with a CLI command.
  • Support for caching the Space and Content Types. The cache has to be manually warmed and cleared.

Changed

  • Changed the behavior of getting an array of links to not throw an exception when one of them has been deleted from the space. (#19)
  • Removed the caching of Asset and Entry instances. [BREAKING]
  • Changed the internal data format from object to array. This should make no observable difference to the public API.
  • Moved all Exception classes to their own namespace. [BREAKING]
  • Changed the signature of the constructor of Contentful\Delivery\Client. Several options are now in an options array. [BREAKING]
  • The Sync API can now also be used with the Preview API. Only initial syncs are supported.
  • Dist zip files no longer include the tests directory. If you need them use composer install --prefer-source.

Removed

  • Dropped BearerToken to make it easier to inject custom Guzzle instances. Thanks @Haehnchen. [BREAKING]
  • The class generator has been removed. It was unusable.

Fixed

  • Assets that have no title would throw an uncaught exception.
  • Handling of missing values for a locale in Assets. Solved by implementing fallback locales for Assets too. (#38)
  • Fields that have the literal value null are now treated like they don't exist. Previously they might have causes a
    fatal error. Note: This does not 100% match the behaviour of the Contentful API.
  • The error message for Query::setLimit was incorrect.
  • Allow accessing fields where the first letter of the ID is capitalized. (#68)

0.6.5-beta

10 Sep 23:19
0.6.5-beta
Compare
Choose a tag to compare
0.6.5-beta Pre-release
Pre-release

Added

  • Added gzip compression for API requests.

Changed

  • Raised the minimum Guzzle version to 6.2.1.
    This version addressed the HTTP_PROXY security vulnerability (CVE-2016-5385).

Fixed

  • Trying to retrieve fields that end with "Id" fails. #9

0.6.4-beta: Regenerate test fixtures

07 Mar 13:45
Compare
Choose a tag to compare
Pre-release

Added

  • Made LogEntry implement Serializable.

Changed

  • Send the correct Content-Type header for API versioning.