Skip to content

Releases: aergoio/aergo

v1.2.0

12 Aug 13:14
Compare
Choose a tag to compare

This release contains a number of improvements and new features, especially regarding enterprise support. This is an important step towards integration for enterprise customers.

These features are active when a chain is initialized in private mode and are not available on public networks.

Latest Docker releases

New Features

  • Enterprise

    • Enterprise administrators: Users can set up administrators to control their private network
    • RPC permission control using TLS certification on private network
    • P2P Whitelist: Add whitelist feature based on ip addres and/or peerid
    • Account Whitelist: Enterprise administrators can set up accounts that can transfer transactions
  • Consensus

    • Raft
      • Raft version 2 added. In verion2, blockchain and raft logs are tightly coupled.
      • Replace network framework by P2P
      • support Dynamic membership management by Enterprise transaction

Breaking Changes

  • RPC, StateQuery: storageKeys type was changed to bytes (which should be the hash of the key name; was previously just a string of the name)
  • Smart Contract Default function: If the function name is not found, it no longer calls the default function and raises an error instead.

Improvements

  • RPC

    • TLS support:The GRPC API can now be configured to use TLS connections (HTTP2 only, not for grpc-web; for now continue to use proxy servers for grpc-web over https)
    • GetChainInfo (Total staking): Support current total staking in GetChainInfo
  • Smart contract

    • Support for multi dimensional state.map, state.array

v1.1.2

28 Jun 07:18
Compare
Choose a tag to compare

This is a patch release containing a bug fix regarding smart contract execution.

Bug Fixes

  • [ctr/lua] bugfix of sorting about key of table

v1.1.1

17 Jun 03:51
Compare
Choose a tag to compare

This is a patch release containing several bug fixes regarding smart contract execution.

Bug Fixes

  • [ctr/lua] allow 0 byte to key at setitem
  • [ctr/lua] tx error if conversion of return value to json fails
  • [ctr/lua] If matched function name does not exist, changed the error to occur even if the default function exists

v1.1.0

04 Jun 05:56
Compare
Choose a tag to compare

Another month, another feature release! This release comes with a number of API changes and new features.

Latest Docker releases

New Features

  • RPC API
    • BlockMetadata now contains a size attribute which is the size of the marshalled Block object
    • ChainStat shows a brief statistics on reorganization which occurs after aergosvr starts
    • GetNameInfo now takes an optional parameter blockno which allows querying the owner at a specific block height
    • GetPeers now returns the version used by each peer
  • Chain Management Crash recovery: support crash recovery when server is crashed at any state and rebooted

API changes

Improvements

  • Use Go modules instead of Glide
  • Several small bug fixes and test improvements

v1.0.5

22 May 05:19
Compare
Choose a tag to compare

This is a patch release containing several bug fixes regarding smart contract execution.

Bug Fixes

  • [ctr/lua] limit bignum max,min (-(2^256-1) ~ (2^256-1))
  • [ctr/lua] fix compile error
  • [ctr/lua] rollback state when error occurred in contract.call #74
  • [ctr/lua] reset amount value when error occurred at contract.call/deploy

v1.0.4

02 May 07:16
Compare
Choose a tag to compare

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

25 Apr 10:24
Compare
Choose a tag to compare

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

17 Apr 02:22
Compare
Choose a tag to compare

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

15 Apr 08:48
Compare
Choose a tag to compare

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

12 Apr 05:59
Compare
Choose a tag to compare

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'