Changelog
=========

This page documents all notable changes to TACO Format.

0.2.0 (2026-05-22)
------------------

Features:
~~~~~~~~~

* Extra datasets spec support and f64 ExtraArray variants
* Added set_pbc method to Writer and AsyncWriter
* Preserve metadata and extras in extract/copy
* Convert command now honors full_frame_interval

Bugfixes:
~~~~~~~~~

* Fix stress extraction and compile error
* Fix triclinic cell support in Python interface
* Fix division by zero in center_of_mass for empty positions
* Return python error when positions missing
* Accept 1D masses in python center_of_mass
* Remap constraint indices when extracting atom subsets
* Fix missing extra_datasets argument in read_frame_range
* Add forces/stress extraction warnings in Python interface

Improvements:
~~~~~~~~~~~~~

* Loosen format version compatibility
* Revert: python read now always returns a list (consistent API)
* Respect time_step for single-frame write
* Guard full_frame_interval zero in reader
* Validate CLI extract step size
* Document python full_frame_interval default
* Remove print statements from library code
* Update dependencies

0.1.7 (2026-05-04)
------------------

- Move Python bindings to separate crate to allow pure rlib compilation

0.1.6 (2026-04-28)
------------------

- Fix header writing

0.1.5 (2026-04-28)
------------------

- Implement storing constraints

0.1.4 (2026-02-17)
------------------

- Update dependencies
- Fix bug where potential energy was not written if kinetic energy is not present

0.1.3 (2025-12-19)
------------------

- Added append support
- Updated dependencies (including ndarray 0.17)

0.1.2 (2025-11-25)
------------------

Initial release that is published to crates.io.

Features:
~~~~~~~~~

* Core TACO format implementation in Rust
* Python bindings via PyO3
* ASE (Atomic Simulation Environment) integration
* Delta compression for efficient trajectory storage
* Configurable precision for positions, velocities, and forces
* Support for periodic boundary conditions
* Support for energies, forces, and thermodynamic data
* Random access to frames
* Utilities for format conversion and analysis
