What's Changed
* feat: Add end property on SupplementaryAlignment by msto in https://github.com/fulcrumgenomics/fgpyo/pull/105
* add a test to explicitly support columns out of order in Metric by nh13 in https://github.com/fulcrumgenomics/fgpyo/pull/82
* chore: add CODEOWNERS by msto in https://github.com/fulcrumgenomics/fgpyo/pull/113
* Add isort check to Github Action by emmcauley in https://github.com/fulcrumgenomics/fgpyo/pull/116
* fix: Add return type hint to Metric.read() by msto in https://github.com/fulcrumgenomics/fgpyo/pull/110
* fix: DataclassInstance and AttrInstance protocols by msto in https://github.com/fulcrumgenomics/fgpyo/pull/108
* refactor: writeable -> writable by msto in https://github.com/fulcrumgenomics/fgpyo/pull/119
* fix: r/w assertions by msto in https://github.com/fulcrumgenomics/fgpyo/pull/121
* feat: Support stdin/stdout special cases in sam.reader/writer by msto in https://github.com/fulcrumgenomics/fgpyo/pull/69
* chore: Update mypy config by msto in https://github.com/fulcrumgenomics/fgpyo/pull/134
* chore: Switch to ruff by msto in https://github.com/fulcrumgenomics/fgpyo/pull/140
* ci: update code-cov in GHA to use a token by nh13 in https://github.com/fulcrumgenomics/fgpyo/pull/150
* - Added __getitem__ ~and __len__~ to the Cigar class, pulling the answer… by yfarjoun in https://github.com/fulcrumgenomics/fgpyo/pull/154
* chore: Add usual lints by msto in https://github.com/fulcrumgenomics/fgpyo/pull/142
* Feat: add longest_hp_len() to fgpyo/sequence.py by emmcauley in https://github.com/fulcrumgenomics/fgpyo/pull/157
* Feat: add gc_content() calculation method to fgpyo/sequence.py by emmcauley in https://github.com/fulcrumgenomics/fgpyo/pull/156
* feat: speed up longest_homopolymer by nh13 in https://github.com/fulcrumgenomics/fgpyo/pull/158
New Contributors
* emmcauley made their first contribution in https://github.com/fulcrumgenomics/fgpyo/pull/116
**Full Changelog**: https://github.com/fulcrumgenomics/fgpyo/compare/0.3.0...0.4.0