Changelog

From Bitcoin Wiki
Revision as of 22:09, 12 June 2012 by BlueMatt (talk | contribs) (0.4.00.4 release announcement)
Jump to: navigation, search

Hashbtc.jpgThis page is a stub. Help by expanding it.

This page aggregates the changelogs that have been posted on the forum for the Bitcoin releases.

Changelogs

0.4.0[1]

Bitcoin version 0.4.0 is now available for download at: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.4.0/

The main feature in this release is wallet private key encryption; you can set a passphrase that must be entered before sending coins. See below for more information; if you decide to encrypt your wallet, WRITE DOWN YOUR PASSPHRASE AND PUT IT IN A SECURE LOCATION. If you forget or lose your wallet passphrase, you lose your bitcoins. Previous versions of bitcoin are unable to read encrypted wallets, and will crash on startup if the wallet is encrypted.

Also note: bitcoin version 0.4 uses a newer version of Berkeley DB (bdb version 4.8) than previous versions (bdb 4.7). If you upgrade to version 0.4 and then revert back to an earlier version of bitcoin the it may be unable to start because bdb 4.7 cannot read bdb 4.8 "log" files.


Notable bug fixes from version 0.3.24:

Fix several bitcoin-becomes-unresponsive bugs due to multithreading deadlocks.

Optimize database writes for large (lots of inputs) transactions (fixes a potential denial-of-service attack)


Wallet Encryption

Bitcoin supports native wallet encryption so that people who steal your wallet file don't automatically get access to all of your Bitcoins. In order to enable this feature, choose "Encrypt Wallet" from the Options menu. You will be prompted to enter a passphrase, which will be used as the key to encrypt your wallet and will be needed every time you wish to send Bitcoins. If you lose this passphrase, you will lose access to spend all of the bitcoins in your wallet, no one, not even the Bitcoin developers can recover your Bitcoins. This means you are responsible for your own security, store your passphrase in a secure location and do not forget it.

Remember that the encryption built into bitcoin only encrypts the actual keys which are required to send your bitcoins, not the full wallet. This means that someone who steals your wallet file will be able to see all the addresses which belong to you, as well as the relevant transactions, you are only protected from someone spending your coins.

It is recommended that you backup your wallet file before you encrypt your wallet. To do this, close the Bitcoin client and copy the wallet.dat file from ~/.bitcoin/ on Linux, /Users/(user name)/Application Support/Bitcoin/ on Mac OSX, and %APPDATA%/Bitcoin/ on Windows (that is /Users/(user name)/AppData/Roaming/Bitcoin on Windows Vista and 7 and /Documents and Settings/(user name)/Application Data/Bitcoin on Windows XP). Once you have copied that file to a safe location, reopen the Bitcoin client and Encrypt your wallet. If everything goes fine, delete the backup and enjoy your encrypted wallet. Note that once you encrypt your wallet, you will never be able to go back to a version of the Bitcoin client older than 0.4.

Keep in mind that you are always responsible for your own security. All it takes is a slightly more advanced wallet-stealing trojan which installs a keylogger to steal your wallet passphrase as you enter it in addition to your wallet file and you have lost all your Bitcoins. Wallet encryption cannot keep you safe if you do not practice good security, such as running up-to-date antivirus software, only entering your wallet passphrase in the Bitcoin client and using the same passphrase only as your wallet passphrase.

See the doc/README file in the bitcoin source for technical details of wallet encryption.

0.3.24[2]

Bitcoin v0.3.24 is now available for download at https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.24/

This is another bug fix release. We had hoped to have wallet encryption ready for release, but more urgent fixes for existing clients were needed -- most notably block download problems were getting severe. Wallet encryption is ready for testing at https://github.com/bitcoin/bitcoin/pull/352 for the git-savvy, and hopefully will follow shortly in the next release, v0.4.

Notable fixes in v0.3.24, and the main reasons for this release:

F1) Block downloads were failing or taking unreasonable amounts of time to complete, because the increased size of the block chain was bumping up against some earlier buffer-size DoS limits.

F2) Fix crash caused by loss/lack of network connection.

Notable changes in v0.3.24:

C1) DNS seeding enabled by default.

C2) UPNP enabled by default in the GUI client. The percentage of bitcoin clients that accept incoming connections is quite small, and that is a problem. This should help. bitcoind, and unofficial builds, are unchanged (though we encourage use of "-upnp" to help the network!)

