Releases: neodix42/ton
TON v2024.09-1
2024.08 Update
- Introduction of dispatch queues, message envelopes with transaction chain metadata, and explicitly stored msg_queue size, which will be activated by
Config8.version >= 8
and newConfig8.capabilities
bits:capStoreOutMsgQueueSize
,capMsgMetadata
,capDeferMessages
. - A number of changes to transcation executor which will activated for
Config8.version >= 8
:- Check mode on invalid
action_send_msg
. Ignore action ifIGNORE_ERROR
(+2) bit is set, bounce ifBOUNCE_ON_FAIL
(+16) bit is set. - Slightly change random seed generation to fix mix of
addr_rewrite
andaddr
. - Fill in
skipped_actions
for both invalid and valid messages withIGNORE_ERROR
mode that can't be sent. - Allow unfreeze through external messages.
- Don't use user-provided
fwd_fee
andihr_fee
for internal messages.
- Check mode on invalid
- A few issues with broadcasts were fixed: stop on receiving last piece, response to AdnlMessageCreateChannel
- A number of fixes and improvements for emulator and tonlib: correct work with config_addr, not accepted externals, bounces, debug ops gas consumption, added version and c5 dump, fixed tonlib crashes
- Added new flags and commands to the node, in particular
--fast-state-serializer
,getcollatoroptionsjson
,setcollatoroptionsjson
Besides the work of the core team, this update is based on the efforts of @krigga (emulator), stonfi team, in particular @dbaranovstonfi and @hey-researcher (emulator), and @loeul, @xiaoxianBoy, @simlecode (typos in comments and docs).
TON v2024.09
2024.08 Update
- Introduction of dispatch queues, message envelopes with transaction chain metadata, and explicitly stored msg_queue size, which will be activated by
Config8.version >= 8
and newConfig8.capabilities
bits:capStoreOutMsgQueueSize
,capMsgMetadata
,capDeferMessages
. - A number of changes to transcation executor which will activated for
Config8.version >= 8
:- Check mode on invalid
action_send_msg
. Ignore action ifIGNORE_ERROR
(+2) bit is set, bounce ifBOUNCE_ON_FAIL
(+16) bit is set. - Slightly change random seed generation to fix mix of
addr_rewrite
andaddr
. - Fill in
skipped_actions
for both invalid and valid messages withIGNORE_ERROR
mode that can't be sent. - Allow unfreeze through external messages.
- Don't use user-provided
fwd_fee
andihr_fee
for internal messages.
- Check mode on invalid
- A few issues with broadcasts were fixed: stop on receiving last piece, response to AdnlMessageCreateChannel
- A number of fixes and improvements for emulator and tonlib: correct work with config_addr, not accepted externals, bounces, debug ops gas consumption, added version and c5 dump, fixed tonlib crashes
- Added new flags and commands to the node, in particular
--fast-state-serializer
,getcollatoroptionsjson
,setcollatoroptionsjson
Besides the work of the core team, this update is based on the efforts of @krigga (emulator), stonfi team, in particular @dbaranovstonfi and @hey-researcher (emulator), and @loeul, @xiaoxianBoy, @simlecode (typos in comments and docs).
TON v2024.05-1
2024.04 Update
- Emulator: Single call optimized runGetMethod added
- Tonlib: a series of proof improvements, also breaking Change in
liteServer.getAllShardsInfo
method (see below) - DB: usage statistics now collected, outdated persistent states are not serialized
- LS: fast
getOutMsgQueueSizes
added, preliminary support of non-final block requests - Network: lz4 compression of block candidates (disabled by default).
- Overlays: add custom overlays
- Transaction Executor: fixed issue with due_payment collection
liteServer.getAllShardsInfo
method was updated for better efficiency. Previously, field proof contained BoC with two roots: one for BlockState from block's root and another for ShardHashes from BlockState. Now, it returns a single-root proof BoC, specifically the merkle proof of ShardHashes directly from the block's root, streamlining data access and integrity. Checking of the proof requires to check that ShardHashes in thedata
correspond to ShardHashes from the block.
Besides the work of the core team, this update is based on the efforts of @akifoq (due_payment issue).
TON v2024.05
2024.04 Update
- Emulator: Single call optimized runGetMethod added
- Tonlib: a series of proof improvements, also breaking Change in
liteServer.getAllShardsInfo
method (see below) - DB: usage statistics now collected, outdated persistent states are not serialized
- LS: fast
getOutMsgQueueSizes
added, preliminary support of non-final block requests - Network: lz4 compression of block candidates (disabled by default).
- Overlays: add custom overlays
- Transaction Executor: fixed issue with due_payment collection
liteServer.getAllShardsInfo
method was updated for better efficiency. Previously, field proof contained BoC with two roots: one for BlockState from block's root and another for ShardHashes from BlockState. Now, it returns a single-root proof BoC, specifically the merkle proof of ShardHashes directly from the block's root, streamlining data access and integrity. Checking of the proof requires to check that ShardHashes in thedata
correspond to ShardHashes from the block.
Besides the work of the core team, this update is based on the efforts of @akifoq (due_payment issue).
TON v2024.04
2024.04 Update
- Emulator: Single call optimized runGetMethod added
- Tonlib: a series of proof improvements, also breaking Change in
liteServer.getAllShardsInfo
method (see below) - DB: usage statistics now collected, outdated persistent states are not serialized
- LS: fast
getOutMsgQueueSizes
added, preliminary support of non-final block requests - Network: lz4 compression of block candidates (disabled by default).
liteServer.getAllShardsInfo
method was updated for better efficiency. Previously, field proof contained BoC with two roots: one for BlockState from block's root and another for ShardHashes from BlockState. Now, it returns a single-root proof BoC, specifically the merkle proof of ShardHashes directly from the block's root, streamlining data access and integrity. Checking of the proof requires to check that ShardHashes in thedata
correspond to ShardHashes from the block.
TON v2024.02
2024.02 Update
- Improvement of validator synchronisation:
- Better handling of block broadcasts -> faster sync
- Additional separate overlay among validators as second option for synchronisation
- Improvements in LS:
- c7 and library context is fully filled up for server-side rungetmethod
- Cache for runmethods and successfull external messages
- Logging of LS requests statistic
- Precise control of open files:
- almost instantaneous validator start
--max-archive-fd
option- autoremoval of not used temp archive files
--archive-preload-period
option
- Preparatory (not enabled yet) code for addition on new TVM instructions for cheaper fee calculation onchain.
TON v2024.01
2024.01 Update
- Fixes in how gas in transactions on special accounts is accounted in block limit. Previously, gas was counted as usual, so to conduct elections that costs >30m gas block limit in masterchain was set to 37m gas. To lower the limit for safety reasons it is proposed to not count gas on special accounts. Besides
gas_max
is set tospecial_gas_limit
for all types of transactions on special accounts. New behavior is activated through settinggas_prices_v3
inConfigParam 20;
.- Besides update of config temporally increases gas limit on
EQD_v9j1rlsuHHw2FIhcsCFFSD367ldfDdCKcsNmNpIRzUlu
tospecial_gas_limit
, see details.
- Besides update of config temporally increases gas limit on
- Improvements in LS behavior
- Improved detection of the state with all shards applied to decrease rate of
Block is not applied
error - Better error logs:
block not in db
andblock is not applied
separation - Fix error in proof generation for blocks after merge
- Improved detection of the state with all shards applied to decrease rate of
- Improvements in DHT work and storage, CellDb, config.json ammendment, peer misbehavior detection, validator session stats collection, emulator.
Besides the work of the core team, this update is based on the efforts of @XaBbl4 (peer misbehavior detection).
TON v2023.12-1
##2023.11 Update
- New TVM Functionality. (Disabled by default)
- A series of emulator improvements: libraries support, higher max stack size, etc
- A series of tonlib and tonlib-cli improvements: wallet-v4 support, getconfig, showtransactions, etc
- Changes to public libraries: now contract can not publish more than 256 libraries (config parameter) and contracts can not be deployed with public libraries in initstate (instead contracts need explicitly publish all libraries)
- Changes to storage due payment: now due payment is collected in Storage Phase, however for bouncable messages fee amount can not exceed balance of account prior to message.
Besides the work of the core team, this update is based on the efforts of @aleksej-paschenko (emulator improvements), @akifoq (security improvements), Trail of Bits auditor as well as all participants of TEP-88 discussion.
TON v2023.12
##2023.11 Update
- New TVM Functionality. (Disabled by default)
- A series of emulator improvements: libraries support, higher max stack size, etc
- A series of tonlib and tonlib-cli improvements: wallet-v4 support, getconfig, showtransactions, etc
- Changes to public libraries: now contract can not publish more than 256 libraries (config parameter) and contracts can not be deployed with public libraries in initstate (instead contracts need explicitly publish all libraries)
- Changes to storage due payment: now due payment is collected in Storage Phase, however for bouncable messages fee amount can not exceed balance of account prior to message.
Besides the work of the core team, this update is based on the efforts of @aleksej-paschenko (emulator improvements), @akifoq (security improvements), Trail of Bits auditor as well as all participants of TEP-88 discussion.
TON v2023.06
2023.05 Update
- Archive manager optimization
- A series of catchain (basic consensus protocol) security improvements
- Update for Fift libraries and FunC: better error-handling, fixes for
catch
stack recovery - A series of out message queue handling optimization (already deployed during emergency upgrades between releases)
- Improvement of binaries portability
Besides the work of the core team, this update is based on the efforts of @aleksej-paschenko (portability improvement), Disintar team (archive manager optimization) and sec3-service security auditors (funC improvements).