Skip to content

Latest commit

 

History

History
385 lines (290 loc) · 16.4 KB

File metadata and controls

385 lines (290 loc) · 16.4 KB

Eclaire Changelog

[0.6.3] - 2026-03-05

Bug Fixes

  • workers: add tiered extraction with lightweight HTTP fetch before browser
  • backend: include missing thumbnailUrl and faviconUrl in bookmark list responses
  • auth: harden Better Auth integration — security fixes, fail-fast init, dead code removal
  • frontend: fix SSE connection leak on page refresh
  • frontend: improve SSE streaming robustness and eliminate unnecessary re-renders
  • frontend: fix re-render issues, remove debug logging, and improve data fetching
  • frontend: remove hardcoded manifest link from index.html
  • frontend: fix typecheck errors in use-list-page-state and test files
  • backend: correct case-sensitive filename in photos test
  • backend: add missing type declaration for turndown-plugin-gfm
  • workers: harden job processors with size guards, timeouts, SSRF protection, and dedup
  • workers: improve document processor extraction quality, fix bugs, reduce resource usage
  • workers: fix image processor bugs, improve robustness and format handling
  • docker: add missing tsconfig.base.json and api-types to build stages
  • deps: upgrade hono 4.12.5, @hono/node-server 1.19.11, add overrides for rollup/serialize-javascript/minimatch/tar
  • vitest: fix broken frontend alias, clean up configs across monorepo

Refactoring

  • backend: standardize all list endpoints to unified pagination shape
  • backend: deduplicate schema definitions, review/flag/pin/reprocess endpoints, and route handlers
  • backend: consolidate error classes, add withAuth() wrapper, extract error schemas
  • backend: clean up routes, fix validation, add lazy sessions
  • frontend: deduplicate list pages into shared abstractions, extract shared components
  • frontend: split API modules, add CRUD hook factory and tests
  • api: consolidate API types, fix pagination offset, and clean up schemas
  • core: export const arrays for enum types, eliminate cross-package duplication
  • ai: fix bugs and clean up for reusability
  • queue: remove dead code, deduplicate adapters, fix layering
  • logger: typed levels, explicit contextKey, extensible context
  • db: harden PostgreSQL client, type Tx interface, fix schema issues
  • storage: decouple adapters from domain key structure, clean up design
  • workers: harden bookmark processing, extract BrowserPipeline, improve content quality
  • monorepo: standardize TypeScript configuration; simplify and deduplicate utilities across all packages

Tests

  • backend: fix and expand photo, bookmark, document, notes, and task test suites
  • frontend: expand test suite with entity hooks, utilities, and API contract tests
  • core: add comprehensive test suite for @eclaire/core
  • queue: add core unit tests and strengthen integration test coverage
  • storage: restructure tests with conformance suite and unit/integration split
  • ai: expand MLX adapter and client test coverage

Maintenance

  • deps: upgrade patch and minor dependencies across all workspaces
  • deps: bump actions/checkout from 4 to 6, actions/setup-node from 4 to 6
  • lint: consolidate linting config with pnpm catalog

[0.6.2] - 2026-02-24

Security

  • deps: upgrade hono 4.11.4 → 4.12.2 for multiple CVEs (XSS, cache bypass, IP spoofing, timing attack)
  • deps: upgrade axios 1.13.2 → 1.13.5 for GHSA-43fc-jf86-j433 (DoS via __proto__ in mergeConfig)
  • deps: upgrade node-gyp 12.1.0 → 12.2.0 and refresh transitive deps (tar, minimatch, ajv, qs, brace-expansion)
  • deps: resolve seroval and diff vulnerabilities via clean reinstall
  • frontend: fix XSS vulnerability from unsanitized dangerouslySetInnerHTML uncovered during lint audit

CI/CD

  • ci: expand lint workflow into full CI with parallel lint, typecheck, build, and test jobs
  • ci: add PR lint workflow enforcing Biome and oxlint with zero warnings
  • ci: add Dependabot config for npm security alerts and GitHub Actions auto-updates

