Changelog for tricorder-0.2.2.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.2.1] - 2026-09-09
Fixed
- Build failure due to missing
AsRawUnitclass fromAtelier.Time.
[0.2.2.0] - 2026-09-05
Added
- The daemon now shuts itself down after a period of inactivity, configurable
with
idle_timeout_seconds(defaults to 300 seconds;0disables it). Any client request resets the countdown, and atricorder uiclient's long-lived watch connection counts as continuous activity for as long as it's connected. See Configuring Tricorder for more information. - Use the
test_memory_limitconfiguration value to specify the maximum memory a test suite is allowed to consume. This is enforced through GHC's-MRTS option. - Hooks for running arbitrary shell scripts at certain points in time in the build process. See Configuring Tricorder for more information.
Fixed
- Unable to correctly parse
packageslists incabal.projectfiles when the list was formatted as a single-line, comma-separated list.
[0.2.1.0] - 2026-08-17
Added
- Tricorder now respects all forms of
cabal.projectfiles, likecabal.project.localfor example. See Cabal's documentation on project description files. (#73) - With
hpackinPATH, Tricorder will now runhpackin the directory of any changedpackage.yamlfile in the root of the project or any subdirectory. Control this behavior with thegenerate_with_hpackconfiguration. - Tricorder will now restart the GHCi session when detecting changes to a
project's
stack.yaml.
[0.2.0.1] - 2026-08-12
Fixed
tricorder sourcedoes not work withoutcabalinPATH(forstackprojects, for example). Tricorder now fetches tarballs for source distributions manually with good old-fashioned HTTP instead of relying oncabal fetch. This meanstricorder sourceworks regardless whethercabalorstackis inPATH. (Still requiresghc-pkgto be inPATHthough 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 aliasstack repl). Targets are now automatically resolved with package name,pkg:kind:namefor multi-package repos and justnamefor single-package repos, instead of just with the component name and kindkind:name.stack ghciis not compatible with the formkind:name(butcabal replis), but both of them are compatible with the fully qualifiedpkg:kind:nameform. If you manually specify akind:nametarget in yourstackrepo's.tricorder.yamlthough, you are on your own!
[0.2.0.0] - 2026-08-06
Added
- The TUI can now restart the daemon — press
R(therestart_daemonkey 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-commentssubcommand.tricorder log --print-pathprints 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 sourcenow 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_patternsto 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
SIGINTare 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
Mainmodules.
[0.1.0.1] - 2026-06-06
Fixed
- Renamed the installed executable from
tricorder-exetotricordersocabal install tricorderprovides 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. statusoutputs structured JSON with build phase, module count, duration, and messages; each message includesseverity,file,line/col,title(first line), andtext(full body).- Auto-detects cabal/stack projects and builds the
cabal repl --enable-multi-replcommand. - Parses
.cabalfiles to resolvehs-source-dirsfor 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).