Follow Bank Statement Parser development. Subscribe via RSS or watch the GitHub repository for release notifications.
v0.0.4 — 2026-03-15 (Latest)
- Added parallel file parsing with
parse_files_parallel()using ProcessPoolExecutor. - Added true streaming for large PAIN.001 files (50 MB+) with bounded memory.
- Performance optimisations: CAMT throughput now exceeds 27,000 tx/s, PAIN.001 exceeds 52,000 tx/s.
- Added
Deduplicatorclass for detecting exact duplicates and suspected matches with confidence scores. - Added
from_string()andfrom_bytes()methods for in-memory parsing without disk I/O. - Added
iter_secure_xml_entries()for secure ZIP archive processing. - Extended CI with performance threshold enforcement.
v0.0.3 — 2025-11-20
- Added CSV, OFX, QFX, and MT940 parser support.
- Added format auto-detection with
detect_statement_format()andcreate_parser(). - Added PII redaction (on by default in CLI and streaming mode).
- Added export helpers for CSV, JSON, and Excel.
- Added optional Polars DataFrame support.
- Expanded test suite to 467 tests with 100% branch coverage.
v0.0.2 — 2025-06-10
- Added PAIN.001 parser (
Pain001Parser) for ISO 20022 credit transfer initiation files. - Added CLI interface (
python -m bankstatementparser.cli). - Added streaming mode with
parse_streaming(). - Added input validation and file size limits.
v0.0.1 — 2025-01-15
- Initial release.
- CAMT.053 parser (
CamtParser) for ISO 20022 bank-to-customer statements. - pandas DataFrame output.
- Basic XML security hardening (XXE protection, no_network).
View the full commit history on GitHub.