Releases: Kinto/kinto
3.1.0
Protocol
- Added the
GET /contribute.json
endpoint for open-source information (fixes #607)
Protocol is now at version 1.6. See API changelog <http://kinto.readthedocs.io/en/latest/api/>
_.
Bug fixes
- Fix internal storage filtering when an empty list of values is provided.
- Authenticated users are now allowed to obtain an empty list of buckets on
GET /buckets
even if no bucket is readable (#454) - Fix enabling flush enpoint with
KINTO_FLUSH_ENDPOINT_ENABLED
environment variable (fixes #588) - Fix reading settings for events listeners from environment variables (fixes #515)
- Fix principal added to
write
permission when a publicly writable object
is created/edited (fixes #645) - Prevent client to cache and validate authenticated requests (fixes #635)
- Fix bug that prevented startup if old Cliquet configuration values
were still around (#633)
Documentation
3.0.1
2.1.2
Bug fixes
- Fix crash when a cache expires setting is set for a specific bucket or collection.
- Redirects version prefix to hello page when trailing_slash_redirect is enabled. (mozilla-services/cliquet#700)
- Fix crash when setting empty permission list with PostgreSQL permission backend (#575)
- Fix crash when type of values in querystring for exclude/include is wrong (#587)
- Fix crash when providing duplicated principals in permissions with PostgreSQL permission backend (#702)
- Prevent the browser to cache server responses between two sessions. (#593)
3.0.0
- Major version update. Merged cliquet into kinto.core. This is
intended to simplify the experience of people who are new to Kinto.
Addresses #687. - Removed
initialize_cliquet()
, which has been deprecated for a while. - Removed
cliquet_protocol_version
. Kinto already defines
incompatible API variations as part of its URL format (e.g./v0
,
/v1
). Services based on kinto.core are free to use
http_api_version
to indicate any additional changes to their
APIs. - Simplify settings code. Previously,
public_settings
could be
prefixed with a project name, which would be reflected in the output
of thehello
view. However, this was never part of the API
specification, and was meant to be solely a backwards-compatibility
hack for first-generation Kinto clients. Kinto public settings
should always be exposed unprefixed. Applications developed against
kinto.core can continue using these names even after they transition
clients to the new implementation of their service.
Bug fixes
- Add an explicit message when the server is configured as read-only and the
collection timestamp fails to be saved (ref #558) - Prevent the browser to cache server responses between two sessions. (#593)
- Redirects version prefix to hello page when trailing_slash_redirect is enabled. (#700)
- Fix crash when setting empty permission list with PostgreSQL permission backend (fixes #575)
- Fix crash when type of values in querystring for exclude/include is wrong (fixes #587)
- Fix crash when providing duplicated principals in permissions with PostgreSQL permission backend (fixes #702)
- Add
app.wsgi
to the manifest file. This helps address #543.
2.1.1
Bug fixes
- Fix crash in JSON schema validation when additional properties are provided (fixes #548)
- Strip internal fields before validating JSON schema (fixes #549)
- Fix migration of triggers in PostgreSQL storage backend when upgrading from Kinto<2.0.
Run themigrate
command will basically re-create them (fixes #559)
Documentation
- Fix typo in RHEL installation instructions (#552, thanks @enkidulan!)
- Link to english version of kinto presentation article (#553, thanks @glasserc!)
- Document basics about PostgreSQL privileges (#547)
- Change links from readthedocs.org to readthedocs.io (#557)
- Fix Parse server license in docs (#571, thanks @revolunet!)
2.1.0
Bug fixes
- Relax content-type validation when no body is posted (fixes #507)
- Fix creation events not sent for implicit creation of objects in the
default
bucket (fixes #529) - Fix the Dockerfile pip install (#522)
- Fix concurrency control request headers to recreate deleted objects (#512)
New features
- Allow groups to store arbitrary properties. (#469)
- A
cache_prefix
setting was added for cache backends. (mozilla-services/cliquet#680)
Documentation
- Put the cloud provider links in a comparison table (#514)
- Fix the module name of Redis event listener (thanks @happy-tanuki, #516)
- Add Makefile Documentation (thanks @ayusharma, #483)
- Document how to run Docker with custom config file (#525)
- Fix API version title (#523)
- Add a 'upgrade pip' command in the getting-started docs (#531)
- Document how to configure the postgresql backend (#533)
- Document how to upgrade Kinto (#537, #538)
2.0.0
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
,schema
anddefault_bucket
to the capabilities
if enabled in settings (#270)
Protocol is now in version 1.4. See API changelog.
Breaking changes
-
kinto.plugins.default_bucket
plugin is no longer assumed. We invite users
to check that thekinto.plugins.default_bucket
is present in the
includes
setting if they expect it. (ref #495) -
kinto start
must be explicitly run with--reload
in 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
AfterResourceChanged
event.
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
AfterResourceChanged
event, 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)
ResourceChanged
events 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-After
header)
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)
1.11.2
Bug fixes
- Expose the ETag header in 304 responses for default bucket (ref mozilla-services/cliquet#631)
Documentation
- Add Scalingo one-click deploy button (#418, thanks @yannski)
- Improve introduction of notifications tutorial (#419, thanks @tarekziade)
- Fix typos (thanks @magopian)
1.11.1
1.11.0
Protocol
- Forward slashes (
/
) are not escaped anymore in JSON responses (mozilla-services/cliquet#537) - Fields can be filtered in GET requests using
_fields=f1,f2
in querystring (#399, thanks MrChoclate) - New collections can be created via
POST
requests (thanks John Giannelos) - The API capabilities can be exposed in a
capabilities
attribute in the
root URL (#628). Clients can rely on this to detect optional features on the
server (e.g. enabled plugins)
Protocol is now version 1.3. See API changelog.
New features
- Add a Heroku single-clic deploy button (#362)
- Install PostgreSQL libraries on
kinto init
(fixes #313) - Smaller Docker container image (#375, #376, #383)
- Install major plugins in Dockerfile (fixes #317)
- The policy name used to configure authentication in settings is now used for
the user id prefix and StatsDauthn_type
counters. - Check backends configuration at startup (#228)
- Output message for config file creation (#351, thanks Aditya Basin)
- Trigger internal event on server flush (#354)
Bug fixes
- Fix validation of collection id in default bucket (fixes #260)
- Fix kinto init failure when the config folder already exists (#349)
- Fix Docker compose startup (fixes #325)
- Run migrate command when Docker container starts (fixes #363)
- Fix listener name logging during startup (mozilla-services/cliquet#626)
- Do not log batch subrequests twice (#264)
- Fix hmac digest with Python 3 (#288)
- Add explicit dependency for functools32 when Kinto is installed with an old
pip version (fixes #303)
Documentation
Highlights:
- Add tutorials about notifications (ref #353)
- Add tutorial how to write a plugin (#382)
- Add tutorial how to setup Github authentication (#390)
- Move default values to dedicated column in docs (fixes #255)
- Move run-kinto to get-started and remove platform specific installation
instructions (#373)
Improved:
- Update features table in overview
- Update overview comparisons (#294, #324, #328)
- Update FAQ (#397, #398)
- Simplify some aspects of the settings page (#374)
- Sharding documentation (#381)
Minor:
- Added missing DELETE endoint for list of records (fixes #238)
- Mention how to restrict private URLs with NGinx (fixes #250)
- Fix link to the freenode #kinto channel in the docs (#333)
- Remove Firefox Account mention from README (fixes #326)
- Move application examples page to wiki (ref #321)
- Move PostgreSQL server docs to wiki (fixes #321)
- Change colors of logo (#359)
- Add invitation for community to point their demos/use cases (fixes #356)
- Remove duplicate glossary in docs (#372)
- Remove troubleshooting paragraph from contributing page (#385)
- Fix wrong groups name and permissions names in the documentation (#389)
- Improve formatting of code block in tutorials (#391, #396)
Internal changes