Skip to content

Conversation

maflcko
Copy link
Member

@maflcko maflcko commented Aug 3, 2023

All supported operating systems ship with python 3.9 (or later), so bumping the minimum should not cause any issues. A bump will allow new code to use new python 3.9 features.

For reference:

This is for Bitcoin Core 27.0 in 2024 (next year), not the soon upcoming 26.0 next month.

@DrahtBot
Copy link
Contributor

DrahtBot commented Aug 3, 2023

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK jamesob, Sjors
Concept ACK hebasto, jonatack

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #28348 (build: Bump g++ minimum supported version to 10 by maflcko)
  • #28210 (build: Bump clang minimum supported version to 13 by maflcko)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@maflcko maflcko added this to the 27.0 milestone Aug 3, 2023
@maflcko
Copy link
Member Author

maflcko commented Aug 3, 2023

Currently a draft, because CI will need to be fixed up in the next force push.

@Sjors
Copy link
Member

Sjors commented Aug 4, 2023

Don't forget to bump .python-version

@luke-jr
Copy link
Member

luke-jr commented Aug 5, 2023

CentOS Stream also ships with 3.9

Isn't Stream a rolling release? What about RHEL?

@maflcko
Copy link
Member Author

maflcko commented Aug 6, 2023

Isn't Stream a rolling release? What about RHEL?

I don't think Stream it is a rolling release. It should ship all the same package versions as the corresponding RHEL release (however, the binaries may not be bit-by-bit-identical).

I've adjusted the pull request description to say CentOS-like 8/9.

You can verify it locally by running a fresh install of CentOS 9 Stream / Alma Linux 9 / Rocky Linux 9 and typing python3 --version. For me, it gives: Python 3.9.17. Trying to install it with dnf install python39 python3:

Package python3-3.9.17-1.el9.x86_64 is already installed.
Package python3-3.9.17-1.el9.x86_64 is already installed.

On a fresh install of CentOS 8 Stream / Alma Linux 8 / Rocky Linux 8, you can use dnf install python39 python311 to install 3.9 or 3.11:

Package python39-3.9.16-1.module_el8.8.0+3577+f4afbb0e.1.x86_64 is already installed.
Package python3.11-3.11.2-2.el8_8.1.x86_64 is already installed.

@maflcko maflcko force-pushed the 2308-py39- branch 2 times, most recently from fad70b6 to fa5b76d Compare August 23, 2023 13:57
@Sjors
Copy link
Member

Sjors commented Aug 23, 2023

I lightly tested fa5b76d on Intel macOS 13.5 by installing Python 3.9.17 via pyenv, running make deploy as well as the functional tests. Seems fine.

Copy link
Contributor

@jamesob jamesob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GH ACK fa5b76d

If CI is happy, looks good to me.

@hebasto
Copy link
Member

hebasto commented Aug 25, 2023

Concept ACK.

@maflcko maflcko changed the title Bump python minimum version to 3.9 Bump python minimum supported version to 3.9 Aug 27, 2023
@jonatack
Copy link
Member

Concept ACK

MarcoFalke added 3 commits August 29, 2023 11:54
There is no need to have it stuck on the previous one.
This is needed for the next commit.
@maflcko
Copy link
Member Author

maflcko commented Aug 29, 2023

rebased for fresh CI, no changes

Copy link
Contributor

@jamesob jamesob left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK fa25e8b (jamesob/ackr/28211.1.MarcoFalke.bump_python_minimum_supp)

Ran new lint (+ build) command, ran functional tests.

Copy link
Member

@Sjors Sjors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested fa25e8b by running the functional tests on macOS 13.5.1 and the Docker linter on Ubuntu. Looks good except I don't understand the rationale for also bumping clang.

@@ -1 +1 @@
3.8.17
3.9.17
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bump to 3.9.18 if you have to retouch. This time I tested with that patch version.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I won't be touching this pull again for now. So I guess I can include this as unrelated minor fixup commit in #28210

@Sjors
Copy link
Member

Sjors commented Aug 30, 2023

ACK fa25e8b

@maflcko maflcko changed the title Bump python minimum supported version to 3.9 [27.0] Bump python minimum supported version to 3.9 Aug 30, 2023
@maflcko maflcko changed the title [27.0] Bump python minimum supported version to 3.9 Bump python minimum supported version to 3.9 Oct 24, 2023
@DrahtBot DrahtBot requested review from hebasto and jonatack October 24, 2023 10:48
@maflcko
Copy link
Member Author

maflcko commented Oct 24, 2023

Is this rfm, or is something else needed here?

@fanquake
Copy link
Member

Makes sense for this to go in first, and rebase the compiler bumps.

@fanquake fanquake merged commit 4370482 into bitcoin:master Oct 24, 2023
@maflcko maflcko deleted the 2308-py39- branch October 24, 2023 16:36
fanquake added a commit that referenced this pull request May 21, 2024
85e480a doc: Update NetBSD Build Guide (Hennadii Stepanov)

