Skip to content

Releases: cobilab/cryfa

v26.05

03 May 15:59
776b7c2

Choose a tag to compare

Cryfa v26.05

This is a major performance release. The headline change is a new streaming FASTA/FASTQ processing pipeline that delivers more than 3x speedup in local benchmarks while keeping the familiar Cryfa command-line workflow intact.

Highlights

  • More than 3x faster FASTA/FASTQ processing through streamed compression, encryption, decryption, and decompression.
  • Replaced much of the old temp-file-heavy pack/unpack flow with ordered in-memory pipelines.
  • Added streaming crypto APIs and cached derived encryption state to reduce repeated setup work.
  • Improved FASTA and FASTQ chunk handling for faster round trips and lower intermediate I/O pressure.
  • Added a local benchmark and correctness harness for repeatable performance checks.
  • Improved Linux, macOS, and Windows install scripts.
  • Refreshed README installation, Docker, usage, and benchmarking documentation.
  • Cleaned up formatting, diagnostics, and source headers across the codebase.

Performance

This release focuses heavily on throughput. FASTA and FASTQ compression/decompression now stream data directly through Cryfa’s processing pipeline instead of relying on large intermediate files. In local checks, this gives Cryfa a greater than 3x speedup over the previous release path.

The new local benchmark harness also verifies every round trip with cmp, so performance results are paired with correctness checks.

New Benchmark Harness

A new local performance harness is available:

bash scripts/runtime/run_local_perf.sh --label local-check --input example/in.fq --target-mb 200 --threads "1 4 8" --runs 1 --modes both --no-prompt

It can:

  • Expand a seed FASTA/FASTQ input to a target size.
  • Run compression and decompression across selected thread counts.
  • Verify every round trip.
  • Write CSV and Markdown reports under results/local_perf/.
  • Compare results against previous runs.

Build And Install Improvements

  • install.sh and install.ps1 now handle stale CMake cache state more gracefully.
  • Install scripts support both single-config and multi-config CMake generators.
  • The Dockerfile was cleaned up while preserving existing behavior.
  • CI and release workflows were refreshed for the current release flow.

Versioning

Cryfa now generates version metadata at build time. Tagged release builds report the release version, while local development builds fall back to Git-derived version strings.

Assets

Pre-built release assets are provided for:

  • Linux
  • macOS
  • Windows

Both cryfa and keygen binaries are included as release assets.

v26.04

27 Apr 14:03

Choose a tag to compare

This release is a significant modernization of Cryfa's build system, CI, and distribution — making it easier to build, test, and run on all major platforms.

Highlights

Cross-platform builds
Cryfa now builds and tests on Linux, macOS, and Windows (MSVC) via GitHub Actions. Fixes include portable random number generation, VLA removal, missing headers, and MASM support for x64 assembly on Windows.

ARM64 support
Native ARM64 builds work out of the box — including Apple Silicon and AWS Graviton — with proper SIMD flags for cryptopp's AES, SHA, and CRC extensions.

Docker
The image is now multi-stage (ubuntu builder → debian-slim runtime) and multi-arch (linux/amd64 + linux/arm64). Available on Docker Hub as smortezah/cryfa.

Installation
Added install.ps1 for Windows. Linux instructions updated to use pip3 install cmake to get cmake ≥ 4.0. Pre-compiled binaries are available on the Releases page.

Round-trip integration test
A CTest test now verifies that encrypt → decrypt reproduces the original file exactly, on every CI run.

Cryfa 20.04

17 Apr 12:07

Choose a tag to compare

Minor release

Cryfa 18.06

22 Jun 09:10

Choose a tag to compare

  • Secure encryption of genomic data, in:
    • FASTA
    • FASTQ
    • VCF
    • SAM/BAM
  • Compacting FASTA and FASTQ files
  • Key generator, to automatically generate a strong password

Cryfa 17.05

08 May 13:05

Choose a tag to compare

  • FASTA encryption and decryption tool
  • AES symmetric encryption, with very fast processing times
  • Applicable to any FASTA file (DNA sequences with headers)
  • Compact 3 DNA bases into 1 char, using a fixed block size packing. When compared with general encryption tools it allows to reduce the storage (~3x), without creating security problems such as those derived from CRIME attacks.

D. Pratas, M. Hosseini and A.J. Pinho, "Cryfa: a tool to compact and encrypt FASTA files," 11'th International Conference on Practical Applications of Computational Biology & Bioinformatics (PACBB), Springer, June 2017.