47 Commits

Author SHA1 Message Date
b0646e2629 chore: release v0.3.1-rc.5 2026-04-16 11:37:48 -04:00
c454de6116 chore: release v0.3.1-rc.4 2026-04-16 07:01:46 -04:00
e50ca64e80 Resolve audit findings + split db.rs into db/ module
- P1: Fix cancel race in pipeline, fix VideoToolbox quality mapping
- P2: SSRF protection, batch cancel N+1, archived filter fixes,
  metadata persistence, reverse proxy hardening, reprobe logging
- TD: Remove AlchemistEvent legacy bridge, fix silent .ok() on DB
  writes, optimize sort-by-size query, split db.rs (3400 LOC) into
  8 focused submodules under src/db/
- UX: Add queue position display for queued jobs
- Docs: Update API docs, engine modes, library doctor, config ref
- Plans: Add plans.md for remaining open items (UX-2/3, FG-4, RG-2)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 16:02:11 -04:00
5ca33835f1 chore: release v0.3.1-rc.3 2026-04-12 10:25:12 -04:00
f47e90c658 fix bug with set up causing unreachable set up page 2026-04-08 11:39:36 -04:00
4000640f85 chore: release v0.3.1-rc.1 2026-04-07 22:13:43 -04:00
9fb6b480eb chore: release v0.3.0
Since v0.2.9, Alchemist gains the first stable 0.3.0 release with:

