Upstream contributions

Changes to FastQC

The Rust rewrite works as a development sandbox for FastQC. Ideas get prototyped and benchmarked here, and the equivalence tests catch bugs. What works then goes back to Java FastQC as pull requests. The aim is a better canonical tool, not a replacement for it. Many of these changes shipped in FastQC v0.13.0.

Released in FastQC v0.13.0

Performance

SVG graphs

Correctness

Project infrastructure

Merged into a feature branch

These are merged into the upstream liberationfont branch, but that branch is not yet in master (#216). #217 merges it into master.

Open pull requests

How it works

The Rust rewrite follows upstream releases (see strategy). The equivalence tests run the Java and Rust versions on the same inputs and compare their outputs. A difference is either a Rust bug or a Java bug. Java bugs become upstream issues and pull requests. When upstream releases a fix, the Rust rewrite gets the same change, so the two outputs stay identical.