1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
|
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
helo=mx.sourceforge.net)
by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
(envelope-from <gavinandresen@gmail.com>) id 1WQGVj-0003AZ-MS
for bitcoin-development@lists.sourceforge.net;
Wed, 19 Mar 2014 13:26:23 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com
designates 209.85.213.41 as permitted sender)
client-ip=209.85.213.41; envelope-from=gavinandresen@gmail.com;
helo=mail-yh0-f41.google.com;
Received: from mail-yh0-f41.google.com ([209.85.213.41])
by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
(Exim 4.76) id 1WQGVh-0007gk-IN
for bitcoin-development@lists.sourceforge.net;
Wed, 19 Mar 2014 13:26:23 +0000
Received: by mail-yh0-f41.google.com with SMTP id v1so8499546yhn.14
for <bitcoin-development@lists.sourceforge.net>;
Wed, 19 Mar 2014 06:26:16 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.236.120.147 with SMTP id p19mr26184113yhh.6.1395235576078;
Wed, 19 Mar 2014 06:26:16 -0700 (PDT)
Received: by 10.170.133.195 with HTTP; Wed, 19 Mar 2014 06:26:15 -0700 (PDT)
Date: Wed, 19 Mar 2014 09:26:15 -0400
Message-ID: <CABsx9T3wa-ZnkDrYfeHYEy4UftgE+Bwcco2tR0Yn7KqtXHBrAg@mail.gmail.com>
From: Gavin Andresen <gavinandresen@gmail.com>
To: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Content-Type: multipart/alternative; boundary=20cf3010e48de3e4cf04f4f598c0
X-Spam-Score: -0.6 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
See http://spamassassin.org/tag/ for more details.
-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
sender-domain
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
(gavinandresen[at]gmail.com)
-0.0 SPF_PASS SPF: sender matches SPF record
1.0 HTML_MESSAGE BODY: HTML included in message
-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
author's domain
0.1 DKIM_SIGNED Message has a DKIM or DK signature,
not necessarily valid
-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1WQGVh-0007gk-IN
Subject: [Bitcoin-development] Bitcoin Core version 0.9.0 released
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Wed, 19 Mar 2014 13:26:23 -0000
--20cf3010e48de3e4cf04f4f598c0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Bitcoin Core version 0.9.0 is now available from:
https://bitcoin.org/bin/0.9.0/
This is a release candidate for a new major version. A major version brings
both new features and bug fixes.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
How to Upgrade
--------------
If you are running an older version, shut it down. Wait until it has
completely
shut down (which might take a few minutes for older versions), uninstall al=
l
earlier versions of Bitcoin, then run the installer (on Windows) or just
copy
over /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
If you are upgrading from version 0.7.2 or earlier, the first time you run
0.9.0 your blockchain files will be re-indexed, which will take anywhere
from
30 minutes to several hours, depending on the speed of your machine.
On Windows, do not forget to uninstall all earlier versions of the Bitcoin
client first, especially if you are switching to the 64-bit version.
Windows 64-bit installer
-------------------------
New in 0.9.0 is the Windows 64-bit version of the client. There have been
frequent reports of users running out of virtual memory on 32-bit systems
during the initial sync. Because of this it is recommended to install the
64-bit version if your system supports it.
NOTE: Release candidate 2 Windows binaries are not code-signed; use PGP
and the SHA256SUMS.asc file to make sure your binaries are correct.
In the final 0.9.0 release, Windows setup.exe binaries will be code-signed.
OSX 10.5 / 32-bit no longer supported
-------------------------------------
0.9.0 drops support for older Macs. The minimum requirements are now:
* A 64-bit-capable CPU (see http://support.apple.com/kb/ht3696);
* Mac OS 10.6 or later (see https://support.apple.com/kb/ht1633).
Downgrading warnings
--------------------
The 'chainstate' for this release is not always compatible with previous
releases, so if you run 0.9 and then decide to switch back to a
0.8.x release you might get a blockchain validation error when starting the
old release (due to 'pruned outputs' being omitted from the index of
unspent transaction outputs).
Running the old release with the -reindex option will rebuild the chainstat=
e
data structures and correct the problem.
Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
the blockchain for missing spent coins, which will take a long time (tens
of minutes on a typical machine).
Rebranding to Bitcoin Core
---------------------------
To reduce confusion between Bitcoin-the-network and Bitcoin-the-software we
have renamed the reference client to Bitcoin Core.
Autotools build system
-----------------------
For 0.9.0 we switched to an autotools-based build system instead of
individual
(q)makefiles.
Using the standard "./autogen.sh; ./configure; make" to build Bitcoin-Qt an=
d
bitcoind makes it easier for experienced open source developers to
contribute
to the project.
Be sure to check doc/build-*.md for your platform before building from
source.
Bitcoin-cli
-------------
Another change in the 0.9 release is moving away from the bitcoind
executable
functioning both as a server and as a RPC client. The RPC client
functionality
("tell the running bitcoin daemon to do THIS") was split into a separate
executable, 'bitcoin-cli'. The RPC client code will eventually be removed
from
bitcoind, but will be kept for backwards compatibility for a release or two=
.
`walletpassphrase` RPC
-----------------------
The behavior of the `walletpassphrase` RPC when the wallet is already
unlocked
has changed between 0.8 and 0.9.
The 0.8 behavior of `walletpassphrase` is to fail when the wallet is
already unlocked:
> walletpassphrase 1000
walletunlocktime =3D now + 1000
> walletpassphrase 10
Error: Wallet is already unlocked (old unlock time stays)
The new behavior of `walletpassphrase` is to set a new unlock time
overriding
the old one:
> walletpassphrase 1000
walletunlocktime =3D now + 1000
> walletpassphrase 10
walletunlocktime =3D now + 10 (overriding the old unlock time)
Transaction malleability-related fixes
--------------------------------------
This release contains a few fixes for transaction ID (TXID) malleability
issues:
- -nospendzeroconfchange command-line option, to avoid spending
zero-confirmation change
- IsStandard() transaction rules tightened to prevent relaying and mining o=
f
mutated transactions
- Additional information in listtransactions/gettransaction output to
report wallet transactions that conflict with each other because
they spend the same outputs.
- Bug fixes to the getbalance/listaccounts RPC commands, which would report
incorrect balances for double-spent (or mutated) transactions.
- New option: -zapwallettxes to rebuild the wallet's transaction informatio=
n
Transaction Fees
----------------
This release drops the default fee required to relay transactions across th=
e
network and for miners to consider the transaction in their blocks to
0.01mBTC per kilobyte.
Note that getting a transaction relayed across the network does NOT
guarantee
that the transaction will be accepted by a miner; by default, miners fill
their blocks with 50 kilobytes of high-priority transactions, and then with
700 kilobytes of the highest-fee-per-kilobyte transactions.
The minimum relay/mining fee-per-kilobyte may be changed with the
minrelaytxfee option. Note that previous releases incorrectly used
the mintxfee setting to determine which low-priority transactions should
be considered for inclusion in blocks.
The wallet code still uses a default fee for low-priority transactions of
0.1mBTC per kilobyte. During periods of heavy transaction volume, even this
fee may not be enough to get transactions confirmed quickly; the mintxfee
option may be used to override the default.
0.9.0 Release notes
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RPC:
- New notion of 'conflicted' transactions, reported as confirmations: -1
- 'listreceivedbyaddress' now provides tx ids
- Add raw transaction hex to 'gettransaction' output
- Updated help and tests for 'getreceivedby(account|address)'
- In 'getblock', accept 2nd 'verbose' parameter, similar to
getrawtransaction,
but defaulting to 1 for backward compatibility
- Add 'verifychain', to verify chain database at runtime
- Add 'dumpwallet' and 'importwallet' RPCs
- 'keypoolrefill' gains optional size parameter
- Add 'getbestblockhash', to return tip of best chain
- Add 'chainwork' (the total work done by all blocks since the genesis
block)
to 'getblock' output
- Make RPC password resistant to timing attacks
- Clarify help messages and add examples
- Add 'getrawchangeaddress' call for raw transaction change destinations
- Reject insanely high fees by default in 'sendrawtransaction'
- Add RPC call 'decodescript' to decode a hex-encoded transaction script
- Make 'validateaddress' provide redeemScript
- Add 'getnetworkhashps' to get the calculated network hashrate
- New RPC 'ping' command to request ping, new 'pingtime' and 'pingwait'
fields
in 'getpeerinfo' output
- Adding new 'addrlocal' field to 'getpeerinfo' output
- Add verbose boolean to 'getrawmempool'
- Add rpc command 'getunconfirmedbalance' to obtain total unconfirmed
balance
- Explicitly ensure that wallet is unlocked in `importprivkey`
- Add check for valid keys in `importprivkey`
Command-line options:
- New option: -nospendzeroconfchange to never spend unconfirmed change
outputs
- New option: -zapwallettxes to rebuild the wallet's transaction informatio=
n
- Rename option '-tor' to '-onion' to better reflect what it does
- Add '-disablewallet' mode to let bitcoind run entirely without wallet
(when
built with wallet)
- Update default '-rpcsslciphers' to include TLSv1.2
- make '-logtimestamps' default on and rework help-message
- RPC client option: '-rpcwait', to wait for server start
- Remove '-logtodebugger'
- Allow `-noserver` with bitcoind
Block-chain handling and storage:
- Update leveldb to 1.15
- Check for correct genesis (prevent cases where a datadir from the wrong
network is accidentally loaded)
- Allow txindex to be removed and add a reindex dialog
- Log aborted block database rebuilds
- Store orphan blocks in serialized form, to save memory
- Limit the number of orphan blocks in memory to 750
- Fix non-standard disconnected transactions causing mempool orphans
- Add a new checkpoint at block 279,000
Wallet:
- Bug fixes and new regression tests to correctly compute
the balance of wallets containing double-spent (or mutated) transactions
- Store key creation time. Calculate whole-wallet birthday.
- Optimize rescan to skip blocks prior to birthday
- Let user select wallet file with -wallet=3Dfoo.dat
- Consider generated coins mature at 101 instead of 120 blocks
- Improve wallet load time
- Don't count txins for priority to encourage sweeping
- Don't create empty transactions when reading a corrupted wallet
- Fix rescan to start from beginning after importprivkey
- Only create signatures with low S values
Mining:
- Increase default -blockmaxsize/prioritysize to 750K/50K
- 'getblocktemplate' does not require a key to create a block template
- Mining code fee policy now matches relay fee policy
Protocol and network:
- Drop the fee required to relay a transaction to 0.01mBTC per kilobyte
- Send tx relay flag with version
- New 'reject' P2P message (BIP 0061, see
https://gist.github.com/gavinandresen/7079034 for draft)
- Dump addresses every 15 minutes instead of 10 seconds
- Relay OP_RETURN data TxOut as standard transaction type
- Remove CENT-output free transaction rule when relaying
- Lower maximum size for free transaction creation
- Send multiple inv messages if mempool.size > MAX_INV_SZ
- Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_VERSIO=
N
- Do not treat fFromMe transaction differently when broadcasting
- Process received messages one at a time without sleeping between messages
- Improve logging of failed connections
- Bump protocol version to 70002
- Add some additional logging to give extra network insight
- Added new DNS seed from bitcoinstats.com
Validation:
- Log reason for non-standard transaction rejection
- Prune provably-unspendable outputs, and adapt consistency check for it.
- Detect any sufficiently long fork and add a warning
- Call the -alertnotify script when we see a long or invalid fork
- Fix multi-block reorg transaction resurrection
- Reject non-canonically-encoded serialization sizes
- Reject dust amounts during validation
- Accept nLockTime transactions that finalize in the next block
Build system:
- Switch to autotools-based build system
- Build without wallet by passing `--disable-wallet` to configure, this
removes the BerkeleyDB dependency
- Upgrade gitian dependencies (libpng, libz, libupnpc, boost, openssl) to
more
recent versions
- Windows 64-bit build support
- Solaris compatibility fixes
- Check integrity of gitian input source tarballs
- Enable full GCC Stack-smashing protection for all OSes
GUI:
- Switch to Qt 5.2.0 for Windows build
- Add payment request (BIP 0070) support
- Improve options dialog
- Show transaction fee in new send confirmation dialog
- Add total balance in overview page
- Allow user to choose data directory on first start, when data directory i=
s
missing, or when the -choosedatadir option is passed
- Save and restore window positions
- Add vout index to transaction id in transactions details dialog
- Add network traffic graph in debug window
- Add open URI dialog
- Add Coin Control Features
- Improve receive coins workflow: make the 'Receive' tab into a form to
request
payments, and move historical address list functionality to File menu.
- Rebrand to `Bitcoin Core`
- Move initialization/shutdown to a thread. This prevents "Not responding"
messages during startup. Also show a window during shutdown.
- Don't regenerate autostart link on every client startup
- Show and store message of normal bitcoin:URI
- Fix richtext detection hang issue on very old Qt versions
- OS X: Make use of the 10.8+ user notification center to display
Growl-like
notifications
- OS X: Added NSHighResolutionCapable flag to Info.plist for better font
rendering on Retina displays.
- OS X: Fix bitcoin-qt startup crash when clicking dock icon
- Linux: Fix Gnome bitcoin: URI handler
Miscellaneous:
- Add Linux script (contrib/qos/tc.sh) to limit outgoing bandwidth
- Add '-regtest' mode, similar to testnet but private with instant block
generation with 'setgenerate' RPC.
- Add 'linearize.py' script to contrib, for creating bootstrap.dat
- Add separate bitcoin-cli client
Credits
--------
Thanks to everyone who contributed to this release:
- Andrey
- Ashley Holman
- b6393ce9-d324-4fe1-996b-acf82dbc3d53
- bitsofproof
- Brandon Dahler
- Calvin Tam
- Christian Decker
- Christian von Roques
- Christopher Latham
- Chuck
- coblee
- constantined
- Cory Fields
- Cozz Lovan
- daniel
- Daniel Larimer
- David Hill
- Dmitry Smirnov
- Drak
- Eric Lombrozo
- fanquake
- fcicq
- Florin
- frewil
- Gavin Andresen
- Gregory Maxwell
- gubatron
- Guillermo C=E9spedes Tab=E1rez
- Haakon Nilsen
- HaltingState
- Han Lin Yap
- harry
- Ian Kelling
- Jeff Garzik
- Johnathan Corgan
- Jonas Schnelli
- Josh Lehan
- Josh Triplett
- Julian Langschaedel
- Kangmo
- Lake Denman
- Luke Dashjr
- Mark Friedenbach
- Matt Corallo
- Michael Bauer
- Michael Ford
- Michagogo
- Midnight Magic
- Mike Hearn
- Nils Schneider
- Noel Tiernan
- Olivier Langlois
- patrick s
- Patrick Strateman
- paveljanik
- Peter Todd
- phantomcircuit
- phelixbtc
- Philip Kaufmann
- Pieter Wuille
- Rav3nPL
- R E Broadley
- regergregregerrge
- Robert Backhaus
- Roman Mindalev
- Rune K. Svendsen
- Ryan Niebur
- Scott Ellis
- Scott Willeke
- Sergey Kazenyuk
- Shawn Wilkinson
- Sined
- sje
- Subo1978
- super3
- Tamas Blummer
- theuni
- Thomas Holenstein
- Timon Rapp
- Timothy Stranex
- Tom Geller
- Torstein Huseb=F8
- Vaclav Vobornik
- vhf / victor felder
- Vinnie Falco
- Warren Togami
- Wil Bown
- Wladimir J. van der Laan
--20cf3010e48de3e4cf04f4f598c0
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Bitcoin Core version 0.9.0 is now available from:</di=
v><div><br></div><div>=A0 <a href=3D"https://bitcoin.org/bin/0.9.0/">https:=
//bitcoin.org/bin/0.9.0/</a></div><div><br></div><div>This is a release can=
didate for a new major version. A major version brings</div>
<div>both new features and bug fixes.</div><div><br></div><div>Please repor=
t bugs using the issue tracker at github:</div><div><br></div><div>=A0 <a h=
ref=3D"https://github.com/bitcoin/bitcoin/issues">https://github.com/bitcoi=
n/bitcoin/issues</a></div>
<div><br></div><div>How to Upgrade</div><div>--------------</div><div><br><=
/div><div>If you are running an older version, shut it down. Wait until it =
has completely</div><div>shut down (which might take a few minutes for olde=
r versions), uninstall all</div>
<div>earlier versions of Bitcoin, then run the installer (on Windows) or ju=
st copy</div><div>over /Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoi=
n-qt (on Linux).</div><div><br></div><div>If you are upgrading from version=
0.7.2 or earlier, the first time you run</div>
<div>0.9.0 your blockchain files will be re-indexed, which will take anywhe=
re from=A0</div><div>30 minutes to several hours, depending on the speed of=
your machine.</div><div><br></div><div>On Windows, do not forget to uninst=
all all earlier versions of the Bitcoin</div>
<div>client first, especially if you are switching to the 64-bit version.</=
div><div><br></div><div>Windows 64-bit installer</div><div>----------------=
---------</div><div><br></div><div>New in 0.9.0 is the Windows 64-bit versi=
on of the client. There have been</div>
<div>frequent reports of users running out of virtual memory on 32-bit syst=
ems</div><div>during the initial sync. Because of this it is recommended to=
install the</div><div>64-bit version if your system supports it.</div>
<div><br></div><div>NOTE: Release candidate 2 Windows binaries are not code=
-signed; use PGP</div><div>and the SHA256SUMS.asc file to make sure your bi=
naries are correct.</div><div>In the final 0.9.0 release, Windows setup.exe=
binaries will be code-signed.</div>
<div><br></div><div>OSX 10.5 / 32-bit no longer supported</div><div>-------=
------------------------------</div><div><br></div><div>0.9.0 drops support=
for older Macs. The minimum requirements are now:</div><div>* A 64-bit-cap=
able CPU (see <a href=3D"http://support.apple.com/kb/ht3696">http://support=
.apple.com/kb/ht3696</a>);</div>
<div>* Mac OS 10.6 or later (see <a href=3D"https://support.apple.com/kb/ht=
1633">https://support.apple.com/kb/ht1633</a>).</div><div><br></div><div>Do=
wngrading warnings</div><div>--------------------</div><div><br></div><div>
The 'chainstate' for this release is not always compatible with pre=
vious</div><div>releases, so if you run 0.9 and then decide to switch back =
to a</div><div>0.8.x release you might get a blockchain validation error wh=
en starting the</div>
<div>old release (due to 'pruned outputs' being omitted from the in=
dex of</div><div>unspent transaction outputs).</div><div><br></div><div>Run=
ning the old release with the -reindex option will rebuild the chainstate</=
div>
<div>data structures and correct the problem.</div><div><br></div><div>Also=
, the first time you run a 0.8.x release on a 0.9 wallet it will rescan</di=
v><div>the blockchain for missing spent coins, which will take a long time =
(tens</div>
<div>of minutes on a typical machine).</div><div><br></div><div>Rebranding =
to Bitcoin Core</div><div>---------------------------</div><div><br></div><=
div>To reduce confusion between Bitcoin-the-network and Bitcoin-the-softwar=
e we</div>
<div>have renamed the reference client to Bitcoin Core.</div><div><br></div=
><div>Autotools build system</div><div>-----------------------</div><div><b=
r></div><div>For 0.9.0 we switched to an autotools-based build system inste=
ad of individual</div>
<div>(q)makefiles.</div><div><br></div><div>Using the standard "./auto=
gen.sh; ./configure; make" to build Bitcoin-Qt and</div><div>bitcoind =
makes it easier for experienced open source developers to contribute=A0</di=
v>
<div>to the project.</div><div><br></div><div>Be sure to check doc/build-*.=
md for your platform before building from source.</div><div><br></div><div>=
Bitcoin-cli</div><div>-------------</div><div><br></div><div>Another change=
in the 0.9 release is moving away from the bitcoind executable</div>
<div>functioning both as a server and as a RPC client. The RPC client funct=
ionality</div><div>("tell the running bitcoin daemon to do THIS")=
was split into a separate</div><div>executable, 'bitcoin-cli'. The=
RPC client code will eventually be removed from</div>
<div>bitcoind, but will be kept for backwards compatibility for a release o=
r two.</div><div><br></div><div>`walletpassphrase` RPC</div><div>----------=
-------------</div><div><br></div><div>The behavior of the `walletpassphras=
e` RPC when the wallet is already unlocked</div>
<div>has changed between 0.8 and 0.9.</div><div><br></div><div>The 0.8 beha=
vior of `walletpassphrase` is to fail when the wallet is already unlocked:<=
/div><div><br></div><div>=A0 =A0 > walletpassphrase 1000</div><div>=A0 =
=A0 walletunlocktime =3D now + 1000</div>
<div>=A0 =A0 > walletpassphrase 10</div><div>=A0 =A0 Error: Wallet is al=
ready unlocked (old unlock time stays)</div><div><br></div><div>The new beh=
avior of `walletpassphrase` is to set a new unlock time overriding</div><di=
v>the old one:</div>
<div><br></div><div>=A0 =A0 > walletpassphrase 1000</div><div>=A0 =A0 wa=
lletunlocktime =3D now + 1000</div><div>=A0 =A0 > walletpassphrase 10</d=
iv><div>=A0 =A0 walletunlocktime =3D now + 10 (overriding the old unlock ti=
me)</div><div><br>
</div><div>Transaction malleability-related fixes</div><div>---------------=
-----------------------</div><div><br></div><div>This release contains a fe=
w fixes for transaction ID (TXID) malleability=A0</div><div>issues:</div>
<div><br></div><div>- -nospendzeroconfchange command-line option, to avoid =
spending</div><div>=A0 zero-confirmation change</div><div>- IsStandard() tr=
ansaction rules tightened to prevent relaying and mining of</div><div>=A0 m=
utated transactions</div>
<div>- Additional information in listtransactions/gettransaction output to<=
/div><div>=A0 report wallet transactions that conflict with each other beca=
use</div><div>=A0 they spend the same outputs.</div><div>- Bug fixes to the=
getbalance/listaccounts RPC commands, which would report</div>
<div>=A0 incorrect balances for double-spent (or mutated) transactions.</di=
v><div>- New option: -zapwallettxes to rebuild the wallet's transaction=
information</div><div><br></div><div>Transaction Fees</div><div>----------=
------</div>
<div><br></div><div>This release drops the default fee required to relay tr=
ansactions across the</div><div>network and for miners to consider the tran=
saction in their blocks to</div><div>0.01mBTC per kilobyte.</div><div><br>
</div><div>Note that getting a transaction relayed across the network does =
NOT guarantee</div><div>that the transaction will be accepted by a miner; b=
y default, miners fill</div><div>their blocks with 50 kilobytes of high-pri=
ority transactions, and then with</div>
<div>700 kilobytes of the highest-fee-per-kilobyte transactions.</div><div>=
<br></div><div>The minimum relay/mining fee-per-kilobyte may be changed wit=
h the</div><div>minrelaytxfee option. Note that previous releases incorrect=
ly used</div>
<div>the mintxfee setting to determine which low-priority transactions shou=
ld</div><div>be considered for inclusion in blocks.</div><div><br></div><di=
v>The wallet code still uses a default fee for low-priority transactions of=
</div>
<div>0.1mBTC per kilobyte. During periods of heavy transaction volume, even=
this</div><div>fee may not be enough to get transactions confirmed quickly=
; the mintxfee</div><div>option may be used to override the default.</div>
<div><br></div><div>0.9.0 Release notes</div><div>=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</div><div><br></div><div>RPC:=
</div><div><br></div><div>- New notion of 'conflicted' transactions=
, reported as confirmations: -1</div><div>- 'listreceivedbyaddress'=
now provides tx ids</div>
<div>- Add raw transaction hex to 'gettransaction' output</div><div=
>- Updated help and tests for 'getreceivedby(account|address)'</div=
><div>- In 'getblock', accept 2nd 'verbose' parameter, simi=
lar to getrawtransaction,</div>
<div>=A0 but defaulting to 1 for backward compatibility</div><div>- Add =
9;verifychain', to verify chain database at runtime</div><div>- Add =
9;dumpwallet' and 'importwallet' RPCs</div><div>- 'keypoolr=
efill' gains optional size parameter</div>
<div>- Add 'getbestblockhash', to return tip of best chain</div><di=
v>- Add 'chainwork' (the total work done by all blocks since the ge=
nesis block)</div><div>=A0 to 'getblock' output</div><div>- Make RP=
C password resistant to timing attacks</div>
<div>- Clarify help messages and add examples</div><div>- Add 'getrawch=
angeaddress' call for raw transaction change destinations</div><div>- R=
eject insanely high fees by default in 'sendrawtransaction'</div>
<div>- Add RPC call 'decodescript' to decode a hex-encoded transact=
ion script</div><div>- Make 'validateaddress' provide redeemScript<=
/div><div>- Add 'getnetworkhashps' to get the calculated network ha=
shrate</div>
<div>- New RPC 'ping' command to request ping, new 'pingtime=
9; and 'pingwait' fields</div><div>=A0 in 'getpeerinfo' out=
put</div><div>- Adding new 'addrlocal' field to 'getpeerinfo=
9; output</div>
<div>- Add verbose boolean to 'getrawmempool'</div><div>- Add rpc c=
ommand 'getunconfirmedbalance' to obtain total unconfirmed balance<=
/div><div>- Explicitly ensure that wallet is unlocked in `importprivkey`</d=
iv>
<div>- Add check for valid keys in `importprivkey`</div><div><br></div><div=
>Command-line options:</div><div><br></div><div>- New option: -nospendzeroc=
onfchange to never spend unconfirmed change outputs</div><div>- New option:=
-zapwallettxes to rebuild the wallet's transaction information</div>
<div>- Rename option '-tor' to '-onion' to better reflect w=
hat it does</div><div>- Add '-disablewallet' mode to let bitcoind r=
un entirely without wallet (when</div><div>=A0 built with wallet)</div><div=
>
- Update default '-rpcsslciphers' to include TLSv1.2</div><div>- ma=
ke '-logtimestamps' default on and rework help-message</div><div>- =
RPC client option: '-rpcwait', to wait for server start</div><div>
- Remove '-logtodebugger'</div><div>- Allow `-noserver` with bitcoi=
nd</div><div><br></div><div>Block-chain handling and storage:</div><div><br=
></div><div>- Update leveldb to 1.15</div><div>- Check for correct genesis =
(prevent cases where a datadir from the wrong</div>
<div>=A0 network is accidentally loaded)</div><div>- Allow txindex to be re=
moved and add a reindex dialog</div><div>- Log aborted block database rebui=
lds</div><div>- Store orphan blocks in serialized form, to save memory</div=
>
<div>- Limit the number of orphan blocks in memory to 750</div><div>- Fix n=
on-standard disconnected transactions causing mempool orphans</div><div>- A=
dd a new checkpoint at block 279,000</div><div><br></div><div>Wallet:</div>
<div><br></div><div>- Bug fixes and new regression tests to correctly compu=
te</div><div>=A0 the balance of wallets containing double-spent (or mutated=
) transactions</div><div>- Store key creation time. Calculate whole-wallet =
birthday.</div>
<div>- Optimize rescan to skip blocks prior to birthday</div><div>- Let use=
r select wallet file with -wallet=3Dfoo.dat</div><div>- Consider generated =
coins mature at 101 instead of 120 blocks</div><div>- Improve wallet load t=
ime</div>
<div>- Don't count txins for priority to encourage sweeping</div><div>-=
Don't create empty transactions when reading a corrupted wallet</div><=
div>- Fix rescan to start from beginning after importprivkey</div><div>
- Only create signatures with low S values</div><div><br></div><div>Mining:=
</div><div><br></div><div>- Increase default -blockmaxsize/prioritysize to =
750K/50K</div><div>- 'getblocktemplate' does not require a key to c=
reate a block template</div>
<div>- Mining code fee policy now matches relay fee policy</div><div><br></=
div><div>Protocol and network:</div><div><br></div><div>- Drop the fee requ=
ired to relay a transaction to 0.01mBTC per kilobyte</div><div>- Send tx re=
lay flag with version</div>
<div>- New 'reject' P2P message (BIP 0061, see</div><div>=A0 <a hre=
f=3D"https://gist.github.com/gavinandresen/7079034">https://gist.github.com=
/gavinandresen/7079034</a> for draft)</div><div>- Dump addresses every 15 m=
inutes instead of 10 seconds</div>
<div>- Relay OP_RETURN data TxOut as standard transaction type</div><div>- =
Remove CENT-output free transaction rule when relaying</div><div>- Lower ma=
ximum size for free transaction creation</div><div>- Send multiple inv mess=
ages if mempool.size > MAX_INV_SZ</div>
<div>- Split MIN_PROTO_VERSION into INIT_PROTO_VERSION and MIN_PEER_PROTO_V=
ERSION</div><div>- Do not treat fFromMe transaction differently when broadc=
asting</div><div>- Process received messages one at a time without sleeping=
between messages</div>
<div>- Improve logging of failed connections</div><div>- Bump protocol vers=
ion to 70002</div><div>- Add some additional logging to give extra network =
insight</div><div>- Added new DNS seed from <a href=3D"http://bitcoinstats.=
com">bitcoinstats.com</a></div>
<div><br></div><div>Validation:</div><div><br></div><div>- Log reason for n=
on-standard transaction rejection</div><div>- Prune provably-unspendable ou=
tputs, and adapt consistency check for it.</div><div>- Detect any sufficien=
tly long fork and add a warning</div>
<div>- Call the -alertnotify script when we see a long or invalid fork</div=
><div>- Fix multi-block reorg transaction resurrection</div><div>- Reject n=
on-canonically-encoded serialization sizes</div><div>- Reject dust amounts =
during validation</div>
<div>- Accept nLockTime transactions that finalize in the next block</div><=
div><br></div><div>Build system:</div><div><br></div><div>- Switch to autot=
ools-based build system</div><div>- Build without wallet by passing `--disa=
ble-wallet` to configure, this=A0</div>
<div>=A0 removes the BerkeleyDB dependency</div><div>- Upgrade gitian depen=
dencies (libpng, libz, libupnpc, boost, openssl) to more</div><div>=A0 rece=
nt versions</div><div>- Windows 64-bit build support</div><div>- Solaris co=
mpatibility fixes</div>
<div>- Check integrity of gitian input source tarballs</div><div>- Enable f=
ull GCC Stack-smashing protection for all OSes</div><div><br></div><div>GUI=
:</div><div><br></div><div>- Switch to Qt 5.2.0 for Windows build</div>
<div>- Add payment request (BIP 0070) support</div><div>- Improve options d=
ialog</div><div>- Show transaction fee in new send confirmation dialog</div=
><div>- Add total balance in overview page</div><div>- Allow user to choose=
data directory on first start, when data directory is</div>
<div>=A0 missing, or when the -choosedatadir option is passed</div><div>- S=
ave and restore window positions</div><div>- Add vout index to transaction =
id in transactions details dialog</div><div>- Add network traffic graph in =
debug window</div>
<div>- Add open URI dialog</div><div>- Add Coin Control Features</div><div>=
- Improve receive coins workflow: make the 'Receive' tab into a for=
m to request</div><div>=A0 payments, and move historical address list funct=
ionality to File menu.</div>
<div>- Rebrand to `Bitcoin Core`</div><div>- Move initialization/shutdown t=
o a thread. This prevents "Not responding"</div><div>=A0 messages=
during startup. Also show a window during shutdown.</div><div>- Don't =
regenerate autostart link on every client startup</div>
<div>- Show and store message of normal bitcoin:URI</div><div>- Fix richtex=
t detection hang issue on very old Qt versions</div><div>- OS X: Make use o=
f the 10.8+ user notification center to display Growl-like=A0</div><div>=A0=
notifications</div>
<div>- OS X: Added NSHighResolutionCapable flag to Info.plist for better fo=
nt</div><div>=A0 rendering on Retina displays.</div><div>- OS X: Fix bitcoi=
n-qt startup crash when clicking dock icon</div><div>- Linux: Fix Gnome bit=
coin: URI handler</div>
<div><br></div><div>Miscellaneous:</div><div><br></div><div>- Add Linux scr=
ipt (contrib/qos/tc.sh) to limit outgoing bandwidth</div><div>- Add '-r=
egtest' mode, similar to testnet but private with instant block</div>
<div>=A0 generation with 'setgenerate' RPC.</div><div>- Add 'li=
nearize.py' script to contrib, for creating bootstrap.dat</div><div>- A=
dd separate bitcoin-cli client</div><div><br></div><div>Credits</div><div>
--------</div><div><br></div><div>Thanks to everyone who contributed to thi=
s release:</div><div><br></div><div>- Andrey</div><div>- Ashley Holman</div=
><div>- b6393ce9-d324-4fe1-996b-acf82dbc3d53</div><div>- bitsofproof</div>
<div>- Brandon Dahler</div><div>- Calvin Tam</div><div>- Christian Decker</=
div><div>- Christian von Roques</div><div>- Christopher Latham</div><div>- =
Chuck</div><div>- coblee</div><div>- constantined</div><div>- Cory Fields</=
div>
<div>- Cozz Lovan</div><div>- daniel</div><div>- Daniel Larimer</div><div>-=
David Hill</div><div>- Dmitry Smirnov</div><div>- Drak</div><div>- Eric Lo=
mbrozo</div><div>- fanquake</div><div>- fcicq</div><div>- Florin</div><div>
- frewil</div><div>- Gavin Andresen</div><div>- Gregory Maxwell</div><div>-=
gubatron</div><div>- Guillermo C=E9spedes Tab=E1rez</div><div>- Haakon Nil=
sen</div><div>- HaltingState</div><div>- Han Lin Yap</div><div>- harry</div=
>
<div>- Ian Kelling</div><div>- Jeff Garzik</div><div>- Johnathan Corgan</di=
v><div>- Jonas Schnelli</div><div>- Josh Lehan</div><div>- Josh Triplett</d=
iv><div>- Julian Langschaedel</div><div>- Kangmo</div><div>- Lake Denman</d=
iv>
<div>- Luke Dashjr</div><div>- Mark Friedenbach</div><div>- Matt Corallo</d=
iv><div>- Michael Bauer</div><div>- Michael Ford</div><div>- Michagogo</div=
><div>- Midnight Magic</div><div>- Mike Hearn</div><div>- Nils Schneider</d=
iv>
<div>- Noel Tiernan</div><div>- Olivier Langlois</div><div>- patrick s</div=
><div>- Patrick Strateman</div><div>- paveljanik</div><div>- Peter Todd</di=
v><div>- phantomcircuit</div><div>- phelixbtc</div><div>- Philip Kaufmann</=
div>
<div>- Pieter Wuille</div><div>- Rav3nPL</div><div>- R E Broadley</div><div=
>- regergregregerrge</div><div>- Robert Backhaus</div><div>- Roman Mindalev=
</div><div>- Rune K. Svendsen</div><div>- Ryan Niebur</div><div>- Scott Ell=
is</div>
<div>- Scott Willeke</div><div>- Sergey Kazenyuk</div><div>- Shawn Wilkinso=
n</div><div>- Sined</div><div>- sje</div><div>- Subo1978</div><div>- super3=
</div><div>- Tamas Blummer</div><div>- theuni</div><div>- Thomas Holenstein=
</div>
<div>- Timon Rapp</div><div>- Timothy Stranex</div><div>- Tom Geller</div><=
div>- Torstein Huseb=F8</div><div>- Vaclav Vobornik</div><div>- vhf / victo=
r felder</div><div>- Vinnie Falco</div><div>- Warren Togami</div><div>- Wil=
Bown</div>
<div>- Wladimir J. van der Laan</div><div><br></div>
</div>
--20cf3010e48de3e4cf04f4f598c0--
|