July 24th, 2026
A focused bugfix release cleaning up the rough edges from the Projects rollout in 1.3, plus a few UI polish items.
The biggest fixes here are around project assignment on import β a few different paths were writing snippets to disk without properly linking them into your project-scoped list:
GitHub Library imports weren't assigning a project β imported snippets (including drafts) existed on disk but wouldn't show up in your project's snippet list. Imports now use your active project (or Default), and re-importing the same GitHub path updates the existing snippet instead of creating a duplicate.
Cloud Library and JSON file imports were landing in Default instead of whatever project you had selected. Fixed.
Added snippet_project to the GitHub .snipvault.json sidecar metadata so same-site sync can correctly restore project assignment.
Fixed the agent's import_from_library tool sending a single path instead of the required paths array β imports now also pass status and project_id correctly.
Ran a migration (projects v2) to backfill any snippets/folders that were missing valid project meta, moving them to Default.
Monaco editor's dark theme now uses zinc-900 (#18181b) to match the rest of the app's dark palette β no more mismatched editor background.
Redesigned the settings page with a grouped card layout β clearer section hierarchy, more breathing room, readable text-sm descriptions throughout.
Fixed layout issues on the snippet settings and PHP error log screens.
Added ThinkingOrb canvas animations for agent working/thinking states β the header status and inline loading indicator now map activity labels to orbit, globe, wave, or ribbon modes depending on what the agent's doing.
Licence keys now live in their own dedicated snipvault_license option instead of being bundled into snipvault_settings. Activation and removal go through new snipvault/v1/license/* endpoints, so an unrelated settings save can no longer wipe your key. Existing keys migrate automatically β no action needed.
Fixed an intermittent critical error when opening the PHP Error Log β large log files no longer load fully into memory (now a tail-capped read), path resolution falls back to wp-content/debug.log, source lookups are cached, and the dashboard now uses a single error-log request instead of two parallel full parses.
Frontend live reload script 404 on some installs β the script is now copied into app/dist during the Vite build and enqueued from there instead of app/src.