LearnBitcoin

Bitcoin Dev Archive 2012

Version 0.7 release planning

9 messages, 2 to 12 Aug 2012. Started by Jeff Garzik.

Jeff Garzik (2), Luke Dashjr (2), Geir Harald Hansen (2), Wladimir J. van der Laan (2), Gavin Andresen

Permalink Original thread on gnusha.org

Jeff Garzik permalink original

There seems to be consensus that we should go ahead and do a release, before leveldb or ultraprune or anything major lands. There is no major landmark feature, but just a useful collection of small changes. It seems like a good time to Release Early, Release Often and make a checkpoint release.

Some rough draft release notes were dumped in https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes.txt

Opening the floor... What do we collectively want to happen, before 0.7 release? What is the todo list for 0.7?

After cleaning out some pull requests yesterday, and looking at the list today, I see

1) CreateNewBlock: Child-pays-for-parent / Add transaction fee later luke-jr https://github.com/bitcoin/bitcoin/pull/1647

2) Translations update 2012-08-01 (fetched from Transifex) Diapolo https://github.com/bitcoin/bitcoin/pull/1644

3) Add address groupings RPC from coderrr's coincontrol patches. gmaxwell https://github.com/bitcoin/bitcoin/pull/1642

4) Add 'mempool' P2P command, and extend 'getdata' behavior jgarzik https://github.com/bitcoin/bitcoin/pull/1641

5) PROBABLY NOT, BUT MAYBE: Relay blocks as a "preview" before checking the transactions in them luke-jr https://github.com/bitcoin/bitcoin/pull/1586

6) JSON-RPC method: prioritisetransaction <txid> <priority delta> luke-jr https://github.com/bitcoin/bitcoin/pull/1583

7) HOPEFULLY: Addnode optimization and addnode access via RPC BlueMatt https://github.com/bitcoin/bitcoin/pull/1549

8) MAYBE: Transition to requiring block height in block coinbases gavinandresen https://github.com/bitcoin/bitcoin/pull/1526

9) WE MUST PICK ONE: RPC: lock push-down, preparing for
parallelization opportunities
jgarzik https://github.com/bitcoin/bitcoin/pull/1494
    or
RPC: add facility to enable RPCs to run outside cs_main, wallet locks
jgarzik https://github.com/bitcoin/bitcoin/pull/1493

10) I THINK WE WANT THIS? Make IPv6 support optional again (defaults to enabled) luke-jr https://github.com/bitcoin/bitcoin/pull/1431

11) MAYBE: getblocktemplate ('getmemorypool', post IRC debate) luke-jr https://github.com/bitcoin/bitcoin/pull/936

Devs -- feel free to commit directly to doc/release-notes.txt if there is a missing commit, or something that may be better described.

Jeff Garzik in reply to Jeff Garzik permalink original

On Thu, Aug 2, 2012 at 12:43 PM, Jeff Garzik <jgarzik@exmulti•com> wrote:

Quoted text (5 lines)
> There seems to be consensus that we should go ahead and do a release,
> before leveldb or ultraprune or anything major lands.  There is no
> major landmark feature, but just a useful collection of small changes.
>  It seems like a good time to Release Early, Release Often and make a
> checkpoint release.

Procedural note: since Gavin is on vacation, this release obviously won't occur for at least a couple weeks.

If Gavin appears on email or IRC, though, I might try to pounce on him and convince him to let us go ahead with 0.7-rc1, if the other devs are happy.

Luke Dashjr in reply to Jeff Garzik permalink original

On Thursday, August 02, 2012 4:43:25 PM Jeff Garzik wrote:

Quoted text (2 lines)
> Opening the floor...  What do we collectively want to happen, before
> 0.7 release?  What is the todo list for 0.7?

Based on pull-capable dev comments, I've personally noted these branches as accepted for 0.7:

