Пользоваться просто: открыть карточку, пролистать список релизов от свежих к старым и найти нужное изменение поиском или фильтром.
Возможности
- Список релизов от свежих к старым. Каждый релиз — отдельная карточка с номером версии и датой.
- Две области релизов в одном списке. Релизы приложения и релизы серверной части показываются вместе, но их можно разделить фильтром.
- Три фильтра области: All — показать всё, App — только приложение, Backend — только серверную часть.
- Поиск по тексту. Ищет и по номеру версии, и по самим пунктам изменения.
- Несколько слов в поиске работают вместе: находятся только релизы, в которых встречаются все слова.
- Кнопка очистки поиска появляется в поле, как только в нём есть текст.
- Счётчик найденного справа от фильтров: сколько релизов показано из всех.
- Пометка INSTALLED на карточке того релиза, который стоит на телефоне прямо сейчас.
- Пометка LATEST на самом свежем релизе внутри своей области.
- Пометка BACKEND на всех релизах серверной части, чтобы их не спутать с релизами приложения.
- Группы изменений внутри релиза: Added, Changed, Fixed, Removed, Debug, Performance и Diagnostics. У каждой группы свой цвет, свой значок и счётчик пунктов.
- Счётчик изменений на карточке релиза: сколько всего пунктов в этом релизе.
- Даты на языке интерфейса. Месяцы в датах релиза переводятся вместе с интерфейсом.
- Пустое состояние с кнопкой сброса. Если ничего не нашлось, появляется надпись и кнопка, которая очищает поиск и сбрасывает фильтр.
- Шапка со сводкой сразу говорит, сколько всего релизов и как они делятся на приложение и серверную часть.
Технические данные
| Параметр | Значение |
|---|---|
| Откуда берутся записи | из файла истории изменений в репозитории, он разбирается при каждой сборке приложения |
| Где хранится разобранная копия | внутри установленного приложения, читается один раз за запуск |
| Релизов сейчас в списке | 212 |
| Из них релизов приложения | 177 |
| Из них релизов серверной части | 35 |
| Размер разобранной копии внутри приложения | около 388 КБ |
| Значков у групп изменений | 7 |
| Фильтров области | 3 |
| Как определяется область релиза | по названию версии: если она начинается со слова backend, это релиз серверной части |
| Установленная версия на этой машине | 0.8.152-261014, помечается карточка 0.8.152 |
| Самый свежий релиз серверной части | 0.8.254 от 14 октября 2026 |
| Как сравнивается установленная версия | по номеру без даты сборки, поэтому метка в списке не зависит от времени сборки |
Про две метки на карточке
На карточке релиза может быть до трёх меток, и каждая про разное.
INSTALLED означает, что этот релиз стоит на телефоне прямо сейчас. Сравнивается только номер версии без даты сборки, поэтому пересборка той же версии на метку не влияет.
LATEST означает, что это самый свежий релиз внутри своей области. У приложения и у серверной части такая метка своя, и на одном экране их может быть две.
BACKEND означает, что релиз относится к серверной части, а не к приложению. Метка ставится по названию версии, а не по содержимому пунктов.
У релизов серверной части метки INSTALLED не бывает: у серверной части нет установленного файла, который можно было бы сравнить с номером версии.
Про группы изменений
Каждый релиз разбит на группы по типу изменения, и у каждой группы свой цвет.
| Группа | Значок | Цвет |
|---|---|---|
| Added | [+] | зелёный |
| Changed | [~] | бирюзовый |
| Fixed | [x] | фиолетовый |
| Removed | [-] | красный |
| Debug | [>] | приглушённый |
| Performance | [↑] | бирюзовый |
| Diagnostics | [i] | приглушённый |
Неизвестная группа не теряется: для неё показывается значок [~] и приглушённый цвет. Пункты внутри группы печатаются как список с точкой и рендерятся как markdown: упоминание файла и фрагмент кода внутри пункта выглядят нормально.
Про поиск
Поиск не находит по совпадению любого слова: все слова запроса должны найтись. Запрос из двух слов сужает выдачу, а не расширяет её.
Ищется по номеру версии, по дате, по названию группы и по тексту всех пунктов. Разметка при сравнении снимается, поэтому по названию файла из пункта найти можно, даже если в запросе оно написано без обратных кавычек.
Счётчик справа от фильтров показывает, сколько релизов прошло и сколько есть всего: сразу видно, отсеивает фильтр что-то или результат пустой случайно.
Про пустые состояния
Пустых состояний два, и они означают разное.
// no releases — список пуст целиком: приложение не смогло прочитать данные истории изменений.
// no matches — данные прочитались, но фильтр и поиск ничего не нашли. Здесь появляется кнопка сброса: она очищает поиск и возвращает фильтр All.
Что агент умеет
Агент может открыть этот экран через мост и прочитать его содержимое, если приложение сейчас на этом экране.
Агент читает историю изменений из исходного файла в репозитории, а не из разобранной копии внутри приложения. Для агента это надёжнее: он видит ровно то, что написано, включая ещё не собранные правки.
Агент умеет дописывать историю изменений: добавить пункт в свежий релиз и проверить, что пункт попал в разобранный список и в приложение.
Ограничения
- История изменений попадает в приложение при сборке. Правка в репозитории сама по себе в уже установленном приложении не появится.
- Формат источника жёсткий: номер версии в квадратных скобках, разделитель — тире или длинное тире, дата после него. Заголовок другого вида просто не попадёт в список.
- Название группы должно быть одним английским словом без пробелов. Название на русском или из двух слов не распознаётся и показывается со значком [~].
- В данных сейчас встречается группа Data, для которой значок и цвет не заданы. Такая группа выглядит как обычное изменение, и отличить её от Changed нельзя.
- Пометка INSTALLED ставится только на релиз приложения. Сравнение идёт по номеру без даты, поэтому две разные сборки одной версии выглядят одинаково.
- Даты переводятся заменой названий месяцев. Нестандартный формат даты, например 01.11.2026, останется как есть.
- Файл с историей лежит внутри приложения целиком и добавляет к его размеру около 388 КБ.
- Разобранная копия держится в памяти только до перезапуска приложения, после перезапуска данные читаются заново.
- Пустое состояние // no releases не различает отсутствие файла и его повреждение: в обоих случаях список будет пустым.
- Поиск идёт только по уже собранному приложению. Найти что-то в истории, что ещё не собрано, поиском на телефоне нельзя.
- Все подписи на этом экране английские: названия фильтров, подсказка в поле поиска, счётчики и значки групп.