Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Changelog
All notable changes to this project 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 [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.2.0] - 2026-08-23
### Added
- `TEMPER_SHA`, `TEMPER_DIRTY` and `TEMPER_BRANCH` environment
variables override git context detection — for containers and other
environments where git cannot answer. A non-empty `TEMPER_SHA`
activates manual mode and takes priority over CI variables and
local git.
- `mix temper.report --by-app` groups findings by umbrella child app
(derived from file paths), with per-app counts and involved files.
JSON findings always carry the derived `"app"` field.
### Changed
- Recommended dependency line is now
`only: [:dev, :test], runtime: false`, keeping `mix temper.report`
available in the default env.
- Documented umbrella setup: root-only dependency, formatter
registration via `config :ex_unit`, and a partition-safe shared
history path — verified end-to-end on Elixir 1.15 through 1.20.
## [0.1.0] - 2026-08-22
### Added
- `Temper.Formatter` — ExUnit formatter recording every test outcome to
`.temper/history-{partition}.jsonl`, with run context (git SHA, dirty
flag, CI provider, seed, partition) and failure signatures.
Crash-safe: on any internal error it warns once and goes inert.
- `mix temper.report` — flaky tests (divergent outcomes on the same
clean git SHA) sorted by flake rate, plus lower-confidence suspects
from dirty-tree runs. Options: `--json`, `--min-runs`, `--history`.
- `mix temper.clean` — deletes recorded history.
- History schema v1: append-only JSONL, one denormalized line per test
outcome, partition-safe for parallel CI jobs.