Bug Fixes

  • frontend: generate route tree before typecheck to fix CI build order
  • packages: resolve types from source for workspace packages so typecheck works without a prior build step
  • packages: fix 12 strict null check errors across core/encryption, queue, and storage packages
  • lint: resolve stale closure risks from missing useCallback dependencies in React hooks
  • lint: fix accessibility errors across frontend components

Refactoring

  • lint: adopt Biome and oxlint as dual linters with unified pnpm lint script
  • lint: resolve all Biome and oxlint errors and warnings across the monorepo (~340 files touched)
  • lint: replace non-null assertions with runtime guards to satisfy noNonNullAssertion
  • lint: use stable keys instead of array indices in React list components
  • storage: replace as unknown as casts with proper NodeWebReadableStream types
  • backend: use Number.isFinite over global isFinite, fix shadowed variables

Maintenance

  • deps: upgrade patch and minor dependencies across all workspaces (biome 2.4.4, bullmq 5.70.1, pg 8.18.0, pino 10.3.1, playwright 1.58.2, react 19.2.4, vite 7.3.1, vitest 4.0.18)
  • deps: upgrade better-auth 1.4.19, hono 4.12.2, TanStack Router 1.162.8, tailwindcss 4.2.1, pnpm 10.30.2
  • cleanup: remove unused imports, variables, and function parameters across backend and frontend
  • cleanup: adopt node: protocol for all Node.js builtin imports
  • config: exclude generated service worker files from Biome linting
  • config: expand root lint and format scripts to cover entire monorepo

[0.6.1] - 2026-01-13

Security

  • backend: upgrade hono to 4.11.4 for CVE-2026-22817 (JWT Algorithm Confusion)

[0.6.0] - 2026-01-07

Highlights

  • Unified deployment: frontend + backend + workers can run in a single container
  • Simplified Self-Hosting - new one-command setup.sh flow, plus a streamlined compose.yaml
  • Better AI Support - New vision models, llama.cpp router, expanded provider support
  • Modern Frontend - Migrated from Next.js to Vite + TanStack Router
  • New Admin CLI - Manage your instance from the command line

Features

  • Unified Deployment: Single container can serve as backend, workers, or both via SERVICE_ROLE environment variable
  • SQLite Support: Full SQLite database support alongside Postgres with comprehensive parity tests
  • Database Queue Mode: Use Postgres or SQLite for job processing instead of Redis/BullMQ
  • In-Memory Notifications: Single-process deployments no longer require Redis
  • Admin CLI: New admin-cli integrated into Docker for instance management
  • Auto-Upgrade System: Database migrations run automatically at startup
  • Qwen3-VL-8B: Added support for Qwen3-VL-8B vision model
  • llama.cpp Router: Support for llama-server's new router endpoint
  • Request ID Tracing: Better observability and debugging across distributed components
  • Version-Prefixed Encryption: Enables future key rotation support

Improvements

  • Frontend: Migrated from Next.js to Vite with TanStack Router for faster builds and modern routing
  • ES Modules: Complete migration from CommonJS to ES modules
  • Tailwind CSS v4: Upgraded to latest Tailwind with tw-animate-css support
  • Transaction Support: Read-Modify-Write for Postgres, mutex serialization for SQLite
  • Services Architecture: Thin routes pattern with extracted services layer
  • Modular Packages: New @eclaire/ai, @eclaire/storage, @eclaire/queue packages
  • AI Tool Calling: More robust native tool calling support
  • AI Providers: Improved support for llama.cpp, MLX-LM, MLX-VLM, and LM Studio backends
  • Dependency Upgrades: Vite 7, Vitest 4, Playwright 1.57, Pino 10, Recharts 3, Better Auth 1.4.5

