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

2.11.0

Compare
Choose a tag to compare
@Natim Natim released this 17 Nov 17:14
· 347 commits to master since this release

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)