Releases: ton-blockchain/ton
TON v2024.12-1
2024.12 Update
- FunC 0.4.6: Fix in try/catch handling, fixing pure flag for functions stored in variables
- Merging parts of Accelerator: support of specific shard monitoring, archive/liteserver slice format, support for partial liteservers, proxy liteserver, on-demand neighbour queue loading
- Fix of asynchronous cell loading
- Various improvements: caching certificates checks, better block overloading detection,
_malloc
in emulator - Introduction of telemetry in overlays
- Use non-null local-id for tonlib-LS interaction - mitigates MitM attack.
- Adding
SECP256K1_XONLY_PUBKEY_TWEAK_ADD
,SETCONTCTRMANY
instructions to TVM (activated byConfig8.version >= 9
) - Private keys export via validator-engine-console - required for better backups
- Fix proof checking in tonlib,
hash
inraw.Message
in tonlib_api
Besides the work of the core team, this update is based on the efforts of OtterSec and LayerZero (FunC), tg:@throwunless (FunC), Aviv Frenkel and Dima Kogan from Fordefi (LS MitM), @hacker-volodya (Tonlib), OKX team (async cell loading), @krigga (emulator)
FunC 0.4.6
Fix in try/catch handling, fixing pure flag for functions stored in variables
TVM with version v9
tonNode.getOutMsgQueueProof query in public shard overlays (#1413) * tonNode.getOutMsgQueueProof query in public shard overlays * Allow responding to getOutMsgQueueProof requests one at a time only
TON v2024.10 and FunC 0.4.5
2024.10 Update
- Parallel write to celldb: substantial improvement of sync and GC speed, especially with slow disks.
- Decreased network traffic: only first block candidate is sent optimistically.
- Improved channel creation and dht lookups, introduction of semi-private overlays
- New LS dispatch queue related methods and improvement security
- Fixing recursion in TVM continuations
- Improved stats for actors, validator sessions, perf counters, overlays, adnl, rocksdb
- Migration to C++20
- Improved block size estimates: account for depth in various structures
- Fix bug with
<<
optimization in FunC - Minor changes of TVM which will be activated by
Config8.version >= 9
- Multiple minor improvements
Besides the work of the core team, this update is based on the efforts of @krigga (emulator), Arayz @ TonBit (LS security, TVM recursion), @ret2happy (UB in BLST).
TON v2024.09
2024.09 Update
- Add ratelimit for ADNL packets sent/received without channel: this type of communication requires slow asymmetric encryption and may cause issues (high memory consumption and long queues of packets to be decrypted) under load.
- Dynamic catchchain delays: reach consensus faster when possible, but reduce load if block production is difficult.
- State serialization improvement: explicitly clean the memory if serialization was canceled.
- Collator config updates: update default block collation parameters (message deferral threshold) to better match real-world load.
- Added more verbose garbage collection stats and fixed issues in LS.
TON v2024.08
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.06
2024.04 Update
- Make Jemalloc default allocator
- Add candidate broadcasting and caching
- Limit per address speed for external messages broadcast by reasonably large number
- Overlay improvements: fix dropping peers in small custom overlays, fix wrong certificate on missed keyblocks
- Extended statistics and logs for celldb usage, session stats, persistent state serialization
- Tonlib and explorer fixes
- Flags for precize control of Celldb:
--celldb-cache-size
,--celldb-direct-io
and--celldb-preload-all
- Add valiator-console command to stop persistent state serialization
- Use
@
path separator for defining include path in fift and create-state utilities on Windows only.
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).
- 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.03
2024.03 Update
- Preparatory (not enabled yet) code for pre-compiled smart-contract.
- Minor fixes for fee-related opcodes.
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.