Breaking changes
- Remove Python 2.7 support and upgrade to Python 3.5. (#1050)
- Upgraded minimal PostgreSQL support to PostgreSQL 9.5 (#1056)
- The
--iniparameter is now after the subcommand name (#1095)
Protocol
- Fixed
If-Matchbehavior to match the RFC 2616 specification (#1102). - A
409 Conflicterror response is now returned when some backend integrity
constraint is violated (instead of503) (ref #602)
Protocol is now at version 1.15. See API changelog_.
Bug fixes
- Prevent injections in the PostgreSQL permission backend (#1061)
- Fix crash on
If-Match: *(#1064) - Handle Integer overflow in querystring parameters. (#1076)
- Flush endpoint now returns an empty JSON object instad of an HTML page (#1098)
- Fix nested sorting key breaks pagination token. (#1116)
- Remove
deletedfield fromPUTrequests over tombstones. (#1115) - Fix crash when preconditions are used on the permission endpoint (fixes #1066)
- Fixed resource timestamp upsert in PostgreSQL backend (#1125)
- Fix pserve argument ordering with Pyramid 1.8 (#1095)
Internal changes
- Update the upsert query to use an INSERT or UPDATE on CONFLICT behavior (fixes #1055)
- Remove pypy supports. (#1049)
- Permission schema children fields are now set during initialization instead of on
deserialization (#1046). - Request schemas (including validation and deserialization) are now isolated by method
and endpoint type (#1047). - Move generic API schemas (e.g TimeStamps and HeaderFields) from
kinto.core.resource.schema
to a sepate file onkinto.core.schema. (#1054) - Upgraded the kinto-admin to version 1.10.0 (#1086, #1128)
- Upgrade to Pyramid 1.8 (#1087)
- Replace old loadtests with functional tests (#1085)
- Use
Cornice Swagger <https://github.com/Cornices/cornice.ext.swagger>_ rather than
merging YAML files to generate the OpenAPI spec. - Gracefully handle
UnicityErrorwith thedefault_bucketplugin and
the PostgreSQL backend using PostgreSQL 9.5+ON CONFLICTclause. (#1122)