Skip to content

IINTS-AF SDK v1.5.21 Release Notes

Release date: 2026-06-30

v1.5.21 is a small report-rendering stability patch for the desktop app and clinical PDF pipeline.

Fixed

Matplotlib mathtext crash during clinical report generation

On some macOS/Python/Matplotlib combinations, the scientific plotting style can enable mathtext tick formatting. During fig.tight_layout(), Matplotlib may then try to parse an empty tick label as mathtext and abort the whole report pipeline with:

ValueError:

^
ParseException: exception raised in parse action (at char 0), (line:1, col:1)

This could show up in the desktop app while running:

Reference baseline day
SDK preset: baseline_t1d

The fix has two layers:

  • shared plotting style now forces plain tick labels with axes.formatter.use_mathtext = False
  • the clinical validation plot catches Matplotlib layout ValueErrors and saves a fallback layout instead of failing the full SDK run

Why It Matters

The desktop workflow should never fail just because a report figure layout engine trips over a rendering edge case. The simulation results, CSV, and report generation should remain robust and reviewable.

Verification

Checked with:

python3 -m pytest tests/regression/test_pdf_regression.py -q
python3 -m mypy src/iints/analysis/reporting.py src/iints/utils/plotting.py
python3 -m pytest tests/ -q
PYTHONPATH=src MPLCONFIGDIR=/tmp/iints-mpl-desktop-smoke python3 - <<'PY'
from pathlib import Path
from iints_desktop.engine import run_demo_preset
result = run_demo_preset(output_dir=Path('/tmp/iints-desktop-baseline-report-smoke'), desktop_preset_key='baseline-reference', seed=42)
assert result.results_csv and result.results_csv.exists()
assert result.report_pdf and result.report_pdf.exists()
PY

Results:

7 passed
Success: no issues found in 2 source files
652 passed, 2 skipped
results.csv generated
clinical_report.pdf generated

Boundary

This is a reporting robustness fix only. It does not change treatment logic, dosing logic, simulator authority, or safety-supervisor behavior. IINTS-AF remains research/education only and is not a medical device.