Releases: aergoio/aergo
v1.0.4
This is a patch release containing several bug fixes regarding smart contract execution.
Please note that the official testnet has been re-initialized with a new genesis block. Launching aergosvr with the --testnet option should now again initialize the correct chain.
Bug Fixes
- [conf] adjust testnet genesis value
- [ctr/lua] Changed to pass through contract.pcall when system error occurred
- [ctr/lua] bugfix for nan or infinity number
- [ctr/lua] Update the luajit library
- [ctr/lua] increase instruction count about some function
- [ctr/lua] fix system.getSender, system.getContractId, system.print, system.getOrigin and fix panic for contract.send(addr, "0 aergo")
- [ctr/lua] Prohibit the system.random function that has no argument
- [ctr/lua] increase instruction count of json tranform and bugfix for contract.send
- [ctr/lua] Throw an error when using non-integer key to state.array
- [ctr/lua] bugfix for event stream when using name service
v1.0.3
This is a minor patch release changing some performance settings regarding smart contract execution
Improvements
- [ctr/lua] prevent referencing state at global scope and leak patch
- [ctr/lua] Add error checking and use null-safe APIs
- [ctr/lua] limit contract max call depth to 5 and increase instruction
v1.0.2
This release contains an update to the way the official Docker image is built and a bug fix regarding tx validation.
Docker Image
This release makes it easier to connect to mainnet using the Docker image.
The default behavior is now to sync with mainnet (used to be testnet). Also, most of the configuration files that used to be included in the Docker image have been removed. Those are not necessary in many cases, and for others, it is safer if users supply their own. If for some reason you need a copy of those files, you can find them here.
Please refer to the documentation on how to supply your own config files to Docker.
Bug Fixes
- [aergo.name] Add missing error handling
v1.0.1
This is a patch release with some minor changes regarding contract execution. Also, this enables the option to sync with the mainnet.
Improvements
- [options] Enable default behavior to create&attach to mainnet
- [ctr/lua] Limit maximum use of resources
- [ctr/lua] bug fix for problem sync of system.prevBlockhash
- [ctr] Remove state db fee when payload is zero
- [ctr/lua] Adjust max instruction count of aux functions
v1.0.0
After many months of development and testing on the testnet, it is time to release our first stable version. This version includes all features that the Aergo mainnet will launch with.
This release includes numerous bug fixes, performance improvements, and new features. The following is a list of the most important changes. Please refer to the documentation (to be published shortly) for details on specific features.
New features
- Fee system: on public networks, transactions require a fee that follows a gas system. The minimum fee is 0.002 aergo. Additional fee is required for TX payload and state DB storage.
- Transaction: Require hash of chain ID in tx body to prevent replay attack
- RPC API
- consensus info: blockchain call now returns consensus info field. This contains a current list of BPs. On dpos chains, this includes information about the last irreversible block (LIB).
- chain id hash: blockchain call now returns the chain id hash for easy use in signing transactions
- server info: new API method to retrieve server configuration
- Smart Contract, Additional Functions
- system.isContract(addr), contract.stake(amount), contract.unstake(amount), contract.vote(candidate,.... or {candidates})
- abi.register_view(func). register a function that disallows modification of state
- Add payable and view flags to ABI
Improvements
- Protobuffer, various field changes: If you used the RPC API directly, refer to the aergo-protobuf changelog for a list of breaking changes.
- P2P: Stability improvements
- Transaction receipt: on contract call error, tx receipt status is now 'ERROR' with the error message in the result field.
- aergo.name: Set up owner of aergo.name using transaction
- aergo.system
- The minimum amount of staking is based on the stored amount, not the amount requested
- The staked amount is added to the balance of aergo.system for consistency
- Improved many log and error messages
- Mainnet configuration
- aergosvr, init command: Change flag name from 'json' to 'genesis'
v0.12.2
v0.12.1
v0.12.0
This release contains various performance improvements, bug fixes, and a few new features and enhancements.
Enhancements
- Contracts now support events. Please refer to the Aergo Lua reference for how to log events. The RPC API supports retrieving events both as a list and as a stream. Support in SDKs will be released soon.
- Easier configuration of genesis blocks for testnet and (future) mainnet
- The payload format of governance transactions has been changed to use JSON instead of a custom format.
Breaking changes
- Genesis block generation: while genesis blocks for officially supported networks will be auto-generated, in private nets a genesis block is not generated automatically anymore. The previous behavior was prone to mis-configuration. Please generate the genesis block manually.
v0.11.2
This is a bug fix release.
Bug Fixes
- [ctr/lua] bug fix for hanging at preloadworker
- [ctr/lua] preload bug fix
- [ctr/lua] Upgrade to litetree a9d10a0
- [ctr/lua] Set maximum DB size
- [cmd] Generate constructor and default function to the ABI
- [ctr/lua] bugfix for bignum