Skip to content

Latest commit

 

History

History
241 lines (211 loc) · 12.2 KB

change-log.md

File metadata and controls

241 lines (211 loc) · 12.2 KB

CHANGELOG

Version 1.0 beta 1 - 30 March 2017

  • Added support for Unicode entity names and stream keys
  • Allowed a port to be specified in the externalip runtime parameter
  • Reviewing and cleaned up all help messages
  • Fixed crashing bug with long stream item keys (introduced in alpha 29)
  • Several other smaller bug fixes

Version 1.0 alpha 29 - 20 March 2017

  • Reviewed and reorganized all API error codes
  • Optimizations to increase transaction and block processing throughput
  • Node recovery after hard kill or server shutdown without reindexing
  • Reviewed and selectively merged all upstream Bitcoin Core changes
  • Added on-chain protocol upgrade mechanism for future-proofing
  • Many other smaller fixes and improvements

Version 1.0 alpha 28 - 14 February 2017

  • Added enhanced -walletnotify parameter for transaction notifications
  • Added getruntimeparams and setruntimeparam APIs for runtime parameters
  • Added completerawexchange API to finalize exchange with optional metadata
  • Added mine-empty-rounds parameter to limit mining of empty blocks
  • Added lock-admin-mine-rounds parameter to lock down governance changes
  • Added mining-turnover parameter to control round robin mining concentration
  • Reduced minimum target block time to 2 sec (low mining turnover recommended)
  • Added lockblock and bantx parameters for fork control, transaction banning
  • Increased max metadata and transaction size to 64 MB, 100 MB respectively
  • API request output by multichain-cli on stderr (but see -requestout param)
  • Many other smaller fixes and improvements

Version 1.0 alpha 27 - 22 December 2016

  • Added new protocol version 10007, used by default, with these changes:
  • Assets referenced by short txid rather than block number/byte offset
  • New format for metadata of asset (re)issuance and stream creation
  • Assets can be created or updated without issuing units in an output
  • Added support-miner-precheck and anyone-can-receive-empty parameters
  • Tightened up some rules following extensive security review
  • Changed appendrawchange API behavior to always add an output, even if empty
  • Fixed several bugs and misleading error messages

Version 1.0 alpha 26 - 28 November 2016

  • Added ability to subscribe to an asset and query all of its transactions
  • Added createrawtransaction parameters for sending complex txs in one step
  • Added createrawsendfrom API for complex txs with automatic coin selection
  • Added createkeypairs and listaddresses APIs for address management
  • Allowed publishing stream items in sendwithdata(from), grantwithdata(from)
  • Added getstreamitem API to retrieve individual stream items
  • Added more output formats for getblock API including full tx decoding
  • Added optional byte range parameters in gettxoutdata API
  • Allowed plural parameters for many APIs: importaddress, importprivkey, (un)subscribe, liststreamkeys, liststreampublishers, listassets, liststreams
  • Added support for stream-related transactions in raw transaction decoding
  • Allowed blockchain parameters to be set when running multichain-util
  • Prevented passwords being stored in multichain-cli history file
  • Dozens of other minor fixes and improvements
  • Compatibility-breaking API change: address, asset and stream parameters set to "" or [] now mean 'none' instead of 'all'. Only use "*" to request 'all'. This affects getmultibalances, listassets, listpermissions, liststreams.

Version 1.0 alpha 25 - 27 October 2016

  • Added Windows version (released as alpha 24.1 on October 10)
  • Renamed APIs for simplicity (old API names are still supported): send(from), sendasset(from), sendwithdata(from), grantwithdata(from), appendrawdata
  • Fixed several bugs relating to stream publish and subscribe APIs
  • Several other small bug fixes for API parameters, responses and errors

Version 1.0 alpha 24 - 15 September 2016

  • Added streams for general purpose data storage and retrieval on a blockchain, including new APIs, permissions and parameters
  • Added count and start parameters to listassets for partial results
  • Allowed multiple OP_RETURNs per transaction (max-std-op-returns-count)
  • Added maxshowndata parameter to limit size of data in API responses
  • Added gettxoutdata API to retrieve full data from a transaction output
  • Increased default size of 'orphan pool' to 50000 transactions
  • Added "synchronized" field for wallet addresses to show if up-to-date
  • Fixed bug with multiple follow-on issuances in the same block

