- New tar.gz backup format bundling SQLite snapshot + uploads tree + manifest.json (version, app+schema versions, checksums, dbSize)
- BACKUPS_DIR env override; defaults to /app/data/backups in prod, <cwd>/data/backups in dev (matches uploads convention)
- 503 guard in hooks.server.ts while restore is mid-flight (DB file is being swapped); excludes static assets + /api/health; sets Retry-After: 15
- Legacy .db restore still supported (DB-only)
- Restore endpoint adds schema-mismatch detection + force flag; download/schedule endpoints updated
- 256 MiB free-disk safety margin before backup
- tar dep added to package.json; 18 new backupService tests
- i18n labels (en + ru) for new restore/format states
Move @prisma/client and prisma to dependencies so adapter-node
externalizes them instead of bundling. Add ssr.external config
for Vite to prevent inlining Prisma's CJS engine loader.
- Rename CI workflow to test.yml (lint & test only)
- Add release.yml (Docker push + Gitea release on v* tag)
- Add README.md and RELEASE_NOTES.md
- Bump version to 0.0.1
- Replace AppIconPicker text input with visual IconPickerButton for
lucide icons (grid with search)
- Add AutocompleteInput component for category field with existing
category suggestions
- Add TagsInput component for tags field with tag pills, autocomplete
from existing tags, and keyboard navigation
- Add GET /api/apps/suggestions endpoint returning all categories/tags
- Add getAllTags() to appService (merges Tag model + comma-separated)
- Install @tailwindcss/typography plugin to fix prose rendering
(headings, lists, blockquotes now render in Note/Markdown widgets)
- Fix note widget validator test for new html format
Fix all build/type/lint errors, write 60 new tests (175 total),
update seed with new widget types and team board permissions,
install missing svelte-i18n dependency, fix DynamicIcon for Svelte 5.
- Add OIDC/OAuth2 login via openid-client with PKCE flow
- Auto-provision OAuth users with group mapping
- Conditional login page (OAuth/local/both based on auth mode)
- Admin OAuth test connection button
- Install svelte-dnd-action for board editor DnD
- Draggable sections and widgets with cross-section moves
- Reorder APIs with atomic Prisma transactions
- Visual drag handles and drop zone indicators