Breaking changes
- The flush endpoint is now a built-in plugin at
kinto.plugins.flushand
should be enabled using theincludessection of the configuration file.
KINTO_FLUSH_ENDPOINT_ENABLEDenvironment variable is no longer supported. (#1147) - Settings with
cliquet.prefix are not supported anymore. - Logging configuration now relies on standard Python logging module (#1150)
Before:
kinto.logging_renderer = kinto.core.logs.ClassicLogRendererNow:
[handler_console]
...
formatter = color
[formatters]
keys = color
[formatter_color]
class = logging_color_formatter.ColorFormatter- Forbid storing bytes in the cache backend. (#1143)
kinto.core.apiwas renamed tokinto.core.openapi(#1145)- Logging extra information on message must be done using the
extrakeyword
(eg.logger.info('msg', extra={a=1})instead oflogger.info('msg', a=1))
(#1110, #1150) - Cache entries must now always have a TTL. The
ttlparameter ofcache.set()
is now mandatory (fixes #960). get_app_settings()fromkinto.core.testing.BaseWebTestis now a
class method (#1144)
Protocol
- Groups can now be created with a simple
PUT(fixes #793) - Batch requests now raise
400on unknown attributes (#1163).
Protocol is now at version 1.16. See API changelog_.
New features
- Enforce the permission endpoint when the admin plugin is included (fixes #1059)
- Access control failures are logged with WARN level (fixes #1074)
- Added an experimental :ref:
Accounts API <api-accounts>which allow users to sign-up
modify their password or delete their account (fixes #795)
Bug fixes
- Fix Memory backend sometimes show empty permissions (#1045)
- Allow to create default bucket with a PUT request and an empty body (fixes #1080)
- Fix PostgreSQL backend when excluding a list of numeric values (fixes #1093)
- Fix
ignore_conflictstorage backend create method parameter to
keep the existing rather than overriding it. (#1134) - Fix impacted records of events generated by implicit creation in default
bucket (#1137) - Removed Structlog binding and bottlenecks (fixes #603)
- Fixed Swagger output with subpath and regex in pyramid routes (fixes #1180)
- Fixed Postgresql errors when specifying empty values in querystring numeric filters. (fixes #1194)
- Return a 400 Bad Request instead of crashing when the querystring contains bad characters. (fixes #1195)
- Fix PostgreSQL backend from deleting records of the same name in
other buckets and collections when deleting a bucket. (fixes #1209) - Fix race conditions on deletions with upsert in PostgreSQL
storage.update()(fixes #1202) - Fix PostgreSQL backend race condition when replacing permissions of an object (fixes #1210)
- Fix crash when deleting multiple buckets with quotas plugin enabled (fixes #1201)
Internal changes
- Do not keep the whole Kinto Admin bundle in the repo (fixes #1012)
- Remove the email example from the custom code event listener tutorial (fixes #420)
- Removed useless logging info from resource (ref #603)
- Make sure prefixed userid is always first in principals
- Run functional tests on PostgreSQL
- Fix tests with Pyramid 1.9a
- Removed useless deletions in quota plugin
- Upgraded the kinto-admin to version 1.13.2