Releases: ainblockchain/ain-blockchain
Releases · ainblockchain/ain-blockchain
v1.0.3 Release Note
Hi all. Sorry for the late release note of v1.0.3.
Updates
- Allow undefined tx_hash for check-in history data
- Include timer flag status (enabled, disabled) in /get_config
- Fix LOG_HEADER undefined issue
v1.0.2 Release Note
Hi, We are happy to release v1.0.2!
Updates:
- Add more monitoring metrics
- Change some objects to Maps
- Reduce --max-old-space-size for the sandbox
- Add TimerFlags feature
- Add chainId, networkId to rest function call data
- Set axios timeout
- Show richer welcome messages
- Support incremental deploy w/ code updates
- Add block_timestamp at the highest level in the snapshot for convenience
- Pass blockNumber to isValidServiceName() through isServAcntName()
- Add state bandage feature
- Write block file even if another file already exists
- Add staking_balance_total_sum timer flag and bandage file
- Update _stake() and _unstake() to update the balance_total_sum after the flag is enabled
- Update getAppStakesTotalFromStateRoot() to use the balance_total_sum if available
- Improve deployment related code and scripts
- Move rule changes for allow_lower_case_app_names_only flag to a bandage file
v1.0.1 Release Note
Hi, Happy new year! We are glad to announce v1.0.1 sooner!
Updates:
- Expose safe env variables only by /get_config
- Add dup check for variable labels in state paths
- Improve peer connection making process
- Add min_gas_price blockchain param
- Apply object chunking for state snapshots
- Fix bug on ain_sendSignedTransaction regarding chainId
- Set genesis_timestamp to be 2021-12-31 23:59:59 999 (UTC)
v1.0.0 Release Note
Thanks for our team and a lot people working with us.
Updates:
- Add traffic events for finalized blocks and transactions
- Added non-overwritable blockchain params to the state (on-chain)
- Blockchain params can be accessed with getBlockchainParam() and getAllBlockchainParamsFromState()
- Separated NodeConfiigs from BlockchainConfigs (NodeConfigs = each node can set differently. Basically env vars)
- Re-org'ed blockchain_params.json
- Changed blockchain param names to lower cases
- Introduced blockchain params for 1-node, 2-nodes, 3-nodes
- Support multiple node versions and os versions
- Add convert functions
- Add common/result-code.js for result code
- Move to node-params.json and customize traffic params for sandbox environment
- Set epoch_ms to 1000 for test blockchain configs
- Reorg test code
- Add --skip-kill, --kill-only options to deploy scripts
- Do not call winstonLogger.debug() if DEBUG=false
- Deprecate GenesisToken and GenesisSharding
- Add peer whitelist
- Use bunyan as the default logger, add error catching
- Consensus tx clean-up in tx pool & fix bugs
- Properly handle subtree write rules (do not allow non empty subtree write rules)
- Restore check-out state gc rule
- Deprecate ACCOUNT_INDEX
- Handle subtree owners properly
- Add propose / vote latency metrics to traffic stats
- Restore isAlive field of node's status
- Add propose/vote p2p message latency to traffic stats
- Allow writing with subtree owners in partial set cases (with isPartialSet = true)
- Introduced DEV_CLIENT_API_IP_WHITELIST for client api access control.
- Added IP whitelisting json-rpc apis (ain_getDevClientApiIpWhitelist, ain_addToDevClientApiIpWhitelist, ain_removeFromDevClientApiIpWhitelist)
- Added IP whitelisting tool scripts
- Reorged json rpc apis
- Renamed ENABLE_DEV_CLIENT_SET_API -> ENABLE_DEV_CLIENT_API and updated to manage the get apis with the flag as well
- Add PERF_TEST_PIPELINE_TEST_SEASON to run benchmark command
- Unlimit dev params
- Add some DevFlags: enableWsCompression, enableTxBroadcastLimit
- Fix typos & missing things in the deploy scripts
- Add subtree function triggering
- Reorg peer connections periodically
- Allow removal of wildcard ip whitelist
- Return usage, available, staking info for apps
- Add gc_num_siblings_deleted to state rule
- Update p2p state
- Add resource/min_gc_num_siblings_deleted blockchain param
- dded GET_RESP_BYTES_LIMIT and GET_RESP_MAX_SIBLINGS node params for limits on db queries
- Add BLOCK_FINALIZED traffic event for finalization latency
- Increase min_gc_num_siblings_deleted to 100
- Update PEER_WHITELIST for the proposer nodes
- Update deploy scripts to deploy 10 nodes
- Introduced reward blockchain params (type & annual_rate)
- Updated _distributeFee native function
- Added op_list validity check & result code
- Keep a half of whitelisted(block generation) nodes when reorg
- Updated error_message to message
- Added is_final options for more stable consensus test results
- Finalize blockchain params
- Update error trap logic when blockPool.hashToBlockInfo[lastHash] is undefined
- Added max_height, max_size, max_bytes state rule props
- Added a simple tool script
- Deprecate dev flags
- Add epoch transition interval renewal logic
- Decrease max_num_validators for sandbox: 30 -> 20
- Add config files for mainnet
- Correctly get GPT2 version compatibility
- Add #num_children property to state info
- Add validator whitelist
- Handle write rule syntax errors properly
- Add num_accounts grafana panel
- Fix a lot of minor bugs!!
v0.9.3 Release Note
It's been ages! We are glad to announce v0.9.3.
Updates:
- Extend verifyBlock.js to support multiple blocks
- Handle null return from fromTxBody() properly
- Add verify-tx tool script
- Add comments and log tx value size
- Add tool script for aggregating proposer block # info
- Fit the svg size to the screen
- Add rest function call server flag and update test code
- Include jq tool in the dev package list
- Added 'state' rule property
- Update deploy scripts for API nodes
- Execute votes in evidence
- Deprecate tracker when connecting nodes
- Add enableHardCodedStateGC feature flag
- Update blockchainEndpoint
- Garbage-collect old receipts per block
- Add full node snapshotting with enableFullNodeSnapshots flag
- Inject account via mnemonic
- Allow wildcards in REST function URLs using match-url-wildcard
- Add token-level write rule validity checking logic
- Inject accounts using ain-util
- Add ENABLE_JSON_RPC_API and revamp deploy scripts
- Genesis account revamping with 100 genesis accounts
- Add punctuator token blacklist for write rules
- Modularize block validation & execution
- Add env variables to /get_config dev client API
- Add block and root_proof_hash to blockchain snapshots
- Add express rate limit config for ddos protection
- Receive events & find matching filters & pass event to eventHandlerServer
- Improve randomness for proposer selection
- Enhance address request and response
- Introduce genesis_block.json.gz, remove private key dependencies
- Add private ip address validity check
- Add verifyProofHashForStateTree() util function (with verifyProofHashForRadixTree())
- Introduce BlockchainConfigs for flags and constants
- Support testnet-sandbox env
- Lighten communication between peer and tracker
- Rename IN_BLOCK tx state to FINALIZED
- Add event-handler/ to deploy scripts
- Add checkout_fee_rate (0.1%)
- Add extension expr. script
- Remove conditions that are always true
- Move gas amount constants to BlockchainConfigs
- Add latency to the traffic stats
- Fix a lot of bugs!!
v0.9.2 Release Note
Good day! We are glad to announce v0.9.2 release.
Updates:
- Add transaction receipts & receipts_hash to blocks
- Optimize radix tree
- Make bi-directed connection
- Show network topology graph
- Revamp check-in service
- Add traffic manager
- Add /get_client_status client API
- Add --setup option to deploy_monitoring_gcp.sh
- Add 'is_final' option to readDatabase()
- Add account importing
- Decrease MAX_OLD_SPACE_SIZE_MB to 5500
- Optimize state info
- Connect to peer till maximum
- Add block verification tool
- Add client api for getting block info
- Add network.REQUEST_BODY_SIZE_LIMIT parameter
- Add tools for state proof verification
v0.9.1 Release Note
Hi y'all!!! Boom! Lots of Changes have made. Enjoy :)
Updates:
- Add checkout service for token bridging
- Use numeric error code for function triggering
- Reduce flakiness of integration tests due to tree bytes interference
- Trim down execution result in receipt values
- Apply chain id
- Implement radix tree
- Update consensus reward distribution
- Add set / update / verify proof hash APIs
- Add pos penalties
- Fix minor bugs
v0.9.0 Release Note
How have you been? We are really happy to announce v0.9.0! The huge changes are coming up from v0.8.0.
Updates:
- Add experimental code for optimizing receipt proof hash computation
- Fix memory issue by applying incremental block file loading
- Add state utilization apis
- Add more get options (include_tree_info, include_proof, include_version)
- Gas fee charging & receipts for failed txs
- State size limits
- Add cpu status to tracker server
- Add cpu usage percent to status
- Use node.db.getAccountNonceAndTimestamp() instead of node.nonce
- Increase state budget
- Receipts in state tree
- Divide IN_POOL tx state into EXECUTED and PENDING states
- Add blockchain owner as the root owner in genesis
- Use shallow fetch for app stakes total
- Track tree size in bytes
- State gas budget check & gas budget allowance for free tier apps
- Many block files
- Move entry point labels to PredefinedDbPaths from *Properties
- Move .write rule under .rule layer
- Improve app experience
- Validation only node
- Tweak deploy scripts
- Fix minor bugs as well
v0.8.0 Release Note
Hiya! It's really glad to announce v0.8.0! Enjoy!!
Updates:
- Add ain_getRemainingTransactionPoolSize
- Support shallow get
- Clean up state-related terms; See: Clean up state-related terms #453
- Add performance test pipeline
- Rename ChainUtil to CommonUtil
- Add cpu status
- Add app dependency check pipeline
v0.7.7 Release Note
Hi all! We are very happy to announce v0.7.7 today!
What newly released features are:
- Apply partial set (applyOwnerChange()) in setOwner()
- Add service/app name validation and service type validation logic
- Support fast sync
- Pass compatibility experiments
- Define and apply state label length limit (STATE_LABEL_LENGTH_LIMIT)
- Support billing accounts
- Fix minor bugs