Релиз 1.1.0: серверная часть контракта экосистемы v2 (docs/CONTRACT_V2.md).
GET /v1/capabilities и 11 типов записей синхронизации (счета, переводы, регулярные платежи, цели, долги, курсы, настройки, вложения)
Общие бюджеты: /v1/ledgers, приглашения по одноразовому коду (хранится только хеш), участники, заголовок X-Balance-Ledger, отдельный курсор на пространство
Вложения: PUT/GET /v1/attachments/{sha256}, проверка хеша, размера (10 МиБ) и типа, хранение в BALANCE_ATTACHMENTS_DIR, автоочистка
Личное пространство и API v1 не изменились; миграция только добавляет таблицы; ответы совпадают с эталоном Go
CORS для PUT/PATCH/DELETE и X-Balance-Ledger (Web-клиент)
57 тестов, clippy -D warnings, сверка с эталоном Go — PASS. Интеграция с BalanceFlutter v2 — PASS.
Релиз 1.1.0: серверная часть контракта экосистемы v2 (`docs/CONTRACT_V2.md`).
- `GET /v1/capabilities` и 11 типов записей синхронизации (счета, переводы, регулярные платежи, цели, долги, курсы, настройки, вложения)
- Общие бюджеты: `/v1/ledgers`, приглашения по одноразовому коду (хранится только хеш), участники, заголовок `X-Balance-Ledger`, отдельный курсор на пространство
- Вложения: `PUT/GET /v1/attachments/{sha256}`, проверка хеша, размера (10 МиБ) и типа, хранение в `BALANCE_ATTACHMENTS_DIR`, автоочистка
- Личное пространство и API v1 не изменились; миграция только добавляет таблицы; ответы совпадают с эталоном Go
- CORS для PUT/PATCH/DELETE и `X-Balance-Ledger` (Web-клиент)
57 тестов, clippy `-D warnings`, сверка с эталоном Go — PASS. Интеграция с BalanceFlutter v2 — PASS.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- GET /v1/capabilities and the extended sync entity allowlist (§0, §1).
- Shared ledgers (§7): ledgers, members and hashed one-time invite codes;
X-Balance-Ledger selects the space on /v1/sync and /v1/attachments with
its own records, change stream and cursor. Personal space keeps the v1
tables and behaviour; the migration only adds tables.
- Attachments (§8): SHA-256, size and media type checks, blob files in
BALANCE_ATTACHMENTS_DIR (default: attachments next to the database),
garbage collection of unreferenced blobs with a grace period for fresh
uploads, and ledger deletion removes its blobs.
- Tests for every new endpoint and error code; API, sync, data model,
security, deployment and README docs updated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Релиз 1.1.0: серверная часть контракта экосистемы v2 (
docs/CONTRACT_V2.md).GET /v1/capabilitiesи 11 типов записей синхронизации (счета, переводы, регулярные платежи, цели, долги, курсы, настройки, вложения)/v1/ledgers, приглашения по одноразовому коду (хранится только хеш), участники, заголовокX-Balance-Ledger, отдельный курсор на пространствоPUT/GET /v1/attachments/{sha256}, проверка хеша, размера (10 МиБ) и типа, хранение вBALANCE_ATTACHMENTS_DIR, автоочисткаX-Balance-Ledger(Web-клиент)57 тестов, clippy
-D warnings, сверка с эталоном Go — PASS. Интеграция с BalanceFlutter v2 — PASS.🤖 Generated with Claude Code