Skip to content
This repository has been archived by the owner on Mar 28, 2019. It is now read-only.

Releases: mozilla-services/cliquet

2.13.0

01 Dec 15:52
Compare
Choose a tag to compare

Bug fixes

  • Fixes duplicated records in paginated results when limit is forced via
    settings (fixes #588)

New features

  • Allow to keep the last_modified field of records when updating or
    creating them. Useful for replication of remote collections (fixes #604)

Internal changes

  • Documentation has been updated to explain better how versionning is
    handled (fixes #603)

2.12.0

27 Nov 15:43
Compare
Choose a tag to compare

Protocol

Minor changes in the root URL (hello view):

  • Added http_api_version (#600)
  • Renamed hello to project_name
  • Renamed protocol_version to cliquet_protocol_version
  • Renamed documentation to project_docs
  • Renamed version to project_version

Breaking changes

  • When using cliquet-fxa, the setting multiauth.policy.fxa.use must now
    be explicitly set to cliquet_fxa.authentication.FxAOAuthAuthenticationPolicy
  • Fields in the root view were renamed (#600)

Bug fixes

  • Include plugins after setting up components (like authn/authz) so that plugins
    can register views with permissions checking
  • Remove __permissions__ from impacted records values in ResourceChanged
    events (#586)

New features

  • New options in configuration of listeners to specify filtered actions and
    resource names (#492, #555)
  • Add ability to listen to read action on resource (disabled by default)
    (#493)

Internal

  • Fixed a few details in quickstart docs since backends are not Redis by default
    anymore
  • Replace usage of assert by explicit exceptions since the former can
    be ignored when python is ran with -O (fixes #592)
  • Improved documentation about permissions (#572, thanks for the feedback @MrChoclate)
  • Fixed docs building under Python 3 (#591)

2.10.3

18 Nov 11:31
Compare
Choose a tag to compare

Bug fixes

  • Fix Service CORS not being set when plugins are included
  • Fix principals of permission backend not being plugged by default (#573)
  • Fix pagination loop when number of records is multiple of page size (fixes #366)
  • Fix Redis error traces not being logged (#560)

2.11.0

17 Nov 17:14
Compare
Choose a tag to compare

Protocol

  • _since and _before now accepts an integer value between quotes ",
    as it would be returned in the ETag response header.
  • A batch request now fails if one of the subrequests fails (#510)
    (see new feature about transactions)

Breaking changes

  • For PostgreSQL backends, it is recommended to specify postgresql://.

New features

  • A transaction now covers the whole request/response cycle (#510, Kinto/kinto#194).
    If an error occurs during the request processing, every operation performed
    is rolled back. Note: This is only enabled with PostgreSQL backends. In
    other words, the rollback has no effect on backends like Redis or Memory.
  • Add the protocol_version to tell which protocol version is
    implemented by the service in the hello page. (#324)
  • New settings for backends when using PostgreSQL: *_pool_maxoverflow,
    *_pool_recycle, *_pool_timeout to control connections pool
    behaviour.
  • Add custom pool supporting a max_backlog parameter that limits the
    number of threads waiting for a connection (#509)
  • Add impacted_records attribute on ResourceChanged event (#501)
    This also allows listeners to react on particular field change, since old and
    new version of records is provided.

Bug fixes

  • Fix Service CORS not being set when plugins are included
  • Fix crash with Redis backend if record parent/id is unicode (fixes #556)
  • Fix principals of permission backend not being plugged by default (#573)
  • Fix Redis error traces not being logged (#560)
  • Fix principals of permission backend not being plugged by default. (#573)
  • Maintain pagination offset to prevent pagination loop in some cases. (#366)

Internal changes

  • Switch to SQLAlchemy for smarter connections pools.
  • Added a simple end-to-end test on a Cliquet sample application, using
    Loads <http://github.com/loads/>_. (fixes #512)
  • Switched to SQLAlchemy sessions instead of raw connections and cursors. (#510)
  • Refactor Redis clients instantiation to avoid repeated defaults. (#567, #568)
  • Initialize Service class attributes before including plugins. (#578)
  • Add a statsd_count helper function to ease the usage of statsd. (#574)
  • Mention SQLAlchemy on missing PostgreSQL dependencies. (#545)

2.10.2

10 Nov 10:50
Compare
Choose a tag to compare

Bug fixes

  • Fix sharing records with ProtectedResource (fixes #549)
  • Fix notifications on protected resources (#548)
  • Log any heartbeat exception (fixes #559)
  • Fix crash with Redis backend if record parent/id is unicode (fixes #556)
  • Fix Redis client instantiation (fixes #564)

2.10.1

02 Nov 23:36
Compare
Choose a tag to compare

Bug fixes

  • Make sure read enpoints (GET, OPTIONS, HEAD) are activated in readonly mode. (#539)

2.10.0

30 Oct 16:13
Compare
Choose a tag to compare

Protocol

  • Moved userid attribute to a dedicated user mapping in the hello
    view.
  • Fixed 503 error message to mention backend errors in addition to unavailability.
  • Set cache headers only when anonymous (fixes #449)
  • Follow redirections in batch subrequests (fixes #511)
  • When recreating a record that was previously deleted, status code is now 201
    (ref #530).

New features

  • Follow redirections in batch subrequests (fixes #511)
  • Add a readonly setting to run the service in read-only mode. (#525)
  • If no client cache is set, add Cache-Control: no-cache by default,
    so that clients are forced to revalidate their cache against the server
    (#522, ref Kinto/kinto#231)

Bug fixes

  • Fix PostgreSQL error when deleting an empty collection in a protected
    resource (fixes #528)
  • Fix PUT not using create() method in storage backend when tombstone exists
    (fixes #530)
  • Delete tombstone when record is re-created (fixes #518)
  • Fix crash with empty body for PATCH (fixes #477, fixes #516)
  • Fix english typo in 404 error message (fixes #527)

Internal changes

  • Better pycache cleaning

2.9.0

27 Oct 14:50
Compare
Choose a tag to compare

New features

  • Added Pyramid events, triggered when the content of a resource has changed. (#488)
  • Added cliquet.includes setting allowing loading of plugins once Cliquet
    is initialized (unlike pyramid.includes). (#504)

Protocol

  • Remove the broken git revision commit field in the hello page. (#495).

Breaking changes

  • Renamed internal backend classes for better consistency. Settings
    remain unchanged, but if you imported the backend classes in your
    Cliquet application, it will break (#491).
  • cliquet.schema is now deprecated, and was moved to a cliquet.resource
    module. (#505)
  • Resource collection attribute is now deprecated. Use model attribute instead. (#506)

Internal changes

  • Rework PostgreSQL backends to use composition instead of inheritance for the
    client code. (#491)
  • Replace DROP INDEX by a conditional creation in PostgreSQL schemas (#487, #496
    thanks @rodo)
  • Documentation and minor refactors in viewset code (#490, #498, #502)
  • Add the build-requirements, distclean and maintainer-clean Makefile rules.
  • Documentation JSON patch format. (#484)
  • Fix for permission among record fields in 412 errors. (#499)

2.8.2

22 Oct 09:46
Compare
Choose a tag to compare

Bug fixes

  • Fix crash on settings with list values (#481)
  • Fix crash in Redis permission backend (ref Kinto/kinto#215)

Internal changes

  • Use tox installed in virtualenv (#486)
  • Skip python versions unavailable in tox (#486)

2.8.1

14 Oct 08:47
Compare
Choose a tag to compare
  • Expose public settings without prefix, except if we explicitely
    configure public_settings to expose them (with cliquet. or
    project_name.) (ref #476)