All notable changes to this project will be documented in this file.
- New CLI commands:
close wallet
. - New RPC command:
listplugins
. - New plugin type:
IP2PPlugin
. - Allow setting
MaxConnectionsPerAddress
inconfig.json
. - Allow setting
MaxGasInvoke
inconfig.json
. - Automatically set transaction fee.
- Improve performance of NeoVM.
- Improve performance of
.db3
wallet.
- Fixed a bug in dBFT 2.0.
- Fixed bugs in NeoVM.
- Fixed bugs in RPC commands:
getblock
andgetblockhash
.
- dBFT 2.0
- Add support for deploying and invoking contracts.
- Allow setting
MinDesiredConnections
andMaxConnections
inconfig.json
. - Add new plugin type:
IMemoryPoolTxObserverPlugin
. - New smart contract API:
Neo.Iterator.Concat
. - New RPC command:
gettransactionheight
.
- Improve performance of NeoVM.
- Improve large memory pool performance.
- Fixed startup issue in non-windows platform.
- Fixed console flicker with show state command.
- Fixed a dead lock in
WalletIndexer
. - Fixed an error when exiting.
- Refactor RpcServer and move wallet related commands to a plugin.
- Allow to start as a service in windows.
- New CLI commands:
install <plugin>
anduninstall <plugin>
. - Allow plugins to get contract execution results.
- Allow plugins to delay starting the node.
- Allow plugins to have third-party dependencies.
- Fixed a concurrency issue.
- Fixed a block relaying issue.
- Fixed an issue where sometimes transactions could not be removed from the memory pool.
- Hash interop names to save space in compiled byte code.(smart contract)
- Add hot configurations for plugins.
- Add
changeAddress
option toclaim gas
CLI command.
- Limit incoming P2P connections based on parameters.
- Improve performance of the p2p network for header and block propagation.
- Fixed an issue that could cause chain sync to get stuck.
- Fixed a display error after opening the wallet.
- Fixed bugs in the consensus algorithm.
- Fixed a minor bug in smart contract cost calculation.
- Catch exception in the UPnP layer when reconnecting or network error.
- Add new plugin type:
IPersistencePlugin
. - Allow listing loaded plugins and showing help messages for plugins.
- Allow opening wallet for RPC server after startup.
- Allow creating iterator from array in API:
Neo.Iterator.Create
. - Improve the performance of p2p network.
- Fixed an issue where getting NEP-5 balance failed if the wallet contained a large number of addresses.
- Fixed an issue that caused the NeoVM execution state to be inconsistent.
- Fixed "too many open files" error.
- Fixed an issue in MerkleTree.
- Remove
Neo.Witness.GetInvocationScript
.(smart contract)
- Add constant storage for NeoContract.
- New smart contract API:
System.Runtime.Platform
. - New smart contract API:
Neo.Account.IsStandard
. - New smart contract API:
Neo.Transaction.GetWitnesses
. - Allow the RPC server to bind to local address.
- Allow client certificate to be checked on the RPC server.
- Allow setting additional gas to be used in RPC commands
invoke*
for RPC server. - New CLI command:
claim gas [all]
.
- Fix a bug in the RPC server.
- Fix denial of service with bad UPnP responses.
- New RPC command:
getblockheader
. - New RPC command:
getwalletheight
. - Allow to modify the location of the wallet index directory.
- Significantly improve the stability of the node.
- Improved Plugins System
- Close on ^D without errors (linux only).
- Apply NEP-8: Stack Isolation for NeoVM.
- Fix known bugs.
- Fix a bug that crashes when the non-consensus node runs the "Start consensus" command.
- Fix a bug that do not load plugins when the node is started.
- New CLI command:
import multisigaddress
. - New CLI commands:
sign
andrelay
. - New RPC command:
getvalidators
. - New smart contract APIs:
Neo.Enumerator.*
. - New smart contract API:
System.Blockchain.GetTransactionHeight
. - New smart contract API:
System.Storage.GetReadOnlyContext
andNeo.StorageContext.AsReadOnly
.
- Support for NeoContract Standary Namespace.
- Improved Plugins System: filter transactions in plugin.
- Improve the speed of creating addresses.
- Importing/exporting blocks with sharding.
- Daemonizing the neo process.
- Support for Neo Plugins System.
- New smart contract API:
Neo.Contract.IsPayable
.
- Optimize RPC command
getbalance
for NEP-5. - Optimize config.json
- Improve the performance of p2p network.
- Improve the performance of block synchronization.
- Prevents blocking when the second instance is started.
- New smart contract feature: Maps.
- Optimize protocol.json
- Fix the issue of
Neo.Storage.Find
.(smart contract) - Record application logs when importing blocks.
- New CLI command:
broadcast
. - GzipCompression over RPC.
- New smart contract APIs:
Neo.Iterator.*
,Neo.Storage.Find
. - New smart contract APIs:
Neo.Runtime.Serialize
,Neo.Runtime.Deserialize
. - New smart contract API:
Neo.TransactionInvocation.GetScript
.
- Improve the performance of importing blocks.
- Improve the performance of p2p network.
- Optimize CLI commands:
show node
,show pool
.
- Fix crash on exiting.
- Allow user to create db3 wallet.
- New RPC command:
listaddress
. - New RPC command:
getapplicationlog
. - New opcode
REMOVE
.(smart contract)
- Remove option
--record-notifications
.
- New RPC command:
sendfrom
.
- Improve the performance of rebuilding wallet index.
- Prevent the creation of wallet files with blank password.
- Add
time
to the outputs ofBlockchain_Notify
.
- Save wallet file when creating address by calling RPC command
getnewaddress
. - Fix the issue of RPC commands
invoke*
.
- Remove
Neo.Account.SetVotes
andNeo.Validator.Register
.(smart contract)
- New smart contract API:
Neo.Runtime.GetTime
. - New opcodes
APPEND
,REVERSE
.(smart contract)
- Add fields
tx
andscript
to RPC commandsinvoke*
. - Improve the performance of p2p network.
- Optimize protocol.json
- Fix the network issue when restart the client.
- Support for NEP-6 wallets.
- Add startup parameter:
--nopeers
.
- New smart contract feature: Dynamic Invocation.(NEP-4)
- New smart contract APIs:
Neo.Transaction.GetUnspentCoins
,Neo.Header.GetIndex
.
- Optimize CLI command:
show state
. - Optimize config.json
- Improve the performance of p2p network.
- Optimize RPC commands
sendtoaddress
andsendmany
for NEP-5 transfer. - Optimize CLI command
send
for NEP-5 transfer.
- Add startup parameter:
--record-notifications
. - New RPC commands:
invoke
,invokefunction
,invokescript
. - New RPC command:
getversion
. - Console colors.
- Improve stability.
- New CLI command:
send all
. - New opcodes
THROW
,THROWIFNOT
.(smart contract)
- Optimize opcode
CHECKMULTISIG
.
- Fix the issue of
Neo.Runtime.CheckWitness
.(smart contract)
- New RPC command:
sendmany
. - New CLI command:
show utxo
. - New smart contract feature: Triggers.
- Improve the performance of p2p network.
- New RPC commands:
getpeers
,getblocksysfee
. - New RPC commands:
getaccountstate
,getassetstate
,getcontractstate
,getstorage
. - Add default config files for MAINNET and TESTNET.
- Improve the performance of p2p network.
- Rebrand from AntShares to NEO.