Quoted text (12 lines)
> 7) HOPEFULLY: Addnode optimization and addnode access via RPC
> BlueMatt https://github.com/bitcoin/bitcoin/pull/1549
>
> 8) MAYBE: Transition to requiring block height in block coinbases
> gavinandresen https://github.com/bitcoin/bitcoin/pull/1526
>
> 10) I THINK WE WANT THIS?  Make IPv6 support optional again (defaults
> to enabled)
> luke-jr https://github.com/bitcoin/bitcoin/pull/1431
>
> 11) MAYBE: getblocktemplate ('getmemorypool', post IRC debate)
> luke-jr https://github.com/bitcoin/bitcoin/pull/936

+ + m) getmemorypool: longpolling support + luke-jr https://github.com/bitcoin/bitcoin/pull/1355 + + m) Refactor transaction/accounting time + luke-jr https://github.com/bitcoin/bitcoin/pull/1393

I also personally feel these are appropriate and ready for 0.7:

Quoted text (8 lines)
> 4) Add 'mempool' P2P command, and extend 'getdata' behavior
> jgarzik https://github.com/bitcoin/bitcoin/pull/1641
>
> 6) JSON-RPC method: prioritisetransaction <txid> <priority delta>
> luke-jr https://github.com/bitcoin/bitcoin/pull/1583
>
> 9) RPC: add facility to enable RPCs to run outside cs_main, wallet locks
> jgarzik https://github.com/bitcoin/bitcoin/pull/1493

+ + m) Treat generation (mined) transactions less different from receive + transactions + luke-jr https://github.com/bitcoin/bitcoin/pull/1409

Also these, but they need testing:

Quoted text (6 lines)
> 1) CreateNewBlock: Child-pays-for-parent / Add transaction fee later
> luke-jr https://github.com/bitcoin/bitcoin/pull/1647
>
> 5) PROBABLY NOT, BUT MAYBE: Relay blocks as a "preview" before
> checking the transactions in them
> luke-jr https://github.com/bitcoin/bitcoin/pull/1586

+ + m) Bitcoin-Qt (Windows only): enable DEP for bitcoin-qt.exe + diapolo https://github.com/bitcoin/bitcoin/pull/1614

I also feel it is very important that Wumpus/laanwj decide on a name for his client (formerly known as Bitcoin-Qt) and add it to the software instead of simply claiming it is "Bitcoin" as it has for a week or so now - that change is anticompetitive and will confuse new users into thinking Bitcoin is the software too easily.

Luke

Gavin Andresen in reply to Jeff Garzik permalink original

I have no objections to a rc1 happening before I'm back.

Geir Harald Hansen in reply to Jeff Garzik permalink original

On 02.08.2012 18:43, Jeff Garzik wrote:

Quoted text (5 lines)
> There seems to be consensus that we should go ahead and do a release,
> before leveldb or ultraprune or anything major lands.  There is no
> major landmark feature, but just a useful collection of small changes.
>  It seems like a good time to Release Early, Release Often and make a
> checkpoint release.

Looks like much goodness in this version. Thanks for all this work.

Any chance that options to limit the size of blocks and prioritize paid vs free txes could make it in?

By the way, by far the most common support request I have at my pool is users withdrawing coins and not seeing it in their wallet because it's not up-to-date with the block chain. Might be worth adding something in the bitcoin-qt GUI to make it more obvious that users can't see new transactions and why.

Quoted text (1 line)
> 2) Translations update 2012-08-01 (fetched from Transifex)

I just now updated the Norwegian translation on Transifex, if you'd like to do another pull before the release. For some reason there were many strings I had already translated that now had no translation and had to be done again (even ones that had the same English text). Many languages are now only about 50% translated.

Also there were new duplicated strings:

"Verify a message to ensure it was signed with a specified Bitcoin address" "Sign a message to prove you own a Bitcoin address" "Clear &All"

These two seem odd: Use UPnP to map the listening port (default: 0) Use UPnP to map the listening port (default: 1 when listening)

Regards, Geir H. Hansen, bitminter.com

Luke Dashjr in reply to Geir Harald Hansen permalink original

On Saturday, August 11, 2012 4:43:28 PM Geir Harald Hansen wrote:

Quoted text (5 lines)
> By the way, by far the most common support request I have at my pool is
> users withdrawing coins and not seeing it in their wallet because it's
> not up-to-date with the block chain. Might be worth adding something in
> the bitcoin-qt GUI to make it more obvious that users can't see new
> transactions and why.

