Skip to content

Commit

Permalink
Prepare upgrade: preventive resolution of merge conflicts
Browse files Browse the repository at this point in the history
These are the minimal changes to restore Omni Core to a state, which is compatible (i.e. merge conflict free) with the upstream 0.9 branch of Bitcoin Core.
  • Loading branch information
dexX7 committed Jul 4, 2015
1 parent 621e272 commit 35b2d97
Show file tree
Hide file tree
Showing 5 changed files with 164 additions and 58 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
Omni Core (Beta) integration/staging tree
=================================================

Copyright (c) 2013-2015 Omni Core Developers

Copyright (c) 2009-2015 Bitcoin Core Developers

What is the Omni Layer
----------------------
The Omni Layer is a communications protocol that uses the Bitcoin block chain to enable features such as smart contracts, user currencies and decentralized peer-to-peer exchanges. A common analogy that is used to describe the relation of the Omni Layer to Bitcoin is that of HTTP to TCP/IP: HTTP, like the Omni Layer, is the application layer to the more fundamental transport and internet layer of TCP/IP, like Bitcoin.
Expand Down
66 changes: 66 additions & 0 deletions doc/omnicore-0.0.9.1-release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
Omni Core version 0.0.9.1-rel is now available from:

{insert URL once ready to release}

0.0.9.1 is a minor release and not consensus critical. An upgrade is only mandatory if you are using a version prior 0.0.9.

Please report bugs using the issue tracker at GitHub:

https://github.com/mastercoin-MSC/mastercore/issues

IMPORTANT
=========

- This is the first experimental release of Omni Layer support in the QT UI, please be vigilant with testing and do not risk large amounts of Bitcoin and Omni Layer tokens.
- The transaction index is no longer defaulted to enabled. You will need to ensure you have "txindex=1" (without the quotes) in your configuration file.
- If you are upgrading from a version earlier than 0.0.9-rel you must start with the --startclean parameter at least once to refresh your persistence files.
- The first time Omni Core is run the startup process may take an hour or more as existing Omni Layer transactions are parsed. This is normal and should only be required the first time Omni Core is run.

Upgrading and downgrading
==========================

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), then copy the new version of mastercored/mastercore-qt.

If you are upgrading from any version earlier than 0.0.9, the first time you run you must start with the --startclean parameter at least once to refresh your persistence files.

Downgrading
-----------

Downgrading is not currently supported as older versions will not provide accurate information.

Changelog
=========

General
-------

- Extra console debugging removed
- Bitcoin 0.10 blockchain detection (will refuse to start if out of order block storage is detected)
- txindex default value now matches Bitcoin Core (false)
- Update authorized alert senders
- Added support for TX70 to RPC output
- Fix missing LOCK of cs_main in selectCoins()
- Versioning code updated


UI
--

- New signal added for changes to Omni state (emitted from block handler for blocks containing Omni transactions)
- Fix double clicking a transaction in overview does not activate the Bitcoin history tab
- Splash screen updated to reflect new branding
- Fix frame alignment in overview page
- Update send page behaviour and layout per feedback
- Fix column resizing on balances tab
- Right align amounts in balances tab
- Various rebranding to Omni Core
- Rewritten Omni transaction history tab
- Add protection against long labels growing the UI size to ridiculous proportions
- Update signalling to all Omni pages to ensure up to date info
- Override display of Mastercoin metadata for rebrand (RPC unchanged)
- Acknowledgement of disclaimer will now be remembered
- Ecosystem display fixed in property lookup
- Fix intermittent startup freezes due to locks
145 changes: 90 additions & 55 deletions doc/release-notes.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,101 @@
Omni Core version 0.0.9.1-rel is now available from:
Bitcoin Core version 0.9.3 is now available from:

{insert URL once ready to release}
https://bitcoin.org/bin/0.9.3/

0.0.9.1 is a minor release and not consensus critical. An upgrade is only mandatory if you are using a version prior 0.0.9.
This is a new minor version release, bringing only bug fixes and updated
translations. Upgrading to this release is recommended.

Please report bugs using the issue tracker at GitHub:
Please report bugs using the issue tracker at github:

https://github.com/mastercoin-MSC/mastercore/issues

IMPORTANT
=========

- This is the first experimental release of Omni Layer support in the QT UI, please be vigilant with testing and do not risk large amounts of Bitcoin and Omni Layer tokens.
- The transaction index is no longer defaulted to enabled. You will need to ensure you have "txindex=1" (without the quotes) in your configuration file.
- If you are upgrading from a version earlier than 0.0.9-rel you must start with the --startclean parameter at least once to refresh your persistence files.
- The first time Omni Core is run the startup process may take an hour or more as existing Omni Layer transactions are parsed. This is normal and should only be required the first time Omni Core is run.
https://github.com/bitcoin/bitcoin/issues