C3) Initial unit testing framework. Bitcoin sorely needs automated tests, and this is a beginning. Contributions welcome.

C4) Internal wallet code cleanup. While invisible to an end user, this change provides the basis for v0.4's wallet encryption.

0.3.23[3]

Win32, Linux, MacOSX and source releases for bitcoin v0.3.23 have been uploaded to https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.23/

This is another quick bugfix release, trying to deal with the influx of new bitcoin users.

Main items of note:

  • P2P connect-to-node logic changed to reduce timeout a bit. The network saw a huge influx of new users, who do not permit incoming connections. This change is a short-term hack, to more quickly hunt for useful P2P connections. Better "leaf node" logic is in the works, but this should let us limp along until then. One may use -upnp to properly forward ports, and help the network.
  • Transaction fee reduced to 0.0005 for new transactions
  • Client will relay transactions with fees as low as 0.0001 BTC

0.3.22[4]

Download URL: https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.22/

This is largely a bugfix and TX fee schedule release. We also hope to make 0.3.23 a quick release, to fix problems that the network has seen due to explosive growth in the past week.

Notable changes:

  • Client will accept and relay TX's with 0.0005 BTC fee schedule (users still pay 0.01 BTC per kb, until next version)
  • Non-standard transactions accepted on testnet
  • Source code tree reorganized (prep for autotools build)
  • Remove "Generate Coins" option from GUI, and remove 4way SSE miner. Internal reference CPU miner remains available, but users are directed to external miners for best hash production.
  • IRC is overflowing. Client now bootstraps to channels #bitcoin00 - #bitcoin99
  • DNS names now may be used with -addnode, -connect (requires -dns to enable)

RPC changes:

  • 'listtransactions' adds 'from' param, for range queries
  • 'move' may take account balances negative
  • 'settxfee' added, to manually set TX fee

0.3.21[5]

Binaries for Bitcoin version 0.3.21 are available at:

 https://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.21/

Changes and new features from the 0.3.20 release include:

  • Universal Plug and Play support. Enable automatic opening of a port for incoming connections by running bitcoin or bitcoind with the - -upnp=1 command line switch or using the Options dialog box.
  • Support for full-precision bitcoin amounts. You can now send, and bitcoin will display, bitcoin amounts smaller than 0.01. However, sending fewer than 0.01 bitcoins still requires a 0.01 bitcoin fee (so you can send 1.0001 bitcoins without a fee, but you will be asked to pay a fee if you try to send 0.0001).
  • A new method of finding bitcoin nodes to connect with, via DNS A records. Use the -dnsseed option to enable.

For developers, changes to bitcoin's remote-procedure-call API:

  • New rpc command "sendmany" to send bitcoins to more than one address in a single transaction.
  • Several bug fixes, including a serious intermittent bug that would sometimes cause bitcoind to stop accepting rpc requests.
  • -logtimestamps option, to add a timestamp to each line in debug.log.
  • Immature blocks (newly generated, under 120 confirmations) are now shown in listtransactions.

0.3.20.2[6]

The maxsendbuffer bug (0.3.20.1 clients not being able to download the block chain from other 0.3.20.1 clients) was only going to get worse as people upgraded, so I cherry-picked the bug fix and created a minor release yesterday.

The Amazon Machine Images I used to do the builds are available:

 ami-38a05251   Bitcoin-v0.3.20.2 Mingw    (Windows; Administrator password 'bitcoin development')
 ami-30a05259   Bitcoin_0.3.20.2 Linux32
 ami-8abc4ee3   Bitcoin_0.3.20.2 Linux64

(mac build will be done soon)

If you have already downloaded version 0.3.20.1, please either add this to your bitcoin.conf file:

 maxsendbuffer=10000
 maxreceivebuffer=10000

... or download the new version.

0.3.20.1

(No known forum post.)

0.3.20[7]

Please checkout the git integration branch from:

https://github.com/bitcoin/bitcoin

... and help test. The new features that need testing are:

Bug fixes that also need testing:

This needs more testing on Windows! Please drop me a quick private message, email, or IRC message if you are able to do some testing. If you find bugs, please open an issue at:

https://github.com/bitcoin/bitcoin/issues

0.3.19[8]

There's more work to do on DoS, but I'm doing a quick build of what I have so far in case it's needed, before venturing into more complex ideas. The build for this is version 0.3.19.

