Releases: hive-engine/steemsmartcontracts
Hive Engine - HF26 Compatibility
This release fixes a breaking change to the format of beneficiaries that is introduced in the upcoming Hive HF26, and is a required upgrade for all Engine witnesses to ensure continued compatibility with Hive nodes. Note that both HF25 and HF26 Hive nodes are supported.
Full changelist:
- HF26 beneficiaries format support
- added retry on failure ability to the find_divergent_block.js script
- added new options to witness_actions.js script: appending -v to witness_actions.js will let user choose to verify their transaction, and with -e they can specify an Engine node to verify against
Two of the above items are community contributions from our witnesses @primersion and @Rishi556
Hive Engine - QoL improvements
This release is an optional upgrade which will not break network consensus. It adds the following quality-of-life improvements:
- Support for inter-witness communication with nodes that are using IPv6 (previously this wouldn't work as IPv6 endpoints were malformed).
lastVerifiedBlockNumber
from witness params table added to output of thegetStatus
API call.
Note that although IPv6 is now properly supported, Top 20 witnesses are still encouraged to use IPv4 as the various Engine systems that rely on the witnesses are not fully compatible with IPv6 at the present time.
The above items are community contributions from our witnesses @primersion and @Rishi556
Hive Engine - Light Nodes
This release is an optional upgrade which will not break network consensus. The following items are included:
- Support for running a light node (as opposed to the default full node configuration). Light nodes only store recent block & transaction data, which saves on disk space requirements. See #144 for details & usage instructions.
- Visiting a node's URL in a browser will now return node status information in json format.
- Added NATed-ports customization feature for the witness management script (witness_action.js)
Note that as of this release, Node 14 is now the minimum required version of Node.js.
This release is notable in that all the above items are community contributions from some of our witnesses. We thank the authors @primersion , @Rishi556 , and @4Ykw for their efforts!
Hive Engine - Improved robustness and logging
This minor release includes the following:
- new config setting
defaultLogLevel
, to control amount / noisiness of logging. Set towarn
by default. - enhanced logging for debugging purposes
- logging now done using the loglevel library
- default sort by _id index for database queries, to prevent dependency on MongoDB "natural" order (fixes a cause of forking in some rare circumstances when smart contracts don't explicitly specify an index to sort by)
Note that loglevel
was added to the packages in this release, so when upgrading you must also do npm ci --only=prod
Also, the format of package-lock.json
was changed to version 2, but this remains backward compatible with npm version 6 for those of you who are not running the latest npm.
Fix replayability, potential fork source, better defaults
This minor release does not change consensus, and does the following:
- witnessEnabled is default true in config.json
- handleNftChange disablement gated on proper block
- remove source of virtualTransactions being doubled up in block log
- Remove problematic rpc node causing encoding related block divergence.
Hive Engine - Better handling of MongoDB errors
This minor release adds improved error handling so that MongoDB errors will throw rather than cause the node to get stuck in an infinite loop.
Upgrading not required, but recommended to reduce the chance of your node getting stuck on an unexpected MongoDB error.
Releases #115
Hive Engine - Revert Comments Contract Update
Hive Engine - Dhive Library Upgrade
This minor update (which does not affect p2p consensus) increases the version number of the @hiveio/dhive library from 0.14.12 to 1.0.1, which results in more efficient use of Hive nodes. Some dependency package versions were also upgraded.
Commit included: f19a920
Hive Engine - More Robust Exception Handling
This minor update (which does not affect p2p consensus) patches a vulnerability in the RPC server process by wrapping exception handling around some API calls that previously lacked it.
PRs included: #88
Hive Engine - Configurable Virtual Transactions
This update includes the following:
- a modification to replay processing to allow replays from snapshots prior to the inadvertent 1.4.0 fork.
- add chainId to the getStatus API
- register all ticking contracts (virtual transactions) into "contracts_config" table, which allows for easily adding more global contract settings in the future.
- add "registerTick" method for registering additional ticking actions (virtual transactions)
There is no real deadline for upgrading, however node operators are encouraged to upgrade to this release as soon as possible, as we intend to add a new virtual transaction via the new config mechanism in the near future.