Phase 7 — Polish: - Error page template with styled 404/403/500 pages - Error rendering helper on Renderer Phase 8 — Packaging & Deployment: - Containerfile: multi-stage build, non-root user, health check, OCI labels with build date and git revision - Makefile: build, test, cross-compile, deb, rpm, container, tarballs, checksums targets - nfpm.yaml: .deb and .rpm package config - systemd service: hardened with NoNewPrivileges, ProtectSystem, ProtectHome, PrivateTmp, RestrictSUIDSGID - Default environment file with commented examples - postinstall/preremove scripts (shellcheck validated) - compose.yaml: example Podman/Docker Compose - Caddyfile.example: subdomain, subpath, and remote proxy configs - CHANGELOG.md for release notes - CLAUDE.md with architecture, conventions, and quick reference Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
980 B
980 B
Changelog
All notable changes to Favoritter are documented here.
Unreleased
Added
- User registration with configurable signup modes (open, approval-required, closed)
- Favorites with description, optional URL, image upload, tags, and privacy controls
- Tag system with autocomplete, browsing, and admin management
- User profiles (public or limited visibility) with avatars
- Admin panel: user management, tag management, signup requests, site settings
- Atom feeds: global, per-user, per-tag
- JSON and CSV import/export for data portability
- JSON REST API under
/api/v1/ - OpenGraph meta tags for link previews
- Argon2id password hashing
- CSRF protection, rate limiting, security headers
- Proxy-aware deployment (WireGuard/Tailscale support)
- Configurable base path for subdomain and subpath deployment
- Systemd service file with security hardening
- Containerfile for Podman/Docker deployment
- Makefile with cross-compilation, .deb/.rpm packaging targets