Skip to content

Releases: AntelopeIO/spring

Spring v2.0.0-dev1.1

24 Jul 15:39
9f942af
Compare
Choose a tag to compare
Spring v2.0.0-dev1.1 Pre-release
Pre-release

Spring v2.0.0-dev1.1 changes the behavior of get_sender() in sync calls based on developer feedback. See #1738 for details. For compatibility with the live developer preview testnet this modification is being done as a temporary protocol feature for the dev1 release. Future releases will include this new behavior in the SYNC_CALL protocol feature.

Nodes connected to the developer preview testnet will need to upgrade to this release. Nodes on private or local testnets should activate GET_SENDER_FIX to get the updated behavior.

Warning

This is a Developer Preview release, intended for testing and feedback only. Future releases will contain breaking changes. Data files created by 2.0.0-dev1.1 (such as block logs, snapshots, state history logs, etc) will not necessarily be compatible with any future releases. 2.0.0-dev1.1 should not be used on chains other than chains specifically testing the 2.0.0-dev1.1 preview release.

Full Changelog

Contributors

Special thanks to the contributors that submitted patches for this release:

Spring v2.0.0-dev1

16 Jul 16:04
dc95de4
Compare
Choose a tag to compare
Spring v2.0.0-dev1 Pre-release
Pre-release

Spring v2.0.0-dev1 is the first developer preview release of the Spring 2.0 series, focussing on the initial introduction of Sync Calls for developer feedback.

Warning

This is a Developer Preview release, intended for testing and feedback only. Future releases will contain breaking changes. Data files created by 2.0.0-dev1 (such as block logs, snapshots, state history logs, etc) will not necessarily be compatible with any future releases. 2.0.0-dev1 should not be used on chains other than chains specifically testing the 2.0.0-dev1 preview release.

Sync Calls Overview

Sync Calls introduce a new mechanism for smart contracts to synchronously call other contracts and receive a return value, enabling more expressive and modular contract design.

This release includes:

  • Protocol Feature Activation: Sync Calls are gated behind a protocol feature (sync_call) and require activation by Block Producers.
  • New Host Functions: Includes call(), get_call_data(), and set_call_return_value() for performing and managing sync calls inside contract code.
  • Return Value Support: Sync calls can pass and receive binary-encoded values up to configural size limit (default 512 KB).
  • Nested and Recursive Calls: Contracts can perform nested sync calls up to a configurable max depth (default 16).
  • Entry Point Validation: Contract deployment checks for valid sync_call() entry points and signature correctness.
  • Resource Limits and Config: Introduces chain_config_v2 and snapshot_v9, allowing on-chain governance of call depth and data size limits.
  • Access Scope Enforcement: Supports enforcing read-only contexts and privileged access within sync calls.
  • Host Function Constraints: Action-specific host functions (e.g. send_inline) are restricted within sync calls to prevent side effects.
  • Console Tracing: Console output from sync calls is captured and displayed in a structured hierarchy for better debugging.
  • Call Traces: Each sync call is tracked via structured call traces with full metadata, returned as part of the action trace.

Note

In order to use Sync Calls in smart contracts, you will need to use CDT v5.0.0-dev1.

For details on how to use the new Sync Calls features, please see the Developer's Guide to Sync Calls.

Platform Support

Spring 2.0.0 no longer supports Ubuntu 20.04.

Changes

