Skip to content

Releases: atimmer/devservers

v0.4.0

19 Feb 08:52

Choose a tag to compare

Added

  • Compose services can now write resolved env vars into a managed block inside a .env file via managedEnvFile/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 --path overrides; it also exposes an explicit top-level --help overview 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 AnimatePresence with 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-pretty formatting when attached to an interactive terminal while preserving default structured logging in non-interactive environments.

Fixed

  • devservers bootstrap now aligns daemon runtime with UI mode (daemon uses packaged daemon with /ui/, source-mode defaults to Vite hot reload via --ui vite) and auto-recovers local stale daemon sessions that respond on /services but 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

11 Feb 15:39

Choose a tag to compare

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 registeredProjects with devservers-compose.yml support, file watching, project references in UI, compose service Config viewing, 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

11 Feb 15:38

Choose a tag to compare

Added

  • CLI now supports --version output sourced from package.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

11 Feb 15:38

Choose a tag to compare

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

11 Feb 15:38

Choose a tag to compare

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 --filter to 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

11 Feb 15:38

Choose a tag to compare

Fixed

  • GitHub Actions publish workflow no longer fails during Node setup by avoiding the pnpm cache hook.
  • Publish workflow now uses pnpm publish with 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

11 Feb 15:38

Choose a tag to compare

Added

  • devservers install-skill --agent <name> to target non-Codex agents, with per-agent skills directories.

Fixed

  • Vite production build now sets base to /ui/ so daemon-served UI assets resolve correctly.

v0.1.0

11 Feb 15:38

Choose a tag to compare

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/.
  • devservers CLI 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.
  • lastStartedAt tracking for service runs.
  • Bundled Codex skills plus install-skill for agent workflows.