-
Notifications
You must be signed in to change notification settings - Fork 35.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release schedule for 0.21.0 #18947
Comments
f1d21ef doc: add C++17 release note for 0.21.0 (fanquake) Pull request description: TLDR: Mention that the codebase is now compatible with C++17, and that the intention is to require C++17 starting with 0.22.0. Following some discussion with Cory/Carl, and in #16684, I think this is the next step in the C++17 migration. While #16684 mentions a gitian/Guix release with C++17, it's not yet clear how that would be done. Are we just going to pass `--enable-c++17` in gitian/Guix?. Are we changing our default in configure.ac? According to the [last comment](#16684 (comment)) in #16684, we wouldn't be changing anything in depends: > No, everything (including depends) will stay at C++11. However I don't think we want to be mixing C++11 built dependencies, with a C++17 built bitcoind, if there is any potential for compatibility issues. Instead, I'd suggest we build the 0.21.0 release as C++11, and do a complete switch to C++17 for 0.22.0. Also, if we actually wanted to use C++17 in depends for 0.21.0, we couldn't without breaking C++11 compat (Qt). See below. Here is a potential timeline/TODOs for the migration: Potential Timeline * 17 / 6 / 2020 - Today * Some time prior to split-off: * Confirm that compiling with C++17 works. * Confirm that C++11 compatibility has not been broken. * 1 / 11 / 2020 * [0.21.0 split off happens](#18947). * 2 / 11 / 2020 * Merge an "incompatible with C++11" change into master. * Switch configure to use C++17 mode by default. * Update minimum compiler requirements. At least: * Clang 5: https://clang.llvm.org/cxx_status.html#cxx17 * GCC 7: https://gcc.gnu.org/projects/cxx-status.html#cxx17 * While GCC has some support from 5, it seems a more complete support landed in GCC 7. * https://gcc.gnu.org/gcc-7/changes.html#cxx * Switch depends packages to use C++17 where applicable. * Bump Qt from 5.9.x (no c++17 mode) to, likely, 5.15.x (LTS). * Drop support for macOS < 10.14.x * The c++ dylib shipped with macOS [doesn't support c++17, prior to macOS 10.14](#16684 (comment)). * Building Qt 5.12 or 5.15 in C++17 mode will also require a minimum macOS deployment target of 10.14. https://codereview.qt-project.org/c/qt/qtbase/+/283832. * Begin merging PRs like #19183 and #19245. * I've left some comments in #19183 if the macOS runtime issue interests anyone. * 3 / 12 / 2020 * 0.21.0 released. * Built as C++11. * Contains warning in release notes that compiling 0.22.0 will require C++17. * 3 / 6 / 2021 * 0.22.0 released. * Full of C++17 code. One thing worth noting, is that we cannot bump our Qt to a newer LTS for 0.21.0, without breaking C++11 compatibility. Qt 5.12 is not compilable in C++11 mode, as the project has started using C++14 features throughout at least the macOS portions of it's codebase, and seemingly "forgotten" that the release is meant to be C++11 compatible. Upstream bug here: https://bugreports.qt.io/browse/QTBUG-77310. > Building Qt requires C+11, at a minimum, but in practice we use later features, usually under a feature define, or with a fallback of some kind. On platforms that support > C11, we've (apparently) not considered the fallback necessary, under the assumption C+14 is always available. ACKs for top commit: MarcoFalke: ACK f1d21ef can't hurt to give an advance warning Sjors: ACK f1d21ef laanwj: ACK f1d21ef theStack: ACK f1d21ef Tree-SHA512: 706baceb07d9584783ba6e437cdf447531c20f586285b9797edc21f3adb1e9d386059d1c543c70eb298d0f8e555dafb6682a55d35c5836979fc12132e8ba06f5
7532c9a qt: Periodic translations update (Wladimir J. van der Laan) 598e3b1 tx: Update transifex slug for 0.21 (Wladimir J. van der Laan) Pull request description: Update transifex slug for 0.21 (as part of #18947), and do a periodic translations update. ACKs for top commit: fanquake: ACK 7532c9a Tree-SHA512: 7e396c9a7bcf69088ec89b604332b44cfc2f1949665a7d464ad7cd1c6156cd32ca4a6f7e0b70e4782966f0904c82c4c9286b25ada98052adeaf97e1f408489f6
Sorry, I might be too late for the translation string freeze deadline. But there's still a possibly misleading UI text: bitcoin/src/qt/addressbookpage.cpp Line 109 in b3527fd
I think "Signing" here means "message sign/verify", doesn't it? |
Yes, correct. I too think it's slightly misleading, because obviously without signing there would be no transactions. It refers to "message signing". But on the other hand it's consistent with the other uses of 'signing' in the UI, because signing of transactions happens in the background. |
It would be good to leave a note for the translators in transifex |
With PSBT a user knows he "signs" transactions. Maybe he will doubt whether non-legacy addresses can be used for purposes like offline-signing (cold storage). |
In any case feel free to file a PR to improve that message (in the GUI
repo), whether it will be merged before 0.21 or not, it's good to have.
…On Sat, Oct 17, 2020, 18:34 andronoob ***@***.***> wrote:
With PSBT a user knows he "signs" transactions. Maybe he will doubt
whether non-legacy addresses can be used for purposes like offline-signing
(cold storage).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#18947 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA65NWWQVNJCLYYQPNBHZLSLHBSDANCNFSM4M563QSQ>
.
|
Since I don't think we've split off yet, perhaps we should bump the deadline? |
It is hard to predict the day of the split-off. Split-off can happen as soon as the majority of the bugfixes in the milestone has been merged or removed from the milestone: https://github.com/bitcoin/bitcoin/milestone/45 Splitting off before the milestone is empty doesn't help because |
It always slips a bit. I suppose it shouldn't be called a deadline but more of a target. Anyhow all help is welcome in reviewing the remaining bugfix PRs! |
rc2 is now available: |
This comment has been minimized.
This comment has been minimized.
The rc cycle is taking longer than expected. I've moved the projected release date forward with two months, from 2020-12-03 to 2021-02-03. |
|
Here is a proposed release schedule for 0.21.0, the next major release of Bitcoin Core. Like for previous major releases I've aimed for a release 6 months after the last (#17432).
2020-10-01 ✔️
2020-10-15 ✔️
2020-11-01 ✔️
0.21
branch frommaster
0.21.0rc1
2021-01-14 ✔️
If any specific dates or timeframes are a problem for you, let me know.
The text was updated successfully, but these errors were encountered: