Skip to content

Changelog

All notable changes to PySuricata are documented here.

[0.0.16] - 2026-02-15

Added

  • Polars nested type support — Structs and Lists are now gracefully handled as categorical variables (with debug warnings) instead of causing inference errors

Changed

  • Performance optimization — optimized _safe_compute to use NumPy arrays for type checks, reducing overhead in large datasets

[0.0.15] - 2026-02-14

Added

  • Python 3.14 CI testing — Added Python 3.14 to CI test matrix
  • Changelog CI check — PRs now require a changelog entry
  • Mermaid architecture diagrams — Replaced ASCII art with 5 interactive diagrams

Fixed

  • MathJax formula rendering — Fixed ignoreHtmlClass regex that prevented all formula rendering
  • Code/equation styling — Changed code and math colors from green to standard gray
  • Memory stress test — Bumped threshold from 200→250 MB for Python 3.14 compatibility

Changed

  • Dropped Python 3.9 — Minimum version is now Python 3.10
  • CI runs on PR only — Tests no longer run on push to main (CD handles releases)
  • Cleaned dev dependencies — Removed ydata-profiling and ipykernel (not 3.14-compatible)
  • Cleaned examples/ — Removed benchmark scripts, generated reports, and ydata comparisons
  • Removed .claude/skills — Cleaned up unused skill symlinks
  • Documentation improvements — Rewrote API reference, complexity analysis, quality flags (tables), stats overview

Removed

  • report_preview.png — Replaced with link to live interactive report on GitHub Pages
  • Stale dates from stats documentation pages

[0.0.14] - 2026-01-14

Added

  • Polars LazyFrame support — LazyFrames are now automatically collected before profiling
  • ReportConfig alias — Added ReportConfig as an alias for ProfileConfig for better API discoverability

Fixed

  • Self-contained HTML reports — HTML reports no longer depend on external CDN (Chart.js is now inlined)

Changed

  • Lighter dependencies — Removed unused dependencies: matplotlib, seaborn, ipywidgets

[0.0.13] - 2026-01-02

Added

  • CLI tool — New command-line interface with pysuricata profile and pysuricata summarize commands
  • Comprehensive stress tests — New test_complexity_analysis.py with time/space profiling
  • Python 3.14 support — Officially supported in package metadata

Fixed

  • Memory leak fixes — Resolved memory leaks in KMV sketch, ExtremeTracker, and chunk metadata

Changed

  • Realistic benchmarks — Updated README and docs with measured performance figures

[0.0.11] - 2025-12-XX

Added

  • Enhanced documentation with mathematical formulas
  • Comprehensive examples gallery
  • Detailed algorithm documentation (Welford, Pébay, KMV, Misra-Gries)

Earlier Versions

See GitHub Releases for complete history.