IRC meeting summary for 2016-01-21
- 0.11 backport release for chainstate obfuscation
- C++11 update
- EOL Policy / release cycles
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
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).
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.
Release a 0.11 backport release right after the 0.12 final release to avoid confusion.
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.
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.
Wait for Travis update to switch to C++11.
Talk to wangchun about his concerns.
EOL Policy / release cycles
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.
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.
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.
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
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!