Files

67 lines
4.3 KiB
Markdown

# Changelog v2.0
## [2.0.0] - 2026-05-11
### Added (Backend)
- **Config**: 14 new env vars — `SYSTEM_OWNER_EMAIL`, social networks (4), analytics IDs (2), tariff toggle, slogan, mobile push stubs (2), accepted terms version
- **Role system**: `role` field (user|moderator|admin|owner), `is_owner` flag, `permissions` JSONB for granular moderator rights
- **Owner protection**: `SYSTEM_OWNER_EMAIL` locks one user as permanent owner — cannot be deleted, suspended, or demoted via API/UI
- **Feedback system**: new `feedback` table + POST/GET/PATCH/DELETE endpoints + admin moderation
- **Tariff system**: `tariff_plans` + `user_subscriptions` tables, admin CRUD, feature gating module (`FeatureGate`)
- **Public config endpoint**: `GET /api/v1/config/public`
- **BacklogTask `category` field**: separates features from general backlog items
- **Service management**: systemd unit files (API, Worker, Beat) + restart endpoints (owner-only, production-guarded)
- **Seed data**: `seed_database()` — Free tariff, 26 agent descriptions, owner by `SYSTEM_OWNER_EMAIL`
- **Migration 002**: roles, tariffs, feedback, agent descriptions, backlog category
### Added (Frontend)
- **Landing page**: public `/` with hero, features, CTA
- **Legal pages**: `/privacy`, `/terms`, `/data-processing` with full content
- **Register checkbox**: mandatory agreement to Terms & Data Processing
- **Social footer**: GitHub + Telegram icons in Layout footer, legal links
- **SEO**: meta keywords, Open Graph tags, Twitter Card, JSON-LD, robots.txt, sitemap.xml
- **Analytics**: YandexMetrika + GAScript conditional components (empty ID = disabled)
- **In-app documentation**: UserGuidePage, AdminDocumentationTab (role-filtered), HelpFAB, HelpDrawer
- **Admin panel**: complete rewrite — 8 tabs (Users, Agents, Features, Logs, Feedback, Tariffs, Services, System)
- Users tab: search, inline edit (name, email, role, active), delete, moderator permissions editor
- Agents tab: list, toggle enable/disable
- Features tab: create, cycle status (pending→in_progress→done)
- Logs tab: filter by level/source
- Feedback tab: filter by status, change status, delete
- Tariffs tab: create with JSON features, toggle active, delete
- Services tab: restart systemd services (owner-only, production)
- System tab: version, environment, DB status, Python version, uptime
- Docs tab: role-filtered administration guide
- **Settings page**: `/settings` — profile, security (change password), voice, theme (dark/light), integrations, tariff info
- **User settings link** in Layout header nav
- **FeedbackForm component**: textarea + submit, success state
- **Feedback page**: `/feedback` standalone page
- **API modules**: `config.ts`, `feedback.ts`, `tariffs.ts`, `admin.ts` (full CRUD)
- **AuthContext**: updated User interface with role, is_owner, permissions
- **SEOHead component**: dynamic title/meta per page
### Changed
- `User` model: `is_superuser` → property based on `role`, added `is_owner`, `permissions` (JSONB), `accepted_terms_at`, `accepted_terms_version`
- `RegisterPage`: added mandatory checkbox for Terms & Privacy agreement
- `Layout`: added footer with social icons, legal links; header settings link; HelpFAB
- `AdminPage`: complete rewrite from simple 2-tab to full 8-tab panel
- `AuthContext`: updated User interface, register passes `accepted_terms: true`
- `ProtectedRoute`: uses `role` and `is_owner` for admin checks
- **Routing**: `/` → LandingPage (public), `/dashboard` → Dashboard (protected)
- `index.html`: comprehensive SEO meta tags, Open Graph, JSON-LD, Twitter Card
- `tailwind.config.js`: added `@tailwindcss/typography` plugin
- `app/core/config.py`: restructured with new sections (System Owner, Social, Analytics, Tariffs, Push)
- `app/main.py`: lifespan calls `seed_database()` with try/except
### Added (DevOps)
- `deploy/voidea-api.service` — systemd unit for FastAPI (uvicorn, 2 workers)
- `deploy/voidea-worker.service` — systemd unit for background worker
- `deploy/voidea-beat.service` — systemd unit for beat scheduler
- `deploy/deploy.sh` — full deployment script (user, deps, venv, build, migrate, systemd)
### Documentation
- `docs/full.md` — full rewrite covering v2.0 features
- `docs/user-guide.md` — user manual (quick start, agents, commands)
- `docs/admin-guide.md` — admin/owner/moderator guide
- `CHANGELOG/v2.0.md` — this file