Skip to content

Releases: openhive-network/hive

1.27.7

14 Dec 11:33
Compare
Choose a tag to compare

Release notes

Minor release. DOES NOT REQUIRE hardfork yet.

Warning: this update changes hived state format and requires hived node replay, if you are using version 1.27.6 or earlier.

Configuration option changes

  1. The default behavior of options has changed. Previously, an option's default value would only take effect when the config.ini file was generated for the first time. In that case, the file contained explicit option assignments based on their defaults. This was misleading because it was impossible to determine later whether an option was intentionally set by the user or simply left as the default.
    Now, options without explicit assignments in the config.ini (or in application command line argument list) have internally set default value regardless of config.ini presence.

  2. Changes made in the hived configuration option set:

    1. Added new options specific to performance tweaks (to prevent transaction flood):

    2. Added option to configure a block log splitting:

      • block-log-split, defaults to 9999 and allows to automatically split monolithic block log file into 1M block chunks.

      Please note that this behavior can be troublesome if your environment has limited disk space (you need temporarily twice the size of block_log to split it).

      If you want to keep old behavior (monolithic block_log), please set this option to -1.

    3. Simplified usage of transaction status plugin and change its options:

      • removed transaction-status-track-after-block,
      • removed transaction-status-rebuild-state,

      Right now transaction status plugin relies only on transaction-status-block-depth and head block number estimation so it activates tracking automatically according to chosen depth.

    4. Removed deprecated hived plugins: follows and tags

    5. Eliminated options for deprecated plugins: https://gitlab.syncad.com/hive/hive/-/issues/649

    6. Changed p2p plugin options:

      • removed seed-node in favor to p2p-seed-node
      • removed force-validate in favor to p2p-force-validate
    7. Changed webserver plugin options:

      • rpc-endpoint option removed in favor of: webserver-http-endpoint or webserver-ws-endpoint
    8. Changes in the set of options useful for testing:

      • stop-replay-at-block has been changed to stop-at-block which also allows to stop during p2p sync (i.e. not only during replay).
      • exit-before-sync option has been replaced by exit-at-block which also allows to exit during p2p sync.
      • Removed debug plugin edit-script option

Functional changes

Implemented HF28 changes (even this version does not activate the Hardfork)

  1. Improved witness properties update (new values appeared too early) https://gitlab.syncad.com/hive/hive/-/merge_requests/1360
  2. Max block size configuration (by witnesses) can't exceed 2MB value: https://gitlab.syncad.com/hive/hive/-/merge_requests/1357
  3. Increased transaction expiration time: https://gitlab.syncad.com/hive/hive/-/merge_requests/1383
  4. Authority verification changes:
  5. Voting power changes: https://gitlab.syncad.com/hive/hive/-/issues/609
  6. Eliminate vote edit limits: https://gitlab.syncad.com/hive/hive/-/issues/458
  7. Recurrent transfer changes:
  8. Fixes related to decline_voting_rights operation: https://gitlab.syncad.com/hive/hive/-/issues/441

HF28 has been scheduled to 08. February 2025 13:00 UTC, although to make it possible another (1.28.0) version must be published. It is planned to make it backward compatible to this one (containing only version change).

New features

  1. Support for pruned block log. Hived configuration options allows to store blocks in local blockchain subdirectory as:
    • monolithic file (as previously: single block_log file),
    • split into 1M block parts what allows you to relocate files across different filesystems and symlink them in the blockchain directory
    • prunned to store latest N 1M block parts (including 0 to avoid block storage at all) Block log prunning allows to save disk space, but also reduces ability to support block_api usage and P2P communication. The hived tool is also able to perform automatically block_log split when configuration change from monolithic to split storage. The block-log-split option defaults to 9999 to enable split mode in the block storage. block_log_util tool also has been extended by support of file splitting.
  2. Hived API supports keep-alive connections: https://gitlab.syncad.com/hive/hive/-/merge_requests/1363
  3. Configuration ability preventing hived node flooding. See previously mentioned options for details.

Functional and performance improvements

  1. Better error handling in case of missing disk space to store shared memory file. Allows to see error at hived startup, instead of at random time when actual memory allocation failed during runtime processing. See https://gitlab.syncad.com/hive/hive/-/merge_requests/1372 for details

