From fb45259967032d409bca4d542b55414a7c522fba Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Fri, 2 Sep 2011 12:00:01 -0400 Subject: [PATCH 1/6] Do not try to download blockchain from 0.3.23 nodes --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index f68683e24..7230906e2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1823,7 +1823,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Ask the first connected node for block updates static int nAskedForBlocks; - if (!pfrom->fClient && (nAskedForBlocks < 1 || vNodes.size() <= 1)) + if (!pfrom->fClient && pfrom->nVersion != 32300 && (nAskedForBlocks < 1 || vNodes.size() <= 1)) { nAskedForBlocks++; pfrom->PushGetBlocks(pindexBest, uint256(0)); From c591cc50eb126eddc78525dd386ea98abaaed724 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Fri, 2 Sep 2011 12:01:42 -0400 Subject: [PATCH 2/6] 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) --- src/util.cpp | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/util.cpp b/src/util.cpp index 390b3a340..76a270027 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -923,16 +923,22 @@ string FormatFullVersion() struct CLockLocation { - std::string mutexName; - std::string sourceFile; - int sourceLine; - CLockLocation(const char* pszName, const char* pszFile, int nLine) { mutexName = pszName; sourceFile = pszFile; sourceLine = nLine; } + + std::string ToString() const + { + return mutexName+" "+sourceFile+":"+itostr(sourceLine); + } + +private: + std::string mutexName; + std::string sourceFile; + int sourceLine; }; typedef std::vector< std::pair > LockStack; @@ -950,14 +956,14 @@ static void potential_deadlock_detected(const std::pairsecond; + printf("Unlocked: %s\n", locklocation.ToString().c_str()); + } + dd_mutex.lock(); (*lockstack).pop_back(); + dd_mutex.unlock(); } void CCriticalSection::Enter(const char* pszName, const char* pszFile, int nLine) From b53e277ba12e011287d3b15823b64c303ab66243 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Fri, 2 Sep 2011 12:25:25 -0400 Subject: [PATCH 3/6] Stay connected to seed nodes; disconnecting causes problems if you are trying to make the initial blockchain download. --- src/net.cpp | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 952102ede..5fca17aa4 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1349,7 +1349,6 @@ void ThreadOpenConnections2(void* parg) CRITICAL_BLOCK(cs_mapAddresses) { // Add seed nodes if IRC isn't working - static bool fSeedUsed; bool fTOR = (fUseProxy && addrProxy.port == htons(9050)); if (mapAddresses.empty() && (GetTime() - nStart > 60 || fTOR) && !fTestNet) { @@ -1365,35 +1364,6 @@ void ThreadOpenConnections2(void* parg) addr.nTime = GetTime()-GetRand(nOneWeek)-nOneWeek; AddAddress(addr); } - fSeedUsed = true; - } - - if (fSeedUsed && mapAddresses.size() > ARRAYLEN(pnSeed) + 100) - { - // Disconnect seed nodes - set setSeed(pnSeed, pnSeed + ARRAYLEN(pnSeed)); - static int64 nSeedDisconnected; - if (nSeedDisconnected == 0) - { - nSeedDisconnected = GetTime(); - CRITICAL_BLOCK(cs_vNodes) - BOOST_FOREACH(CNode* pnode, vNodes) - if (setSeed.count(pnode->addr.ip)) - pnode->fDisconnect = true; - } - - // Keep setting timestamps to 0 so they won't reconnect - if (GetTime() - nSeedDisconnected < 60 * 60) - { - BOOST_FOREACH(PAIRTYPE(const vector, CAddress)& item, mapAddresses) - { - if (setSeed.count(item.second.ip) && item.second.nTime != 0) - { - item.second.nTime = 0; - CAddrDB().WriteAddress(item.second); - } - } - } } } From fb462ab2723a210aebfbcdde331fe616b6e11b7b Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Fri, 2 Sep 2011 12:26:18 -0400 Subject: [PATCH 4/6] Update binary mos to latest translations. --- locale/cs/LC_MESSAGES/bitcoin.mo | Bin 20692 -> 23696 bytes locale/fr/LC_MESSAGES/bitcoin.mo | Bin 15859 -> 15804 bytes locale/nl/LC_MESSAGES/bitcoin.mo | Bin 20886 -> 20891 bytes locale/pt/LC_MESSAGES/bitcoin.mo | Bin 15767 -> 15721 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/locale/cs/LC_MESSAGES/bitcoin.mo b/locale/cs/LC_MESSAGES/bitcoin.mo index 80354cf764f2d5f8fed28c37097ae575663afe35..8b6e444b66e6b5ad503792de8c4fddcacb212187 100644 GIT binary patch delta 7697 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 delta 4762 zcmZYB2~<^e0>|Zs2$ zH4~Q>Nk-|7R%%w`TCQbhtkaB5PTP29Jae3^PBWe}-`~5}lbyN8AD{pKa_|5Cw|iy% zn~slmI^0*o{GTx#7fCGH6ktq*!Z z4dby3reasj#vV8Xb=|$_Z;abarx47EO4N<@*clhu_2n2(eKo3qmoW(6Ky}~*>b}dU z2mJ*ZgZT;*@SmuTbnj*TJ_6N#yid0=Nffxoq+@>^h8p~A)PokG8f-@0*n)cS2GoOF z(TQ!?56_}z^53YA_h5Q-{Q%TV4##_N0><)uGn+yhuCg!aKy~0<)QuPI`cz?v_g7##&cF(6L0xwhWAHk;&HM2y20%)-5> zss0#s|L1o7@2G}vB7HQ$QC0^NZC$7tD@4s`X%y?P6BV2&$LW}X?WhNQf_?ECssjNG zPa{jh(`?clO*M++{p-uP-YA+nb zLOg@ot${3;TD|C2(^PW!YMpW9h-~Hu4zVfY#VBiv|}Yo zf@=3F@*KDMnu131U(`rKxJtV`4hNwN)9?`t#Eqy1wxed^CDfF@g?i9=)CjMjW;Bcq zG#E2b?Ny=L*@{U#-@Hg+C@0=W^*Dfq(_0XN8d(DBh8*owFj<4L@Yy8k$> zYsre!tqx8`o^2jP&EyK(XOaDB+ECY@Lbo=_rxfnPTd1WN&6ZUUr(h<|K&|~cWLC`{ zR70n+75|2{*v#isAEq0)41>6NBR-9V7|X{)?L359y2dQ}?@ytH6Po(!@~bVOPA3>Og?Y+H0{c=C3m+GB}~N zcA;)8u`R=H)Tbi*(^R9@ekBIsCJez=yS^WF{Sn)fsJH7Psv|d0_kCyA{oFa$i9pnD zjYRgL8GvDUKdM8sP$QU&YG^U`z!j(lJ(!F;P@D23YKd;y_GCxu`b^XSh9loL;~qyr z7d~wJB=)4f12wV^)YQL&de9}*RR0+h@H| zzm7a>v!$V?E*rzJ0LS8Z)O))bwFDPX4gL$Y_F4Q=Gcwe+81>qfVkB0f+FOk3=vvfF zZu80d@3Bv`<4k^W2x;5I@YT?W%TQB04b_1sPz~+IHa2GmYU!pAu^N6HwWpS&I@WC0 z*Pz~>jrdDEh+#b6+@he@tt+1`O-(4qU_6#!K5FfjAya17VFn(;G`xm-Q1DRRe>xP7 z8>z?q!uk&E!$RsGpx(A#OrP3|Mz= zp(Cg%K8NbqXQ=N$&Ei7_dyLdS#bmI%C5qa(U31oTA zC)fvj7F#ori)wfj>g_2J$SHvz7Sa*GZE>d@u0qtf5L2x7-ii*3X`c%Ma^sz`lEXr1vS`; zFJK$q#<8RM0~AM(;eST#HrAS%kFbjRm-vOQyO+;5W|dm6+hOcX{R7m@T|w=c&~erb zC8A~|7a5@2R8Y`vpNS9SQtX9apw|8e)ECV$-s-svGpLV4?S(~n05@P07EQ4JvN?`B zsb9w(xTcK%(6E2Gb>B+V-=Ag&1x>~4s0SWJjo_qRKZ_3PPm*J#j!Y!KCfXA^&XEHo zNEHsfJ#P{|j=pb-X0o04A} zb38~v)4I(*F&it0My_KMd5dVK*AqSkzP}~h+NJCjO@w)hq>{5lM=~iVlZalMlSD@v zVflY{XpJ8uGsqBf=iuAqJMQP_d*oLnk*py{_1H%#=y=EX)A}^>0sFrrf-_slLb8Xn zktU+oPWxdR(GfuQ`%2c2=j<}u$hWUl9Y(Y{AMp)aXE;*GE^>yjXMCT~&A5W(kjKd> z;zyn!I#!V$q=>Np%u1r;_ZDUy9wbYNHgP@~MIIt=kaSIZAh~nsWlk7w~uF8M1+R$=%0@yDN88Bsfb}!0{nztEYrja3b`_0G!b>UlNu=X*cxd&=Rz zuwh=cr)N@(=e^{$p2I1Fys`b}_<0VeRe78#;oiCFMFE~-SDd#YC#X|SUS`f9XO62N zH#Z|YCp$Z^yezY#W7 diff --git a/locale/fr/LC_MESSAGES/bitcoin.mo b/locale/fr/LC_MESSAGES/bitcoin.mo index f4d669b4c01b4cda7742b30dc9737d88b8befe43..f60e15bd62177cced9d93e5ffea96faf8e631c19 100644 GIT binary patch delta 3774 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 E|M_D6o6ATt|F zG@FOh7?1Atj;XkSelae^S`5ZpI3GJP9G|1U`+zKAzfkMNCpo5}n|=`X|r_8_*w{Pzm0_wb+Rn_!(E@k`$7` zf)tOLAB`&v$Qw8d?_wmjV;Byg68nhy`!}3}e^3E^HaPtN+)sZYW@6>c_(P1M--{9W z4z;nL9vWX6;q3v)088*w(?M}60Yf!K#T@im5G zbh>l2$*9VBj?hp^E}#PU;0X3%J>H{k3YfrlvhV<^)J>=(yNRkqJ0@TcM&mfvpnDVL zXM^>qqt4juBz6!<++$@lv{0QhU>8vVTTvMgVkCY-1)fIj*qdxch?+w3aFqAJsiTKE|%&>*VRKTsQRZEaYKJaRtu6KJ2Dnj#V1p zZMFihV?FlcZOq?eb{r>A2^A7el`KJTtVP|GGpG%mN0s~%y6`N&C;ZAgR=WF^1r{Ew YsI024u87GlttviMda|bTUSJDbELob& z+A<2QW>%Rk%`00NYj{(w6=SAoG`_$6+q(BT=k!14y3TdZscUpyZ*;Xh@%03n*=Ukk z5Kdqmx|1D~F@k;}F2ZsQ#akGREjSyWqrUrqEMY%T>&2!xrl8_vU;yT07#60O$D(MQ zWMBqfL4DYOTKEBKLJuZjAMQifD(CwGTulEcPQz;S!x~hAw{Zow;ClRw%P}g|Y#U~$ zddz%jTw_4qL^s~SNNmP%>_H{=5%vF3oQ^+H0WHnx`{RDP;kW@yr^fGNH2n^ogYQrq z`|hDJZXA4Y-cm>MkQ8*IL`|sq zt*8WFqBr)T=D$Z@;@ejmUJQ((&gM62LP)wN2wW>mmO zs1gsLUduS@vIX)Klt=>Vl4W5&7NL%y4RxfwsExfr9kn}``p3~&nClGW;8XfXuuS85 zW=rt~R$({Z!L7R}D~_NN$|ssCS%ltLj=C#nP#d^_D*0t};W>U?{Ej_d7Wg7IAn(NC T()sBnWkttJN*_-q)yMn?gX5r#~auh@1O<}!o~W& z3F`hasPo!7$6jNSs6^9{jJn}qjKGoD5vOA)ZbA*96m^3`s2d(ZUH3V9@H8ruH&GMt zW7-;UEHWn36V^#&tp?`7X4nyR zeSh1Yjhf&DR7MsfsW;2f%OFh=l^85RrRo^!#4qjfH>ew2L9O}UsE+*^jbsDV}B86Ps%nDuW;!-`1v!eZ3sC`F~V3^lU~ga$p3JC!6@SJ0cr-V$fIW14mHCROu!7} z&&=Rs8ZO5%%;a~}Kr)+?4IGIY$Sl+nE=5gr4Jwm+P!l}vrP7|tDb!~96P1Brc8HcD z9Ch3bnVgA1Wu!a$Vg{2h;#>*zf;AO~{W8!GOIckcv_h zg}R_KY6&t>H_XCv9Dx_{A)dwar0aX!%)+XJnI6u?S8ytx#M79_22h997>D;z6ON9R ztbZpeOx|Ro29Sf=<$0*JT7gR0cGS#1K+X6l>bi@_q|6=E5(cs5Gcf_RWVxu!Eki%t zf|^({2GGCRrwSfIb@VY#_hFXEWKD8A_tiTLwe~BKZDQ7=Iyhk4PoS3S0xE--QTO{5 zHQ;L79>|8%UI|C9)-Z;OE{sPVCnM*YRMaM!i0U{WmFfc242n?aZ$n+b8Ju=X<8;&j3Q!|njk<6v24IP8FT+HRkD%7J z3bhn9_WOtgchh=M8B0bjNmc^+*M&JWC{=~1j<%upLK$ktpP=@{IaDgIp`L;Vs2c@w z6V2R%YVVI4$SCB`%;X~oH=^3NqpmybrJ|9ZMa}FM2H;%`#9GuQ{0}w2=p@$;7{qZp z4#okf^EcS`Vq~M6y~w^aXHc8<53FWy`FC*lkhhkfI9=GNle;#}Q3Gg=TDy2u2D)Q? z%tB>mC@K>y%v2&>Ne?oO|9kt17QNNays1Dw*!b#`xeU<>&1AINz{I1{hnNz6=jpN9Hr?p}yQ z?U_{6z_QcGzcxoM4UxDO^=8|R9z2ekVHIiyK99M-<6)>J>5RI52x^by;q$l&)lm)V zej&U}bbUN3Q$6f)zjX4i-9DTK?cUMI1f8E`Ese@Vg3W676Dq5SO~f-q3qqwI(Vu8Z z@Blc!q~q{?g6up0#?U~Di7a9@p(T7zom3EYWsR*2!>z;;qQJK8!4g~d#reeR#8bp# zqKwES77!kyuJD*SS=8~{#BL%+2Ndr?KC~7p2VBfft1|O6p*^9pgLucO@vDe!3GEx6 zKod`BFHI*@HoG{>qG|%MjUd6!`vUZId7b}w=($f-3xy?f%9DI1+WHo2A#NaECGv^& zgbMr3DNFg}Au`#-i$or=op^y5N~mb(k9TUuJfY`b8zzZ(jaW;txy=|tJ6R=-$Z=}! z$4Fa$)7lMr=Qt&r&$+}pB9z!i)Riez-mnJ~a4!+8^>0lC656q&h*yX?go>VuKf*En+aCQcCP{YVJphtLN#`X8t$SvCLw delta 3834 zcmXxn2~bs49LMqF0;0kLSzJOBgcLA>Qc+M`Q*Z%M!!46gpBv={q+;|mGgMN`G+ZDz z(kw$8wPh?zGtmsQOr2`damjMR%o&%_sqFiE_i%^b`<#2_~8rz6j0N~8mS6zxLk;9G>P9C~H$H>v_X|egZ>Wm; zGHp#H3N`S)$k@y<4CnbKmxexAjIp@Ee&7h|fj^=;Ub5#mF@*C6sD2@gQa4OQ4Xih| z#388uZhJi+H9-%mGV9U98kj9K7_6znHuwdqWWS<5c-5Z&g}T9A)Y>;=6nb!b)XbAG z8GEBDQ)I6%!YIy5QTN}C8dyyT^{=i+$+*yh3){k+jt5Yi_H5T!xXj1GP7fqb7E(IrTqB<0cn|>J3H_jjgDkX3!Hg!~Uol zW@8NIAb(~lFOzW#j%Ff$lt%-}eaIMYX$nvSDMc+|1!|(ZP?bF5p`jU`$M$#ywON{m zI~9mSEk%Mo?}n;CDykwQus-IX9y|e6+Ct34#i*J7fSSP1sQX<(4a{?$hDP=PSq0-_ zMi-)<4V-b%21W5Lf!Zvsv^fwpTCHDa4l+Y-9in}hxO3=Es-Vmm?#<= zaSW<7NvIB)s3pijb(oAhaW8K@J zj;h>dY=9qQ6P|Al(9jK!T2G=LbQY(uss2DFZL%J5eu8J9*1i(iE@ltv0VnMBi>Rf# zj;i1t)cyWN4LFdErt2~2QRx$CXbn?Q9n4qIp_vwnNK&HK(j~d8g^oYnsp2|<~$DvVIk`CU)t-(kuQKbjqFo%8?|XYEjt=>gH6^MwV9&hosPXwUzc=L zX){o3n2oAHF8W{rsxn2WN|fR}tV9j4&124zCZH;kg&II1GC_}7N8@)cY{F4klHmNr zUO+w2FVR_oP*g?Qp*CeKY6*s79!|pUOyrck?*D`{p-9vc_dpGNIBMo@udM$f8k%VZ zQWdim_3wQRs-*X=4LdoXbD_THA*lBgu|B4t9+ZkM9D&nu0%|F0unC?;^}C3{`u_h( zBLx3L-5|I#I}~G({bi=1I<7|Dr~>s%xgGVOgQy$Upw{>t2H-u^=Nol#?jMBOW6`L8 zHM^rnYnx6Z7_(4oG!ZqRrKpmZV-Rk`Z*U(5Q)*8V55U!39XED!23DEOJ^9>cI1PPL z_)Wl>sBcN9?#^@ib!YvxX{K^PBU^;p9P2O)51=;X_ZWe-s2K+IaAuHzZ8`6OT9R?7 z{_|0Lq#VcNVbpUX`4Q3mQcxAhPNn`T)dYKC7OEn}sNK5+nV{)F77`t~guUtg$4KWT zWGxv%!ikQ4WB_SR*w=;vnWxG7gyNYjqJfla{nJP((Hd5eDpGf>u#KU(o-80Q+H3FN zX4}>Ve1W`5GD#76m-HobiKF})PrIP4JM@Ji?rO>gniaNa)fk(wpQH9ZN`% zx8=Odw(VqWOE!{pd+oWs6|R-_TxsqZ?m4*y?udRfr_IRU8yi&9+&_&gb0RWkx+mr4 K@4eN&u=)SsSY-+T From ec74e8a44338202bfb82faa2cef4611cc37e7fa5 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Fri, 2 Sep 2011 12:56:10 -0400 Subject: [PATCH 5/6] Versions 0.3.20 THROUGH 0.3.23 have trouble with blockchain downloads; avoid them --- src/main.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 7230906e2..cbcfef041 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1823,7 +1823,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Ask the first connected node for block updates static int nAskedForBlocks; - if (!pfrom->fClient && pfrom->nVersion != 32300 && (nAskedForBlocks < 1 || vNodes.size() <= 1)) + if (!pfrom->fClient && + (pfrom->nVersion < 32000 || pfrom->nVersion >= 32400) && + (nAskedForBlocks < 1 || vNodes.size() <= 1)) { nAskedForBlocks++; pfrom->PushGetBlocks(pindexBest, uint256(0)); From 7464e647decace52bc075d9ac8788974504e0bb9 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Fri, 2 Sep 2011 13:31:28 -0400 Subject: [PATCH 6/6] Bumped version numbers to 0.4.0rc1 --- contrib/Bitcoin.app/Contents/Info.plist | 4 ++-- doc/README | 2 +- doc/README_windows.txt | 2 +- doc/coding.txt | 32 ++++++++++++++++++------- doc/release-process.txt | 3 +++ share/setup.nsi | 6 ++--- src/serialize.h | 2 +- 7 files changed, 34 insertions(+), 17 deletions(-) diff --git a/contrib/Bitcoin.app/Contents/Info.plist b/contrib/Bitcoin.app/Contents/Info.plist index bfeb2f8de..a5c7da1c8 100644 --- a/contrib/Bitcoin.app/Contents/Info.plist +++ b/contrib/Bitcoin.app/Contents/Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.3.25 + 0.4.00 CFBundleSignature ???? CFBundleVersion - 325 + 400 LSMinimumSystemVersion 10.5 CFBundleIconFile diff --git a/doc/README b/doc/README index 763fc415b..772fd7f31 100644 --- a/doc/README +++ b/doc/README @@ -1,4 +1,4 @@ -Bitcoin 0.3.25 BETA +Bitcoin 0.4.0rc1 BETA Copyright (c) 2009-2011 Bitcoin Developers Distributed under the MIT/X11 software license, see the accompanying diff --git a/doc/README_windows.txt b/doc/README_windows.txt index e715b3206..8378ae50d 100644 --- a/doc/README_windows.txt +++ b/doc/README_windows.txt @@ -1,4 +1,4 @@ -Bitcoin 0.3.25 BETA +Bitcoin 0.4.00rc1 BETA Copyright (c) 2009-2011 Bitcoin Developers Distributed under the MIT/X11 software license, see the accompanying diff --git a/doc/coding.txt b/doc/coding.txt index ec31ccded..b3c812a48 100644 --- a/doc/coding.txt +++ b/doc/coding.txt @@ -43,38 +43,52 @@ bn CBigNum ------------------------- Locking/mutex usage notes -The code is multi-threaded, and uses mutexes and the CRITICAL_BLOCK/TRY_CRITICAL_BLOCK macros to protect data structures. +The code is multi-threaded, and uses mutexes and the +CRITICAL_BLOCK/TRY_CRITICAL_BLOCK macros to protect data structures. -Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main and then cs_wallet, while thread 2 locks them in the opposite order: result, deadlock as each waits for the other to release its lock) are a problem. Compile with -DDEBUG_LOCKORDER to get lock order inconsistencies reported in the debug.log file. +Deadlocks due to inconsistent lock ordering (thread 1 locks cs_main +and then cs_wallet, while thread 2 locks them in the opposite order: +result, deadlock as each waits for the other to release its lock) are +a problem. Compile with -DDEBUG_LOCKORDER to get lock order +inconsistencies reported in the debug.log file. -Re-architecting the core code so there are better-defined interfaces between the various components is a goal, with any necessary locking done by the components (e.g. see the self-contained CKeyStore class and its cs_KeyStore lock for example). +Re-architecting the core code so there are better-defined interfaces +between the various components is a goal, with any necessary locking +done by the components (e.g. see the self-contained CKeyStore class +and its cs_KeyStore lock for example). ------- Threads StartNode : Starts other threads. -ThreadGetMyExternalIP : Determines outside-the-firewall IP address, sends addr message to connected peers when it determines it. +ThreadGetMyExternalIP : Determines outside-the-firewall IP address, +sends addr message to connected peers when it determines it. -ThreadIRCSeed : Joins IRC bootstrapping channel, watching for new peers and advertising this node's IP address. +ThreadIRCSeed : Joins IRC bootstrapping channel, watching for new +peers and advertising this node's IP address. ThreadSocketHandler : Sends/Receives data from peers on port 8333. -ThreadMessageHandler : Higher-level message handling (sending and receiving). +ThreadMessageHandler : Higher-level message handling (sending and +receiving). ThreadOpenConnections : Initiates new connections to peers. ThreadTopUpKeyPool : replenishes the keystore's keypool. -ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user has unlocked it for a period of time. +ThreadCleanWalletPassphrase : re-locks an encrypted wallet after user +has unlocked it for a period of time. SendingDialogStartTransfer : used by pay-via-ip-address code (obsolete) ThreadDelayedRepaint : repaint the gui -ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms. +ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used +in 500ms. -ThreadRPCServer : Remote procedure call handler, listens on port 8332 for connections and services them. +ThreadRPCServer : Remote procedure call handler, listens on port 8332 +for connections and services them. ThreadBitcoinMiner : Generates bitcoins diff --git a/doc/release-process.txt b/doc/release-process.txt index 4940afefa..bcda64dbe 100644 --- a/doc/release-process.txt +++ b/doc/release-process.txt @@ -1,6 +1,9 @@ * update (commit) version in sources + src/serialize.h + share/setup.nsi * update (commit) version in OSX app bundle + contrib/Bitcoin.app/Contents/Info.plist * CFBundleShortVersionString should have value like 0.3.23 * CFBundleVersion should have value like 323 diff --git a/share/setup.nsi b/share/setup.nsi index b4bf3cff4..6cf477747 100644 --- a/share/setup.nsi +++ b/share/setup.nsi @@ -5,7 +5,7 @@ SetCompressor /SOLID lzma # General Symbol Definitions !define REGKEY "SOFTWARE\$(^Name)" -!define VERSION 0.3.25 +!define VERSION 0.4.00 !define COMPANY "Bitcoin project" !define URL http://www.bitcoin.org/ @@ -45,13 +45,13 @@ Var StartMenuGroup !insertmacro MUI_LANGUAGE English # Installer attributes -OutFile bitcoin-0.3.25-win32-setup.exe +OutFile bitcoin-0.4.00-win32-setup.exe InstallDir $PROGRAMFILES\Bitcoin CRCCheck on XPStyle on BrandingText " " ShowInstDetails show -VIProductVersion 0.3.25.0 +VIProductVersion 0.4.00.0 VIAddVersionKey ProductName Bitcoin VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey CompanyName "${COMPANY}" diff --git a/src/serialize.h b/src/serialize.h index 0a31ff557..698bdfe6a 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -59,7 +59,7 @@ class CDataStream; class CAutoFile; static const unsigned int MAX_SIZE = 0x02000000; -static const int VERSION = 32500; +static const int VERSION = 40000; static const char* pszSubVer = ""; static const bool VERSION_IS_BETA = true;