NB: The changelog for releases can be found at: https://tezos.gitlab.io/CHANGES.html
This file lists the changes added to each version of octez-node,
octez-client, and the other Octez executables. The changes to the economic
protocol are documented in the docs/protocols/ directory; in
particular in docs/protocols/alpha.rst.
When you make a commit on master, you can add an item in one of the
following subsections (node, client, …) to document your commit or the
set of related commits. This will ensure that this change is not
forgotten in the final changelog, which can be found in docs/CHANGES.rst.
By having your commits update this file you also make it easy to find the
commits which are related to your changes using git log -p -- CHANGES.rst.
Relevant items are moved to docs/CHANGES.rst after each release.
Only describe changes which affect users (bug fixes and new features), or which will affect users in the future (deprecated features), not refactorings or tests. Changes to the documentation do not need to be documented here either.
- Changed the compiler version to 5.2.1 and added a manual job to compile with ocaml 4.14.2. (MR :gl:`!15404`)
- Logging output on TTYs now adapt to the terminal width. (MR :gl:`!12348`)
- Logging output can now advertise the level associated to each events, by
enabling the
advertise-levelsoption in the file-descriptor sink URI. (MR :gl:`!16190`) - Removed binaries for ParisC. (MR :gl:`!16427`)
- Changed the default
history-modefromFulltoRolling. (MR :gl:`!15942`) - Introduced a specific exit code for the
octez-node upgrade storage --statuscommand. It now returns the exit code 1 when an upgrade is available. 0 is returned when the storage is up to date. (MR :gl:`!15152`) - New RPCs
/chain/{chain_id}/protocols(and/chain/{chain_id}/protocols/{protocol_hash}) to retrieve protocol activation levels of the chain. (MR :gl:`!15447`) - A new RPC
/chains/main/blocks/head/context/delegates/<pkh>/dal_participationhas been added, similar to Tenderbake's../participationRPC to track bakers' DAL activity. (MR :gl:`!16168`) - Breaking change The RPC
/chains/main/blocks/head/context/delegates/<pkh>'s result now contains a new field"dal_participation"providing DAL participation information when the DAL incentives flag is set. This introduces a breaking change for applications using the binary encoding format. (MR :gl:`!16430`) - Breaking change The output of the RPC
/chains/main/blocks/head/context/issuance/expected_issuancehas a new field"dal_attesting_reward_per_shard". (MR :gl:`!15614`)
- Registered
operation.bls_mode_unsignedencoding. (MR :gl:`!16655`) - Allow tz4 (BLS) addresses to be registered as delegate and or as consensus keys. (MR :gl:`!15302`)
- Breaking change Removed read-write commands specific to ParisC. (MR :gl:`!16431`)
- The baker emits a warning when it is started with
--dal-node, but the DAL node has no registered attester, that is, it was not started with--attester-profiles <manager_key>. (MR :gl:`!16333`) - Breaking change For
proto_alpha, providing the endpoint of a running DAL node is required for the baker to be launched, unless opted out with the newly introduced--without-daloption. (MR :gl:`!16049`) - Breaking change The baker daemon
--dal-node-timeout-percentageargument has been removed. (MR :gl:`!15554`)
- Release agnostic baker binary as experimental. (MR :gl:`!16318`)
- Use of a generic watchdog. (MR :gl:`!15508`)
- Change the binary name to
octez-experimental-agnostic-baker. (MR :gl:`!16434`) - Added a mechanism for the agnostic baker to switch on new protocol. (MR :gl:`!15305`)
- Introduced a dummy agnostic baker. (MR :gl:`!15029`)
Overview: The Agnostic Baker is a protocol-independent binary that dynamically determines and executes the appropriate baking binary based on the active protocol. It continuously monitors the blockchain state and automatically transitions to the correct binary whenever a new protocol is detected, such as during migrations or at startup.
Please note that this feature is in an EXPERIMENTAL phase, as clearly suggested by its name.
Therefore, it should NOT be used on mainnet. For further clarifications, you can consult
the README from src/bin_agnostic_baker.
- Added a new version of the protocol environment (V14). (MR :gl:`!15345`)
- Added a new version of the protocol environment (V15). (MR :gl:`!16599`)
- Fixed the Docker
octez-snapshot-importcommand to properly pass arguments to the snapshot import process. (MR :gl:`!11259`)
In the bailout mode there was a bug where the wrong key was used when recovering the bond. The node uses the
cementingkey and not theoperatingkey. (MR :gl:`!16016`).updated RPC
DELETE /admin/injector/queueswith new query to clear injector queues based on priority order. The RPC can takes two optional arguments:order_below: an integer that filters out all operations with order strictly inferior to it.drop_no_order: a boolean that if true remove all operations that has no order specified.falseby default.
When
tagis specified only operation of that type will be considered, else all operations are considered.(MR :gl:`!15929`)Added RPC
DELETE /admin/batcher/queue, which can take two optional arguments:order_below: an integer that filters all messages with order inferior to it.drop_no_order: a boolean that if true remove all messages that has no order specified.false` by default. If no ``order_belowis specified it completely clear the queue.
(MR :gl:`!15929`)
Updated RPC
/local/batcher/injectionwith a new query argument possibility. When the rpc contains"drop_duplicate": truethen the batcher will drop the messages that were already injected with a previous RPC call. If"drop_duplicate": falsethen the rollup node defaults to its the previous behavior, where messages are injected again, even if the exact same one was previously injected. By default"drop_duplicate": false. (MR :gl:`!13165`)RPC
/healthnow returns meaningful health related data to asses if the rollup node operates correctly. Old/healthRPC is renamed to/ping. (MR :gl:`!12940`)Use a local cache per game for intermediate states of dissections. (MR :gl:`!12899`)
Introduce the 5th version of the WASM PVM, which defaults to a higher tick limits to delegate refutability to the kernels. (MR :gl:`!12999`)
Trigger GC every 1000 blocks (instead of 100) by default to reduce CPU consumption. (MR :gl:`!13177`)
Default history mode is now "full". (MR :gl:`!13178`)
Allow to import archive snapshots in "full" rollup node. (MR :gl:`!13186`)
Fix a bug in how commitments are computed after a protocol migration where the the commitment period changes. (MR :gl:`!13588`)
Ensure penultimate commitment is published on snapshot export as a failsafe. (MR :gl:`!13544`)
Include commitment publication information in snapshots. (MR :gl:`!13724`)
Under-approximate publication level for cementation when it is missing. (MR :gl:`!13725`)
New metrics for the rollup node, including performance ones which can be enabled with the flag
--enable-performance-metrics(requireslsof). (MR :gl:`!12290`)Addition of
elapsed_timeto performance metrics, which exposes in seconds the time since the node started. (MR :gl:`!16551`)Rotate multiple batcher keys in injector so that they are used evenly. (MR :gl:`!14194`)
RPC
/global/block/<block_id>?outbox=truenow returns the outbox messages produced by the PVM forblock_idif the query parameteroutboxis present. (MR :gl:`!14140`)Introduce the 6th version of the WASM PVM. (MR :gl:`!14493`)
New RPC
GET /admin/cancel_gcto cancel any on-going garbage collection in the rollup node. (MR :gl:`!14693`)Refined GC for rollup node is now triggered every ~3 days to make it less wasteful on resources. Gc is not run anymore after importing an archive snapshot in a full node. (MR :gl:`!14717`)
The command
snapshot exporttries to cancel ongoing GC, if any. Add--rollup-node-endpointto specify the RPC server endpoint, if the address and port of the running node have been changed via command-line arguments. (MR :gl:`!14694`)Fixed an issue which could introduce a discrepancy between the snapshot header and its content. (MR :gl:`!14777`)
RPC
/global/block/<block_id>/outbox/<outbox_level>/messagesnow fails ifoutbox_levelis above the level ofblock_id. (MR :gl:`!14911`)Improved error messages for RPC
/global/block/<block_id>/helpers/proofs/outbox/<outbox_level>/messages?index=<message_index>. (MR :gl:`!15507`)Paginate RPC for durable storage subkeys
/global/block/<block_id>/durable/wasm_2_0_0/subkeys?key=<key>&offset=<offset>&length=<length>, with new query parametersoffsetandlength. (MR :gl:`!15625`)Fixed file descriptor leak in resto for connections with the L1 node. (MR :gl:`!15322`)
Fixed potential issue with store with SQLite < 3.35. (MR :gl:`!15631`)
Improved error messages for RPC
/global/block/<block_id>/helpers/proofs/outbox/<outbox_level>/messages?index=<message_index>. (MR :gl:`!15507`)Fix potential issue with store with SQLite < 3.35. (MR :gl:`!15631`)
New CLI switch
--unsafe-disable-wasm-kernel-checkswhich allows to bypass invalid kernel checks in the WASM VM, for use by jstz. (MR :gl:`!15910`)
- Breaking_change DAC node and client have been removed to simplify the codebase. (MR :gl:`!14862`)
- Bugfix From v21.2, the DAL node tries to recontact peers after the connection attempt failed. However, this MR fixes the timing when those attempts were made (MR :gl:`!16466`)
- Feature The DAL node stores now a peers.json file in its directory when it is shutdown with SIGINT. This file is read if it exists when starting the DAL node to restore previous known connections quickly.
- Bugfix When shutting down the DAL node using SIGINT, it does a best effort to shutdown properly its running P2P connections
- The DAL node supports a
config updatecommand to update an existing configuration. It takes the same arguments as for the other commands. (MR :gl:`!15759`) - Breaking_change The configuration value
metrics-addris now an option. It should not break unless the value differs from the default value (0.0.0.0:11733). The new default value isNone, so no metrics are exported by default. - Breaking change For the RPCs
/p2p/gossipsub/topics/peers,/p2p/gossipsub/pkhs/peers, and/p2p/gossipsub/slot_indexes/peers, the flagsubscribedis removed and a new flagallis introduced. The default behavior is now to list peers only for topics the current peer is subscribed to, while theallflag can be used to recover the previous behavior. (MR :gl:`!14518`) - Fixed file descriptor leak in resto affecting connections to the L1 node. (MR :gl:`!15322`)
- Feature The DAL node downloads trusted setup files when launched in observer
- or operator mode. (MR :gl:`!16102`)
- Added a new RPC
/last_processed_levelto retrieve the last (finalized) L1 level processed by a DAL node (MR :gl:`!16420`) - A warning is emitted when registering a public key hash (as an attester profile) that does not correspond to that of a delegate. (MR :gl:`!16336`)
- Set the message validation function at node startup, fixing https://gitlab.com/tezos/tezos/-/issues/7629. (MR :gl:`!15830`)
- A warning has been introduced in case it is observed that the DAL node lags behind the L1 node. (MR :gl:`!15756`)
- Change The DAL node store version has been upgraded from 1 to 2.
The DAL node store will automatically upgrade without requiring any
user action. For users running the DAL node with the
--operator-profileflag enabled, the node now uses SQLite specifically for managing skip list cells (MR :gl:`!15780`), preventing inode exhaustion. All other stores remain unchanged.