Skip to content

Releases: REDDE4D/marshal-pm

v0.15.0

Choose a tag to compare

@REDDE4D REDDE4D released this 01 Jul 07:41

Added

  • stop, restart, delete, and reset now accept multiple targets and comma-separated lists (e.g. marshal restart 2 3, marshal delete 2,3). An unknown target in a multi-target call warns and the rest still run.
  • marshal restart <marshal.yaml> --update-env reloads an app's environment (inline env: and env_file:) from the config file and restarts it in place, preserving its ID and restart history. Other spec fields still require delete + start.

Changed

  • App IDs are now stable: the daemon persists each app's ID in dump.json and reuses it across restarts and resurrect. Existing installs migrate automatically — the first daemon restart after upgrade renumbers apps to a contiguous 1..N and they stay fixed thereafter. This makes restart <id> / delete <id> reliable.

Full changelog: v0.14.0...v0.15.0

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 09:38

Changelog

  • 40d1bdd Merge dev: release v0.14.0
  • abb12a9 Merge fix/errors-page-polish: exceptions ledger truncation + ack-all
  • 3a20ccd fix(dashboard): truncate exceptions ledger text + add "ack all"
  • c48374a release: v0.14.0

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 09:03

Changelog

  • 21d6094 Merge cli-update-hint: terminal update-available hint + 6h checks
  • ea3af1c docs(plan): implementation plan for terminal update hint
  • bc27466 docs(spec): terminal update-available hint + 6h check interval
  • dc1f4f8 feat(cli): print update-available banner after commands
  • 69052e9 feat(client): ConnectExisting dials the daemon without spawning
  • f81ea64 feat(daemon): run update checker and expose UpdateStatus
  • 0e4915f feat(updatecheck): re-check every 6h instead of 24h
  • 0627e83 proto: UpdateStatus RPC and UpdateInfo message
  • e49658f release: v0.13.0
  • d10f34d release: v0.13.0

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 07:38

Changelog

  • b25c4ad Merge reset-flush-memlimit: reset/flush/max_memory_restart + colored log tail
  • 9028874 docs(plan): implementation plan for reset/flush/max_memory_restart
  • 3784611 docs(spec): add color-coded merged log tail; split out TUI monitor + live fleet logs
  • 4b21119 docs(spec): reset / flush / max_memory_restart design
  • 537363a feat(cli): add reset and flush commands
  • 43fa714 feat(cli): carry max_memory_restart into AppSpec
  • 1470792 feat(cli): color-coded per-app prefix in merged log tail
  • 5fc32f5 feat(cli): fleet reset and fleet flush subcommands
  • 8812e7d feat(config): ByteSize type and max_memory_restart app field
  • ebb0174 feat(daemon): Reset and Flush gRPC handlers
  • a3b6fc0 feat(daemon): fleet dispatch for reset/flush; drop mem limit on delete
  • 98145dd feat(daemon): wire max_memory_restart guard into the metrics tick
  • 9d22b96 feat(dashboard): reset/flush buttons and max_memory_restart field
  • d707bbf feat(dashboard): reset/flush control actions and max_memory_restart
  • 10ae979 feat(eventstore): DeleteLabels removes a label's restart events
  • 054ec7d feat(logs): Truncate clears a sink's files, backups, and ring
  • f1f63b5 feat(manager): ResetCounters resets selected apps' restart counters
  • 42987df feat(memguard): debounced per-app memory-limit restart guard
  • 29bba82 feat(supervisor): ResetCounters zeroes restart counters
  • 33414f1 proto: Reset/Flush RPCs, AppSpec.max_memory_restart, ControlOp reset/flush
  • 1fcaea8 release: v0.12.0
  • 769ebbc release: v0.12.0

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 25 Jun 21:10

Changelog

  • 670d87a Merge fix-pm2-import-run-flow: PM2 import + CLI run-flow fixes
  • f7d5ef6 Merge unified-host-agent: one agent per host
  • 654d9ec Release v0.11.0: one agent per host + PM2 import/CLI run-flow fixes
  • ae3d1ee docs(changelog): marshal enroll/unenroll + live fleet reconnect
  • 5630566 docs(changelog): unified self-enroll lifecycle + cutover note
  • d39bf60 docs(cli): clarify marshal start is local-only vs the fleet/dashboard
  • 55e026e docs(handoff): unified host agent
  • 30bfd45 docs(plan): unified host agent implementation plan
  • 1591850 docs(spec): unified host agent design
  • 2638f07 feat(cli): marshal enroll / unenroll to join or leave a server
  • 83ccd7a feat(cli): show enrollment status above marshal list
  • 400de1e feat(cli): stop/restart/delete by yaml file + bordered, colored process table
  • 84f6d67 feat(daemon): fleet supervisor reconnects on store config changes
  • ce05d53 feat(store): ClearServer removes fleet config + token
  • e18faf1 fix(ci): run the e2e_fleet test in CI/Makefile + review cosmetics
  • 65c6a3f fix(cli): block on server result during --self-enroll shutdown
  • 2397586 fix(pm2import): bake an absolute cwd into every imported app
  • 9370154 fix(pm2import): diagnose ESM ecosystem files instead of "no apps found"
  • 0030aac refactor(cli): --self-enroll enrolls the one default-store daemon
  • d1a6f31 refactor(daemon): drive the fleet client from the supervisor
  • 8a9ce58 release: v0.11.0
  • ae21d56 style(pm2import): gofmt convert_test.go
  • 9cc7d78 test(cli): e2e — live enroll streams host apps to a server

v0.10.0

Choose a tag to compare

@REDDE4D REDDE4D released this 25 Jun 19:12

Changed

  • Dashboard UX-clarity pass. A consistency pass across the whole dashboard so actions explain themselves and outcomes are always visible — prompted by a real confusion where the Notifications "add channel" form looked saved but wasn't. Highlights:
    • Disabled buttons now say why they're disabled (hover tooltip) instead of greying out silently.
    • Form fields gained required markers and inline hints — e.g. the channel name is now clearly distinct from the bot token.
    • Empty lists show guidance instead of blank space.
    • Success/error feedback is consistent and self-clearing.
    • Notifications "add channel"/"add rule" buttons relabelled, with an empty state.
    • Destructive file actions (delete/rename/new file) use proper in-app dialogs instead of the browser's `confirm`/`prompt`.
    • Process control buttons no longer silently cancel a pending confirmation after 3 seconds.
    • Login re-enables and refocuses after a failed attempt.

Added

  • Shared UI primitives for consistent dashboard clarity: `EmptyState`, `StatusMessage`/`useStatus`, and `ConfirmDialog`/`PromptDialog`, plus `disabledReason` on `Button` and `required`/`hint`/`error` on `Field`. A `web/src/components/README.md` documents the conventions for future pages.

No backend or API changes.

Full changelog: v0.9.0...v0.10.0

v0.9.0

Choose a tag to compare

@REDDE4D REDDE4D released this 25 Jun 16:05

Fixed

  • Notification settings silently failed to save. The dashboard's "save settings" always reported "saved" regardless of the server's response, and the notifications page rendered an empty config (instead of an error) when the backend was unavailable — so when notifications were disabled server-side (e.g. an invalid `MARSHAL_MASTER_KEY`) or a save was rejected, the change appeared to succeed but reverted on reload with no explanation. The save button now surfaces the real error (and only claims success on HTTP 200), and the page now shows "notifications unavailable" when the backend is disabled.

Added

  • Send a test notification to all enabled channels. The Notifications → Settings section gains a "send test notification" button that fires a test message through every enabled channel at once and reports per-channel results, so you can verify your configuration end-to-end. New `POST /api/notifications/test` (complements the existing per-channel test).

Full changelog: v0.8.0...v0.9.0

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 25 Jun 14:36

Changelog

  • 3dff704 Release v0.8.0: acknowledge error signatures
  • f8bd501 feat(dashboard): acknowledge error signatures
  • bac8481 release: v0.8.0

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 25 Jun 14:22

Changelog

  • a4e813e Release v0.7.1: dashboard CPU fix + metric-chart hover
  • faa118f fix(dashboard): CPU shown 100x too high + add metric-chart hover

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 25 Jun 13:33

Changelog

  • 961c73f Merge PM2 ecosystem import (marshal import pm2) into dev
  • 57fd3f6 Release v0.7.0: PM2 import + single-host quickstart
  • 9f3ed61 Update install.sh PATH guidance (served from main)
  • b5066c3 feat(cli): import PM2 ecosystem files (marshal import pm2)
  • a2d0964 feat(cli): import pm2 --split-env to keep secrets out of the YAML
  • 9a1da70 feat(server): single-host quickstart (--self-enroll) + server startup
  • 22da465 fix(install): actionable PATH guidance when installing to ~/.local/bin
  • f0248a9 release: v0.7.0