Release 3.31

Refs #509, #517, #520, #525, #527, #532, #534, #536, #537, #538, #539
This commit is contained in:
Simon Willison 2023-05-08 15:33:57 -07:00
commit b3b100d7f5
2 changed files with 18 additions and 1 deletions

View file

@ -4,6 +4,23 @@
Changelog
===========
.. _v3_31:
3.31 (2023-05-08)
-----------------
- Dropped support for Python 3.6. Tests now ensure compatibility with Python 3.11. (:issue:`517`)
- Automatically locates the SpatiaLite extension on Apple Silicon. Thanks, Chris Amico. (`#536 <https://github.com/simonw/sqlite-utils/pull/536>`__)
- New ``--raw-lines`` option for the ``sqlite-utils query`` and ``sqlite-utils memory`` commands, which outputs just the raw value of the first column of every row. (:issue:`539`)
- Fixed a bug where ``table.upsert_all()`` failed if the ``not_null=`` option was passed. (:issue:`538`)
- Fixed a ``ResourceWarning`` when using ``sqlite-utils insert``. (:issue:`534`)
- Now shows a more detailed error message when ``sqlite-utils insert`` is called with invalid JSON. (:issue:`532`)
- ``table.convert(..., skip_false=False)`` and ``sqlite-utils convert --no-skip-false`` options, for avoiding a misfeature where the :ref:`convert() <python_api_convert>` mechanism skips rows in the database with a falsey value for the specified column. Fixing this by default would be a backwards-compatible change and is under consideration for a 4.0 release in the future. (:issue:`527`)
- Tables can now be created with self-referential foreign keys. Thanks, Scott Perry. (`#537 <https://github.com/simonw/sqlite-utils/pull/537>`__)
- ``sqlite-utils transform`` no longer breaks if a table defines default values for columns. Thanks, Kenny Song. (:issue:`509`)
- Fixed a bug where repeated calls to ``table.transform()`` did not work correctly. Thanks, Martin Carpenter. (:issue:`525`)
- Improved error message if ``rows_from_file()`` is passed a non-binary-mode file-like object. (:issue:`520`)
.. _v3_30:
3.30 (2022-10-25)

View file

@ -2,7 +2,7 @@ from setuptools import setup, find_packages
import io
import os
VERSION = "3.30"
VERSION = "3.31"
def get_long_description():