New Sync Calls Feature
  • SC: SYNC_CALL protocol feature definition and registration by @linh2931 in #1222
  • SC: Implement boilerplate code for new host functions call, get_call_data, and set_call_return_value by @linh2931 in #1238
  • SC: Merge main to sync_call 03-06-25 by @linh2931 in #1241
  • SC: Implement the core functionalities of sync calls by @linh2931 in #1251
  • SC: Introduce chain_config_v2 and snapshot_v9 for max_sync_call_depth and max_sync_call_data_size by @linh2931 in #1257
  • SC: Implement get_call_data, set_call_return_value and get_call_data host functions by @linh2931 in #1258
  • SC: Validate sync call entry point by @linh2931 in #1266
  • SC: Tests for sync calls without parameters, not returning a value, or returning a 0-length value by @linh2931 in #1300
  • SC: privilege support by @linh2931 in #1311
  • SC: Enforce host function preconditions for sync calls by @linh2931 in #1296
  • SC: enforce max_sync_call_depth for nested and recursive sync calls by @linh2931 in #1285
  • SC: Introduce host_context class as the interface to the host and as the base class for apply_context and sync_call_context by @linh2931 in #1273
  • SC: Merge main branch into sync call branch (4/7/2025) by @linh2931 in #1326
  • SC: add support for v9 snapshots to spring-util snapshot info by @spoonincode in #1327
  • SC: Hide max_sync_call_depth and max_sync_call_data_size in the return value of get_consensus_parameters if sync_call protocol feature is not activated by @linh2931 in #1331
  • SC: Merge main branch into sync_call branch (4-11-25) by @linh2931 in #1364
  • SC: save & restore GS register to allow nested EOS VM OC executors by @spoonincode in #1382
  • SC: A new approach to managing Wasm allocators in controller by @linh2931 in #1346
  • SC: Merge release/2.0 into sync_call branch (4-18-25) by @linh2931 in #1406
  • SC: Support read only sync call by @linh2931 in #1404
  • SC: point to head of eos-vm sync_call branch by @linh2931 in #1417
  • SC: Implement sync call trace by @linh2931 in #1333
  • SC: Fix read_only flag in call traces and make code cleaner in read only processing by @linh2931 in #1410
  • SC: Make sure return value is retained if set_call_return_value() is called before eosio_exit() by @linh2931 in #1427
  • SC: Add SHiP support for sync call traces by @linh2931 in #1340
  • SC: Merge release/2.0 to sync_call (4/29/25) by @linh2931 in #1466
  • SC: Implement EOSVM-OC support for sync calls by @linh2931 in #1378
  • SC: Implement memory pools with variable-sized memory slices for OC by @linh2931 in #1451
  • SC: Revert entry point validation by @linh2931 in #1453
  • SC: Sync call entry point validation for eosvm, eosvm-jit, and eosvmoc by @linh2931 in #1455
  • SC: Support sync_call entry point function to return execution status by @linh2931 in #1525
  • SC: Revert SHiP Support for call_trace by @linh2931 in #1556
  • SC: Support call trace deserialization in ABI serializer by @linh2931 in #1576
  • SC: Set up infrastructure for writing sync call tests using contracts in C++ by @linh2931 in #1591
  • SC: Pretty print sync call consoles from contract in call hierarchy by @linh2931 in #1641
  • SC: Add comprehensive tests using test-contracts in C++ by @linh2931 in #1651
  • SC: Support long sync call names by @linh2931 in #1701
  • SC: Cleos support of displaying call traces and console logs by @linh2931 in #1724
  • SC: Support consolidated single sync call ABI section by @linh2931 in #1725
  • SC: Add sync calls to deep mind log by @linh2931 in #1439
Cleos Enhancements
P2P Enhancements
Miscellaneous Enhancements
  • [2.0.0-dev] Add support for bitset serialization in abi_serializer. by @greg7mdp in #1531
  • Updated docs with nodeos --help output by @heifner in #1459
  • add missing check for MAX_NUM_ARRAY_ELEMENTS in the std::array pack/unpack. Also c++20 syntax update. by @greg7mdp in #1443
  • Support truncate-at-block with terminate-at-block by @heifner in #1457
  • [2.0.0-dev] Add a rethrow() to fc::exception to preserve exception type by @heifner in #1535
  • [2.0.0-dev] Generate new snapshot on fork by @heifner in #1538
  • remove unused to/from variant, to/from base58, and pack/unpack for some key types by @spoonincode in #1560
  • Add support for fixed size arrays in abi_se...
Read more

Spring v1.2.1

10 Jul 19:44
42b514a
Compare
Choose a tag to compare

Spring v1.2.1 is a non-breaking patch release focused on stability improvements in P2P synchronization, error handling, and testing resilience.


Notable Changes

  • TraceAPI Fix for Snapshot-Based Transactions
    TraceAPI can now correctly locate transactions after starting from a snapshot, improving traceability across restarts.

  • Error Reporting on Invalid Blocks
    Node now logs clear error messages for invalid blocks, enhancing observability and debugging.

  • Improve Catchup Sync Reliability
    Prevent disconnects during catchup sync when a peer’s requested block isn't available, avoiding unnecessary disconnects and retries.

  • Fix Sync Spamming for Rejected Blocks
    Prevent spamming a syncing node with the same range of blocks when there is a rejected block.


