Ctrl K
ComunidadGuías…

CHANGELOG.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Changelog

All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/).

## [Unreleased]

## [0.6.0] - 2026-09-04

### Security

- Credential-shaped values are redacted everywhere data leaves the app, not
  only in logs: the fleet snapshot and diagnostics export, any text copied to
  the clipboard, every frame the MCP server writes to stdout, and the
  diagnostics of a failed `token_source = "command"`. The redactor now also
  recognises JWTs, basic-auth URLs and prefixed env names such as
  `DATABASE_PASSWORD`, and the snapshot says when it replaced something.

### Changed

- The fleet snapshot lists each deployment's UUID, so a pasted line can be
  fed straight back to `get_deployment_logs`, and states how many
  deployments were truncated.

## [0.5.2] - 2026-09-04

### Fixed

- Sidebar counts no longer sit on a raised background block that broke the
  layout; they render as plain muted digits aligned right. The row budget
  also overflowed by one column, which the old badge padding was hiding

## [0.5.1] - 2026-09-04

### Fixed

- Theme background no longer drops out after the first styled fragment on a
  line. Nested style resets fell back to the host terminal colour, which made
  the light theme render as white islands on a non-white terminal

## [0.5.0] - 2026-08-29

### Added

- Container terminal: `T` on an application opens an interactive shell inside
  its container, connected over SSH (`ssh_host` per instance in the config;
  the Coolify API has no exec endpoint). A picker lists every running
  container before connecting, mirroring the web terminal's choice for
  multi-container applications

### Changed

- Minimum Go version is now 1.26.6, which closes four standard-library
  advisories (`GO-2026-6218`, `GO-2026-6090`, `GO-2026-5972`, `GO-2026-5026`)
  that `govulncheck` flagged against 1.26.5

## [0.4.0] - 2026-08-09

### Added

- Fleet timeline: `t` in the Deployments section switches from the
  status-grouped table to a strictly chronological view of every deployment
  across the fleet, newest first, with relative day separators
- Env drift comparison: `x` on the applications list marks a baseline
  application, a second `x` on another one shows which environment variable
  keys exist only on one side and which differ in value; values are reduced
  to fingerprints at the API boundary and never reach the UI
- Fleet snapshot: `!` copies a secret-free markdown digest of the fleet -
  statuses, recent deployments, recent errors - to the clipboard, ready to
  paste at an AI assistant or a colleague during an incident

## [0.3.2] - 2026-08-07

### Fixed

- The Deployments section is no longer permanently empty: per-application
  deployment history now decodes Coolify's `{count, deployments}` wrapper, and
  the running queue survives the keyed-object shape Laravel emits when its
  collection is not in natural order
- The Deployments section now shows finished history across the fleet by
  merging bounded per-application history into the dashboard, instead of
  relying on the running-queue endpoint that only ever returns in-progress and
  queued deployments

## [0.3.1] - 2026-08-07

### Fixed

- Runtime logs for an application without a running container (mid-deploy,
  stopped or crashed) no longer fail with a generic "Request rejected"; the
  error now explains the state and points at the deployment log instead
- Restart, start and stop rejected because of the application's current state
  now say so instead of "Request rejected"
- A 404 on one stale resource (application deleted mid-session) no longer
  disables the capability for every other application until restart; only a
  403 downgrades capabilities, as documented

### Changed

- CI actions bumped: checkout v7, setup-go v7, upload-artifact v7,
  dependency-review-action v5, goreleaser-action v7.2.3

## [0.3.0] - 2026-08-06

The result of a full repository audit: correctness fixes, a hardened release
pipeline, and the removal of a column that never showed real data.

### Fixed

- A typo in `config.toml` no longer prevents the TUI, the MCP server or the
  `auth` commands from starting; unknown keys are reported by
  `cooldeck config validate` instead
- Adding or deleting an instance no longer freezes the whole UI (including
  `ctrl+c`) while the OS keyring responds - keyring and config writes moved off
  the event loop
- Pausing and resuming the fleet tail no longer multiplies the polling rate
- `log_refresh_interval = "0s"` no longer turns the log poll into a hot loop
- The application detail downgrades the deployments capability on a 403 instead
  of silently rendering "no deployments"
- Runtime logs now show the "older lines dropped" indicator against a real
  instance, not only in demo mode
- Recent deployments are ordered newest-first regardless of what order the API
  returns them in
- The dashboard refresh no longer parses the full build log of every deployment
  in the fleet on every poll
- Opening a link in the browser no longer leaves a zombie process behind
- An instance-switch failure no longer shows an empty toast, and a failed
  keyring cleanup after a delete surfaces as a warning

### Changed

- `install.sh` resolves the latest version from the release redirect instead of
  scraping HTML, and `COOLDECK_VERSION` works with or without the leading `v`
