Releases: atimmer/devservers
Releases · atimmer/devservers
v0.5.0
Changed
- Repo instructions now require an immediate fresh build after each change so local
devserversbinaries and anypnpm linksetup keep pointing at the newest build artifacts for testing. - CLI manager lifecycle commands now live under
devservers daemon, replacingdevservers bootstrapwithdevservers daemon start, addingdevservers daemon stopto stop the manager tmux windows without touching service windows,devservers daemon restartto reload the manager daemon window, anddevservers daemon statusto inspect tmux/runtime reachability without changing state. - UI log rendering now has regression coverage for trimming trailing blank tmux pane rows without removing intentional blank lines inside output.
- Desktop UI now uses a right-sidebar navigation model with fuzzy search at the top; started services remain pinned in a dedicated area, sidebar ordering now prioritizes most recently started services/working copies (using
lastStartedAt) with stable name fallback ordering, services are organized by working copy, working-copy headers only render when multiple services exist in that group and use slightly larger type, service rows are compact 36px name-only entries with no vertical gaps between adjacent service rows, horizontal overflow is suppressed in the sidebar, extra vertical separation is added between the Started block and non-started service list, list-level card wrappers around sidebar services were removed for a flatter layout, clicking a service focuses that single service in the main pane without transition animation, clicking a working copy shows all services for that working copy, inline service logs now pause follow mode when the user scrolls up and show a bottom-right follow button with a down-arrow icon, offset clear of the scrollbar, to resume automatic scrolling while the selected service is running without snapping back on background service refreshes, inline logs trim trailing blank tmux pane rows before rendering so follow mode stays on short output instead of empty space, the selected service now always shows its inline log panel, including an empty state before any output has been captured, the daemon now automatically unregisters registered projects whose directories no longer exist, stopping any still-running compose-managed services for those projects instead of repeatedly erroring on stale paths, and compose-backed services are now refreshed during catalog resolution so the UI picks updevservers-compose.ymledits even when a filesystem watch event is missed.
v0.4.0
Added
- Compose services can now write resolved env vars into a managed block inside a
.envfile viamanagedEnvFile/managed_env_file/managed-env-file, with block delimiters# - Managed by \devservers` - Start, do not edit.and# - Managed by `devservers` - End`; when appending after existing content, devservers inserts two newline characters before the start marker and no blank lines inside the managed marker block. - CLI now includes
devservers url <service>to print a full local URL for a running service, with optional--scheme,--host, and--pathoverrides; it also exposes an explicit top-level--helpoverview flag for agents to list available commands quickly.
Changed
- UI now shows active services in a compact Started services section at the top, removes those running services from the detailed list, keeps service ordering alphabetical (groups and services) instead of status-driven reordering, removes ViewTransition usage completely, adds service appear/disappear motion for start/stop flows using Motion
AnimatePresencewith height-based enter/exit transitions (with layout/popLayout) that trigger only after real status changes, tightens started-service action-column spacing, uses compact icon actions for Config/Edit/Logs, keeps Open as the rightmost button with its icon on the right, normalizes larger icon sizing across these controls, moves project unregister actions into each service working-directory label, makes long service edit dialogs scrollable, and caps dependency checklist height so actions remain reachable. - Daemon console logging now uses
pino-prettyformatting when attached to an interactive terminal while preserving default structured logging in non-interactive environments.
Fixed
devservers bootstrapnow aligns daemon runtime with UI mode (daemonuses packaged daemon with/ui/, source-mode defaults to Vite hot reload via--ui vite) and auto-recovers local stale daemon sessions that respond on/servicesbut are not serving/ui/.- Service add/edit modal failures now render inline inside the modal (including create/delete errors) instead of only in the page-level alert hidden behind the dialog overlay, and daemon JSON error payloads (including validation objects) are now formatted into readable messages instead of raw JSON.
v0.3.0
Added
- Added a muted delete action to the edit service modal.
- Added service dependencies with auto-start ordering, dependent stops, restart-safe behavior, and env port templates for dependency services (
${PORT:service-name}). - Added
registeredProjectswithdevservers-compose.ymlsupport, file watching, project references in UI, compose serviceConfigviewing, and automatic<project>_service-name prefixing so one definition can be reused across checkouts. - Added repo grouping plus workspace paths in the UI, backed by workspace/git detection.
v0.2.2
Added
- CLI now supports
--versionoutput sourced frompackage.json.
Changed
- Logs viewer now renders ANSI color output via xterm.js when requested.
- Logs dialog is now centered, larger, and the log panel fills the available height.
- Service form now shows port only when port mode is static, with port mode listed first.
- Publish workflow now runs automatically when tags are pushed.
Fixed
- ANSI log stripping regex no longer trips the ESLint control regex rule.
- Slow-starting services no longer flip to error unless logs show an error.
v0.2.1
Changed
- Release checklist now only documents prep work plus tagging/pushing (publishing handled by GitHub Actions).
- Condensed the UI header into a compact stats bar with a more prominent Add Service button, flush to the top with squared upper corners.
- Updated the README UI screenshot.
- CLI status output now includes service ports when known, with skills/docs noting how to retrieve them.
- Open button now uses a link targeting a new tab, centered like the other buttons.
Fixed
- UI build now includes React type definitions for TypeScript.
- Error boundary now stores caught errors along with component stacks for strict builds.
- Port registry tests now use bracketed env access to satisfy strict typing.
- Start failures now clear the start spinner, surface an error badge, and highlight Logs until opened.
- Dialogs now close on Escape using Radix UI.
- Modals now sit above view transitions and use higher z-index overlays to prevent background bleed-through.
v0.2.0
Added
- UI now shows a dev-only error boundary message when rendering fails.
Changed
- Controls now use a shared action button helper and consistent sizing (Stop above Restart, 140x36 buttons).
- Start/stop/restart actions now show spinners based on refreshed status (stop delayed; restart persists until running).
- Service cards now animate reordering via React ViewTransition (requires React canary), with slower timing.
- Clarified changelog guidance to merge follow-up fixes into the original entry.
Fixed
- Publish workflow now uses
pnpm publish --filterto avoid npm workspace publish errors. - Bootstrap now starts the daemon from an existing window even if it was left in a different directory.
- CLI bootstrap now waits for the daemon to become reachable before returning.
- Stopping a service now removes its tmux window to avoid stale sessions.
- ViewTransition wrapper now references the runtime React export to avoid undefined component crashes.
v0.1.2
Fixed
- GitHub Actions publish workflow no longer fails during Node setup by avoiding the pnpm cache hook.
- Publish workflow now uses
pnpm publishwith OIDC provenance so workspace deps are rewritten for published packages. - Package metadata now points to the correct GitHub repository for provenance validation.
v0.1.1
v0.1.0
Added
- Devservers Manager daemon (Fastify) with REST + WebSocket APIs to manage tmux windows and stream logs.
- Web UI for service controls, logs, edit flow, and quick actions; UI served from the daemon at
/ui/. devserversCLI with bootstrap, list/status/add/remove/start/stop/restart; auto-starts daemon/UI if needed.- Config schema with service env, optional port, and
portMode(static,detect,registry), including log-based port detection. lastStartedAttracking for service runs.- Bundled Codex skills plus
install-skillfor agent workflows.