Changelog
All notable changes to FlameIQ are documented here.
The format follows Keep a Changelog. FlameIQ adheres to Semantic Versioning.
1.0.0 — 2026-03-01
The first stable release of FlameIQ.
Added
Core engine
Deterministic baseline vs. current snapshot comparison (
compare_snapshots())Configurable per-metric thresholds with direction-aware evaluation (
latency.*→ higher-is-worse;throughput→ lower-is-worse;custom.*→ absolute deviation)Warning zone detection: metrics within 5 percentage points of their threshold emit a WARNING without failing the build
Typed exception hierarchy with 12 exception classes (
flameiq.core.errors)Machine-readable
ComparisonResult.to_dict()for CI JSON output
Schema v1
Immutable, versioned performance snapshot data model (
PerformanceSnapshot)Latency percentiles (mean, p50, p95, p99) in milliseconds
Throughput (operations/requests per second)
Memory (peak MB), CPU (percent utilisation)
Custom user-defined numeric metrics (
metrics.custom)Round-trip JSON serialisation via
to_dict()/from_dict()
Baseline management
Three strategies:
last_successful,rolling_median,taggedLocal filesystem storage: JSON baseline + append-only JSONL history (
BaselineStore)Zero external services — fully offline
Statistical engine
Optional Mann-Whitney U test (non-parametric, distribution-free) (
mann_whitney_compare())Cohen’s d effect size with verbal labels (negligible / small / medium / large)
Noise-resistant median filter with warmup discard (
noise_filter_median())Configurable confidence level (default: 95%)
CLI
flameiq init— initialise projectflameiq run— load and validate a snapshotflameiq compare— compare against baseline (--fail-on-regression,--json)flameiq baseline set / show / promote / clearflameiq report— self-contained offline HTML reportflameiq validate— validate a metrics file
Providers
json— native FlameIQ v1 JSON schemapytest-benchmark— adapter forpytest --benchmark-jsonoutputMetricProviderABC for custom providers
HTML report
Self-contained, offline-capable static HTML
No CDN, no JavaScript frameworks
Metric diff table with colour coding
Summary pills (regressions / warnings / passed)
Metadata cards (baseline commit, current commit, environment)
Tooling
pyproject.tomlwith ruff, mypy (strict), pytest, coverageMakefilewithmake check,make test,make docsGitHub Actions CI (Python 3.10 / 3.11 / 3.12 matrix)
GitHub Actions release workflow (PyPI publish on tag)
Pre-commit hooks (ruff, mypy, commitizen, trailing whitespace)
Sphinx + sphinx-rtd-theme documentation (RST)
Documentation (https://docs.flameiq.dev)
Getting Started: installation, quick start, CI integration
User Guides: configuration, baseline strategies, custom providers
CLI Reference (all commands)
Architecture: overview, layers, schema design
Specifications: Schema v1, Statistical Methodology, Threshold Algorithm, Exit Codes
API Reference: all public modules
Contributing: development setup, RFC process, testing standards
Unreleased
Changes to be included in the next release.
Note
Add items here during development. They will be moved to a versioned section at release time.