Version 1.0 alpha 23 - 8 August 2016

  • Fixed intermittent crash when issuing large numbers of assets rapidly
  • Fixed bug reading mining-diversity parameter with value of 0

Version 1.0 alpha 22 - 20 July 2016

  • Rewrote the in-node wallet to be fully database-driven (not stored in memory) for real scalability and sustained performance with millions of transactions
  • Added grantwithmetadata and grantwithmetadatafrom APIs
  • Added progress report when running with -rescan option
  • Allowed target-adjust-freq=-1 to prevent proof-of-work difficulty changes
  • Many other smaller bug fixes and improvements

Version 1.0 alpha 21 - 16 May 2016

  • Added pause and resume APIs to suspend mining or incoming P2P data
  • Added setlastblock API to rewind the chain or switch to a fork
  • Added clearmempool API to clear the memory pool of unconfirmed txs
  • Added option of passing block height to getblock API
  • Fixed database corruption from reorgs on blocks with follow-on issuance
  • Improved recovery of corrupted permissions and assets databases

Version 1.0 alpha 20 - 3 May 2016

  • Added getmultibalances API for viewing balances for multiple addresses
  • Added more decoderawtransaction fields for asset transfer and issuance
  • Improved support for multiple nodes on the same IP address (different ports)
  • Always returns change to spent addresses, even for non-"from" APIs
  • Included cleanup of permissions and assets database when reindex=1
  • Fixed support for multiple addresses in one grant/revoke call
  • Always apply mining-requires-peers if protocol=bitcoin or anyone-can-mine
  • Many other minor bug fixes and improvements

Version 1.0 alpha 19 - 30 March 2016

  • Added createrawtransaction support for issuance and permissions metadata
  • Added appendrawmetadata support for issuance metadata
  • Added details on new assets to be issued in decoderawtransaction
  • Added display message if handshakelocal address not in wallet
  • Improved display of API error messages in multichain-cli
  • Ignores mining-requires-peers if only one permitted miner
  • Fixed appendrawchange bug when spending output of an asset issuance
  • Fixed opening wallet with large native asset quantities
  • Fixed asset quantity output in listwallettransactions
  • Several other minor bug fixes and improvements

Version 1.0 alpha 18 - 13 March 2016

  • Fixed broken admin consensus after issuing assets
  • Fixed lower case asset names returned by listassets

Version 1.0 alpha 17 - 3 March 2016

  • Added follow-on asset issuance, with issuemore and issuemorefrom APIs
  • New protocol where mining permissions must be confirmed before use
  • Tightened restriction on receiving and using admin permission in same tx
  • Fixed rare clash between unconfirmed asset issuances
  • Added -shrinkdebugfilesize multichaind parameter to limit debug.log size
  • Added -saveclilog multichain-cli parameter to stop storing command history
  • Renamed 'issueqty'/'issueraw' to 'qty'/'raw' in 'issue' response elements
  • Several other minor bug fixes and improvements

Version 1.0 alpha 16 - 28 January 2016

  • Added interactive mode to multichain-cli client
  • Added appendrawchange API to complete raw transactions with change
  • Added unspendable 'burnaddress' field in response to getinfo API
  • Added -datadir parameter to multichain-util to use a custom directory
  • Added -shortoutput runtime parameter to multichaind for easier scripting
  • Several other minor bug fixes and improvements

Version 1.0 alpha 15 - 7 January 2016

  • Moved to libsec256k1 for faster signature creation and verification
  • Fixed bug when starting multichaind with reindex=1
  • Several other minor bug fixes and improvements

Version 1.0 alpha 14 - 30 December 2015

  • Added activate permission which can set connect/send/receive permissions only
  • Added optional protocol version parameter to multichain-util
  • Added miningrequirespeers parameter to multichaind
  • Fixed mining deadlock where mining permission is assigned to an inactive node
  • Several other minor bug fixes and improvements