Bitcoin-Qt even delays showing generation until 2 confirms.

Quoted text (3 lines)
> These two seem odd:
> Use UPnP to map the listening port (default: 0)
> Use UPnP to map the listening port (default: 1 when listening)

The default depends on build options, so that should be correct.

Wladimir J. van der Laan in reply to Geir Harald Hansen permalink original

By the way, by far the most common support request I have at my pool is

Quoted text (5 lines)
> users withdrawing coins and not seeing it in their wallet because it's
> not up-to-date with the block chain. Might be worth adding something in
> the bitcoin-qt GUI to make it more obvious that users can't see new
> transactions and why.
>

For 0.7 we've added a red "(out of sync)" warning to the balances when the block chain is out of date.

However, due to the design of the protocol there is a large variance in block timings, and it is not possible to determine up-to-date status with certainty, so quite a large safety margin is used. To be precise the warning is shown when the last received block was generated more than 90 minutes ago.

Wladimir

Wladimir J. van der Laan in reply to Geir Harald Hansen permalink original

Geir,

There were a lot of subtle changes to the English base messages such as capitalization or punctuation, I know this is pretty annoying for translators. It is a pity that there is no way to update all translations when the English base message changes but not significantly enough to trigger re-translation. I've looked but Transifex does not have that option.

Also there were new duplicated strings:

Quoted text (5 lines)
>
> "Verify a message to ensure it was signed with a specified Bitcoin address"
> "Sign a message to prove you own a Bitcoin address"
> "Clear &All"
>

Duplicate strings are not a problem. Some strings are used multiple times in the program, and thus appear multiple times in the translation. This is because there are cases in which a string that is the same in English is translated differently in another language based on the context.

At least Qt translator fills duplicates in automatically, with the option to change them if desired. I'm not sure about Transifex but I've heard it's the same there.

Quoted text (5 lines)
>
> These two seem odd:
> Use UPnP to map the listening port (default: 0)
> Use UPnP to map the listening port (default: 1 when listening)
>

The default depends on compiler flags, hence the two messages. I suppose the message could be split up, so that "Use UPnP to map the listening port" is factored out.

Let's do this after 0.7.0 release though, otherwise all the translations for those messages will be broken again. There should be no more message changes before the release unless there is a very good reason.

Wladimir

Geir Harald Hansen in reply to Wladimir J. van der Laan permalink original

On 11.08.2012 20:56, Wladimir wrote:

Quoted text (4 lines)
> Duplicate strings are not a problem. Some strings are used multiple
> times in the program, and thus appear multiple times in the translation.
> This is because there are cases in which a string that is the same in
> English is translated differently in another language based on the context.

That makes sense. But it's hard to translate when you just see the same string twice and don't know the context where it will be used.

Quoted text (3 lines)
> At least Qt translator fills duplicates in automatically, with the
> option to change them if desired. I'm not sure about Transifex but I've
> heard it's the same there.

No, I just use copy and paste.

Quoted text (6 lines)
>     Use UPnP to map the listening port (default: 0)
>     Use UPnP to map the listening port (default: 1 when listening)
>
> The default depends on compiler flags, hence the two messages. I suppose
> the message could be split up, so that "Use UPnP to map the listening
> port" is factored out.

Sorry, forgot there was a compiler flag for this. No need to split this up. As long as there is no explanation or description for each string I think it's easier to translate whole sentences.

On 11.08.2012 20:32, Wladimir wrote:

Quoted text (4 lines)
> By the way, by far the most common support request I have at my pool is
>
>     users withdrawing coins and not seeing it in their wallet because it's
>     not up-to-date with the block chain. Might be worth adding

something in

Quoted text (5 lines)
>     the bitcoin-qt GUI to make it more obvious that users can't see new
>     transactions and why.
>
> For 0.7 we've added a red "(out of sync)" warning to the balances when
> the block chain is out of date.

Perfect. This will prevent a lot of confusion. Thanks!

Regards, Geir H. Hansen, bitminter.com