- Added some DoS controls As Gavin and I have said clearly before, the software is not at all resistant to DoS attack. This is one improvement, but there are still more ways to attack than I can count.

I'm leaving the -limitfreerelay part as a switch for now and it's there if you need it.

- Removed "safe mode" alerts "safe mode" alerts was a temporary measure after the 0.3.9 overflow bug. We can say all we want that users can just run with "-disablesafemode", but it's better just not to have it for the sake of appearances. It was never intended as a long term feature. Safe mode can still be triggered by seeing a longer (greater total PoW) invalid block chain.


0.3.18[9]

Changes:

  • Fixed a wallet.dat compatibility problem if you downgraded from 0.3.17 and then upgraded again
  • IsStandard() check to only include known transaction types in blocks
  • Jgarzik's optimisation to speed up the initial block download a little

The main addition in this release is the Accounts-Based JSON-RPC commands that Gavin's been working on (more details at http://www.bitcoin.org/smf/index.php?topic=1886.0).

  • getaccountaddress
  • sendfrom
  • move
  • getbalance
  • listtransactions

0.3.17[10]

Version 0.3.17 is now available.

Changes:

  • new getwork, thanks m0mchil
  • added transaction fee setting in UI options menu
  • free transaction limits
  • sendtoaddress returns transaction id instead of "sent"
  • getaccountaddress <account>

The UI transaction fee setting was easy since it was still there from 0.1.5 and all I had to do was re-enable it.

The accounts-based commands: move, sendfrom and getbalance <account> will be in the next release. We still have some more changes to make first.

0.3.16

Never released.

0.3.15[11]

  • paytxfee switch is now per KB, so it adds the correct fee for large transactions
  • sending avoids using coins with less than 6 confirmations if it can
  • BitcoinMiner processes transactions in priority order based on age of dependencies
  • make sure generation doesn't start before block 74000 downloaded
  • bugfixes by Dean Gores
  • testnet, keypoololdest and paytxfee added to getinfo

0.3.14[12]

Version 0.3.14 is now available http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.14/

Changes:

  • Key pool feature for safer wallet backup

Gavin Andresen:

  • TEST network mode with switch -testnet
  • Option to use SSL for JSON-RPC connections on unix/osx
  • validateaddress RPC command

eurekafag:

  • Russian translation

0.3.13[13]

Version 0.3.13 is now available. You should upgrade to prevent potential problems with 0/unconfirmed transactions. Note: 0.3.13 prevents problems if you haven't already spent a 0/unconfirmed transaction, but if that already happened, you need 0.3.13.2.

Changes:

  • Don't count or spend payments until they have 1 confirmation.
  • Internal version number from 312 to 31300.
  • Only accept transactions sent by IP address if -allowreceivebyip is specified.
  • Dropped DB_PRIVATE Berkeley DB flag.
  • Fix problem sending the last cent with sub-cent fractional change.
  • Auto-detect whether to use 128-bit 4-way SSE2 on Linux.

Gavin Andresen:

  • Option -rpcallowip= to accept json-rpc connections from another machine.
  • Clean shutdown on SIGTERM on Linux.

Download: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.13/

(Thanks Laszlo for the Mac OSX build!)

Note: The SSE2 auto-detect in the Linux 64-bit version doesn't work with AMD in 64-bit mode. Please try this instead and let me know if it gets it right: http://www.bitcoin.org/download/bitcoin-0.3.13.1-specialbuild-linux64.tar.gz

You can still control the SSE2 use manually with -4way and -4way=0.

Version 0.3.13.2 (SVN rev 161) has improvements for the case where you already had 0/unconfirmed transactions that you might have already spent. Here's a Windows build of it: http://www.bitcoin.org/download/bitcoin-0.3.13.2-win32-setup.exe

0.3.12[14]

Version 0.3.12 is now available.

Features:

  • json-rpc errors return a more standard error object. (thanks to Gavin Andresen)
  • json-rpc command line returns exit codes.
  • json-rpc "backupwallet" command.
  • Recovers and continues if an exception is caused by a message you received. Other nodes shouldn't be able to cause an exception, and it hasn't happened before, but if a way is found to cause an exception, this would keep it from being used to stop network nodes.

If you have json-rpc code that checks the contents of the error string, you need to change it to expect error objects of the form {"code":<number>,"message":<string>}, which is the standard. See this thread: http://www.bitcoin.org/smf/index.php?topic=969.0

Download: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.3.12/

References