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, chose "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. Full changelog ("git shortlog --no-merges v0.3.24..") ----------------------------------------- Abraham Jewowich (1): Fix bug with accessing vchData[0] when vchData is empty. Fix typo in CBase58Data::CompareTo Alex B (2): Romanian translation added Spanish translation update Alex Waters (1): Updated readme file Daniel Folkinshteyn (1): Update the list of seednodes. Dawid Spiechowicz (1): added polish wallet encryption messages Dean Lee (1): Update to the Chinese Simp translation Dev Random (4): Linux gitian config with separate wxWidgets build Mingw gitian with separate wxWidgets and boost Mingw gitian build with deterministic bitcoin.exe by use of faketime Add Gitian Build descriptors for Boost and wxWidgets. Doug Huff (1): Make mlock() and munlock() portable to systems that require the address to be on a page boundary. Dylan Noblesmith (1): mlock() all private keys in memory Eric Hosmer (1): Added crypter to makefile.vc. Fabian H jr. (1): Updated checkpoints, maybe Tx fee should be reduced to 0.0001 from 0.0005 and maximum minimum tx should be 0.0010. Gavin Andresen (24): Do-nothing MapPort() ifndef USE_UPNP. fixes #450 Don't std::advance past beginning of transactions array. Fixes #465 Remove unused ScanMessageStart function Compile with DEBUG_LOCKORDER to detect inconsistent lock orderings that can cause deadlocks CHECKMULTISIG unit tests. Highlight mis-matching locks Fix rpc-hanging deadlocks Fixed potential deadlocks in GUI code. Also changed semantics of CWalletTx::GetTxTime(); now always returns the time the transaction was received by this node, not the average block time. And added information about -DDEBUG_LOCKORDER to coding.txt. Fix typo ("you own security") SetCrypted() obtains keystore lock, to be safe. Logic running with -keypool=0 was wrong (empty keys were being returned). Fixes #445 Fix RPC call name in error message. obtain cs_wallet mutex to protect vchDefaultKey Fixed regression I introduced: wallets with lots of transactions were unusable in GUI. Fix bad merge: getaccountaddress was broken for new accounts Give hard-coded seed nodes a random last-seen time, to randomize order they're tried. Do not try to download blockchain from 0.3.23 nodes If compiled -DDEBUG_LOCKORDER and run with -debug, print out every mutex lock/unlock (helpful for debugging something-is-holding-a-mutex-too-long problems) Stay connected to seed nodes; disconnecting causes problems if you are trying to make the initial blockchain download. Versions 0.3.20 THROUGH 0.3.23 have trouble with blockchain downloads; avoid them Bumped version numbers to 0.4.0rc1 Optimize database writes for transactions with lots of TxIns. Patch from ArtForz, who discovered the problem. Fix AddAddress cs_mapaddresses/db transaction deadlock Fix QA email address Giel van Schijndel (15): fix warning on 64bit systems: cast to pointer from integer of different size [-Wint-to-pointer-cast] fix warnings: expression result unused [-Wunused-value] fix warnings: using the result of an assignment as a condition without parentheses [-Wparentheses] fix warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] fix warning: X enumeration values not handled in switch [-Wswitch-enum] fix warning: unused variable 'X' [-Wunused-variable] fix warning: unused function 'SigIllHandlerSSE2' [-Wunused-function] fix warning: variable bnMinDepthb set but not used [-Wunused-but-set-variable] fix warning: control reaches end of non-void function [-Wreturn-type] Make some global variables less-global (static) Cleanup makefiles such that diffs to them are smaller Move func 'REF' from util.h to serialize.h Start moving protocol-specific code to protocol.[ch]pp Move CAddress to protocol.[ch]pp Move CInv to protocol.[ch]pp Han Lin Yap (2): Comment "deprecated" Add a note to only include .po file Jay Weisskopf (4): Add logos/branding currently found on bitcoin.org into NSIS installer. Set default compression for NSIS installer to LZMA. Remove NSIS branding from bottom divider. Increase resolution of Windows icon. Jeff Garzik (8): Update CWallet::LoadWallet for proper return type. Bump version to 0.3.25 doc/README: word wrap into something readable CAddrDB::LoadAddresses: properly initialize CAddress src/makefile.unix: remove -DFOURWAYSSE2 Add reference python miner, in contrib/pyminer/ README.md: word wrap text file Revert "Define MSG_NOSIGNAL to 0 on platforms where it is unavailable." Jeroenz0r (1): Translation from "Open Bitcoin" to "Verstuur Bitcoins" JoelKatz (1): Fix UNIX-specific thread handle leak. Johannes Henninger (1): Identify as "Bitcoin + version number" when mapping UPnP port Luke Dashjr (7): Update nTime after nExtraNonce to avoid potential race (extraNonce being reset due to just-occurred time change after nTime is set) Reset extraNonce only every 15 seconds, just in case some miner is updating time himself and stuff Reset extraNonce only when prevBlock changes, so miners can continue updating the time on their work until it's stale Support for boost filesystem version 3 ignore stuff Save coinbase, not just extraNonce Bugfix: Use timestamp in coinbase rather than "bits", needed to ensure coinbase txn is unique even if address is the same Matt Corallo (35): Add minversion to wallet. Add wallet privkey encryption. Set the number of SHA512 rounds based on the speed of the computer. Push unlocked_until in getinfo. Dynamically remove/insert the Options for encryption in the menus. Add the walletlock RPC method to lock the wallet manually. Add Wallet Encryption section to README Use DB Transactions when encrypting wallet. This speeds up the encryption process significantly. Make an invalid addrIncoming so that old clients crash. Update makefile.linux-mingw to work with crypter and UPnP fix. Fix makefile.linux-mingw Fix crashes when a wallet is locked and GetReservedKey() is called Generate Warning when using default key. Fix Build in GetReservedKey() in wallet.cpp Fix bad return values in LoadWallet. Actually use mapAlreadyAskedFor. Fix EncryptKeys crash introduced by a9ba4710, identified by TD. Check for duplicate txins in CheckTransaction. Make it clear that setting proxy requires restart to fully apply. Don't listen if on TOR (resolves #441). Add missing include to serialize.h Add file for transaction tests. Cleanup test suite output to be more useful. Unify copyright notices. Missed a 'password' should be 'passphrase'. Fix incorrect RPC error messages Add specific wallet encryption details to doc/README Upgrade dependancies and tweak build process. Update binary mos to latest translations. Fix build process to actually work. Add binary mo for new translation. Update gitian build descriptors to produce proper builds. Update bitcoin icon to make nsis setup exe deterministic. Update binary mo to match latest po translation. Restructure gitian files and add download config files. Michael Bemmerl (4): Basically some grammatical fixes of the German translation. Added German wallet encryption messages translation. Changed Russian translation according to comment in issue 395 Updated German translation Michal Zima (1): Updated czech translation Nils Schneider (2): log low-level network messages only when fDebug is set missed printf in AbortMessage(); merged printfs in EndMessage Patrick Varilly (1): Single DB transaction for all addresses in a message Pieter Wuille (11): Prepare codebase for Encrypted Keys. Do not use obsolete CPrivKey for passing keys around Bugfix: add autogenerated addresses to address book get rid of mapPubKeys Use CBitcoinAddress instead of string/uint160 split off CBase58Data from CBitcoinAddress Fix for small change outputs Bugfix: don't overuse limited ExtractAddress avoid strAddress + validity checks SocketHandler thread can be detached Updated dutch translation StC)phane Gimenez (1): Single DB transaction for addresses from DNS seeds Vegard Nossum (6): Add missing includes to key.h Add missing include to script.h Add missing includes to net.h Fix testing setup Add prototype for EvalScript() to script.h Add a file for script tests Venkatesh Srinivas (4): Test for SO_NOSIGPIPE rather than assuming all BSDs support it. Qualify make_tuple with boost:: namespace. Use 'unsigned char' rather than 'char' for pchMessageStart. Define MSG_NOSIGNAL to 0 on platforms where it is unavailable. Wladimir J. van der Laan (2): remove magic number: change threshold for nLockTime to constant make SetHash160 return a value (as specified in the function signature) cjdelisle (1): wxWidgets needs to be at least version 2.9.1 because wallet crypto uses ToStdString() which is not in 2.9.0 ovdeathiam (1): Edited locale/pl/LC_MESSAGES/bitcoin.po via GitHub ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 _______________________________________________ bitcoin-list mailing list bitcoin-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bitcoin-list ----- End forwarded message ----- -- Eugen* Leitl <a href="http://leitl.org">leitl</a> http://leitl.org ______________________________________________________________ ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org 8B29F6BE: 099D 78BA 2FD3 B014 B08A 7779 75B0 2443 8B29 F6BE