Changelog
All notable changes to zsasa. See GitHub Releases for full details.
v0.2.3 — 2026-03-10
Fixed
- Windows build: fall back to heap allocation where POSIX mmap is unavailable
- Windows build: replace
std.mem.zeroeswithundefinedforJsonlStreamWriterplaceholder - Third-party license: add BSD-2-Clause notice for libxdrfile in
src/xtc.zig, createTHIRD_PARTY_NOTICES.md - Correct Lahuta author name (Besian I. Sejdiu)
Changed
- Remove legacy
docs/directory (migrated to website) - Add acknowledgments section to README and comparison page
v0.2.2 — 2026-03-10
Added
- Bitmask variants for Python MD wrappers:
use_bitmaskoption for MDTraj, MDAnalysis, XTC, and DCD integrations - JSONL streaming batch output:
--format=jsonlfor memory-efficient batch results - Documentation site overhaul: comparison page, landing page, Python autodoc, CLI docs split, benchmarks overview, changelog, all benchmark pages rewritten
Performance
- mmap file reading, flat buffer NeighborList, trajectory parallel worker alignment, 64KB write buffer for JSONL
Fixed
- Corrected Lahuta/RustSASA metadata in benchmark docs
- Various PDB generation fixes (chain names, serial numbers, CRYST1)
v0.2.1 — 2026-02-25
Changed
- Relaxed bitmask
n_pointsfrom fixed 64/128/256 to any value 1–1024, with internal storage expanded from[4]u64to[16]u64
v0.2.0 — 2026-02-25
Added
- Bitmask-optimized Shrake-Rupley (
--use-bitmask): precomputed occlusion bitmask LUT with SIMD 4-neighbor batching - Batch and trajectory mode bitmask support (shared LUT, built once)
- Python
use_bitmask=Trueparameter forcalculate_sasa()andcalculate_sasa_batch() - C API bitmask exports (
zsasa_calc_sr_bitmask, etc.)
Changed
- BREAKING: CLI now requires subcommands:
zsasa calc,zsasa batch,zsasa traj - BREAKING: Removed
--parallelismoption - Trajectory mode:
--include-hydrogensis now the default
Removed
- Pipeline parallelism mode
Performance
- E. coli batch (f32, 10 threads, 128 points): 4.92s → 2.57s with bitmask SR (1.9x speedup)
v0.1.3 — 2026-02-25
Added
- Directory batch processing C API and Python
process_directory() - Docusaurus documentation site
Fixed
- json_writer performance regression: reverted to in-memory string building (~8x speedup)
Removed
- Streaming output (
--stream,--stream-format,--stream-output)
v0.1.2 — 2026-02-22
Added
- DCD trajectory reader (native Zig): NAMD/CHARMM DCD support with endianness auto-detection
- JSON streaming output for batch processing
- Zig package manager distribution (
zig fetch) - TOML format support for custom classifier configs
- Fuzz tests for parsers
v0.1.1 — 2026-02-22
Added
- Pre-built wheels for Linux, macOS, and Windows via cibuildwheel
- Windows support (Zig build, tests, CLI, Python bindings)
- PyPI publish workflow with OIDC trusted publishing
CODE_OF_CONDUCT.md,CITATION.cff, issue/PR templates