Version 1.0 alpha 13 - 15 December 2015

  • Added new APIs for detailed viewing of wallet transactions: listwallettransactions, getwallettransaction, listaddresstransactions and getaddresstransaction
  • Skipped change outputs in listtransactions and gettransaction
  • Fixed bug preventing P2SH multisig transactions with metadata
  • Renamed 'genesistxid' to 'issuetxid' for asset issues in API responses
  • Several other minor bug fixes and improvements

Version 1.0 alpha 12 - 26 November 2015

  • Added new APIs for easy sending of transactions with metadata: sendwithmetadata and sendwithmetadatafrom
  • Added verbose parameter to getaddresses command to give more information
  • Included unconfirmed change in getassetbalances/gettotalbalances
  • Fixed other assets moving when creating an asset or assigning permissions
  • Fixed RPC server bug in chains where anyone-can-connect=true

Version 1.0 alpha 11 - 19 November 2015

  • Added verbose parameter to listpermissions command
  • Added includeLocked parameter to getaddressbalances/getassetbalances
  • Added disablerawtransaction API to disable an offer of exchange
  • Added gettotalbalances API to bypass bitcoin-style accounts
  • Added txid and vout fields to verbose decoderawexchange output
  • Added support for watch-only addresses in getaddressbalances/getassetbalances
  • Improved several error messages for clarity
  • Fixed several bugs in new coin selection, including for native currency
  • Fixed rare crash in listassets and missed transactions after importaddress

Version 1.0 alpha 10 - 12 November 2015

  • Added getaddresses API to list all wallet addresses
  • Added support for blockchain reindexing with reindex runtime parameter
  • New coin selection procedure to maintain separation between assets
  • Fixed wallet state bug when spending output from preparelockunspent
  • Several other minor bug fixes and improvements

Version 1.0 alpha 9 - 21 October 2015

  • Added support for bitcoin-style handshaking where anyone-can-connect=true
  • Fixed problems with blockchains where chain-protocol=bitcoin
  • Several other minor bug fixes and improvements

Version 1.0 alpha 8 - 14 October 2015

  • Added APIs for sending funds and other operations from specific addresses: getaddressbalances, sendassetfrom, sendfromaddress, preparelockunspentfrom, grantfrom, issuefrom, revokefrom
  • Default proof-of-work difficulty reduced to 16 bits
  • Set txindex=1 as default to help blockchain querying

Version 1.0 alpha 7 - 8 September 2015

  • Added API for appending extra data to transactions: appendrawmetadata
  • preparelockunspent JSON-RPC API accepts native asset value
  • Sorting listassets JSON-RPC API results
  • Fixed some bugs relating to send permission revocation

Version 1.0 alpha 6 - 23 August 2015

  • Added APIs for building atomic exchange transactions: preparelockunspent, createrawexchange, appendrawexchange, decoderawexchange
  • Extended sendtoaddress to allow sending of multiple assets
  • Fixed some bugs relating to datadir and network names

Version 1.0 alpha 5 - 6 August 2015

  • combineunspent JSON-RPC API
  • Automatic combine transactions
  • Faster peer-to-peer connection
  • Concurrency bug fixes
  • Increased maximal orphan pool size

Version 1.0 alpha 4 - 22 July 2015

  • Ignore zero-value outputs from coinbase transactions
  • Support for backwards-compatible protocol upgrades
  • Earlier creation of multichain.conf
  • Added first-block-reward parameter
  • Accept multiple addresses in listpermissions

Version 1.0 alpha 3 - 14 July 2015

  • Support for Ubuntu 12.04+, CentOS 6.2+, Debian 7+, Fedora 15+, RHEL 6.2+
  • Extended output for listpermissions showing changes pending admin consensus

Version 1.0 alpha 2 - 6 July 2015

  • Disconnecting nodes without connect permission
  • Disconnecting from seed node after initial blockchain synchronization
  • Memory pool exchange after initial blockchain synchronization
  • Disconnecting block bug fixes for permissions and assets
  • Resolved mining deadlocks in rare edge cases
  • Case-insensitive asset names

Version 1.0 alpha 1 - 23 June 2015

  • First release