Bug Fixes

  • User queue jobs now deleted when account is deleted
  • Fixed AI response truncation/repetition detection with improved JSON parsing
  • SQLite case-insensitive sorting for text columns
  • Docker layer caching optimized for faster builds
  • Queue callback race conditions resolved with timeout safety guards
  • Route detail views render correctly
  • Image URL fallback uses thumbnailUrl consistently
  • Auth session tests include Origin header for CSRF validation
  • Sharp/native dependency handling with SHARP_IGNORE_GLOBAL_LIBVIPS

Breaking Changes

  • TaskStatus: Removed cancelled status from enum
  • SERVICE_ROLE: New environment variable for deployment mode configuration
  • Data Directories: Changed from data/db to data/postgres, data/pglite, data/sqlite
  • SQLITE_DB_PATH: Renamed from SQLITE_DATA_DIR
  • Environment: Simplified to single .env file configuration
  • Admin CLI: model-cli replaced with admin-cli
  • Build Script: build.sh now defaults to dev mode (use --prod for production)
  • Production Port: Standardized to port 3000

Migration from v0.5.x

There is no automated upgrade path from v0.5.x to v0.6.0. Due to significant architectural changes, we recommend setting up a fresh v0.6.0 instance and transferring your data from your previous installation.

If you need help migrating, please open an issue or reach out to us - we're happy to assist.

Infrastructure

  • All dependencies pinned to exact versions for reproducible builds
  • Root biome config for consistent formatting/linting
  • Restructured tests directory (__tests__ → tests)
  • TypeScript config standardized (typecheck includes tests, build excludes)
  • ioredis pinned to 5.8.2 for BullMQ compatibility

Documentation

  • AI Model Configuration guide with Qwen3-VL-8B examples
  • First login instructions added to README
  • Clarified WORKER_AI_LOCAL_PROVIDER_URL documentation

[0.5.2] - 2025-12-03

Security

  • frontend: upgrade Next.js to 15.5.7 for CVE-2025-55182

[0.5.1] - 2025-11-13

Features

  • build: configure pnpm workspace for Docker deployment with pnpm deploy

Bug Fixes

  • docker: migrate to pnpm deploy for proper dependency resolution in containers
  • frontend: invalidate asset list on processing status to show spinner

CI/CD

  • dx: add --dev flag to build script and update contributor docs

[0.5.0] - 2025-11-11

⚠️ Migration Notes

This release includes significant tooling changes:

  • Node.js Version: Upgraded requirement from v22 to v24 LTS

    • Ensure you're running Node.js v24.x
  • Package Manager: Migrated from npm to pnpm

    • Enable corepack (one-time setup): corepack enable
    • Delete node_modules folders: rm -rf node_modules apps/*/node_modules tools/*/node_modules
    • Install dependencies: pnpm install

CI/CD

  • deps: migrate to pnpm and update package dependencies
  • deps: upgrade Node.js requirement from v22 to v24 LTS
  • deps: change Node.js engine from >=24.0.0 to ^24.0.0

Bug Fixes

  • workers: eliminate macOS keychain popup by using non-persistent browser contexts
  • workers: add null check for browser context in bookmark processor
  • db: correct key length in seed script
  • db: complete key length correction in seed script
  • docker: use monorepo root as build context for pnpm workspace compatibility
  • ci: use repository root as Docker build context in GitHub Actions

[0.4.1] - 2025-10-30

Security

  • deps: bumped Hono to address security vulnerabilities (GHSA-m732-5p4w-x69g, GHSA-q7jf-gf43-6x6p)
    • Upgraded to latest safe version to resolve Improper Authorization vulnerability (CVE-2025-62610)
    • Fixed Vary Header Injection leading to potential CORS Bypass

Bug Fixes

  • ai: use json_schema { name, schema } envelope to align with OpenAI structured outputs

[0.4.0] - 2025-10-14