Security:
- Fixed a critical bug where a config parse failure on a configured instance could re-enable unauthenticated setup endpoints.
- Session cookies are no longer marked Secure by default, restoring plain HTTP and LAN login flows unless ALCHEMIST_COOKIE_SECURE=true is set.
- Restricted /api/fs/* filesystem browsing to loopback clients during initial setup.
- Hardened proxy header handling with explicit trust configuration.

Library and encoding:
- Added per-library transcoding profiles with built-in presets.
- Added lossless MP4/MOV to MKV remuxing when a file is already in the target codec.
- Added subtitle sidecar extraction for text subtitle tracks.
- Added stream rules for commentary stripping, language filtering, and default-track retention.
- Added optional VMAF quality gating.
- Added duplicate detection in Library Intelligence.
- Added Library Doctor health scanning.
- Added mirrored output roots.

Job management:
- Added Skipped and Archived tabs.
- Added sort controls for jobs.
- Added per-job priority promotion.
- Added live retry countdowns.
- Added structured skip explanations.
- Added structured failure explanations.

Engine control:
- Added Background, Balanced, and Throughput runtime modes with manual overrides.
- Added drain mode.
- Added boot-time auto-analysis of queued jobs.

UI redesign:
- Replaced page h1 blocks with a compact engine control strip.
- Restructured the dashboard around compact stats, savings, and recent activity.
- Grouped log viewer entries by job.
- Rebuilt the setup wizard inside the main shell.
- Redesigned library selection around recommendations and chips.
- Replaced custom stats bars with Recharts area and bar charts.
- Merged hardware into Transcoding settings.
- Merged notifications and automation into one tab.
- Improved mobile navigation and jobs layout.
- Tightened typography and token usage across the design system.
- Added analyzing shimmer states and protected terminal job states from poll overwrites.

Reliability and stability:
- Added exponential retry backoff.
- Cleaned orphaned temp outputs and subtitle sidecar temp files on startup.
- Fixed infinite analysis loops and boot-analysis pagination.
- Kept the engine running when the queue drains so new watcher jobs are picked up.
- Serialized analysis passes and dropped overlapping watcher-triggered passes.
- Added job stall detection.
- Fixed graceful shutdown on Ctrl+C and SIGTERM.
- Added log retention pruning.
- Added auth session cleanup.
- Cached /api/system/resources for 500ms.
- Added a Drop guard for in_flight_jobs.
- Stopped re-probing completed job detail source files when encode_stats already exist.

Hardware and encoding:
- Fixed Apple VideoToolbox encodes with -allow_sw 1, yuv420p conversion, and hvc1 tagging.
- Switched Intel Arc selection to VAAPI-first with QSV as last resort.
- Improved audio planning so lossless codecs transcode while common Atmos/EAC3 tracks can copy.
- Added libopus runtime fallback to AAC when libopus is unavailable.
- Surfaced fuller FFmpeg failure logs and VideoToolbox-specific failure explanations.

Backend architecture:
- Upgraded to Rust 2024 and MSRV 1.85.
- Upgraded sqlx to 0.8 and rand to 0.9.
- Removed async-trait in favor of native async fn traits with trait-variant where needed.
- Split server.rs into focused submodules.
- Moved ffprobe execution to tokio::process::Command with a timeout.
- Split high-volume and low-volume broadcast channels.
- Hardened cancellation-lock recovery and stderr truncation.
- Added warnings for invalid notification and schedule JSON plus safer analysis pagination limits.

Database:
- Extended decisions with structured reason codes and payload JSON.
- Added job_failure_explanations with legacy fallback support.
- Added indexes for structured explanation filtering.
- Preserved automatic upgrades from 0.2.5 onward.

CI/CD and tooling:
- Added nightly workflows using the shared build pipeline.
- Added actionlint to release checks.
- Added the Playwright reliability suite to CI.
- Documented and validated the Windows contributor workflow.
- Expanded just release-check to cover fmt, clippy, tests, actionlint, web verify, docs build, E2E, and backend build.
- Standardized release binaries and checksums.
- Published multi-arch Docker images for linux/amd64 and linux/arm64.

Release metadata and docs cleanup:
- Bumped Cargo, VERSION, web, web-e2e, and docs manifests to 0.3.0.
- Updated stable changelog dates and nightly image references.
- Removed stale RC-era Windows wording from the README and docs.
- Clarified that the Windows core contributor path is supported while broader utility and release recipes remain Unix-first.
- Clarified that AMD AV1 remains outside the validated 0.3.0 support matrix.
- Aligned Docker Compose, Helm, and release-facing docs on ghcr.io/bybrooklyn/alchemist.
2026-04-06 11:25:48 -04:00
ed71d771ea Stability changes have been updated. 2026-04-05 13:11:18 -04:00
b0a190f592 chore: release v0.3.0-rc.3 2026-04-04 14:29:32 -04:00
774d185bd0 Add structured decision and failure explanations 2026-04-04 13:35:57 -04:00
220296c3f7 Prepare 0.3.0-rc.2 with Windows support and regression tests 2026-04-04 12:35:36 -04:00
a00d68b725 Prepare 0.3.0-rc.1 release and harden release checks 2026-04-04 11:40:31 -04:00
a262d6092e Move Docusaurus docs site into docs/ subdirectory
Relocates the entire Docusaurus site from the repo root into a
dedicated docs/ directory to keep docs tooling separate from the
Rust/frontend workspace. Updates CI workflows (build.yml, docs.yml),
justfile (adds `just docs` task), and GEMINI.md to reflect the new
paths.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 17:08:03 -04:00
ffb5562f95 Implemented the setup wizard welcome step as requested. Added `web/src/c 2026-03-30 21:00:11 -04:00
f47a61a9ea Make just dev build Astro before starting the backend 2026-03-29 21:41:55 -04:00
46e8ffee2a Add Docusaurus docs site and GitHub Pages release packaging 2026-03-28 18:58:36 -04:00
b2c65467a0 Migrate docs to redoc Markdown and remove Starlight 2026-03-28 12:19:30 -04:00
413f1e28e4 Expand Playwright reliability coverage and harden hardware saves 2026-03-28 09:40:54 -04:00
f31dd23230 feat: comprehensive codebase improvements from audit
Architecture:
- Split server.rs (4,727 LOC) into 11 focused modules
- Add typed EventChannels (jobs/config/system) with appropriate capacities
- Add database query timeouts (5s on critical queries)
- Add graceful shutdown with signal handling

API:
- Add API versioning (/api/v1/) with backwards-compatible aliases
- Add X-Request-Id header for request tracing
- Create OpenAPI spec (docs/openapi.yaml)

Security:
- Add security headers middleware (CSP, X-Frame-Options, etc.)
- Add HSTS header (config-gated via https_only setting)
- Add config file permission check on Unix
- Fix path traversal vulnerability in file browser
- Add symlink detection in file browser

Frontend:
- Handle SSE lagged events with toast notification
- Clean up banned CSS patterns in components
- Add warning toast variant

Testing & Docs:
- Add FFmpeg integration tests with fixtures
- Expand documentation site (9 new pages)
- Pin MSRV to 1.85 in Cargo.toml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-27 07:52:28 -04:00
c2fe9714e7 chore: release v0.3.0-dev.3 2026-03-25 11:40:57 -04:00
33e0cae5b6 Overhaul CI, nightly, and Docker release workflows 2026-03-25 11:35:36 -04:00
406c70dede chore: release v0.3.0-dev.1 2026-03-23 07:53:10 -04:00
d28fef89f2 chore: untrack docs/dist and docs/.astro build artifacts
These are generated output (like web/dist and web/.astro which were
already ignored) and should not be in version control.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 07:45:34 -04:00
413b7b71ed fix: warn on missing web/dist, untrack docs/node_modules, add e2e CI job, refresh audit
- server.rs: log a warn at startup when web/dist is not found (non-embed-web builds only)
- .gitignore: add docs/node_modules; remove 21,593 tracked files from git index
- ci.yml: add e2e-reliability job so the Playwright reliability suite runs in CI
- audit.md: rewrite to cover current features (v0.3.0): per-library profiles, stream
  rules, VMAF gating, retry backoff, Library Doctor, storage savings stats, engine
  runtime modes, remux planning, notifications

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 07:42:49 -04:00
1906653dd7 chore: release v0.3.0-rc.3 2026-03-22 21:37:28 -04:00
f8540b0f09 chore: checkpoint before release v0.3.0-rc.2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 21:02:26 -04:00
5c1535217d chore: checkpoint before release v0.3.0-rc.1 2026-03-22 20:28:10 -04:00
4f6d2d29d6 chore: checkpoint before release v0.2.10-rc.7 2026-03-22 20:09:50 -04:00
6fcd656668 chore: checkpoint before release v0.2.10-rc.6 2026-03-22 19:23:43 -04:00
4df4361f89 chore: checkpoint before release v0.2.10-rc.5 2026-03-22 15:40:26 -04:00
6e19aaa9ae chore: checkpoint before release v0.2.10-rc.4 2026-03-22 15:34:02 -04:00
6b83ea1a4b Add stream rules and refresh backend and docs 2026-03-22 12:17:05 -04:00
4e8bbc8a9c Update docs for multi-arch releases and deployment 2026-03-21 21:15:47 -04:00
5842297fdc Improve runtime defaults and preserve job history 2026-03-21 19:03:09 -04:00
095b648757 Release v0.2.9: runtime reliability and admin UX refresh
- ship runtime reliability, watcher/scanner hardening, and hardware hot reload

- refresh admin/settings UX and add Playwright reliability coverage

- standardize frontend workflow on Bun and update deploy/docs
2026-03-05 22:22:06 -05:00
copilot-swe-agent[bot]
ec1add24e6 Fix Markdown issues in docs/Documentation.md
- Fix unresolved file reference: change docs/GPU_PASSTHROUGH.md to
  GPU_PASSTHROUGH.md since the link is relative to the docs/ directory
- Fix incorrectly numbered list items in 'Adding a New API Endpoint'
  and 'Adding a New Database Table' sections by indenting code blocks
  with 3 spaces so they remain within their parent list items
- This also fixes the parser error at line 929 where the code fence
  was not recognized as part of the list item context

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-05 22:52:35 +00:00
brooklyn
5c9c69f04c Tighten job concurrency + persist encoding progress updates 2026-01-14 17:17:27 -05:00
brooklyn
b3c030851d Improve FFmpeg encoder probing on macOS; minor fixes for Windows/Linux
Refine UI across the app
Optimize mobile and narrow-width layouts
2026-01-13 14:20:00 -05:00
brooklyn
74c9b59c73 updated themes! 2026-01-12 20:18:13 -05:00
brooklyn
4b79a8dbf7 Prepare v0.2.6 release 2026-01-12 18:49:40 -05:00
brooklyn
cf94ce9376 Add version bump helper
- Add interactive version bump script with optional tag prompt
- Update version metadata across core files for v0.2.6-beta-2
2026-01-12 14:59:28 -05:00
brooklyn
eb463dca63 fix github workflow for building windows msi/exe 2026-01-12 14:54:05 -05:00
brooklyn
503ac84fe0 Release v0.2.6-beta
- Add setup auth fixes and scheduler time validation for reliable onboarding
- Harden file watcher behavior under bursty filesystem events
- Improve DB stability with WAL, timeouts, FK enforcement, runtime legacy watch_dir support, and new indexes
- Add session cleanup task and include config dirs in initial scans
- Switch reqwest to rustls for cross-compilation without OpenSSL
- Add cross-platform build script (bun + zig + cargo-xwin) and design philosophy doc
- Bump documentation changelog for v0.2.6-beta
2026-01-12 14:37:53 -05:00
brooklyn
61630ce884 push to v0.2.5-rc.1 2026-01-10 21:13:37 -05:00
Brooklyn
65d47035bf update 2026-01-10 13:18:53 -05:00
Brooklyn
ad58c355e2 chore: release v0.2.4-stable 2026-01-09 20:18:25 -05:00
Brooklyn
ad31409667 feat: Add v0.2.0 features - health endpoints, scheduler, stats dashboard, HEVC/subtitle config, Helm chart, docs 2026-01-08 23:12:36 -05:00