Skip to content

Commit 9e458de

Browse files
committed
Release 0.4a0
Refs #646, #648, #652, #654, #656
1 parent 8e7d018 commit 9e458de

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

docs/changelog.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@
44
Changelog
55
===========
66

7+
.. _v4_0a0:
8+
9+
4.0a0 (2025-05-08)
10+
-----------------
11+
12+
- Upsert operations now use SQLite's ``INSERT ... ON CONFLICT SET`` syntax on all SQLite versions later than 3.23.1. This is a very slight breaking change for apps that depend on the previous ``INSERT OR IGNORE`` followed by ``UPDATE`` behavior. (:issue:`652`)
13+
- Python library users can opt-in to the previous implementation by passing ``use_old_upsert=True`` to the ``Database()`` constructor, see :ref:`python_api_old_upsert`.
14+
- Dropped support for Python 3.8, added support for Python 3.13. (:issue:`646`)
15+
- ``sqlite-utils tui`` is now provided by the `sqlite-utils-tui <https://github.com/simonw/sqlite-utils-tui>`__ plugin. (:issue:`648`)
16+
- Test suite now also runs against SQLite 3.23.1, the last version (from 2018-04-10) before the new ``INSERT ... ON CONFLICT SET`` syntax was added. (:issue:`654`)
17+
718
.. _v3_38:
819

920
3.38 (2024-11-23)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import io
33
import os
44

5-
VERSION = "3.38"
5+
VERSION = "4.0a0"
66

77

88
def get_long_description():

0 commit comments

Comments
 (0)