From b2b35e4a79b29b943f28e38ac07f9f9d94fb503c Mon Sep 17 00:00:00 2001 From: Gusarich Date: Tue, 14 Oct 2025 22:28:42 +0300 Subject: [PATCH 1/2] [AI] fix: changelog.mdx --- language/func/changelog.mdx | 58 ++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/language/func/changelog.mdx b/language/func/changelog.mdx index 02a05bd0..3a9e69b7 100644 --- a/language/func/changelog.mdx +++ b/language/func/changelog.mdx @@ -1,59 +1,59 @@ --- title: "History of FunC" sidebarTitle: "Changelog" -noindex: "true" +noindex: true --- ## Initial version The initial version of FunC was developed by Telegram, but active development stopped after May 2020. -We refer to the May 2020 release as the "initial" version. +We refer to the May 2020 release as the initial version. ## Version 0.1.0 -Released in [May 2022](https://github.com/ton-blockchain/ton/releases/tag/v2022.05/). +Released in [2022-05](https://github.com/ton-blockchain/ton/releases/tag/v2022.05/). -**New features:** -- [Constants](/language/func/literals#constants) -- [Extended string literals](/language/func/literals#compile-time-built-ins) -- [Semver pragmas](/language/func/compiler-directives#%23pragma-version) -- [Includes](/language/func/compiler-directives#%23pragma-version) +### New features +- [Constants](literals#constants) +- [Compile-time built-ins](literals#compile-time-built-ins) +- [`#pragma` version](compiler-directives#pragma-version) +- [Includes](compiler-directives#%23include) -**Fixes:** +### Fixes - Resolved rare bugs in `Asm.fif`. ## Version 0.2.0 -Released in [Aug 2022](https://github.com/ton-blockchain/ton/releases/tag/v2022.08/). +Released in [2022-08](https://github.com/ton-blockchain/ton/releases/tag/v2022.08/). -**New features:** -- Unbalanced `if/else` branches, where some branches return a value while others do not. +### New features +- Unbalanced `if/else` branches, where some branches return a value while others do not -**Fixes:** -- FunC incorrectly handles `while(false)` loops [(#377)](https://github.com/ton-blockchain/ton/issues/377/). -- FunC generates incorrect code for `if/else` branches [(#374)](https://github.com/ton-blockchain/ton/issues/374/). -- FunC incorrectly returns from conditions in inline functions [(#370)](https://github.com/ton-blockchain/ton/issues/370/). -- `Asm.fif`: splitting large function bodies incorrectly interferes with inline [(#375)](https://github.com/ton-blockchain/ton/issues/375/). +### Fixes +- FunC incorrectly handles `while(false)` loops [(issue #377)](https://github.com/ton-blockchain/ton/issues/377/). +- FunC generates incorrect code for `if/else` branches [(issue #374)](https://github.com/ton-blockchain/ton/issues/374/). +- FunC incorrectly returns from conditions in inline functions [(issue #370)](https://github.com/ton-blockchain/ton/issues/370/). +- `Asm.fif`: splitting large function bodies incorrectly interferes with inline [(issue #375)](https://github.com/ton-blockchain/ton/issues/375/). ## Version 0.3.0 -Released in [Oct 2022](https://github.com/ton-blockchain/ton/releases/tag/v2022.10/). +Released in [2022-10](https://github.com/ton-blockchain/ton/releases/tag/v2022.10/). -**New features:** -- Support for [multiline `asm` statements](/language/func/functions#multiline-asms). -- Allow duplicate definitions of identical constants and `asm` statements. -- Enable bitwise operations for constants. +### New features +- Support for [multi-line `asm` statements](functions#multi-line-asms) +- Allow duplicate definitions of identical constants and `asm` statements +- Enable bitwise operations for constants ## Version 0.4.0 -Released in [Jan 2023](https://github.com/ton-blockchain/ton/releases/tag/v2023.01/). +Released in [2023-01](https://github.com/ton-blockchain/ton/releases/tag/v2023.01/). -**New features:** -- [`try/catch` statements](/language/func/statements#try-catch-statements) -- [`throw_arg` functions](/language/func/built-ins#throwing-exceptions) -- Support for in-place modification and mass assignment of global variables, e.g., `a~inc()` and `(a, b) = (3, 5)`, where `a` is global. +### New features +- [`try/catch` statements](statements#try%E2%80%A6catch-statement) +- [`throw_arg` functions](built-ins#throw-arg) +- Support for in-place modification and mass assignment of global variables, e.g., `a~inc()` and `(a, b) = (3, 5)`, where `a` is global -**Fixes:** -- Disallowed ambiguous modification of local variables after their usage in the same expression. For example, `var x = (ds, ds~load_uint(32), ds~load_unit(64));` is forbidden, while `var x = (ds~load_uint(32), ds~load_unit(64), ds);` is allowed. +### Fixes +- Disallowed ambiguous modification of local variables after their use in the same expression. For example, `var x = (ds, ds~load_uint(32), ds~load_uint(64));` is forbidden, while `var x = (ds~load_uint(32), ds~load_uint(64), ds);` is allowed. - Allowed empty inline functions. - Fixed a rare optimization bug in `while` loops. From 60c924d548eea2ebcc5016d5cd6200493f1f2489 Mon Sep 17 00:00:00 2001 From: Gusarich Date: Wed, 15 Oct 2025 10:08:40 +0300 Subject: [PATCH 2/2] chore(remark): format page-history-of-func --- language/func/changelog.mdx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/language/func/changelog.mdx b/language/func/changelog.mdx index 3a9e69b7..152b6973 100644 --- a/language/func/changelog.mdx +++ b/language/func/changelog.mdx @@ -14,12 +14,14 @@ We refer to the May 2020 release as the initial version. Released in [2022-05](https://github.com/ton-blockchain/ton/releases/tag/v2022.05/). ### New features + - [Constants](literals#constants) - [Compile-time built-ins](literals#compile-time-built-ins) - [`#pragma` version](compiler-directives#pragma-version) - [Includes](compiler-directives#%23include) ### Fixes + - Resolved rare bugs in `Asm.fif`. ## Version 0.2.0 @@ -27,9 +29,11 @@ Released in [2022-05](https://github.com/ton-blockchain/ton/releases/tag/v2022.0 Released in [2022-08](https://github.com/ton-blockchain/ton/releases/tag/v2022.08/). ### New features + - Unbalanced `if/else` branches, where some branches return a value while others do not ### Fixes + - FunC incorrectly handles `while(false)` loops [(issue #377)](https://github.com/ton-blockchain/ton/issues/377/). - FunC generates incorrect code for `if/else` branches [(issue #374)](https://github.com/ton-blockchain/ton/issues/374/). - FunC incorrectly returns from conditions in inline functions [(issue #370)](https://github.com/ton-blockchain/ton/issues/370/). @@ -40,6 +44,7 @@ Released in [2022-08](https://github.com/ton-blockchain/ton/releases/tag/v2022.0 Released in [2022-10](https://github.com/ton-blockchain/ton/releases/tag/v2022.10/). ### New features + - Support for [multi-line `asm` statements](functions#multi-line-asms) - Allow duplicate definitions of identical constants and `asm` statements - Enable bitwise operations for constants @@ -49,11 +54,13 @@ Released in [2022-10](https://github.com/ton-blockchain/ton/releases/tag/v2022.1 Released in [2023-01](https://github.com/ton-blockchain/ton/releases/tag/v2023.01/). ### New features + - [`try/catch` statements](statements#try%E2%80%A6catch-statement) - [`throw_arg` functions](built-ins#throw-arg) - Support for in-place modification and mass assignment of global variables, e.g., `a~inc()` and `(a, b) = (3, 5)`, where `a` is global ### Fixes + - Disallowed ambiguous modification of local variables after their use in the same expression. For example, `var x = (ds, ds~load_uint(32), ds~load_uint(64));` is forbidden, while `var x = (ds~load_uint(32), ds~load_uint(64), ds);` is allowed. - Allowed empty inline functions. - Fixed a rare optimization bug in `while` loops.