Features

  • ai: Apple MLX integration with native support for Apple Silicon
    • mlx-lm: text inference using MLX
    • mlx-vlm: vision model support with multimodal capabilities using MLX
  • ai: LM Studio integration for local model inference
  • model-cli: enhanced import workflow with provider selection
    • Interactive provider selection (MLX-LM, MLX-VLM, LM Studio, Ollama, LlamaCpp, and more)
    • Automatic vision capability detection from model metadata
    • Smart warnings for incompatible provider/model combinations
    • Improved user experience with context-aware prompts

Bug Fixes

  • config: use 127.0.0.1 instead of localhost for service URLs to improve compatibility
  • model-cli: display modelFullName instead of name in list command

Documentation

  • readme: added upgrade section with instructions for updating between versions

CI/CD

  • docker: bumped default image tags to 0.4
  • workflows: explicit semver values for Docker tags

[0.3.1] - 2025-10-08

Features

  • ci/cd: official GHCR image publishing system with Github Actions

CI/CD

  • workflows: overhauled CI/CD workflows and Docker build system
  • automation: bootstrap GitHub Actions UI on main branch

Security

  • deps: upgraded axios, hono, next.js to resolve security advisories
  • deps: bumped axios in tools/models-cli to address security advisory

Refactoring

  • deps: migrated to zod v4 and removed zod-openapi integration
  • deps: removed unused @hono/zod-validator dependency
  • deps: upgraded safe dependencies across frontend, backend, and workers

Documentation

  • readme: added demo video
  • readme: added comprehensive Quick Start guide for running official Docker images
  • readme: restructured setup options (Quick Start, Development, Building Docker Locally)

[0.3.0] - 2025-09-29

Features

  • repo: publish core application (backend, frontend, workers) to a public repository
  • ui: new logo and refreshed theme with light/dark support
  • docs: landing page, high-level architecture overview, updated README with quick start
  • tooling: setup scripts for local development and maintenance
  • security: signed release tags / verified commits support

Refactoring

  • repo: standardized naming and layout for public distribution
  • config: aligned package metadata and repository information
  • deps: locked dependency versions for reproducible builds

Bug Fixes

  • ui: responsive layout tweaks; hover state fixes; thumbnail edge cases
  • processing: improved reliability of background jobs and streaming updates
  • content: fixed malformed character extraction in certain inputs
  • docs: improved typography and contrast

Styling

  • ui: dashboard polish; asset list counts and filters; detail view status links

Documentation

  • api: link API docs to GitHub repository
  • contrib: contribution guide and issue/PR templates
  • security: clarified vulnerability reporting process in SECURITY.md

Security

  • defaults: safer API key handling and configuration defaults

Maintenance

  • integrations: disabled non-essential third-party APIs by default
  • cleanup: removed legacy share-target functionality

Prior internal releases (summary)

[0.2.3] - 2025-08-17

Features

  • ui: dashboard redesign; asset list counts and filters; job status links from asset details
  • ai: saved AI request/response traces
  • pwa: Android support

Bug Fixes

  • processing: fixed pending job execution
  • content: resolved malformed character extraction

Infrastructure & Reliability

  • workers: reliability improvements; replaced Overmind with PM2

[0.2.2] - 2025-08-12

Features

  • assets: link related content types
  • assistant: create notes; execute tasks with progress tracking
  • ui: avatars for users and AI; in-app changelog page; various mobile/PWA improvements
  • social: Reddit integration (UI and replies)
  • infra: Docker Compose for full deployment

Bug Fixes

  • performance: optimized Redis connection usage; processing streams; search clear button; thumbnail handling

Tools

  • cli: workers/models/backup CLIs; documentation improvements

[0.2.1] - 2025-08-05

  • Assorted fixes and stability improvements

[0.2.0] - 2025-07-27

Features

  • pwa: PWA support and share target
  • streaming: SSE for jobs and assistant
  • data: React Query integration
  • parsing: new text/streaming LLM parser; “thinking” support
  • providers: configuration system and build versioning

Testing

  • conversations: tests; prompt trace replay

Bug Fixes

  • previews: higher-quality document previews
  • General fixes and improvements

[0.1.0] - 2025-06-01

  • Initial internal release