Releases: chrisae9/docksmith
v0.7.9
Docksmith v0.7.9
- Feature: History API with cursor-based pagination and type/status/date filtering
- Feature: History retention settings with automatic cleanup
- Feature: Clear history endpoint with optional age-based filtering
- Feature: Settings API for persistent configuration (history_retention_days)
- Fix: Batch updates now use compose-based recreation instead of SDK, fixing flaky updates where containers reported success but didn't land the new image
- UI: History page with infinite scroll pagination
- UI: Settings page with history retention controls
Full Changelog: v0.7.8...v0.7.9
v0.7.8
Docksmith v0.7.8
- Fix: Custom date range inputs no longer stack on mobile — stay inline with icon and separator visible
- Fix: Poll for updated timestamp after cache refresh to fix stale display
- Fix: Resolve actual version for floating major-version tags via digest lookup
Full Changelog: v0.7.7...v0.7.8
v0.7.7
Docksmith v0.7.7
- Fix: Rename loop variable to avoid shadowing Go receiver in suffix probe logic
- Fix: Use TrimPrefix instead of TrimLeft for correct v-prefix stripping on version tags
- Fix: "Show All" button now disables showRunningOnly filter when stack has stopped containers
Full Changelog: v0.7.6...v0.7.7
v0.7.6
Docksmith v0.7.6
- Fix: Detect updates for suffixed image tags (e.g.,
0.16.3-tensorrt) when variant tags are buried beyond GHCR pagination limits — probes registry directly for expected suffixed variants - Fix: "Show All" button in stack groups now auto-enables showIgnored and showLocalImages filters when the stack contains hidden containers, and appears whenever any containers are hidden
Full Changelog: v0.7.5...v0.7.6
v0.7.5
Docksmith v0.7.5
- Fix: Moved All/Updates filter bar below sub-tabs to reduce visual jank on tab switch
Full Changelog: v0.7.4...v0.7.5
v0.7.4
Docksmith v0.7.4
-
Filter Docker Hub ghost tags (empty images array) that caused phantom update recommendations
-
Revert compose file and relaunch container when batch update fails mid-operation
-
Fix false "Downgrade" badge on up-to-date containers caused by version comparator tie-breaker
-
Implement digest fetching for generic V2 registries (fixes CHECK_FAILED on docker.litellm.ai)
-
Fix compose path resolution for foreign mount namespaces
-
Hide standalone containers from compose-based views
-
Surface ghost tag notes on containers where a newer tag exists but has no published images
-
Add EventStreamContext for shared SSE connection management
-
Clean up unused CSS and consolidate design tokens
Full Changelog: v0.7.3...v0.7.4
v0.7.3
Docksmith v0.7.3
- Fix: Resolved v-prefix tag tiebreaker in
findLatestVersionthat caused phantom updates when a registry publishes both prefixed and unprefixed tags (e.g.,8.1.0andv8.1.0). The sort now prefers tags matching the current tag's prefix convention.
Full Changelog: v0.7.2...v0.7.3
v0.7.2
Docksmith v0.7.2
-
Critical: Fix registry-port image parsing — images from registries with ports (e.g.
registry:5000/repo:tag) no longer corrupt during updates (backend + frontend) -
High: Fix queued updates losing target version — queue now persists target versions instead of defaulting to "latest"
-
High: Fix stack lock leak in processQueue — deadlock when operation lookup fails
-
High: Fix queueOperation overwriting existing operation metadata via INSERT OR REPLACE
-
High: Fix mixed-operation polling marking partial failures as success in UI
-
High: Fix empty batch-group polling falsely marking runs as successful
-
Fix nil pointer dereference on
imageInfo.Config.Labelsin Docker service -
Fix BackgroundChecker unable to restart after Stop() — stopChan now recreated
-
Fix
/api/updatereturning 500 for user errors — typed errors now map to proper 4xx status codes -
Fix
fetchAPIerror path missingtimestamp/versionfields in response -
Fix
useContainersDatapartial success when/api/explorerfails -
Fix
backgroundRefreshsilently ignoring trigger-check failures -
Fix DockerHub response body closed before error diagnostic read
-
Fix sentinel
pending-*operation IDs causing unnecessary API polling -
Fix cache refresh timestamp stuck due to staggered entry expiry
-
Fix tag regex validation running async instead of rejecting synchronously
-
New
internal/update/errors.go— typed errors (NotFoundError,BadRequestError) for proper HTTP status mapping -
New DB migration
000023— addstarget_versionscolumn to update queue -
New
parseImageRef()shared utility for frontend image reference parsing
Full Changelog: v0.7.1...v0.7.2
v0.7.1
Docksmith v0.7.1
- Fix: 4-segment version parsing for containers like Plex (1.42.2.10156) — the 4th version segment was leaking into the suffix, causing update detection to fail by treating newer tags as different variants
- Fix: Git commit hashes starting with digits (e.g., 8adcd0b4-ls46) were misinterpreted as major version numbers, causing bazarr and tautulli to show false "major upgrade" notifications
- Fix: Bare git hashes in tag suffixes (e.g., f737b826c) are now normalized away so they don't interfere with variant matching
- Tests: Added comprehensive audit test suite covering real production container tags (4-segment versions, hash rejection, architecture prefixes, CI build number filtering)
- Tests: Added Plex-specific edge case test data
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Docksmith v0.7.0
-
Stop Stack now behaves like
docker compose down— stops AND removes containers -
Stop Stack operations are grouped in History as single batch entries instead of individual events
-
History tab shows proper type badges (Batch Stop, Batch Start, Batch Remove, etc.)
-
History shows per-container status for non-update operations instead of empty version arrows
-
"Show all" button on stack groups when using the Updates filter
-
Fixed Stop Stack operation recovery after page refresh
-
Fixed missing Stop Stack button in stack action menus
-
Made stop/start operations idempotent (no errors when stopping already-stopped or starting already-running containers)
-
Fixed SSE events from batch stop prematurely marking containers as complete on the operation page
-
Removed ~2000 lines of dead code: unused components, hooks, styles, and backend handlers
Full Changelog: v0.6.1...v0.7.0