Releases: ton-blockchain/ton
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 caunt gas on special accounts separately. Besides
gas_max
is set tospecial_gas_limit
for all types of transactions on special accounts. New behavior is activated through settingversion >= 5
inConfigParam 8;
.- 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
- Fix most of
block is not applied
issues related to sending too recent block in Proofs - LS now check external messages till
accept_message
(set_gas
).
- 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.
- Change in CTOS and XLOAD behavior activated through setting
version >= 5
inConfigParam 8;
:- Loading "nested libraries" (i.e. a library cell that points to another library cell) throws an exception.
- Loading a library consumes gas for cell load only once (for the library cell), not twice (both for the library cell and the cell in the library).
XLOAD
now works differently. When it takes a library cell, it returns the cell that it points to. This allows loading "nested libraries", if needed.
Besides the work of the Core team, this update is based on the efforts of @XaBbl4 (peer misbehavior detection) and @akifoq (CTOS behavior and gas limit scheme for special accounts).
TON v2023.12
- Optimized message queue handling, now queue cleaning speed doesn't depend on total queue size
- Cleaning delivered messages using lt augmentation instead of random search / consequtive walk
- Keeping root cell of queue message in memory until outdated (caching)
- Changes to block collation/validation limits
- Stop accepting new external message if message queue is overloaded
- Introducing conditions for shard split/merge based on queue size
Read more on that update.
TON v2023.11
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.10
TON v2023.06
2023.06 Update
- (disabled by default) New deflation mechanisms: partial fee burning and blackhole address
- Storage-contract improvement
Besides the work of the core team, this update is based on the efforts of @dearjohndoe from Tonbyte (Storage-contract improvement).
TON v2023.05 and FunC 0.4.4
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).
TON 2023.04 and FunC 0.4.3
2023.04 Update
- CPU load optimization: previous DHT reconnect policy was too aggressive
- Network throughput improvements: granular control on external message broadcast, optimize celldb GC, adjust state serialization and block downloading timings, rldp2 for states and archives
- Update for Fift (namespaces) and Fift libraries (list of improvements: #631)
- Better handling of incorrect inputs in funC: fix UB and prevent crashes on some inputs, improve optimizing int consts and unused variables in FunC, fix analyzing repeat loop. FunC version is increase to 0.4.3.
listBlockTransactionsExt
in liteserver added- Tvm emulator improvements
Besides the work of the core team, this update is based on the efforts of @krigga (tvm emulator improvement), @ex3ndr (PUSHSLICE
fift-asm improvement) and sec3-service security auditors (funC improvements).
TON 2023.03 and FunC 0.4.2
03.2023 Update
- Improvement of ADNL connection stability
- Transaction emulator support and getAccountStateByTransaction method
- Fixes of typos, undefined behavior and timer warnings
- Handling incorrect integer literal values in funC; funC version bumped to 0.4.2
- FunC Mathlib
TON 2023.01 and FunC 0.4.1
- Added ConfigParam 44:
SuspendedAddressList
. Upon being set this config suspends initialisation of uninit addresses from the list for given time. - FunC:
v0.4.1
added pragmas for precise control of computation order - FunC: fixed compiler crashes for some exotic inputs
- FunC: added legacy tester, a collection of smart-contracts which is used to check whether compilator update change compilation result
- Improved archive manager: proper handling of recently garbage-collected blocks
TON 2022.12 and FunC 0.4.0
Node update:
- Improvements of ton-proxy: fixed few bugs, improved stability
- Improved collator/validator checks, added optimization of storage stat calculation, generation and validation of new blocks is made safer
- Some previously hard-coded parameters such as split/merge timings, max sizes and depths of internal and external messages, and others now can be updated by validators through setting ConfigParams. Max contract size added to configs.
- Tonlib: updated raw.getTransactions (now it contains InitState), fixed long bytestrings truncation
- abseil-cpp is updated to newer versions
- Added configs for Token Bridge
- LiteServers: a few bug fixes, added liteServer.getAccountStatePrunned method, improved work with not yet applied blocks.
- Improved DHT: works for some NAT configurations, optimized excessive requests, added option for DHT network segregation.
- FunC v0.4.0: added try/catch statements, added throw_arg functions, allowed in-place modification of global variables, forbidden ambiguous modification of local variables after it's usage in the same expression.
- TON Storage: added storage-daemon (create, download bag of Files, storage-provider staff), added storage-daemon-cli
Besides the work of the core team, this update is based on the efforts of @vtamaraΒ (help with abseil-cpp upgrade), @krigga(in-place modification of global variables) and third-party security auditors.