Skip to content

1.27.7

Latest
Compare
Choose a tag to compare
@Gandalf-the-Grey Gandalf-the-Grey released this 14 Dec 11:33

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