# Wishpad: changelog

Документ собирает изменения по релизам.

Changelog ведётся не как журнал каждой мелкой правки, а как release notes: что изменилось для продукта, API, БД, UI, deploy и администрирования.

## Правила Ведения

- Все заметные изменения собираются в `Unreleased`.
- Перед релизом `Unreleased` переносится в новый раздел версии.
- Дата релиза указывается в формате `YYYY-MM-DD`.
- Если изменение требует миграции, настройки окружения или ручного действия, это обязательно отмечается.
- Если изменение ломает обратную совместимость API/БД/UI, оно попадает в `Breaking Changes`.

## Типы Изменений

Используем секции:

- `Added` - новая функциональность;
- `Changed` - изменение существующего поведения;
- `Deprecated` - функциональность, которую планируем убрать;
- `Removed` - удалённая функциональность;
- `Fixed` - исправления;
- `Security` - изменения безопасности;
- `API` - изменения `docs/OPENAPI.yaml`;
- `Database` - изменения `docs/DATABASE_SPEC.md` и миграций;
- `UI` - изменения `docs/UI_SPEC.md` и пользовательского поведения;
- `Deployment` - изменения Docker, env, build, scheduler, queue;
- `Breaking Changes` - несовместимые изменения.

## Unreleased

### Added

- Initial product, UI, database, OpenAPI and monetization specifications.
- Documentation workflow document added in `docs/DOCUMENTATION_WORKFLOW.md`.
- Repository and deployment specification added in `docs/REPOSITORY_DEPLOYMENT_SPEC.md`.
- Proprietary license notice added in `LICENSE.md` and `README.md`.

### Changed

- Documentation workflow fixed: docs are updated before implementation for API, DB, UI, product and monetization decisions.
- UI documentation structure adjusted: Auth screen layout moved into its own detail section.
- First admin password-change DB rule clarified to use `users.must_change_password`.
- Documentation preparation status clarified; next UI detailing step is Owner settings.
- Temporary documentation status section removed from `docs/SPEC.md`; documentation workflow moved to `docs/DOCUMENTATION_WORKFLOW.md`.

### API

- Initial OpenAPI contract added in `docs/OPENAPI.yaml`.
- Scalar selected as OpenAPI viewer.

### Database

- Initial database specification added in `docs/DATABASE_SPEC.md`.

### UI

- Initial UI specification added in `docs/UI_SPEC.md`.
- PrimeVue `Aura` selected as base theme preset for Wishpad theme.
- MVP starts with default PrimeVue `Aura` tokens; custom Wishpad tokens are deferred until first UI screens are implemented.
- UI layout detailing format selected: text layout-spec plus low-fi markdown wireframes.
- Public wishlist layout-spec and low-fi wireframes added.
- Auth screen layout-spec and low-fi wireframes added.
- Owner dashboard layout-spec and low-fi wireframes added.
- Owner wishlist edit layout-spec and low-fi wireframes added.
- Gift form / metadata import layout-spec and low-fi wireframes added.
- Owner settings layout-spec and low-fi wireframes added.
- Admin dashboard / admin tables layout-spec and low-fi wireframes added.
- UI layout-spec review completed; MVP screens are ready to be used as implementation guide.

### Deployment

- Target project structure changed to separate private repositories: `wishpad-backend`, `wishpad-frontend` and `wishpad-docs`.
- Self-hosted Gitea selected as the primary private code repository for MVP.
- Gitea Actions and Gitea Runner selected as the MVP CI/CD flow.
- Docker Compose selected as the MVP VPS deployment mechanism without mandatory Coolify/Dokploy.
- Dev/prod deployment topology documented: backend/frontend `dev` branches deploy to `dev.wishpad.me` through `wishpad-dev` runner, and backend/frontend `main` branches deploy to `wishpad.me` through `wishpad-production` runner.
- Documentation deployment added: `wishpad-docs:main` deploys a Scalar OpenAPI viewer to `docs.wishpad.me` through the `wishpad-docs` runner.
- Repository access, branch workflow, runner labels, remotes and secret locations documented for day-to-day operations.

### Breaking Changes

- None.