From 2569315d689c700c10a9984c1eddfa4241072aeaf728722fecbdc2398ebf35b3 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 13 Oct 2025 09:15:07 +0000 Subject: [PATCH] - update to 18.1.15: * Warning WARNING - BREAKING CHANGE: Drop support for Python 3.9. This breaking change should usually require a major and/or minor number update. Since berkeleydb traditional numbering is related to the higher Oracle Berkeley DB supported, I would usually wait until Oracle releases a new version to upgrade my own version and deprecate old Python support at the same time. Given that Oracle has not released a new Oracle Berkeley DB in almost five years, I must break this practice for now. I am sorry if this update breaks your Python 3.9 environment. In that case, please pin your berkeleydb installation to version 18.1.14, the last Python 3.9 compatible release. Send me constructive feedback if appropriate. * Python 3.14 is officially supported. * Since we have drop Python 3.9: We can simplify the code: We can now freely use PyType_GetModuleState(), PyModule_GetState() and PyType_GetModule(). We don't need Py_tp_new anymore in PyType_Slot types. We can use PyType_FromModuleAndSpec(). Ease use of rmtree and unlink in tests. We can use Py_TPFLAGS_DISALLOW_INSTANTIATION in all supported Python versions. * We can simplify the code: We can now freely use PyType_GetModuleState(), PyModule_GetState() and PyType_GetModule(). We don't need Py_tp_new anymore in PyType_Slot types. We can use PyType_FromModuleAndSpec(). Ease use of rmtree and unlink in tests. * We can now freely use PyType_GetModuleState(), PyModule_GetState() and PyType_GetModule(). * We don't need Py_tp_new anymore in PyType_Slot types. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-berkeleydb?expand=0&rev=12 --- berkeleydb-18.1.14.tar.gz | 3 --- berkeleydb-18.1.15.tar.gz | 3 +++ python-berkeleydb.changes | 54 +++++++++++++++++++++++++++++++++++++++ python-berkeleydb.spec | 4 +-- 4 files changed, 59 insertions(+), 5 deletions(-) delete mode 100644 berkeleydb-18.1.14.tar.gz create mode 100644 berkeleydb-18.1.15.tar.gz diff --git a/berkeleydb-18.1.14.tar.gz b/berkeleydb-18.1.14.tar.gz deleted file mode 100644 index a1b8090..0000000 --- a/berkeleydb-18.1.14.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c260282f57ebd5b9c3ce53da0eb75be5957addb303e3190935b716448f32f7d -size 320796 diff --git a/berkeleydb-18.1.15.tar.gz b/berkeleydb-18.1.15.tar.gz new file mode 100644 index 0000000..9d67fbf --- /dev/null +++ b/berkeleydb-18.1.15.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7afa53143d754c6bb2c85656c1325ebae518adcfcd1b59e13cc2abb88ddf758e +size 188446 diff --git a/python-berkeleydb.changes b/python-berkeleydb.changes index 9ed549a..328e3e0 100644 --- a/python-berkeleydb.changes +++ b/python-berkeleydb.changes @@ -1,3 +1,57 @@ +------------------------------------------------------------------- +Mon Oct 13 09:15:02 UTC 2025 - Dirk Müller + +- update to 18.1.15: + * Warning WARNING - BREAKING CHANGE: Drop support for Python + 3.9. This breaking change should usually require a major + and/or minor number update. Since berkeleydb traditional + numbering is related to the higher Oracle Berkeley DB + supported, I would usually wait until Oracle releases a new + version to upgrade my own version and deprecate old Python + support at the same time. Given that Oracle has not released + a new Oracle Berkeley DB in almost five years, I must break + this practice for now. I am sorry if this update breaks your + Python 3.9 environment. In that case, please pin your + berkeleydb installation to version 18.1.14, the last Python + 3.9 compatible release. Send me constructive feedback if + appropriate. + * Python 3.14 is officially supported. + * Since we have drop Python 3.9: We can simplify the code: We + can now freely use PyType_GetModuleState(), + PyModule_GetState() and PyType_GetModule(). We don't need + Py_tp_new anymore in PyType_Slot types. We can use + PyType_FromModuleAndSpec(). Ease use of rmtree and unlink in + tests. We can use Py_TPFLAGS_DISALLOW_INSTANTIATION in all + supported Python versions. + * We can simplify the code: We can now freely use + PyType_GetModuleState(), PyModule_GetState() and + PyType_GetModule(). We don't need Py_tp_new anymore in + PyType_Slot types. We can use PyType_FromModuleAndSpec(). + Ease use of rmtree and unlink in tests. + * We can now freely use PyType_GetModuleState(), + PyModule_GetState() and PyType_GetModule(). + * We don't need Py_tp_new anymore in PyType_Slot types. + * We can use PyType_FromModuleAndSpec(). + * Ease use of rmtree and unlink in tests. + * We can use Py_TPFLAGS_DISALLOW_INSTANTIATION in all supported + Python versions. + * Now we require setuptools >= 80.9.0, so now the license must + reencoded from License :: OSI Approved :: BSD License to + BSD-3-Clause. They are the same license, no worries, but + expressed in the syntax required by modern setuptools. + * Ugly workaround to be able to compile the bindings with GCC + in pedantic mode. + * Berkeley DB Exceptions are now compatible with Python + subinterpreters. This is a big change, let me know if you + find any problem, incompatibility or crash. This change + increases the bindings C API version. + * If we compile the bindings with mismatched header file and + shared object, a descriptive exception is raised at import + time. + * In some funcions, booleans are now booleans, not integers. + * Do CLOSED checks before argument parsing, to avoid memory + leaks when there are problems. + ------------------------------------------------------------------- Mon Apr 28 09:23:05 UTC 2025 - Dirk Müller diff --git a/python-berkeleydb.spec b/python-berkeleydb.spec index 2154ba5..764627f 100644 --- a/python-berkeleydb.spec +++ b/python-berkeleydb.spec @@ -1,7 +1,7 @@ # # spec file for package python-berkeleydb # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2025 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-berkeleydb -Version: 18.1.14 +Version: 18.1.15 Release: 0 Summary: Python bindings for Oracle Berkeley DB License: BSD-3-Clause