1.28.0
Hive Blockchain Detailed Change Log: v1.27.0 to v1.28.0
This detailed log outlines the key features, bug fixes, and preparatory changes introduced in incremental releases leading up to the v1.28.0 release, which includes Hardfork 28 (HF28).
⚠️ Important Upgrade Notice
Upgrading to 1.28.0 will typically require a full node replay due to changes in the internal hived state format and data structures.
New options impacting behavior:
-
block-log-split- defaults to 9999 to support splitting the block_log file into multiple "part" files (each part file stores 1 million blocks). If you wish to preserve the previous monolithic block_log file behavior, set this option to -1.Splitting the block_log file into multiple part files allows you to relocate part files on different filesystems and symlink them in the blockchain directory. This means that multiple hived nodes can use a single set of part files to share most of the block log history (once a part file is filled with 1M blocks, it is never written to again).
If the default block-log-split value is lowered, nodes will operate in a "pruned" mode, only keeping the latest N 1M block parts. In the extreme case of setting block-log-split to 0, the node will not keep the raw contents of any blocks.
Operating in pruned mode saves disk space, but also reduces the node's ability to support
block_apiusage (API for fetching historical blocks) and provide old blocks to other nodes that are syncing from scratch.Note for updating an older version of hived: the hived tool will automatically perform a block_log split of an existing monolithic block_log file when the block-log-split option is changed from monolithic (-1) to any other value, including the new default value of 9999. This will temporarily require double the normal storage during the time the file is being split into part files. If you wish to avoid this, you must explicitly set block-log-split to -1 before starting the upgraded node.
-
comments-rocksdb-path- option to specify location of the external storage database directory for comments (this is state data that was previously stored directly in the shared memory file). Defaults tocomments-rocksdb-storagesubdirectory in the shared memory directory. You can specify an absolute path to place it in a separate directory from the one used to store the shared memory file (and thus reduce the ramdisk size required to most efficiently perform replay or sync operations). -
changes related to options useful for testing like
stop-replay-at-block(renamed tostop-at-blockalso allowing to stop processing at block received from sync),exit-at-blockallowing to stop hived process after receiving given block
🚀 I. Hardfork 28 (HF28) - Protocol Consensus Changes
These changes were implemented in the 1.27.x branch and are scheduled to be activated upon reaching the HF28 block.
| Feature Area | Change / Details | MR/Issue Reference |
|---|---|---|
| Block Size Limit | Witness-configurable block size is capped at 2MB. | Merge Request 1357 |
| Transaction Expiration | Increased the transaction expiration time for better network resilience. | Merge Request 1383 |
| HBD Treasury Inflation | HBD held in the Treasury is removed from inflation calculations. | Merge Request 1467 |
| Authority Checks | Stricter authority matching is enforced (e.g., an active authority can no longer satisfy a posting level requirement). |
Merge Request 1408, Issue 716 |
| Signature Flexibility | Redundant (ineffective) signatures are allowed. Owner/active/posting authorities required by mixed operation types can be combined in a single transaction. | Merge Request 1420 |
| Vote Limits | Vote edit limits are eliminated on posts. | Issue 458 |
| Recurrent Transfers | Multiple recurrent transfers are allowed for the same sender/receiver pair. | Issue 382 |
| Proposal Voting | Votes for invalid proposals will cause the transaction to fail. | Merge Request 1460 |
II. Incremental Release Changes (v1.27.0 to v1.27.12)
Version 1.27.1 (Hotfix)
- Fixes: Hotfix specific to the
condenser_api::get_ops_in_blockcall.
Version 1.27.2
- New Tools & Performance: Added
block_log_utiltool (Merge Request 694). Upgradedsecp256k1-zkplibrary for signature processing performance improvements (Merge Request 689). - API & RC: Added support to automatically generate RC statistics (
get_rc_stats,get_rc_operation_stats) (Merge Request 670). Improved transaction status API calls to include the optional RC cost consumed by a given transaction (Merge Request 771). - Fixes: Improved block statistics logging (Merge Request 650). Fixed slow shutdown if node was syncing (Merge Request 741).
- New Operation: Added virtual operation:
proxy_cleared_operation(Merge Request 681).
Version 1.27.3
- RC Features: Implemented minimum RC delegation feature (Merge Request 775). Improved RC cost calculation for
recurrent_transferoperations (Merge Request 803). - Fixes: Improved chain-state verification to prevent issues when a new index is added to an already filled state file (Issue 423). Fixed filtering in
database_api::list_proposal_votes(Merge Request 773).
Version 1.27.4
- Features: New virtual operations added (Merge Request 332). Prerequisites coded for strict matching of data structures to
shared_memory.binand snapshot contents (Merge Request 784). - Fixes: Fixed
hivedshutdown problems when executingbroadcast_transaction_synchronuousand when using--exit-before-sync. RC mana can no longer go under zero (Merge Request 863).
Version 1.27.5
- API Changes: All
condenser_apimethods now return result sets using the legacy JSON form (Merge Request 964). - Infrastructure: Introduced the Beekeeper tool for secure key management and signing. RC code moved closer to the chain code for future consensus preparation (Merge Request 917). New dependency on
uringlibrary to speed up file I/O (Merge Request 968).
Version 1.27.6
- Fixes: Minor release with fixes specific to P2P communication ([Merge Request 1296]https://gitlab.syncad.com/hive/hive/-/merge_requests/1296)).
Version 1.27.7
- Disk & Data Management: Introduced Pruned Block Log support via the new
block-log-splitconfiguration option. - Security & Stability: Added new options (
rc-flood-level,rc-flood-surcharge,max-mempool-size) to prevent potential transaction flooding (Merge Request 1397). - Configuration Cleanup (Deprecation):
- Removed deprecated plugins:
followsandtags. - Renamed options:
seed-node→p2p-seed-node;rpc-endpointremoved in favor of explicitwebserver-http-endpoint/webserver-ws-endpoint.
- Removed deprecated plugins:
- Functional: Hived internal default option values are now set regardless of
config.inipresence.
Version 1.27.8
- Fixes: Relaxed chain state comparison rules to facilitate seamless node upgrades (Issue 734). Fixed issues where a broken
peers.jsonfile could block P2P communication.
Version 1.27.9
- HBD treasury removed from inflation calculation (to be activated at HF28)
- vote operations pointing to nonexisting proposals will fail (to be activated at HF28)
- bugfixes in beekeeper implementation related to wallet locking
- size optimizations of Typescript version of beekeeper
Version 1.27.10
- Fixes: Fixed bugs in Account History RocksDB plugin specific to full pruned node configurations (Issue 748). Fixed bugs specific to chain state comparison after snapshot loading (Issue 749).
- Functional: Improved snapshot loading verification (Merge Request 1505). Updated the RocksDB library version to gain stability bugfixes.
Version 1.27.11
- Upgrade from Ubuntu 22.04 to Ubuntu 24.04 as base build environment
- optimization: eliminate undo sessions for blocks older than last checkpoint: https://gitlab.syncad.com/hive/hive/-/merge_requests/1498
- improvements in testing environment stability
- synced changes in fc codebase taken from bitshares repo (mostly related to thread and task support)
- improvements in hived shutdown stability
- implemented and exposed authority trace functionality from Hive Protocol to the wax library
Version 1.27.12
- introduced pool allocators to reduce shared memory allocation
- introduced comment archive to significantly reduce shared memory allocation (near to 5GB on consensus node)
- JSONRPC APIs have own swagger definitions to improve documentation and allow interactive API execution
- introduced Python and Typescript package generators based on API swagger definitions, to automate API class definition process
- reduced log spamming related to chainlock warnings
- Typescript and Python packages are published to official repositotries (NPM and PyPI)
- Defined procedure to support ARM cross - build
III. Version 1.28.0
- Final Hardfork Activation: This version includes the final consensus activation logic for Hardfork 28 (HF28), encompassing all the protocol changes listed in Section I. Initial date for HF28 activation is:
Wed Nov 19 2025 13:00:00 GMT+0000 - Codebase: Inherits all stability and feature improvements from the 1.27.x maintenance releases.