Bug fixes

  1. Fixed api_account_object::post_voting_power value returned by all database_api methods providing account properties (like find_accounts - previously hived returned incorrect data. See https://gitlab.syncad.com/hive/hive/-/merge_requests/1401 for details
  2. Fixed operation JSON format returned by condenser_api methods: https://gitlab.syncad.com/hive/hive/-/merge_requests/1381
  3. Fixed database_api.verify_account_authority call: https://gitlab.syncad.com/hive/hive/-/merge_requests/1328/diffs?commit_id=3156ddf4bf16e2f0b4742762115651010621dac3
  4. condenser_api.verify_account_authority adjusted to above changes
  5. Some DGPO properties have been updated too early: https://gitlab.syncad.com/hive/hive/-/merge_requests/1360
  6. Eliminated crash at resync: https://gitlab.syncad.com/hive/hive/-/merge_requests/1367
  7. Eliminated multi threading issues in witness plugin: https://gitlab.syncad.com/hive/hive/-/merge_requests/1268
  8. Hived shutdown fixes: https://gitlab.syncad.com/hive/hive/-/merge_requests/1418

1.27.6

07 Jul 19:23
Compare
Choose a tag to compare

No consensus changes (No HardFork Required).

No replay required when upgrading from version 1.27.5.
Replay required from versions 1.27.4 and older.

P2P Communication Stability: Resolved an issue in peer-to-peer communication where, under rare circumstances, faulty code could cause a crash.

v1.27.5

25 Apr 23:25
Compare
Choose a tag to compare

This is a minor release: 1.27.5. It does not require a hardfork nor a hived node upgrade (although it is recommended). Upgraded nodes will require a full replay.

Most of changes is specific to API nodes improvements like also this version is required by HAF node.

  1. Hive/Blockchain features/improvements
  2. New beekeeper tool that safely holds customer keys and signs Hive transactions without a need to directly access private keys:
  3. DevOps/CI improvements:
  4. Tests improvements:

and more (to be supplemented soon)

v1.27.4

11 Apr 09:29
Compare
Choose a tag to compare

Warning: this update changes hived state format and requires hived node replay, if you are using version 1.27.3 or earlier.

  1. General notes: upgrade to Ubuntu 22.04 as base supported OS: https://gitlab.syncad.com/hive/hive/-/merge_requests/838
  2. New features:
  3. Hived bugfixes:
  4. Python regression test improvements:
  5. Low level unit tests extended by suite of tests covering AH calls (prerequisites to internal code cleanup/refactoring, which will need good test base):
  6. Devops/workflow automation:

v1.27.0

21 Oct 06:11
Compare
Choose a tag to compare

Restore the prior timeshare/backup witness scheduling behavior.
Due the nature of this change it is a hardfork release.

v1.26.1

21 Oct 05:58
Compare
Choose a tag to compare

Optional bugfix release: snapshot dump and load extended by generic_index::_next_id to prevent update_proposal failures on nodes configured using snapshot.

v1.26.0

12 Oct 20:55
Compare
Choose a tag to compare

v1.25.0

15 Jun 06:34
Compare
Choose a tag to compare

Consensus changes

New command-line options

Bug fixes

New API calls

Miscellaneous changes

Miscellaneous code and documentation cleanup

The merge to master containing all changes since the last official update is here: https://gitlab.syncad.com/hive/hive/-/merge_requests/262/diffs

v1.24.8

31 Dec 09:59
Compare
Choose a tag to compare
Release v1.24.8 (fixes for API nodes).

Eclipse

21 Sep 21:22
Compare
Choose a tag to compare

Hardfork date set for Oct 6th, 2020.

New command-line options:

  • --dump-snapshot snapshot_name
  • --load-snapshot snapshot_name
  • --snapshot-root-dir directory_for_storing_snapshots (creates directory if it doesn't already exist)
  • --exit-after-replay

Node management improvements

  • Snapshot dump/load: A node’s state information can be stored to disk, then used to setup a new node, without requiring a time-consuming replay of the blockchain. Snapshots are stored in the snapshot root directory as a subdirectory with the snapshot name supplied when creating the snapshot. By default, the snapshot root directory is a directory called snapshot in the application's data directory.
  • Replays can be stopped via Ctrl-C and resumed. To resume an interrupted replay, relaunch hived, and hived will auto-resume the replay if the state's headblock is less than the block_log's headblock.

Performance Improvements

  • A full replay currently takes 16-18 hours. Previously this took several days.
  • Huge reduction in memory requirements. A fully featured API node now only requires 16GB RAM.
  • New virtual operations to supply more information to hivemind and other microservices:

Governance changes

  • Hive must be staked for 30 days before it counts towards witness and proposal voting tallies.

Updates to Decentralized Hive Fund

Miscellaneous changes

  • Airdrop for accounts voted for via proposal system.
  • Major rebranding, replace all Steem/SBD references with Hive/HBD
  • Updated code to allow for major release version changes (e.g. 0.23.0 → 1.24.0)
  • Chain id changed from 0x0000… to 0xBEEABODE…
  • Improved validate_invariants to detect any future code changes that might leave the ledger in an inconsistent state.

Long-standing bug fixes

  • Fixed bugs in node shutdown (by Ctrl+C) that led to intermittent crashes at shutdown.
  • Fixed fc bug unpacking flat sets that resulted in bug when restoring a snapshot.

And much more

See https://gitlab.syncad.com/hive/hive/-/releases for details on minor version releases.