Skip to content

v1.0.0

Choose a tag to compare

@myakove myakove released this 23 Mar 08:47
· 159 commits to main since this release
81e9611

docsfy v1.0.0

First stable release — complete architecture migration from Jinja2 server-rendered templates to a modern React SPA with CLI support.

Highlights

  • React 19 SPA with shadcn/ui, TypeScript, and Vite
  • Typer CLI with multi-server profiles and full API coverage
  • WebSocket real-time generation progress (replaces polling)
  • FastAPI routers — backend restructured from monolithic main.py

Backend

  • Restructured monolithic main.py (~2000 lines) into FastAPI routers: api/auth.py, api/projects.py, api/admin.py, api/websocket.py
  • Slim app factory (main.py ~250 lines)
  • WebSocket endpoint (/api/ws) with sync, progress, and status_change messages
  • Application-level heartbeat (ping/pong)
  • Security: timing-safe admin key comparison, SSRF protection, HTTPS-by-default CLI
  • update_and_notify() wrapper ensures WebSocket notifications on every status change

Frontend

  • Consolidated dashboard: collapsible sidebar + detail panel (no separate pages)
  • Project tree with virtual scrolling, status badges, and tooltips
  • Real-time generation progress: activity log, progress bar, stage transitions
  • Admin panels: user management (CRUD, key rotation) and access control
  • Modal system (useModal hook) and toast notifications (Sonner)
  • Dark/light theme with localStorage persistence
  • Accessibility: ARIA combobox, keyboard navigation, focus trapping
  • Mobile: responsive sidebar as slide-out drawer

CLI

  • Multi-server profiles (~/.config/docsfy/config.toml)
  • Full API coverage: generate (with --watch), list, status, delete, abort, download
  • Admin commands: admin users list/create/delete/rotate-key, admin access list/grant/revoke
  • Global connection options: --server, --host, --port, --username, --password
  • Config management: config init, config show, config set

Build & Deploy

  • 3-stage Docker build: frontend builder (Node 20) + Python builder + runtime
  • DEV_MODE with Vite dev server + FastAPI auto-reload
  • Entry points: docsfy (CLI), docsfy-server (web server)

Testing

  • 289 Python unit tests
  • 171 E2E UI tests across 12 test plan files
  • WebSocket, CLI, and accessibility test coverage

Breaking Changes

  • docsfy command now launches the CLI (previously started the server)
  • Use docsfy-server to start the web server
  • Login endpoint changed from POST /login (form) to POST /api/auth/login (JSON)
  • GET /api/status replaced by GET /api/projects (alias kept for compatibility)
  • Old Jinja2 app templates removed (doc site templates preserved)