v1.4.1
[v1.4.1] — 2026-08-03
ОБЯЗАТЕЛЬНО СДЕЛАЙТЕ БЕКАП! Перед обновлением сохраните копию базы (
data/buhgalter.db) и каталогаbackups/.
Добавлено
Кредитные карты
- Отдельное действие «Изменить лимит» (меню «⋯» и страница карты):
PUT /api/v1/accounts/{id}/credit-limit. В форме редактирования счёта лимит только для просмотра (ERR_ACCOUNT_CREDIT_LIMIT_IMMUTABLE). Увеличение — дельта кcredit_limitиinitial_balance; уменьшение — только при полном погашении (ui-credit-cards.md)
Категории
- Редактирование подкатегорий (имя и иконка) в Настройках → Категории —
SubcategoryFormDialog,PUT /subcategories/{id}(categories-and-icons.md) - Недостающие иконки категорий в каталоге (в т.ч. транспорт, продукты, услуги, досуг)
Ввод суммы (web + Android)
- В полях суммы можно вводить выражения со сложением/вычитанием (
7899+500,100+200-50); при blur / сохранении подставляется результат (transactions-display.md) - Android: своя цифровая клавиатура
MoneyKeypadс+/−(системная decimal часто без «+»); раскладка1 2 3 +/4 5 6 −/7 8 9 ⌫/. 0 ✓(android-client-ui.md)
Android
- Офлайн outbox: settle долга, CRUD периодических операций, мелочи по кредитам (pay / complete / update / schedule / delete payment / delete; без create); кеш карточки кредита
GET /credits/{id}(android-client-platform.md) - Кнопка биометрии на экране PIN — в нижнем левом углу клавиатуры (иконка отпечатка)
Изменено
Автопополнение
- Перевод автопополнения создаётся с датой/временем триггерной операции, а не «сейчас» (если дата неизвестна — текущий момент) (balance-maintenance.md)
Комиссия
- Любая комиссия (перевод и списание с кредитной карты) привязана к операции: отдельно удалить/отредактировать нельзя (
ERR_COMMISSION_LINKED); менять комиссию перевода — черезPUT /transfers/{group_id}, удалять — вместе с переводом (transactions-display.md)
Счета в выпадающих списках
- Порядок как на главной и
/accounts:cash→bank(основной первым), затем кредитные карты (sortAccountsForSelect)
Исправлено
Android
- DELETE через native HTTPS (
SslTrust): ответ 204 без тела больше не считается ошибкой (удаление переводов/операций) - После
adb install -rсессия больше не слетает:warmRefCacheне уходит без Bearer доinitAuthToken(раньше 401 вызывалclearAuthTokenи удалял токен из Secure Storage) - После онлайн delete/update балансы и списки обновляются сразу (
afterOnlineWrite→dataRefreshTickво всех offline wrappers)
Web
- После удаления/редактирования операции балансы (и вторая нога перевода) обновляются — silent
load/loadAll, не только перефильтровка списка
Техническое
- Docker CI: кросс-компиляция на
BUILDPLATFORM(без QEMU для npm/Go), кэш слоёв (type=gha+ghcr.io/...:buildcache),.dockerignore(install/docker.md) - OpenAPI
1.4.1:PUT /accounts/{id}/credit-limit, уточнения по комиссии и лимиту кредитной карты - Unit/e2e:
money(+/−), credit-limit, комиссия, AndroidMoneyKeypad/ session warm - Документация: ui-credit-cards.md, transactions-display.md, android-client-*.md, categories-and-icons.md, balance-maintenance.md, README.md
- docs/release-notes-v1.4.1.md
- Версия
1.4.1
Коммиты
Changelog
- d8185a7 тесты и makefile (release локально)
- 62b9724 Раскладка клавиш собственной клавиатуры
- 5f236af Документация
- 99434ff правки тестов
- 62775e0 UI-фикс списка операций
- 3c4fb86 Android: своя клавиатура суммы (
MoneyKeypad) с+/−— системная decimal часто без «+» - 5b881e8 БАГ. Web/Android: после удаления/редактирования операции не обновлялись балансы (Android — и список до sync) — web: silent
load/loadAll; Android:afterOnlineWrite→dataRefreshTickво всех offline wrappers - 89b5e48 Android: своя клавиатура суммы
- 813b320 Исправлен баг с отвалом сессии после переустановки чеез adb
- 9e9b5af Android: кнопка биометрии на экране PIN — в нижнем левом углу клавиатуры (иконка отпечатка)
- 8d03989 Любая комиссия привязывается к операции, и удалить/отредактировать её нельзя
- 9625644 Обработка 204 кода ответа
- 1e3fbbc Автопополнение в момент выставленого времени операции
- cdfab26 В поля ввода суммы добавить возможность складыва/вычитать
- 5933fa2 Увеличить кредитный лимит
- 8f61177 Редактирование подкатегорий
- 2a6611f Правки по оффлайн-режиму Android
- 784583c Недостающие иконки категорий
- 68e9cac Расширение оффлайн функционала для Android
- 9b6a5f2 Исправлен долгий CI (сборка docker)
Docker
Вложения docker-compose.yaml, .env и .env.example — compose из репозитория; .env с BUHGALTER_IMAGE_TAG=1.4.1. При необходимости: cp .env.example .env.
docker pull ghcr.io/kai-zer-ru/buhgalter:1.4.1
docker compose -f docker-compose.yaml up -dИли без compose:
docker run -d --name buhgalter \
-p 8765:8765 \
-v buhgalter-data:/app/data \
-v buhgalter-backups:/app/backups \
--restart unless-stopped \
ghcr.io/kai-zer-ru/buhgalter:1.4.1Android
Вложения buhgalter-android-1.4.1.apk (universal) и buhgalter-android-1.4.1-{abi}.apk (arm64-v8a, armeabi-v7a, x86_64). Минимальная версия Android — 8.0 (API 26). Установка поверх предыдущей версии сохраняет данные приложения (URL сервера, токен в secure storage).