- Release binaries are built with `-trimpath`, and a release runs the test
  suite before publishing anything
- Local builds report the same version shape as release builds (no leading `v`)
- `make check` runs the same pinned linters as CI, so green locally means
  green in CI

### Removed

- The Project/Env column, the `project:`/`env:`/`server:` filters and the
  PRODUCTION badge: Coolify's application API returns only numeric ids, so
  these showed real data exclusively in demo mode. They can return the day the
  names are actually fetched

## [0.2.1] - 2026-08-05

### Fixed

- `space` now marks an application for the fleet tail. The binding was declared as a literal `" "`,
  which Bubble Tea v2 never matches, so the whole fleet tail was unreachable from the keyboard
- Log lines no longer print their severity twice (`INFO  INFO  GET /healthz`) when the source
  already begins with the level
- The fleet tail footer shows its own keys (pause, follow, wrap, search, copy) instead of the
  applications list's deploy and restart hints
- Linux package install commands pointed at `/releases/latest/download/cooldeck_0.1.2_…`, a URL that
  404s after any release; they now resolve the current tag first

### Added

- `assets/tail.gif` and a dedicated fleet tail section in both READMEs, rendered from `tail.tape`
- `assets/social-preview.png`, rendered from `social.tape`
- The security section now states what CoolDeck does not protect you from: a `plaintext` token
  source, `insecure_skip_verify`, and MCP mutations running without a confirmation

## [0.2.0] - 2026-08-05

### Added

- Fleet tail: mark applications with `space`, press `t`, and read their runtime logs interleaved in
  one buffer, each line named and coloured by the application it came from

## [0.1.2] - 2026-08-05

Packaging only - the binary is identical to 0.1.0.

### Added

- Linux packages: `.deb`, `.rpm` and `.apk` for amd64 and arm64 on every release
- `install.sh`: one-line install for macOS and Linux that verifies the checksum before installing

## [0.1.1] - 2026-08-05

Packaging only - the binary is identical to 0.1.0.

### Added

- Homebrew cask: `brew install resetnak/tap/cooldeck`, published automatically on every tag

### Changed

- Install instructions lead with Homebrew rather than cloning the repository

## [0.1.0] - 2026-08-05

### Added

- Applications dashboard with filter, sort, responsive layout, and preview pane
- Application detail: overview, deployments, runtime logs, configuration
- Runtime and deployment logs: follow, pause, wrap, search, copy, clear, +/- lines
- Confirmed deploy / force deploy / restart / start / stop
- Command palette with fuzzy filter and disabled reasons
- Help overlay with full key map
- Instances section: mid-session switch, test connection, **add / edit / delete** local config
- Deployments section: recent history with active-only filter, in-flight deployments first
- Deployment progress against the median of an application's last five successful builds
- Diagnostics section with copy and file export
- Interactive `cooldeck setup` and `cooldeck theme` wizards
- Theme set: auto, dark, light, Dracula, Catppuccin, Nord, Gruvbox, Tokyo Night
- MCP server (`cooldeck mcp`): six read-only tools over stdio, mutations behind `--allow-mutations`
- Toast notifications when a deployment settles: failures always, successes for deploys this session started
- Demo mode (`--demo`) with deterministic fixtures
- OS keyring credential helpers (`cooldeck auth …`)
- Golden snapshot tests (`make test-update-golden`)
- Multi-OS CI, coverage, CodeQL, govulncheck, cross-build matrix, GoReleaser
- Documentation in English and Czech (`README.md`, `README.cs.md`, `docs/*`)
- ADRs under `docs/decisions/`

### Security

- Log sanitisation for ANSI and control characters
- Tokens excluded from logs, toasts, and diagnostics
- Browser open restricted to http(s) URLs

[Unreleased]: https://github.com/Resetnak/cooldeck/compare/v0.5.2...HEAD
[0.6.0]: https://github.com/Resetnak/cooldeck/compare/v0.5.2...v0.6.0
[0.5.2]: https://github.com/Resetnak/cooldeck/compare/v0.5.1...v0.5.2
[0.5.1]: https://github.com/Resetnak/cooldeck/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/Resetnak/cooldeck/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/Resetnak/cooldeck/compare/v0.3.2...v0.4.0
[0.3.2]: https://github.com/Resetnak/cooldeck/compare/v0.3.1...v0.3.2
[0.3.1]: https://github.com/Resetnak/cooldeck/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/Resetnak/cooldeck/compare/v0.2.1...v0.3.0
[0.2.1]: https://github.com/Resetnak/cooldeck/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/Resetnak/cooldeck/compare/v0.1.2...v0.2.0
[0.1.2]: https://github.com/Resetnak/cooldeck/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/Resetnak/cooldeck/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/Resetnak/cooldeck/releases/tag/v0.1.0