-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
186 additions
and
164 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,208 +1,158 @@ | ||
Mero Core version 2.3.1 is now available from: | ||
(note: this is a temporary file, to be added-to by anybody, and moved to release-notes at release time) | ||
|
||
<https://github.com/mero-project/mero/releases> | ||
Mero Core version *version* is now available from: <https://github.com/MeroCoin/mero/releases> | ||
|
||
This is a new minor version release, including various bug fixes and | ||
performance improvements, as well as updated translations. | ||
This is a new major version release, including various bug fixes and performance improvements, as well as updated translations. | ||
|
||
Please report bugs using the issue tracker at github: | ||
Please report bugs using the issue tracker at github: <https://github.com/MeroCoin/mero/issues> | ||
|
||
|
||
Mandatory Update | ||
============== | ||
|
||
|
||
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 run the installer (on Windows) or just copy over /Applications/mero-Qt (on Mac) or merod/mero-qt (on Linux). | ||
|
||
<https://github.com/mero-project/mero/issues> | ||
|
||
Compatibility | ||
============== | ||
|
||
Mero Core is extensively tested on multiple operating systems using | ||
the Linux kernel, macOS 10.8+, and Windows Vista and later. | ||
Mero Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.10+, and Windows 7 and later. | ||
|
||
Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support), | ||
No attempt is made to prevent installing or running the software on Windows XP, you | ||
can still do so at your own risk but be aware that there are known instabilities and issues. | ||
Please do not report issues about Windows XP to the issue tracker. | ||
Microsoft ended support for Windows XP on [April 8th, 2014](https://www.microsoft.com/en-us/WindowsForBusiness/end-of-xp-support), No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk but be aware that there are known instabilities and issues. Please do not report issues about Windows XP to the issue tracker. | ||
|
||
Mero Core should also work on most other Unix-like systems but is not | ||
frequently tested on them. | ||
Apple released it's last Mountain Lion update August 13, 2015, and officially ended support on [December 14, 2015](http://news.fnal.gov/2015/10/mac-os-x-mountain-lion-10-8-end-of-life-december-14/). Mero Core software starting with v3.2.0 will no longer run on MacOS versions prior to Yosemite (10.10). Please do not report issues about MacOS versions prior to Yosemite to the issue tracker. | ||
|
||
Mero Core should also work on most other Unix-like systems but is not frequently tested on them. | ||
|
||
|
||
Notable Changes | ||
=============== | ||
|
||
RPC changes | ||
-------------- | ||
|
||
#### Update of RPC commands to comply with the forthcoming RPC Standards PIP #### | ||
|
||
| Old Command | New Command | Notes | | ||
| --- | --- | --- | | ||
| `masternode count` | `getmasternodecount` | | | ||
| `masternode list` | `listmasternodes` | | | ||
| `masternodelist` | `listmasternodes` | renamed | | ||
| `masternode connect` | `masternodeconnect` | | | ||
| `masternode current` | `getcurrentmasternode` | | | ||
| `masternode debug` | `masternodedebug` | | | ||
| `masternode enforce` | | removed | | ||
| `masternode outputs` | `getmasternodeoutputs` | | | ||
| `masternode status` | `getmasternodestatus` | | | ||
| `masternode list-conf` | `listmasternodeconf` | added optional filter | | ||
| `masternode genkey` | `createmasternodekey` | | | ||
| `masternode winners` | `listmasternodewinners` | | | ||
| `masternode start` | `startmasternode` | see notes below | | ||
| `masternode start-alias` | `startmasternode` | see notes below | | ||
| `masternode start-<mode>` | `startmasternode` | see notes below | | ||
| `masternode create` | | removed - not implemented | | ||
| `masternode calcscore` | `listmasternodescores` | | | ||
| --- | --- | --- | | ||
| `mnbudget prepare` | `preparebudget` | see notes below | | ||
| `mnbudget submit` | `submitbudget` | see notes below | | ||
| `mnbudget vote-many` | `mnbudgetvote` | see notes below | | ||
| `mnbudget vote-alias` | `mnbudgetvote` | see notes below | | ||
| `mnbudget vote` | `mnbudgetvote` | see notes below | | ||
| `mnbudget getvotes` | `getbudgetvotes` | | | ||
| `mnbudget getinfo` | `getbudgetinfo` | see notes below | | ||
| `mnbudget show` | `getbudgetinfo` | see notes below | | ||
| `mnbudget projection` | `getbudgetprojection` | | | ||
| `mnbudget check` | `checkbudgets` | | | ||
| `mnbudget nextblock` | `getnextsuperblock` | | | ||
|
||
##### `startmasternode` Command ##### | ||
This command now handles all cases for starting a masternode instead of having multiple commands based on the context. Command arguments have changed slightly to allow the user to decide wither or not to re-lock the wallet after the command is run. Below is the help documentation: | ||
============== | ||
|
||
``` | ||
startmasternode "local|all|many|missing|disabled|alias" lockwallet ( "alias" ) | ||
## zPIV Public Spends | ||
|
||
Attempts to start one or more masternode(s) | ||
Recent exploits of the Zerocoin protocol (Wrapped serials and broken P1 proof) required us to enable the zerocoin spork and deactivate zPIV functionality in order to secure the supply until the pertinent review process was completed. | ||
|
||
Arguments: | ||
1. set (string, required) Specify which set of masternode(s) to start. | ||
2. lockWallet (boolean, required) Lock wallet after completion. | ||
3. alias (string) Masternode alias. Required if using 'alias' as the set. | ||
Moving forward from this undesired situation, we are enabling a secure and chain storage friendly solution for the zerocoin public spend (aka zPIV to PIV conversion). | ||
|
||
Result: (for 'local' set): | ||
"status" (string) Masternode status message | ||
The explanation of how this works can be found in #891 | ||
|
||
Result: (for other sets): | ||
{ | ||
"overall": "xxxx", (string) Overall status message | ||
"detail": [ | ||
{ | ||
"node": "xxxx", (string) Node name or alias | ||
"result": "xxxx", (string) 'success' or 'failed' | ||
"error": "xxxx" (string) Error message, if failed | ||
} | ||
,... | ||
] | ||
} | ||
After block `1,880,000` has past, `SPORK_16` will be deactivated to allow zPIV spends to occur using this new public spend method for version 2 zPIV (version 1 zPIV won't be spendable, see note below). zPIV public spends, as the name suggests, are **NOT** private, they reveal the input mint that is being spent. The minting of **NEW** zPIV, as well as zPIV staking will remain disabled for the time being. | ||
|
||
Examples: | ||
> mero-cli masternodestart "alias" "my_mn" | ||
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "masternodestart", "params": ["alias" "my_mn"] }' -H 'content-type: text/plain;' http://127.0.0.1:39798/ | ||
``` | ||
It is advised that users spend/convert their existing zPIV to PIV, which can be done via the GUI or RPC as it was prior to the disabling of zPIV. Note that with the public spend method, the restriction on the number of denominations per transaction (previously 7) has been lifted, and now allows for several hundred denominations per transaction. | ||
|
||
##### `preparebudget` & `submitbudget` Commands ##### | ||
Due to the requirement of maintaining backwards compatibility with the legacy command, these two new commands are created to handle the preparation/submission of budget proposals. Future intention is to roll these two commands back into a single command to reduce code-duplication. Paramater arguments currently remain unchanged from the legacy command equivilent. | ||
*Note on version 1 zPIV*: Version 1 zPIV was only available to me minted between versions v3.0.0 (Oct 6, 2017) and v3.1.0 (May 8, 2018). The announcement that version 1 zPIV was deprecated went out on May 1, 2018 with a recommendation for users to spend/convert their version 1 zPIV. | ||
|
||
##### `mnbudgetvote` Command ##### | ||
This command now handles all cases for submitting MN votes on a budget proposal. Backwards compatibility with the legacy command(s) has been retained, with the exception of the `vote-alias` case due to a conflict in paramater type casting. A user running `mnbudget vote-alias` will be instructed to instead use the new `mnvote` command. Below is the full help documentation for this new command: | ||
Version 1 zPIV will be made spendable at a later date due to the extra work required in order to make these version 1 mints spendable. | ||
|
||
``` | ||
mnvote "local|many|alias" "votehash" "yes|no" ( "alias" ) | ||
## GUI Changes | ||
|
||
### Options Dialog Cleanup | ||
|
||
The options/settings UI dialog has been cleaned up to no longer show settings that are wallet related when running in "disable wallet" (`-disablewallet`) mode. | ||
|
||
### Privacy Tab | ||
|
||
Vote on a budget proposal | ||
Notice text has been added to the privacy tab indicating that zPIV minting is disabled, as well as the removal of UI elements that supported such functionality. Notice text has also been added indicating that zPIV spends are currently **NOT** private. | ||
|
||
Arguments: | ||
1. "mode" (string, required) The voting mode. 'local' for voting directly from a masternode, 'many' for voting with a MN controller and casting the same vote for each MN, 'alias' for voting with a MN controller and casting a vote for a single MN | ||
2. "votehash" (string, required) The vote hash for the proposal | ||
3. "votecast" (string, required) Your vote. 'yes' to vote for the proposal, 'no' to vote against | ||
4. "alias" (string, required for 'alias' mode) The MN alias to cast a vote for. | ||
## RPC Changes | ||
|
||
### Removal of Deprecated Commands | ||
|
||
The `masternode` and `mnbudget` RPC commands, which were marked as deprecated in Mero Core v2.3.1 (September 19, 2017), have now been completely removed from Mero Core. | ||
|
||
Several new commands were added in v2.3.1 to replace the two aforementioned commands, reference the [v2.3.1 Release Notes](https://github.com/MeroCoin/mero/blob/master/doc/release-notes/release-notes-2.3.1.md#rpc-changes) for further details. | ||
|
||
### New `getblockindexstats` Command | ||
|
||
A new RPC command (`getblockindexstats`) has been introduced which serves the purpose of obtaining statistical information on a range of blocks. The information returned is as follows: | ||
* transaction count (not including coinbase/coinstake txes) | ||
* transaction count (including coinbase/coinstake txes) | ||
* zPIV per-denom mint count | ||
* zPIV per-denom spend count | ||
* total transaction bytes | ||
* total fees in block range | ||
* average fee per kB | ||
|
||
Command Reference: | ||
```$xslt | ||
getblockindexstats height range ( fFeeOnly ) | ||
nReturns aggregated BlockIndex data for blocks | ||
height, height+1, height+2, ..., height+range-1] | ||
nArguments: | ||
1. height (numeric, required) block height where the search starts. | ||
2. range (numeric, required) number of blocks to include. | ||
3. fFeeOnly (boolean, optional, default=False) return only fee info. | ||
``` | ||
Result: | ||
``` | ||
{ | ||
"overall": "xxxx", (string) The overall status message for the vote cast | ||
"detail": [ | ||
{ | ||
"node": "xxxx", (string) 'local' or the MN alias | ||
"result": "xxxx", (string) Either 'Success' or 'Failed' | ||
"error": "xxxx", (string) Error message, if vote failed | ||
} | ||
,... | ||
] | ||
first_block: x, (integer) First counted block | ||
last_block: x, (integer) Last counted block | ||
txcount: xxxxx, (numeric) tx count (excluding coinbase/coinstake) | ||
txcount_all: xxxxx, (numeric) tx count (including coinbase/coinstake) | ||
mintcount: { [if fFeeOnly=False] | ||
denom_1: xxxx, (numeric) number of mints of denom_1 occurred over the block range | ||
denom_5: xxxx, (numeric) number of mints of denom_5 occurred over the block range | ||
... ... number of mints of other denominations: ..., 10, 50, 100, 500, 1000, 5000 | ||
}, | ||
spendcount: { [if fFeeOnly=False] | ||
denom_1: xxxx, (numeric) number of spends of denom_1 occurred over the block range | ||
denom_5: xxxx, (numeric) number of spends of denom_5 occurred over the block range | ||
... ... number of spends of other denominations: ..., 10, 50, 100, 500, 1000, 5000 | ||
}, | ||
pubspendcount: { [if fFeeOnly=False] | ||
denom_1: xxxx, (numeric) number of PUBLIC spends of denom_1 occurred over the block range | ||
denom_5: xxxx, (numeric) number of PUBLIC spends of denom_5 occurred over the block range | ||
... ... number of PUBLIC spends of other denominations: ..., 10, 50, 100, 500, 1000, 5000 | ||
}, | ||
txbytes: xxxxx, (numeric) Sum of the size of all txes (zPIV excluded) over block range | ||
ttlfee: xxxxx, (numeric) Sum of the fee amount of all txes (zPIV mints excluded) over block range | ||
ttlfee_all: xxxxx, (numeric) Sum of the fee amount of all txes (zPIV mints included) over block range | ||
feeperkb: xxxxx, (numeric) Average fee per kb (excluding zc txes) | ||
} | ||
Examples: | ||
> mero-cli mnvote "local" "ed2f83cedee59a91406f5f47ec4d60bf5a7f9ee6293913c82976bd2d3a658041" "yes" | ||
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "mnvote", "params": ["local" "ed2f83cedee59a91406f5f47ec4d60bf5a7f9ee6293913c82976bd2d3a658041" "yes"] }' -H 'content-type: text/plain;' http://127.0.0.1:39798/ | ||
``` | ||
|
||
##### `getbudgetinfo` Command ##### | ||
This command now combines the old `mnbudget show` and `mnbudget getinfo` commands to reduce code duplication while still maintaining backwards compatibility with the legacy commands. Given no parameters, it returns the full list of budget proposals (`mnbudget show`). A single optional parameter allows to return information on just that proposal (`mnbudget getinfo`). Below is the full help documentation: | ||
## Build System Changes | ||
|
||
``` | ||
getbudgetinfo ( "proposal" ) | ||
### New Architectures for Depends | ||
|
||
Show current masternode budgets | ||
The depends system has new added support for the `s390x` and `ppc64el` architectures. This is done in order to support the future integration with [Snapcraft](https://www.snapcraft.io), as well as to support any developers who may use systems based on such architectures. | ||
|
||
Arguments: | ||
1. "proposal" (string, optional) Proposal name | ||
### Basic CMake Support | ||
|
||
Result: | ||
[ | ||
{ | ||
"Name": "xxxx", (string) Proposal Name | ||
"URL": "xxxx", (string) Proposal URL | ||
"Hash": "xxxx", (string) Proposal vote hash | ||
"FeeHash": "xxxx", (string) Proposal fee hash | ||
"BlockStart": n, (numeric) Proposal starting block | ||
"BlockEnd": n, (numeric) Proposal ending block | ||
"TotalPaymentCount": n, (numeric) Number of payments | ||
"RemainingPaymentCount": n, (numeric) Number of remaining payments | ||
"PaymentAddress": "xxxx", (string) Mero address of payment | ||
"Ratio": x.xxx, (numeric) Ratio of yeas vs nays | ||
"Yeas": n, (numeric) Number of yea votes | ||
"Nays": n, (numeric) Number of nay votes | ||
"Abstains": n, (numeric) Number of abstains | ||
"TotalPayment": xxx.xxx, (numeric) Total payment amount | ||
"MonthlyPayment": xxx.xxx, (numeric) Monthly payment amount | ||
"IsEstablished": true|false, (boolean) Established (true) or (false) | ||
"IsValid": true|false, (boolean) Valid (true) or Invalid (false) | ||
"IsValidReason": "xxxx", (string) Error message, if any | ||
"fValid": true|false, (boolean) Valid (true) or Invalid (false) | ||
} | ||
,... | ||
] | ||
Examples: | ||
> mero-cli getbudgetprojection | ||
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getbudgetprojection", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:39798/ | ||
``` | ||
While the existing Autotools based build system is our standard build system, and will continue to be so, we have added basic support for compiling with CMake on macOS and linux systems. | ||
|
||
#### Masternode network protocol layer reporting #### | ||
The results from the `listmasternodes` and `getmasternodecount` commands now includes details about which network protocol layer is being used (IPv4, IPV6, or Tor). | ||
This is intended to be used in conjunction with IDEs like CLion (which relies heavily on CMake) in order to streamline the development process. Developers can now use, for example, CLion's internal debugger and profiling tools. | ||
|
||
Note that it is still required to have relevant dependencies installed on the system for this to function properly. | ||
|
||
2.3.1 Change log | ||
================= | ||
*version* Change log | ||
============== | ||
|
||
Detailed release notes follow. This overview includes changes that affect | ||
behavior, not code moves, refactors and string updates. For convenience in locating | ||
the code changes and accompanying discussion, both the pull request and | ||
git merge commit are mentioned. | ||
Detailed release notes follow. This overview includes changes that affect behavior, not code moves, refactors and string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned. | ||
|
||
### RPC and other APIs | ||
- #239 `e8b92f4` [RPC] Make 'masternode status' more verbose (Mrs-X) | ||
- #244 `eac60dd` [RPC] Standardize RPC Commands (Fuzzbawls) | ||
### Core Features | ||
|
||
### Build System | ||
|
||
### P2P Protocol and Network Code | ||
- #248 `0d44ca2` [core] fix payment disagreements, reduce log-verbosity (Mrs-X) | ||
|
||
### Miscellaneous | ||
- #240 `1957445` [Debug Log] Increase verbosity of error-message (Mrs-X) | ||
- #241 #249 `b60118b` `7405e31` Nullpointer reference fixed (Mrs-X) | ||
### GUI | ||
### RPC/REST | ||
|
||
Credits | ||
======= | ||
### Wallet | ||
|
||
### Miscellaneous | ||
|
||
|
||
## Credits | ||
|
||
Thanks to everyone who directly contributed to this release: | ||
- Fuzzbawls | ||
- Mrs-X | ||
- amirabrams | ||
|
||
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/mero-project-translations/). | ||
dud-man | ||
wakie87 |
Oops, something went wrong.