packages feed

tricorder-0.2.0.1: CHANGELOG.md

# Changelog

All notable changes to `tricorder` will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to the [PVP](https://pvp.haskell.org/).

## [Unreleased]

## [0.2.0.1] - 2026-08-12

### Fixed

- `tricorder source` does not work without `cabal` in `PATH` (for `stack`
  projects, for example). Tricorder now fetches tarballs for source
  distributions manually with good old-fashioned HTTP instead of relying on
  `cabal fetch`. This means `tricorder source` works regardless whether `cabal`
  or `stack` is in `PATH`. (Still requires `ghc-pkg` to be in `PATH` though to
  resolve the module name to a package.)
- Incorrect repl command used for eval comments. This caused eval comments not
  to be able to use a module's top-level definitions in its expression.
- Auto-resolved targets are not compatible with `stack ghci` (and its alias
  `stack ghci`). Targets are now automatically resolved with package name,
  `pkg:kind:name` for multi-package repos and just `name` for single-package
  repos, instead of just with the component name and kind `kind:name`. `stack
ghci` is not compatible with the form `kind:name` (but `cabal repl` is), but
  both of them are compatible with the fully qualified `pkg:kind:name` form. If
  you manually specify a `kind:name` target in your `stack` repo's
  `.tricorder.yaml` though, you are on your own!

## [0.2.0.0] - 2026-08-06

### Added

- The TUI can now restart the daemon — press `R` (the `restart_daemon` key
  event, rebindable like the others). It reconnects automatically once the
  fresh daemon is ready.
- Support for eval comments. See [Features of Tricorder - Eval Comments] for
  more information
- `tricorder eval-comments` subcommand.
- `tricorder log --print-path` prints the path to the current repo's Tricorder
  log file.

### Fixed

- No diagnostics are listed in single-package repos.
- Build loops on startup failure.

### Changed

- `tricorder source` now uses a package's sdist tarball from cabal's global
  cache instead of parsing Haddock-HTML, fetching them if necessary. This
  allows Tricorder to show sources for packages without documentation.

### Removed

- Observability and metrics stack.

## [0.1.1.0] - 2026-06-26

### Added

- Configurable `watch_exclusion_patterns` to exclude paths from the file
  watcher.
- The TUI now presents its different views as tabs.

### Fixed

- Terminate the whole cabal process group on shutdown, so children that trap
  `SIGINT` are no longer left running.
- Correct watch-directory scoping for bare package-name targets in a
  multi-package project.
- Building no longer fails for packages that use a custom prelude.
- Use the correct set of targets when constructing the build command.
- Surface location-less GHCi load failures (e.g. plugin errors) without
  reporting false positives.
- Clear stale diagnostics for failed executable and test `Main` modules.

## [0.1.0.1] - 2026-06-06

### Fixed

- Renamed the installed executable from `tricorder-exe` to `tricorder` so
  `cabal install tricorder` provides a binary matching the package name.

## [0.1.0.0] - 2026-06-05

### Added

- Initial release: daemon-based GHCi build monitor communicating over a Unix
  socket.
- Commands: `start`, `stop`, `status [--wait]`, `watch`.
- `status` outputs structured JSON with build phase, module count, duration,
  and messages; each message includes `severity`, `file`, `line`/`col`,
  `title` (first line), and `text` (full body).
- Auto-detects cabal/stack projects and builds the
  `cabal repl --enable-multi-repl` command.
- Parses `.cabal` files to resolve `hs-source-dirs` for targeted file watching.
- Configurable via `.tricorder.toml` (targets, debounce, log file, etc.).
- File watcher with debouncing; auto-restarts the GHCi session on crash
  (fixes ghcid's crash-on-file-removal bug).

[Features of Tricorder - Eval Comments]: ../docs/features-of-tricorder.md#eval-comments