Changes

  • #1700: TraceAPI: Fix for finding trx after starting from snapshot
  • #1672: Report error on invalid block
  • #1663: P2P: Do not disconnect on catchup sync for unavailable block
  • #1676: P2P: Fix repeated sync request on rejected blocks
  • #1649: Add -latomic to link dependencies
  • #1647: Test: Modify sync test to sync from the same node
  • #1657: Test: Do not error when there is an incoming connection
  • #1659: Test: Wait on node to stop advancing LIB
  • #1707: Test: Allow more time for node to startup and sync

Full Changelog

Spring v1.2.0

24 Jun 13:52
39780b5
Compare
Choose a tag to compare

Spring v1.2.0 is a minor release that enhances node connectivity, resilience, and operational simplicity of Spring nodes. The most notable new feature is Gossip-based Auto-peering for Block Producers.

Notes on Gossip-Based BP Auto-Peering

Spring v1.2.0 introduces a powerful new networking feature: gossip-based auto-peering for block producers. This system eliminates the need for manual peer configuration by enabling BPs to dynamically discover and connect to each other using authenticated gossip messages. The result is a self-healing consensus mesh that adapts gracefully to changes in the network—such as node redeployments, hard forks, or producer schedule changes—without requiring human coordination.

Registering BP Peering Keys

This feature requires the deployment of vaultafoundation/system-contracts v3.9.0 or later, which introduces the ability for BPs to register on-chain peering keys using the regpeerkey action. These keys are used to sign and validate gossip messages securely.

Configuring Gossip Peering

Block Proposers that wish to participate in the gossip mesh, must declare its public presence using one or more --p2p-bp-gossip-endpoint entries.

Up to 8 active gossip entries per producer are supported. These entries are signed, gossiped to other participating peers, and refreshed every 30 minutes. Expired entries are pruned automatically after 1 hour.

Monitoring and Debugging

To inspect currently known BP gossip peers, Spring exposes a new API, /v1/net/bp_gossip_peers, which returns the list of active gossip entries, including each peer's identity, endpoint, and expiration timestamp—useful for diagnostics or generating dynamic firewall rules.

Setup Instructions

For complete instructions on how to participate in BP Gossip-based BP Auto-peering, please see: https://github.com/AntelopeIO/spring/wiki/BP-Gossip-Peering-Instructions

Other Notable Changes

While gossip-based BP auto-peering is the headline feature of Spring v1.2.0, several other important improvements and fixes have also landed in this release:

IPv6 Support Restored
Fixed a regression in IP address parsing introduced in v1.1, fully restoring IPv6 compatibility in the net_plugin.

Improved OC Compile Scheduling
Optimized the handling of WebAssembly OC compiles by switching to an unbounded result queue and proactively releasing memory, reducing potential latency and memory overhead.

Agent Name in P2P Logs
Introduced support for a custom agent-name string in peer log formatting to help operators better identify connections.

Complete Change Log

Enhancements
Bug Fixes
Logging
Documentation
Other
Read more

Spring v1.2.0-rc3

11 Jun 15:24
1409213
Compare
Choose a tag to compare
Spring v1.2.0-rc3 Pre-release
Pre-release

Spring v1.2.0-rc3 further refines the block producer gossip protocol.


🔧 Notable Changes

  • Relaxed Gossip Endpoint Uniqueness
    Updated uniqueness checks for p2p-bp-gossip-endpoint to focus on the tuple [bp-account, outbound-IP], allowing duplicate server endpoints under controlled conditions.

  • Endpoint Address Trimming
    Enforced trimming of leading/trailing spaces in gossip endpoint configurations and peer hostnames to prevent connection errors due to stray whitespace.

  • Restored IPv6 Support
    Fixed the broken IPv6 parsing logic by correctly handling and trimming bracketed addresses, restoring full IPv6 compatibility in net_plugin.


📝 Complete Change Log

