v1.3.0
[v1.3.0] — 2026-07-02
ОБЯЗАТЕЛЬНО СДЕЛАЙТЕ БЕКАП! Перед обновлением сохраните копию базы (
data/buhgalter.db) и каталогаbackups/.
Добавлено
Пользователи и админка
- Статус пользователя:
active/pending/banned; саморегистрация →pendingбез сессии;PUT /api/v1/admin/users/{id}/status; меню «⋯» в/admin/users; плашка и попап?moderate=; уведомление админамuser_registration(api/user-status.md, миграция029_user_status.sql)
Счета
- Кредитная карта (
type=credit_card): лимит, счёт погашения, блокcredit_cards_summaryна главной, «Оплатить» / «Списать комиссию», импорт Cubux (ui-credit-cards.md,033_credit_card_accounts.sql) - Архивация и мягкое удаление:
archived/deleted, автоперевод остатка дляcash/bank, правила дляcredit_card, вкладки «Архивные» / «Удалённые» (accounts-archive-delete.md,040_account_deleted_status.sql) - Автопополнение (
bank): порог, цель, счёт списания; hook после операций; уведомлениеauto_topup_disabled(balance-maintenance.md,041_account_auto_topup.sql)
Кредиты
- Учёт суммы займа в балансе при создании потребительского кредита:
principal_affects_balance, операция дохода наdebit_account_id; блокировка при платеже в графике с датой в прошлом (031_credit_principal_income.sql)
Бюджет
- Помесячные лимиты (
scope: category / subcategory / all_expense),copy_forward, CRUD иGET /budgets/summary; страница/budget; виджет на главной; колонки в/stats; триггерbudget_threshold(budget.md, ui-budget.md, миграции034–039,036,037)
Уведомления
- Недостаток средств:
trigger_negative_balance, шаблонbalance_shortfall, суффикс кcredit_payment/planned_operation/debt_*(notifications.md,032_notification_balance_shortfall.sql) - Ссылки в шаблонах:
{debt_url},{credit_url},{transaction_url},{budget_url},{moderation_url}и др. —urls.go
UI/UX
MoneyDisplay— единый компонент read-only сумм;formatMoneyForDisplayдля i18n (transactions-display.md)
Изменено
UI/UX
- Верхнее меню: пункт «Бюджет»; на мобильных — drill-down подменю «Настройки» / «Админка» вместо длинного accordion (ui-navigation.md)
- Главная: счета под спойлером на
< sm; индикатор автопополнения уbank-счетов /stats: блоки «По категориям» и «По периодам» — full-width строками (категории выше периодов); сводка без колонки «Разница» (ui-stats.md)- Ширина контента на десктопе:
max-w-5xl(80rem,--container-5xlвlayout.css) - Категория дохода «Кредиты» при
principal_affects_balance— суффикс «(Доход)» в фильтрах и статистике
Backend
- Доменный SQL — через sqlc (
server/queries/); CImake inline-sql-check(sql-access.md)
Исправлено
Уведомления
{settings_url}в шаблонеtest— канонический путь/settings/notifications(не устаревший?tab=)
Долги
- Удаление операции «Взял/Дал в долг»: единственная начальная операция удаляет долг; погашение — пересчёт остатка; начальную операцию нельзя удалить при наличии погашений (
debt/transaction_delete.go)
Техническое
- Миграции
029–041 - Unit:
money-display.test.ts,credit-card.test.ts,account_delete_test.go, notify/balance tests - e2e:
budget.spec.ts,budget-home.spec.ts,budget-stats.spec.ts,credit-card.spec.ts,credits-principal-income.spec.ts,accounts-management.spec.ts,dashboard-accounts.spec.ts,admin-advanced.spec.ts(модерация) - docs/release-notes-v1.3.0.md
- Версия
1.3.0
Коммиты
Changelog
- 0e3eb8d v1.3.0
- 9a39c9f Merge branch '1.3.0' into master
- e5fe1ea Автопополнение одного счёта с другого
- afeaa43 Сделал основной размер страницы шире для десктоа
- 88790d6 Удаление/архивация счетов. Переработка логики.
- eb1e1b2 Меню в мобильной версии
- c52b2b4 Перевёрстка /stat
- 4405a00 На главной (в мобильной версии) счета скрыты под спойлер
- 459248d Единый компонент отображения сумм
- 6646f49 fix after merge
- 5de25df Merge branch 'master' into 1.3.0
- f5a36d9 Бюджет. Доделки
- 9f82063 Бюджет
- eebd477 1. Добавлен тип счёта "Кредитная карта" 2. Восстановлена страница "Архивных" счетов
- cdacf71 Исправлен баг при удалении операции долга. Операция удалялась, долг оставался
- b3572e1 Уведомления: Сообщение об отрицательном балансе, настройки, UI-доработки, URL в уведомлениях
- f92ac36 Merge branch 'v1.3.0' into master
- 42eee98 Учёт денег кредита в балансе (типа кредит наличными)
- 3f548f1 SQL-спецификации, вынос SQL из основного кода Go
- ed47c59 Статус пользователя — модерация регистрации, блокировка, меню «⋯» в админке, уведомления админам и плашка
- 3fa9436 Фильтр запросов, уменьшение нагрузки на логи
Docker
Вложения docker-compose.yaml, .env и .env.example — compose из репозитория; .env с BUHGALTER_IMAGE_TAG=1.3.0. При необходимости: cp .env.example .env.
docker pull ghcr.io/kai-zer-ru/buhgalter:1.3.0
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.3.0