IRC meeting summary for 2016-01-21
Overview
Logs
Main topics
- 0.11 backport release for chainstate obfuscation
- C++11 update
- EOL Policy / release cycles
Short topics
-
Recently a configuration option “-permitrbf” has been merged, which allows nodes to choose whether to replace opt-in RBF transactions or not. Some discussion ensued to change the default behavior of 0.12.0 and set it to false. As most participants voiced their opinion on the relevant pull-requests (#7386 & #7388) this wasn’t discussed further in the meeting.
-
There are some issues being filed concerning database corruptions in bitcoin core. Although the problem hasn’t been pinpointed to LevelDB, the long-term plan is still to switch to a new, well maintained database.
0.11 backport release for chainstate obfuscation
background
As some windows users might have experienced in the past, anti-virus software regularly detects values in the bitcoin database files which are false-positives. Thereby deleting those files and corrupting the database.
To prevent this from happening developers discussed a way to obfuscate the database files and implemented it last year.
While downgrading after upgrading is possible, if you start from a new 0.12 installation or you’ve done a -reindex on 0.12 it’s impossible to downgrade to 0.11 (without starting from scratch).
meeting comments
The proposed pull-request detects the obfuscation in 0.11 so it throws a relevant error message.
To avoid this in the future it would be good to have versionnumbers for the chainstate.
meeting conclusion
Release a 0.11 backport release right after the 0.12 final release to avoid confusion.
C++11 update
background
C++11 is an update of the C++ language. It offers new functionalities, an extended standard library, etc.
Zerocash had to be written with some c++11 libraries and some IBLT simulation code was written in c++11, which they want to recycle for the eventual core commit.
meeting comments
All changes needed for C++11 have gone in and it’s ready to switch.
Cfields talked to the travis team and all the features needed (trusty, caching) will be ready by the end of the month, so he proposes to wait until then to flip the switch.
Wangchun from f2pool indicated he would not run code that required a C++11 compiler. Noone knows what his exact concerns are. Wumpus notes the gitian-built executables don’t need any special OS support after the C++11 switch.
meeting conclusion
Wait for Travis update to switch to C++11.
Talk to wangchun about his concerns.
EOL Policy / release cycles
background
In general bugfixes, translations and softforks are maintained for 2 major releases. btcdrak proposed to makes this official into a software life-cycle document for bitcoin core in order to inform users what to expect and developers what to code for.
Pull request for this document.
Given the huge 0.12 changelog jonasschnelli asks whether shorter release cycles might be a good idea. Currently there’s a +/- 6 month release cycle.
meeting comments
Gmaxwell notes he doesn’t know how useful the backports are given there’s no feedback about them, but thinks the current policy is not bad. “I am observing the backports appear to be a waste of time. From a matter of principle, I think they are important, but the industry doesn’t appear to agree.”
If no one is using the backports, it might not see sufficient testing.
People generally agree with the 2 major releases approach.
The cyclelength also contributes to frustration and pressure to get features in, as it won’t see the light of day for 6 months if it doesn’t make the new release.
For users it’s not really better to have more frequent major releases, as upgrading may not always be a trivial process. There’s also a lot of work going into releases.
If the GUI and wallet where detached there could be more frequent releases for that part.
meeting conclusion
Policy will be: final release of 0.X means end-of-life of 0.(X-2), which means a 1 year support on the 6 month cycle.
Participants
wumpus Wladimir J. van der Laan
gmaxwell Gregory Maxwell
jonasshnelli Jonas Schnelli
cfields Cory Fields
btcdrak btcdrak
sipa Pieter Wuille
jtimon Jorge Timón
maaku Mark Friedenbach
kangx_ Kang Zhang
sdaftuar Suhas Daftuar
phantomcircuit Patrick Strateman
CodeShark Eric Lombrozo
bsm117532 Bob McElrath
dkog dkog
jeremias Jeremias Kangas
Comic relief
jonasschnelli maaku: refactoring? We have a main.cpp. We don't need refactoring. :)
gmaxwell jonasschnelli: can we move everything back into main.cpp? I'd save a lot of time grepping. :P
wumpus #endmeeting
lightningbot` Meeting ended Thu Jan 21 19:55:48 2016 UTC.
btcdrak wumpus: hole in one
maaku Did it right this time!
gmaxwell Hurray!