diff --git a/.python-version b/.python-version index eee6392d5c..43077b2460 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.8.16 +3.9.18 diff --git a/configure.ac b/configure.ac index 929d264229..980c38ff15 100644 --- a/configure.ac +++ b/configure.ac @@ -106,8 +106,8 @@ AC_PATH_TOOL(STRIP, strip) AC_PATH_TOOL(GCOV, gcov) AC_PATH_TOOL(LLVM_COV, llvm-cov) AC_PATH_PROG(LCOV, lcov) -dnl Python 3.8 is specified in .python-version and should be used if available, see doc/dependencies.md -AC_PATH_PROGS([PYTHON], [python3.8 python3.9 python3.10 python3.11 python3.12 python3 python]) +dnl The minimum supported version is specified in .python-version and should be used if available, see doc/dependencies.md +AC_PATH_PROGS([PYTHON], [python3.9 python3.10 python3.11 python3.12 python3 python]) AC_PATH_PROG(GENHTML, genhtml) AC_PATH_PROG([GIT], [git]) AC_PATH_PROG(CCACHE,ccache) diff --git a/contrib/containers/ci/Dockerfile b/contrib/containers/ci/Dockerfile index a11768ea49..767107a4c8 100644 --- a/contrib/containers/ci/Dockerfile +++ b/contrib/containers/ci/Dockerfile @@ -50,7 +50,7 @@ RUN apt-get update && apt-get install $APT_ARGS \ # Python setup # PYTHON_VERSION should match the value in .python-version -ARG PYTHON_VERSION=3.8.16 +ARG PYTHON_VERSION=3.9.18 RUN apt-get update && apt-get install $APT_ARGS \ ca-certificates \ libbz2-dev \ diff --git a/doc/build-openbsd.md b/doc/build-openbsd.md index 7b4efce1fd..db7de7c51e 100644 --- a/doc/build-openbsd.md +++ b/doc/build-openbsd.md @@ -14,7 +14,7 @@ pkg_add git gmake libevent libtool pkg_add qt5 # (optional for enabling the GUI) pkg_add autoconf # (select highest version, e.g. 2.69) pkg_add automake # (select highest version, e.g. 1.15) -pkg_add python # (select highest version, e.g. 3.8) +pkg_add python # (select highest version, e.g. 3.9) pkg_add gmp pkg_add bash pkg_add boost diff --git a/doc/dependencies.md b/doc/dependencies.md index 38893d8f1c..9d45291783 100644 --- a/doc/dependencies.md +++ b/doc/dependencies.md @@ -19,7 +19,7 @@ These are the dependencies currently used by Dash Core. You can find instruction | Linux Kernel | [N/A](https://www.kernel.org/) | 3.2.0 | | | | | MiniUPnPc | [2.2.2](https://miniupnp.tuxfamily.org/files) | | No | | | | PCRE | | | | | [Yes](https://github.com/dashpay/dash/blob/develop/depends/packages/qt.mk) | -| Python (tests) | | [3.8](https://www.python.org/downloads) | | | | +| Python (tests) | | [3.9](https://www.python.org/downloads) | | | | | qrencode | [3.4.4](https://fukuchi.org/works/qrencode) | | No | | | | Qt | [5.15.11](https://download.qt.io/official_releases/qt/) | [5.11.3](https://github.com/bitcoin/bitcoin/pull/24132) | No | | | | SQLite | [3.32.1](https://sqlite.org/download.html) | [3.7.17](https://github.com/bitcoin/bitcoin/pull/19077) | | | | diff --git a/test/functional/test_framework/util.py b/test/functional/test_framework/util.py index 5618940bb8..4e40bc7f18 100644 --- a/test/functional/test_framework/util.py +++ b/test/functional/test_framework/util.py @@ -275,10 +275,10 @@ def sha256sum_file(filename): d = f.read(4096) return h.digest() -# TODO: Remove and use random.randbytes(n) instead, available in Python 3.9 +# TODO: Remove and use random.randbytes(n) directly def random_bytes(n): """Return a random bytes object of length n.""" - return bytes(random.getrandbits(8) for i in range(n)) + return random.randbytes(n) # RPC/P2P connection constants and functions ############################################