Changelog of @hackage/tricorder 0.2.0.1

Changelog

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

The format is based on Keep a Changelog, and this project adheres to the PVP.

[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).