Upgrading and downgrading
==========================

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), then copy the new version of mastercored/mastercore-qt.

If you are upgrading from any version earlier than 0.0.9, the first time you run you must start with the --startclean parameter at least once to refresh your persistence files.

Downgrading
-----------

Downgrading is not currently supported as older versions will not provide accurate information.

Changelog
=========

General
-------

- Extra console debugging removed
- Bitcoin 0.10 blockchain detection (will refuse to start if out of order block storage is detected)
- txindex default value now matches Bitcoin Core (false)
- Update authorized alert senders
- Added support for TX70 to RPC output
- Fix missing LOCK of cs_main in selectCoins()
- Versioning code updated


UI
--

- New signal added for changes to Omni state (emitted from block handler for blocks containing Omni transactions)
- Fix double clicking a transaction in overview does not activate the Bitcoin history tab
- Splash screen updated to reflect new branding
- Fix frame alignment in overview page
- Update send page behaviour and layout per feedback
- Fix column resizing on balances tab
- Right align amounts in balances tab
- Various rebranding to Omni Core
- Rewritten Omni transaction history tab
- Add protection against long labels growing the UI size to ridiculous proportions
- Update signalling to all Omni pages to ensure up to date info
- Override display of Mastercoin metadata for rebrand (RPC unchanged)
- Acknowledgement of disclaimer will now be remembered
- Ecosystem display fixed in property lookup
- Fix intermittent startup freezes due to locks
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), 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.3 your blockchain files will be re-indexed, which will take anywhere from
30 minutes to several hours, depending on the speed of your machine.

Downgrading warnings
--------------------

The 'chainstate' for this release is not always compatible with previous
releases, so if you run 0.9.x 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 chainstate
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).

0.9.3 Release notes
=======================

RPC:
- Avoid a segfault on getblock if it can't read a block from disk
- Add paranoid return value checks in base58

Protocol and network code:
- Don't poll showmyip.com, it doesn't exist anymore
- Add a way to limit deserialized string lengths and use it
- Add a new checkpoint at block 295,000
- Increase IsStandard() scriptSig length
- Avoid querying DNS seeds, if we have open connections
- Remove a useless millisleep in socket handler
- Stricter memory limits on CNode
- Better orphan transaction handling
- Add `-maxorphantx=<n>` and `-maxorphanblocks=<n>` options for control over the maximum orphan transactions and blocks

Wallet:
- Check redeemScript size does not exceed 520 byte limit
- Ignore (and warn about) too-long redeemScripts while loading wallet

GUI:
- fix 'opens in testnet mode when presented with a BIP-72 link with no fallback'
- AvailableCoins: acquire cs_main mutex
- Fix unicode character display on MacOSX

Miscellaneous:
- key.cpp: fail with a friendlier message on missing ssl EC support
- Remove bignum dependency for scripts
- Upgrade OpenSSL to 1.0.1i (see https://www.openssl.org/news/secadv_20140806.txt - just to be sure, no critical issues for Bitcoin Core)
- Upgrade miniupnpc to 1.9.20140701
- Fix boost detection in build system on some platforms

Credits
--------

Thanks to everyone who contributed to this release:

- Andrew Poelstra
- Cory Fields
- Gavin Andresen
- Jeff Garzik
- Johnathan Corgan
- Julian Haight
- Michael Ford
- Pavel Vasin
- Peter Todd
- phantomcircuit
- Pieter Wuille
- Rose Toomey
- Ruben Dario Ponticelli
- shshshsh
- Trevin Hofmann
- Warren Togami
- Wladimir J. van der Laan
- Zak Wilcox

As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
2 changes: 1 addition & 1 deletion src/alert.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class CAlert : public CUnsignedAlert
bool AppliesToMe() const;
bool RelayTo(CNode* pnode) const;
bool CheckSignature() const;
bool ProcessAlert(bool fThread = true); // fThread means run -alertnotify in a free-running thread
bool ProcessAlert(bool fThread = true);
static void Notify(const std::string& strMessage, bool fThread);

/*
Expand Down
5 changes: 3 additions & 2 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1376,8 +1376,9 @@ void CheckForkWarningConditions()
if (!fLargeWorkForkFound)
{
std::string warning = std::string("'Warning: Large-work fork detected, forking after block ") +
pindexBestForkBase->phashBlock->ToString() + std::string("'");
CAlert::Notify(warning, true); }
pindexBestForkBase->phashBlock->ToString() + std::string("'");
CAlert::Notify(warning, true);
}
if (pindexBestForkTip)
{
LogPrintf("CheckForkWarningConditions: Warning: Large valid fork found\n forking the chain at height %d (%s)\n lasting to height %d (%s).\nChain state database corruption likely.\n",
Expand Down

0 comments on commit 35b2d97

Please sign in to comment.