Enhancements

  • P2P: agent-name — Changed default agent name to “Spring Agent” ([#1551])
  • P2P: Allow p2p‑bp‑gossip‑endpoint with duplicate server addresses — Relaxed uniqueness enforcement by outbound IP ([#1596])
  • P2P: Trim addresses — Auto-trims whitespace from configured endpoints and peer hostnames ([#1597])
  • Rebrand Updates — BIOS Boot tutorial rebranded to Spring identity ([#1536])


Bug Fixes

  • P2P: Fix IPv6 support — Restored proper IPv6 parsing and bracket handling in address strings ([#1594], [#1595])
  • Handle block log exception during replay — Improved resilience to block log failures during chain replay ([#1547])


Tests

  • Test: Wait on the correct head value — Fixed tests to ensure accurate block head references ([#1529])
  • Test: Relax hard thread test — Loosened multi-threading constraints for test stability ([#1530])
  • Test: Reduce throttle speed — Adjusted throttle delays for more permissive testing ([#1555])
  • Test: Wait for pause to take effect — Enhanced timing in test workflows for pause/resume functionality ([#1565])
  • TraceAPI: Add core.vaulta.abi and update eosio.* abis — Expanded ABI coverage in Trace API tests ([#1571])


Full Changelog: v1.2.0-rc2...v1.2.0-rc3

Spring v1.2.0-rc2

15 May 19:51
3bfd336
Compare
Choose a tag to compare
Spring v1.2.0-rc2 Pre-release
Pre-release

Note

1.2.0-rc2 changes the bp peering gossip protocol in ways that are incompatible with v1.2.0-rc1.

Spring v1.2.0-rc2 introduces significant advancements in the BP gossip protocol, enhancing peer discovery, connectivity, and network resilience. These updates build upon the dynamic auto-peering system introduced in v1.2.0-rc1, further streamlining block producer operations and network configuration.

Notable Changes

  • Enhanced BP Gossip Endpoint Configuration
    Introduced the --p2p-bp-gossip-endpoint option, allowing block producers to specify their account name, advertised inbound endpoint, and outbound IP address. This facilitates dynamic peer discovery and simplifies firewall configurations.

  • BP Peer Entry Expiration Mechanism
    Implemented an expiration system for BP peer entries, ensuring outdated information is purged and the network maintains up-to-date peer data. Entries expire after one hour, with updates propagated every 30 minutes.

  • Increased BP Peer Entry Limit
    Expanded the maximum number of BP peer entries per producer from 4 to 8, accommodating more complex network topologies and enhancing connectivity options.

  • New API Endpoint for BP Gossip Peers
    Added the /v1/net/bp_gossip_peers API endpoint, providing real-time access to the current set of known BP gossip peers, aiding in monitoring and diagnostics.

  • Agent Name Inclusion in Peer Logs
    Extended the peer-log-format option to include the agent name, offering clearer identification in peer log statements and facilitating debugging.

  • Versioned Signed BP Peer Messages
    Adopted a versioned structure for signed_bp_peer messages, paving the way for future enhancements while maintaining backward compatibility.


What's Changed

  • [1.1.4] Bump version to 1.1.4 by @heifner in #1435
  • [1.1.4 -> 1.2.0-rc1] Bump version to 1.1.4 by @heifner in #1437
  • [1.1.5] fix state history race on disconnect: drain session strand before destroying session by @spoonincode in #1446
  • [1.1.5 -> 1.2.0-rc2] fix state history race on disconnect: drain session strand before destroying session by @spoonincode in #1448
  • [1.1.5] Fix OC scheduling of compiles by @heifner in #1447
  • [1.1.5 -> 1.2.0-rc2] Fix OC scheduling of compiles by @heifner in #1458
  • [1.1.5] Version bump to v1.1.5 by @heifner in #1463
  • [1.2.0-rc2] github org rename to vaultafoundation/system-contracts by @ericpassmore in #1462
  • [1.1.5 -> 1.2.0-rc1] Version bump to v1.1.5 by @heifner in #1465
  • [1.2.0-rc2] Updated docs with latest nodeos --help output by @heifner in #1469
  • [1.2.0-rc2] Additional logging of unapplied trxs by @heifner in #1473
  • [1.2.0-rc2] use more portable __builtin_bswap64() by @spoonincode in #1478
  • [1.2.0-rc2] mark a couple variables used only for assert() as [[maybe_unused]] to avoid warning by @spoonincode in #1479
  • [1.2.0-rc2] fix build of api_tests on platforms without OC by @spoonincode in #1480
  • [1.2.0-rc2] Migrate Performance Test Harness Actions to @v4 by @ericpassmore in #1481
  • [1.2.0-rc2] Performance Workflow Move Upload Out of Build Dir by @ericpassmore in #1494
  • [1.2.0-rc2] Fix logging of failed trx by @heifner in #1498
  • [1.2.0-rc2] fix race on creation of TestLogs directory in TestHarness Utils by @spoonincode in #1490
  • [1.2.0-rc2] P2P: Gossip BP peer enhancements by @heifner in #1503
  • [1.2.0-rc2] P2P: Versioned signed type for gossip_bp_peers_message::signed_bp_peer by @heifner in #1512
  • [1.2.0-rc2] bump version to 1.2.0-rc2 by @spoonincode in #1521

Full Changelog: v1.2.0-rc1...v1.2.0-rc2

Spring v1.1.5

29 Apr 20:09
1335621
Compare
Choose a tag to compare

Spring v1.1.5 is a patch release focused on improving system stability.

Notable Changes

  • Resolved State History Race Condition on Disconnect
    Addressed a race condition in the state_history plugin that could lead to undefined behavior during session teardown by ensuring all pending asynchronous operations are drained before destruction.

  • Improved OC Compile Reliability
    Fixed a condition where in some cases OC would stop compiling new contracts resulting in reduced performance.

Complete Change Log

Bug Fixes

Miscellaneous

Contributors

Full Changelog: v1.1.4...v1.1.5

Spring v1.2.0-rc1

23 Apr 18:05
d7b3bd5
Compare
Choose a tag to compare
Spring v1.2.0-rc1 Pre-release
Pre-release

Warning

The variant of the bp peering gossip protocol in v1.2.0-rc1 is unsupported and will be superceded by 1.2.0-rc2.

v1.2.0-rc1 introduces a major advancement in peer-to-peer networking with the rollout of a gossip-based block producer auto-peering system. This feature enables block producers to dynamically discover and connect with each other, forming a resilient consensus mesh that adapts to changes such as new node deployments, protocol hard fork upgrades, or ranking shifts — eliminating the need for manual connection configuration.

Notable Changes

Gossip-Based Auto-Peering for Block Producers
Introduces automated discovery and connection among block producers using a gossip protocol, enhancing network resilience and reducing manual configuration.

Elimination of Duplicate P2P Connections
Enhances network efficiency by preventing redundant peer connections, ensuring optimal resource utilization.

Expanded P2P Buffer Sizes
Increases send and receive buffers to 1MB, improving throughput and reducing latency in peer communications.

Enhanced Peer Logging Options
Configurable peer log formats, Provide more flexibility and clarity in monitoring peer interactions.

Snapshot Information Utility
Added a spring-util command to print snapshot information.

Complete Change Log

Here is the categorized list of the provided pull requests:


Enhancements

  • PR #1208: Add new peer log format options.
  • PR #1244: Update P2P auto block producer peer for Savanna.
  • PR #1237: Add spring-util command to print snapshot info.
  • PR #1228: Retrieve peers' public keys from chainbase database.
  • PR #1250: Add --dry-run option for push action.
  • PR #1284: Hide max_action_return_value_size in get_consensus_parameters when feature not activated.
  • PR #1308: Eliminate duplicate P2P connections.
  • PR #1328: Allow interruption of read-only transactions via ctrl-c.
  • PR #1316: Update peer_keys_db_t to match changes in eos-system-contracts PR 185.
  • PR #1330: Interrupt speculative transaction when block is received.
  • PR #1385: Log if not producing because of stale production
  • PR #1399: Do not interrupt apply_block on a received block if applying to head


Optimizations

  • PR #1148: Store packed block in signed_block to improve performance.
  • PR #1164: Validate finality mroot of Savanna blocks as part of header validation.
  • PR #1206: Improve hash function for chain::name.
  • PR #1207: Increase P2P send/receive buffer to 1MB.
  • PR #1223: Avoid thread hop on incoming blocks.
  • PR #1367: Add missing std::move() calls and use variants type consistently.
  • PR #1403: Optimize fork database open/read
  • PR #1412: use a global merkle thread pool to avoid creation and destruction of threads every block
  • PR #1415: Avoid copying action when computing action digest


Bug Fixes

  • PR #1159: Bump bls12-381 submodule to fix its assembly usage.
  • PR #1271: Change log message when computing integrity hash.


Tests

  • PR #1168: Add common method for registering different test types.
  • PR #1178: Switch to using eos-system-contracts in libtester tests.
  • PR #1249: Bump sanitizers to clang20.
  • PR #1270: Fix incorrect names (preActivate instead of activate) and add debugging info.
  • PR #1275: Reduce performance test number of read-only transactions to reduce CI/CD strain.
  • PR #1272: Do not exit on error when evaluating fork.
  • PR #1274: Ensure finalizercNode is synced up before killing node0.


Other

  • PR #1230: Remove unneeded static variable reference.
  • PR #1246: Avoid memset and memcpy on non-trivially copyable fc::variant to eliminate warnings.
  • PR #1264: Bump bn256 submodule with minor changes related to C++20, CI, and BMI2 usage.
  • PR #1294: Replace leftover instance of "EOSIO" with "Spring" in cleos help text.
  • PR #1295: Remove empty file.
  • PR #1357: Use std::future directly with asio, removing the need for std::packaged_task.
  • PR #1374: Add vaulta_genesis file
  • PR #1395: Allow any executor for post_async_task()
  • PR #1396: Remove C++20 ifdefs in merkle.hpp
  • PR #1402: Update logging.json GELF example


Full Changelog: v1.1.3...v1.2.0

Spring v1.1.4

23 Apr 18:01
ce3ceda
Compare
Choose a tag to compare

Spring v1.1.4 delivers critical improvements to fork handling and snapshot consistency, enhancing node stability and reliability during chain reorganizations. This release also includes several test optimizations to improve CI/CD robustness and reduce flakiness.


Notable Changes

  • Snapshot Fork Detection Fix
    Resolved an issue where snapshots were not correctly identified as forked out, ensuring accurate chain state management during forks.

  • Fork Switch Stability Enhancement
    Addressed a potential process block interruption during fork switches, improving node stability during chain reorganizations.


Complete Change Log

Bug Fixes


Tests



Full Changelog: v1.1.3...v1.1.4

Spring v1.1.3

09 Apr 01:06
07d931f
Compare
Choose a tag to compare

Spring v1.1.3 brings several bug fixes and ensures the new core.vaulta token contract will run with optimized performance.

Notable Changes

  • Added 'vaulta' to EOS VM OC Whitelist: Expanded the default whitelist to include 'vaulta', to ensure that the new core.vaulta token contract will run with optimized performance.

  • Limited 'read-only-read-window-time-us' Parameter: Restricted the 'read-only-read-window-time-us' setting to 200ms to prevent issues with repeated retries of read-only transactions.

  • Fixed Node Stuck in Head Catchup: Resolved an issue where nodes could become stuck in head catchup state due to null connection handling.

Complete Change Log

Enhancements

  • Add 'vaulta' to default EOS VM OC whitelist: Expanded the default whitelist to include 'vaulta'. #1335


Bug Fixes

  • P2P: Fix node stuck in head catchup: Resolved an issue causing nodes to remain in head catchup state. #1240

  • Ignore block CPU limit for read-only transactions: Ensured read-only transactions are not constrained by block CPU limits. #1288

  • Correctly handle 'onblock' interrupt: Improved handling of 'onblock' interruptions. #1307

  • Reduce max 'read-only-read-window-time-us': Limited the 'read-only-read-window-time-us' parameter to 200ms. #1322


Logging

  • Retry 'setfinalizer' on failure: Implemented retries for 'setfinalizer' upon failure. #1315


Tests

  • Do not exit on error when evaluating fork: Modified test behavior to continue despite errors during fork evaluation. #1280

  • Ensure 'finalizercNode' is synced before killing 'node0': Added synchronization checks before terminating 'node0'. #1281

  • Reduce performance test number of read-only transactions: Decreased the number of read-only transactions in performance tests to reduce strain on CI/CD. #1282

  • Test fix: Handle case where 'nodeos' shuts down before replying to HTTP request: Improved test handling for 'nodeos' shutdown scenarios. #1299

  • Test fix: Kill node before end of 'defproducerb' to allow more tolerance: Adjusted test procedures to terminate nodes earlier for increased tolerance. #1302

  • Test fix: Better handle case where block not available: Enhanced test handling for scenarios where blocks are unavailable. #1305

  • Test fix: Decrease 'max_block_cpu_usage' and 'max_transaction_cpu_usage' values: Reduced CPU usage limits in tests for better performance. #1287


Full Changelog: v1.1.2...v1.1.3