Protocol
- Allow buckets to store arbitrary properties. (#239, #462)
- Delete every (writable) buckets using
DELETE /v1/buckets - Delete every (writable) collections using
DELETE /v1/buckets/<bucket-id>/collections - Clients are redirected to URLs without trailing slash only if the current URL
does not exist (#656) - Partial responses can now be specified for nested objects (#445)
For example,/records?_fields=address.street. - List responses are now sorted by last_modified descending by default (#434,
thanks @ayusharma) - Server now returns 415 error response if client cannot accept JSON response (#461, mozilla-services/cliquet#667)
- Server now returns 415 error response if client does not send JSON request (#461, mozilla-services/cliquet#667)
- Add the
__lbheartbeat__endpoint, for load balancer membership test. - Add the
flush_endpoint,schemaanddefault_bucketto the capabilities
if enabled in settings (#270)
Protocol is now in version 1.4. See API changelog.
Breaking changes
-
kinto.plugins.default_bucketplugin is no longer assumed. We invite users
to check that thekinto.plugins.default_bucketis present in the
includessetting if they expect it. (ref #495) -
kinto startmust be explicitly run with--reloadin order to
restart the server when code or configuration changes (ref #490). -
Errors are not swallowed anymore during the execution of
ResourceChanged
events subscribers.Subscribers are still executed within the transaction like before.
Subscribers are still executed even if the transaction is eventually rolledback.
Every subscriber execution succeeds, or none.Thus, subscribers of these events should only perform operations that are reversed
on transaction rollback: most likely database storage operations.For irreversible operations see the new
AfterResourceChangedevent.
New features
- Event subscribers are now ran synchronously and can thus alter responses (#421)
- Resource events are now merged in batch requests. One event per resource and
per action is emitted when a transaction is committed (mozilla-services/cliquet#634) - Monitor time of events listeners execution (mozilla-services/cliquet#503)
- Added a new
AfterResourceChangedevent, that is sent only when the commit
in database is done and successful.
See more details. - Track execution time on StatsD for each authentication sub-policy (mozilla-services/cliquet#639)
- Default console log renderer now has colours (mozilla-service/cliquet#671)
- Output Kinto version with
kinto --version(thanks @ayusharma)
Bug fixes
- Fix PostgreSQL backend timestamps when collection is empty (#433)
ResourceChangedevents are not emitted if a batch subrequest fails (mozilla-services/cliquet#634)
There are still emitted if the whole batch transaction is eventually rolledback.- Fix a migration of PostgreSQL schema introduced that was never executed (mozilla-services/cliquet#604)
- Fix statsd initialization on storage (mozilla-services/cliquet#637)
- Providing bad last modified values on delete now returns 400 (mozilla-services/cliquet#665)
- Providing last modified in the past for delete now follows behaviour create/update (mozilla-services/cliquet#665)
- Do not always return 412 errors when request header
If-None-Match: *
is sent onPOST /collection(fixes #489, mozilla-service/cliquet#673) - Fix secret in ini on Python 3 (fixes #341)
- Error when trying to create an empty directory (fixes #475)
- Text plain body should be rejected with an error (#461)
Documentation
- Additions in troubleshooting docs (thanks @ayusharma)
- Add uwsgi bind error to troubleshooting (fixes #447)
- Mention python plugin for Uwsgi (#448)
- Add how to troubleshoot psql encoding problems. (#453)
- Add mini checklist for CDN deployment (#450)
- Replace subjective ligthweight by minimalist (fixes #417)
- Improve synchronisation docs (#451)
- Add the requirements in the Readme (#465)
- Add docs about architecture (fixes #430)
- Add a 'why' paragraph to the docs (Kinto value proposition) (#482)
- Update docs: how to choose the backend (#485, thanks @enguerran)
- Add a custom id generator tutorial (#464)
Internal changes
- Changed default duration between retries on error (
Retry-Afterheader)
from 30 to 3 seconds. - Speed-up startup (ref #490)
- Optimized (and cleaned) usage of (un)authenticated_userid (#424, mozilla-services/cliquet#641)
- Fixed usage of virtualenv in Makefile (#443)
- Add a badge for the irc channel (#459)
- Change phrasing for backend selection (#470)
- Add a CONTRIBUTING file (#471, thanks @magopian)
- Add a contribute.json file (#478, #480, thanks @magopian)