[...] marked as deprecated. They will be removed in a future version.
To be less aggressive (since some have objected against this version online) - and to unify the deprecation warning with the release notes - I have changed the warning to communicate our expectation in a friendlier way.
doc: unify `datacarriersize` warning with release notes
Unified the deprecation warning for the recently deprecated datacarrier[size] options to match the phrasing of release-notes-32406.md.
2885bd0e1c
DrahtBot added the label Docs on Aug 20, 2025
DrahtBot
commented at 3:45 AM on August 20, 2025:
contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
janb84
commented at 12:19 PM on August 20, 2025:
contributor
ACK2885bd0e1c4fc863a7f28ff0fd353f5cffb03442
Pr changes warning of datacarriersize to a friendlier one. The friendlier text aligns also with the release notes.
Given that deprecation not always results in removal (in this project), I find this warning message a better representation of the reality.
Zero-1729
commented at 12:32 PM on August 20, 2025:
contributor
LGTM
crACK2885bd0e1c4fc863a7f28ff0fd353f5cffb03442
Good catch; the new message tone is more aligned and communicates the intention better.
cedwies
commented at 12:41 PM on August 20, 2025:
contributor
ACK2885bd0
The PR adjusts the -datacarrier/-datacarriersize deprecation warning to be less absolute and better match the release notes.
I think the new wording still communicates deprecation, but without overstating certainty about removal.
Code change is minimal and the functional test was updated accordingly.
jonatack
commented at 4:21 PM on August 20, 2025:
member
ACK2885bd0e1c4fc863a7f28ff0fd353f5cffb03442
achow101 added this to the milestone 30.0 on Aug 21, 2025
achow101 removed this from the milestone 30.0 on Aug 21, 2025
ryanofsky
commented at 4:59 PM on August 21, 2025:
contributor
Code review ACK2885bd0e1c4fc863a7f28ff0fd353f5cffb03442. I don't think it is good for the release notes and the runtime warning message to say two different things. I'd also be happy if release notes were updated to match the runtime warning, instead of vice versa. Whatever is more accurate is better.
hodlinator approved
hodlinator
commented at 5:51 PM on August 21, 2025:
contributor
ACK2885bd0e1c4fc863a7f28ff0fd353f5cffb03442
Makes wording consistent with release notes (end of line):
ajtowns
commented at 3:03 AM on August 22, 2025:
contributor
ACK2885bd0e1c4fc863a7f28ff0fd353f5cffb03442
Unless there's an explicit schedule for the removal (eg -paytxfee is deprecated and will be fully removed in v31.0), this phrasing seems more accurate. Probably the testnet3 deprecation should also either be scheduled or changed to "is expected to be removed" as well.
fanquake
commented at 11:40 AM on August 22, 2025:
member
cc @hebasto; given this would change translations after translation string freeze.
w0xlt
commented at 7:05 AM on August 24, 2025:
contributor
Will the src/qt/bitcoinstrings.cpp file be changed in the GUI repository?
hebasto
commented at 1:36 PM on August 24, 2025:
member
cc @hebasto; given this would change translations after translation string freeze.
The translation workflow on Transifex includes marking translated strings as "Reviewed", which locks them from further changes. Not every translation team uses this feature, but those who do rely on it. Unfortunately, the "opensource" plan used by the Bitcoin organization on Transifex has very limited functionality, and it is not guaranteed that updating the translation source file (as in #33193) won’t reset the "Reviewed" status for other strings.
In short, there must not be any translation source updates after the final translation string freeze.
hebasto
commented at 1:39 PM on August 24, 2025:
member
Will the src/qt/bitcoinstrings.cpp file be changed in the GUI repository?
It makes no difference.
l0rinc
commented at 2:42 PM on August 24, 2025:
contributor
@hebasto, how can we help with finding a solution?
I personally would be okay with only fixing the English version, if updating the rest is indeed an unsolvable problem.
kevkevinpal
commented at 7:34 PM on August 26, 2025:
contributor
Makes sense to have consistent working with the release note
achow101
commented at 5:54 PM on August 27, 2025:
member
Unfortunately, the "opensource" plan used by the Bitcoin organization on Transifex has very limited functionality, and it is not guaranteed that updating the translation source file (as in #33193) won’t reset the "Reviewed" status for other strings.
Can we pay them some money to make that no longer a problem?
achow101
commented at 8:18 PM on August 28, 2025:
member
I've done some experimenting with a test project on transifex to see what the actual effects this change would cause, and a potential workaround.
In this test project, I copied over a couple fully translated languages to observe how the translated strings change when the source is updated. After rebasing this PR branch and doing cmake --build build --target translate, I uploaded the resulting modified bitcoin_en.xlf file. This resulted in 122 (~10% of strings) being marked untranslated again in both languages. We can assume that that behavior will appear across all languages, so that means ~10% of all translated strings would need to be retranslated. That's the crux of the problem. Now, Transifex does provide suggestions based on previous translations so those translations can be filled in with the click of a button. But that means someone needs to do that for every single language. I think this issue is why we institute a translation strings freeze.
However, I think there is a workaround to this issue. Ultimately the reason transifex thinks 121 additional strings need to be translated is because the .xlf files contain an id for each string which is based upon the position of a string in the bitcoin_en.ts file which is automatically generated from the source code using lupdate. But if we instead modify bitcoin_en.ts directly as well, lupdate will not change the string order so the generated bitcoin_en.xlf file will contain just the changed string (and some other autogenerated context changes that don't seem to make a difference), which can be uploaded to Transifex. The result is that only this single string needs to be translated and no other strings will be affected.
If this doc change is desired by contributors, and the 9 acks suggested that it is, then I think this workaround of modifying bitcoin_en.ts would be suitable.
ajtowns
commented at 9:18 AM on August 29, 2025:
contributor
Ultimately the reason transifex thinks 121 additional strings need to be translated is because the .xlf files contain an id for each string which is based upon the position of a string in the bitcoin_en.ts file which is automatically generated from the source code using lupdate
Is this context info useful? Line numbers will change whenever some previous function in the file gets a non-trivial edit... Would it be better to add -locations none to the LCONVERT invocation in translate.cmake? (Post branch-off) Or are there instances where the same english text (in the same source file?) gets multiple different translations in a single language?
EDIT: https://wiki.qt.io/Qt_Localization seems to suggest -locations none is a good idea fwiw. Could also consider switching from tranifex to weblate, seems to be what fedora uses; mumble switched with this rationale after this discussion -- we'd be under the 10k 160k string limit but over the 60 language limit so would presumably need to pay 500 EUR/year and apparently they now offer unlimited languages so that would also be fine; and we could also self-host which is what fedora does. They seem to offer context links back to the source repo, and some degree of github integration for automating pulls/pushes.
l0rinc
commented at 9:30 AM on August 29, 2025:
contributor
I have added a tool which could be useful for making sure edits like this aren't problematic anymore - feedback is welcome on overall direction: https://github.com/bitcoin/bitcoin/pull/33270
achow101
commented at 7:01 PM on August 29, 2025:
member
Is this context info useful? Line numbers will change whenever some previous function in the file gets a non-trivial edit... Would it be better to add -locations none to the LCONVERT invocation in translate.cmake?
I don't think line numbers is the problem. The actual source location of the string can change and the ids in the .xlf won't change. It's the sort order in the .ts file that lupdate generates that seems to cause the id change. It's unclear to me why the sort order would change.
l0rinc
commented at 10:17 PM on August 29, 2025:
contributor
I have checked the problem against the actual Core translations on Transifex and I could reproduce the massive invalidations and #33270 (comment) does fix it successfully so that translators only need to check the modified entries:
<img src="https://github.com/user-attachments/assets/a90798da-fab9-4732-bc4a-075711e10558" />
hebasto
commented at 9:13 AM on September 1, 2025:
member
I've done some experimenting with a test project on transifex to see what the actual effects this change would cause, and a potential workaround.
In this test project, I copied over a couple fully translated languages to observe how the translated strings change when the source is updated. After rebasing this PR branch and doing cmake --build build --target translate, I uploaded the resulting modified bitcoin_en.xlf file. This resulted in 122 (~10% of strings) being marked untranslated again in both languages. We can assume that that behavior will appear across all languages, so that means ~10% of all translated strings would need to be retranslated. That's the crux of the problem. Now, Transifex does provide suggestions based on previous translations so those translations can be filled in with the click of a button. But that means someone needs to do that for every single language. I think this issue is why we institute a translation strings freeze.
Was "Translation Memory Fillup" enabled then?
hebasto
commented at 10:59 AM on September 1, 2025:
member
If this doc change is desired by contributors, and the 9 acks suggested that it is, then...
... it can be accepted as is, but left untranslated until the version v31.0.
This is acceptable because:
We never promised, nor have we ever delivered, 100% translations for every language.
It's still easy for the user to translate the warning message themself.
I still hesitant about introducing last-minute changes to the translation pipeline / framework. We can revisit all related suggestions, such as dropping locations and ids, right after branching off.
achow101
commented at 11:04 PM on September 1, 2025:
member
Was "Translation Memory Fillup" enabled then?
Only if it is by default. I don't know where that setting is.
optout21
commented at 8:54 AM on September 2, 2025:
contributor
ACK2885bd0e1c4fc863a7f28ff0fd353f5cffb03442
Minute details like this in documentation improve the communication of the project.
The change is doc-only, minimal, well isolated.
achow101
commented at 10:41 PM on September 2, 2025:
member
ACK2885bd0e1c4fc863a7f28ff0fd353f5cffb03442
achow101 merged this on Sep 2, 2025
achow101 closed this on Sep 2, 2025
l0rinc deleted the branch on Sep 2, 2025
alexanderwiederin referenced this in commit 49e068b15b on Sep 16, 2025
alexanderwiederin referenced this in commit 4b0c2f2a8f on Sep 17, 2025
alexanderwiederin referenced this in commit 2edb618ffe on Sep 17, 2025
stringintech referenced this in commit fb8510ba20 on Sep 17, 2025
bug-castercv502 referenced this in commit 9f5d12d027 on Sep 28, 2025
yuvicc referenced this in commit d89c6d0002 on Sep 28, 2025
stickies-v referenced this in commit a785fe6759 on Nov 5, 2025
Kino1994 referenced this in commit eda5c1788e on Jun 28, 2026
BigcoinBGC referenced this in commit 6610d0bb10 on Jun 30, 2026
Kino1994 referenced this in commit fa9ac34c13 on Aug 19, 2026
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-09-09 07:56 UTC