Pull request description:

  This PR updates the NetBSD Build Guide to reflect:
  - the recent NetBSD Release
  - GCC minimum supported version update (#28348 and #29091)
  - Python minimum supported version update (#28211)

  Also a smaller package set has been suggested:
  - `boost-headers` instead of the full `boost`
  - `qt5-qtbase qt5-qttools` instead of the full `qt5` (similar to #29932 and #29947).

ACKs for top commit:
  maflcko:
    utACK 85e480a

Tree-SHA512: 0848b6f169a00f2da78eea452fd116193aece853680f4e615ba1df654246ec2a9d1600a4cfb238eb9305b72bbe4b2873519bf1e2987eaaf48aba900c64e85a48
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Oct 4, 2024
fa25e8b doc: Recommend lint image build on every call (MarcoFalke)
faf70c1 Bump python minimum version to 3.9 (MarcoFalke)
fa8996b ci: Bump i686_multiprocess.sh to latest Ubuntu LTS (MarcoFalke)

Pull request description:

  All supported operating systems ship with python 3.9 (or later), so bumping the minimum should not cause any issues. A bump will allow new code to use new python 3.9 features.

  For reference:
  * https://packages.debian.org/bullseye/python3
  * https://packages.ubuntu.com/focal/python3.9
  * FreeBSD 12/13 also ships with 3.9
  * CentOS-like 8/9 also ships with 3.9 (and 3.11)
  * OpenSuse Leap also ships with 3.9 (and 3.11) https://software.opensuse.org/package/python311-base

  This is for Bitcoin Core 27.0 in 2024 (next year), not the soon upcoming 26.0 next month.

ACKs for top commit:
  Sjors:
    ACK fa25e8b
  jamesob:
    ACK fa25e8b ([`jamesob/ackr/28211.1.MarcoFalke.bump_python_minimum_supp`](https://github.com/jamesob/bitcoin/tree/ackr/28211.1.MarcoFalke.bump_python_minimum_supp))

Tree-SHA512: 86c9f6ac4b5ba94a62ee6a6062dd48a8295d8611a39cdb5829f4f0dbc77aaa1a51edccc7a99275bf699143ad3a6fe826de426d413e5a465e3b0e82b86d10c32e
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Oct 6, 2024
fa25e8b doc: Recommend lint image build on every call (MarcoFalke)
faf70c1 Bump python minimum version to 3.9 (MarcoFalke)
fa8996b ci: Bump i686_multiprocess.sh to latest Ubuntu LTS (MarcoFalke)

Pull request description:

  All supported operating systems ship with python 3.9 (or later), so bumping the minimum should not cause any issues. A bump will allow new code to use new python 3.9 features.

  For reference:
  * https://packages.debian.org/bullseye/python3
  * https://packages.ubuntu.com/focal/python3.9
  * FreeBSD 12/13 also ships with 3.9
  * CentOS-like 8/9 also ships with 3.9 (and 3.11)
  * OpenSuse Leap also ships with 3.9 (and 3.11) https://software.opensuse.org/package/python311-base

  This is for Bitcoin Core 27.0 in 2024 (next year), not the soon upcoming 26.0 next month.

ACKs for top commit:
  Sjors:
    ACK fa25e8b
  jamesob:
    ACK fa25e8b ([`jamesob/ackr/28211.1.MarcoFalke.bump_python_minimum_supp`](https://github.com/jamesob/bitcoin/tree/ackr/28211.1.MarcoFalke.bump_python_minimum_supp))

Tree-SHA512: 86c9f6ac4b5ba94a62ee6a6062dd48a8295d8611a39cdb5829f4f0dbc77aaa1a51edccc7a99275bf699143ad3a6fe826de426d413e5a465e3b0e82b86d10c32e
PastaPastaPasta added a commit to dashpay/dash that referenced this pull request Oct 24, 2024
da45a67 docs: bump python version in dependencies.md and build-openbsd.md (pasta)
5f7009c bump PYTHON_VERSION for CI (pasta)
c6fed1e partial Merge bitcoin#28210: build: Bump clang minimum supported version to 13 (MarcoFalke)
68ccd6d bump CI python version (pasta)
64cd338 Merge bitcoin#28211: Bump python minimum supported version to 3.9 (fanquake)

Pull request description:

  ## Issue being fixed or feature implemented
  Why not

  ## What was done?
  Bump python version

  ## How Has This Been Tested?
  See CI

  ## Breaking Changes
  None

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  knst:
    utACK da45a67
  kwvg:
    utACK da45a67
  UdjinM6:
    utACK da45a67

Tree-SHA512: 5bb99817a5faca73e8e18b9fd6b5f190a7eb0274ef316038d78dea339e9610ed1b1870636a6ecbe1ed3074301a9fabfa84d879f6d7fa6276170cd15170b8f148
@bitcoin bitcoin locked and limited conversation to collaborators May 22, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants