Добавить в корзинуПозвонить
Найти в Дзене
TON Adoption

Tonkeeper 4.7.0: разбор changelog релиз-кандидата

Tonkeeper выкатил v4.7.0-rc.2 — второй релиз-кандидат ветки 4.7. В changelog две главные строчки: фикс уязвимости подписи данных (TK-1104) и каркас встроенной аналитики (TK-1046). Остальное — UX-полировка: CLDR-плюрализация числа кошельков, скелетон вместо «$0» во время загрузки баланса, переработанный поиск токенов в свапе и удаление легаси-виджета web-swap-widget. До этой ветки 22 мая команда выпустила короткий hotfix v4.6.1, который правил расчёт комиссии (TK-1026) и приводил в порядок deeplinks. Ниже — построчная сборка по официальным release notes на GitHub: что именно прилетело, что это значит для пользователя и почему 4.7.0 пока ещё не stable. Список ниже — дословный набор пунктов из release notes на GitHub, сгруппированный по смыслу. Tonkeeper не комментирует в release notes, какие именно метрики собираются и куда уходят. Если приватность критична — стоит дождаться публичного объяснения от команды или включения opt-out тумблера. Сама по себе телеметрия не равна «сливу данных»,
Оглавление

Tonkeeper 4.7.0: разбор changelog релиз-кандидата

Tonkeeper выкатил v4.7.0-rc.2 — второй релиз-кандидат ветки 4.7. В changelog две главные строчки: фикс уязвимости подписи данных (TK-1104) и каркас встроенной аналитики (TK-1046). Остальное — UX-полировка: CLDR-плюрализация числа кошельков, скелетон вместо «$0» во время загрузки баланса, переработанный поиск токенов в свапе и удаление легаси-виджета web-swap-widget.

До этой ветки 22 мая команда выпустила короткий hotfix v4.6.1, который правил расчёт комиссии (TK-1026) и приводил в порядок deeplinks. Ниже — построчная сборка по официальным release notes на GitHub: что именно прилетело, что это значит для пользователя и почему 4.7.0 пока ещё не stable.

TL;DR

  • TK-1104 — закрыта дыра в проверке домена manifest и в операции signData, через которую можно было выдать себя за чужой dApp.
  • TK-1046 — добавлена телеметрия (analytics + analytics schema + analytics transfer); это инфраструктура, а не пользовательская фича.
  • Свап обновлён — новый API-клиент и сортировка в поиске токенов; старый встраиваемый web-swap-widget удалён из кодовой базы.
  • Корректная плюрализация числа кошельков по правилам CLDR (важно для русского с его «1 кошелёк / 2 кошелька / 5 кошельков»).
  • Скелетон вместо «$0» пока баланс грузится — больше не пугает пользователя нулём.

Что прилетело в 4.7.0-rc.2

Список ниже — дословный набор пунктов из release notes на GitHub, сгруппированный по смыслу.

Безопасность

  • fix(TK-1104): isLocalhost manifest bypass and signData domain spoofing. Вектор атаки выглядел так: вредоносный сайт мог обходить проверку, что manifest TON Connect лежит на легитимном домене (через подмену под localhost), и подсовывать signData-запрос с чужим origin. После фикса оба обхода закрыты. Это самый важный пункт всего релиза с точки зрения пользователя — рекомендуем не игнорировать обновление, как только выйдет stable.

Аналитика (TK-1046)

  • Tk 1046/analytics — базовая реализация трекинга событий внутри кошелька.
  • TK-1046/analytics schema — описание схемы событий (какие поля шлются).
  • Tk 1046/analytics transfer — трекинг событий, связанных с переводами.

Tonkeeper не комментирует в release notes, какие именно метрики собираются и куда уходят. Если приватность критична — стоит дождаться публичного объяснения от команды или включения opt-out тумблера. Сама по себе телеметрия не равна «сливу данных», но это новая поверхность, заслуживающая отдельного разбора.

Свап

  • chore(web-swap-widget): remove widget from the codebase. Отдельный встраиваемый виджет, который раньше можно было поставить на сторонний сайт, удалён из репозитория. Основная функциональность свапа осталась в самом кошельке.
  • swap tokens search sorting + API client — обновлён поиск токенов в свапе (новая сортировка) и подменён API-клиент под него. По release notes это та же ветка, что была отмечена в rc.1.

UX-полировка

  • fix(uikit): Show skeleton instead of $0 while balance is loading. Пока кошелёк подтягивает баланс, теперь показывается скелетон вместо нулевого значения. Раньше пользователь успевал увидеть «$0» и решить, что у него что-то списали.
  • fix(uikit): prevent click event propagation on address copy. При нажатии «скопировать адрес» клик больше не «протекает» в родительский элемент. Мелочь, но раньше копирование могло случайно открыть карточку кошелька.
  • fix(i18n): pluralize wallet count strings via CLDR rules. Множественное число количества кошельков теперь склоняется по правилам CLDR — то есть «1 кошелёк», «2 кошелька», «5 кошельков», а не машинно-неправильное «5 кошелёк».

Активы и протоколы

  • TK-1096: Handle asset parsing for unstake tsTON. Парсер активов теперь корректно распознаёт операцию unstake tsTON (ликвидный стейк Tonstakers). До этого транзакция могла отображаться сырой строкой.
  • fix(core): tk-1101 — баг во внутренней логике core-пакета, без подробностей в release notes.

Инфраструктура

  • Dependencies update — апгрейд зависимостей.
  • Chore/release workflows — правки CI/CD пайплайнов сборки релизов.

Что починили в 4.6.1 hotfix

Перед feature-веткой 4.7.0 вышел маленький стабилизирующий релиз v4.6.1. В нём — три пункта:

  • TK-1038 (PR #616): request wallets with pubkeys — при запросе списка кошельков теперь возвращаются и публичные ключи. Это нужно для корректной работы интеграций, которым ключ нужен для верификации подписи.
  • Feature/deeplinks (PR #613): расширение поддержки deeplink-протокола. В release notes не уточняется, какие именно схемы добавлены, но судя по структуре PR это работа с обработкой внешних ссылок-команд.
  • TK-1026 (PR #612): fee calculation bug — фикс ошибки в расчёте комиссии. Самый важный пункт релиза: до него в каких-то сценариях кошелёк мог показывать неверную fee, что приводило либо к недозалитой транзакции, либо к переплате.

После 4.6.1 в main влились ~70 коммитов до тега 4.7.0-rc — это и есть содержимое нового релиз-кандидата.

Что это значит для пользователя

Если вы держите Tonkeeper как основной кошелёк: дождитесь stable 4.7.0. Главная причина обновляться — TK-1104, фикс спуфинга подписи. Эту проблему вы вряд ли встретите в обычной жизни (она требует целевого фишинга), но классу «вредоносный dApp подделывает источник запроса» уделяют внимание неспроста.

Если вы используете свап Tonkeeper: проверьте, что устраивает новая логика сортировки результатов поиска токенов. Если у вас был встроен web-swap-widget на стороннем сайте — этот путь больше не поддерживается, нужен альтернативный flow (например, deep-link в основной кошелёк).

Если вы стейкаете tsTON: unstake-транзакции теперь будут корректно подписываться человекочитаемой строкой, а не «сырым» payload (TK-1096).

Приватность. Появление аналитики (TK-1046) — это нейтральная инфраструктура, но стоит следить, появится ли в настройках opt-out тумблер и опубликует ли Tonkeeper privacy policy для собираемых событий. Антарктическая часть аудитории non-custodial-кошельков особенно чувствительна к этому пункту — резонно ждать ясности от команды.

Когда ждать stable

v4.7.0-rc.2 — это release candidate, не stable. Тонкипер не публикует roadmap-дат, но по практике их предыдущих веток между последним rc и тегом stable проходит от нескольких дней до пары недель. До этого момента:

  • сборку 4.7.0-rc.2 ставить не обязательно на основной кошелёк;
  • если хочется попробовать новый свап и UX-правки — поставьте rc в качестве второстепенного аккаунта (импорт seed-фразы во второй профиль), но не переносите туда крупные суммы;
  • следите за тегом v4.7.0 без суффикса -rc.* — он появится на странице релизов tonkeeper-web.

Также не исключено, что между rc.2 и stable выйдет ещё rc.3 — это нормальная практика, особенно при критичных фиксах вроде TK-1104, требующих повторной проверки регрессий.

Ссылки и источники