<commit_before># 0.5

* The C API now provide a direct view into the `positions` and `velocities` arrays. This
  remove the need for copy and separated getter (`chfl_frame_{position,velocities}`) and
  setter (`chfl_frame_{position,velocities}_set`) function. This also force usage of
  `chfl_frame_add_velocities` to add velocity data to a frame, and `chfl_frame_resize`
  to change the size of the frame.
* Add constants for error codes in C API. The following macro are defined:
  `CHFL_SUCCESS`, `CHFL_MEMORY_ERROR`, `CHFL_FILE_ERROR`, `CHFL_FORMAT_ERROR`,
  `CHFL_GENERIC_ERROR`, `CHFL_CXX_ERROR`.
* Add the `chfl_version` function in C API.

# 0.4

* Chemharp can now be compiled as a static library! This should allow for easier embedding
  in external code, and easier distribution of binaries.
* Add a chemfiles::Trajectory::sync method to sync any buffered operation with the disk.
  The chfl_trajectory_sync function exposes it to the C API.
* Add a Rust binding
* Rewrite the Python binding to use ctypes. The same code can be used with Python 2 & 3,
  and with all numpy versions.
* Easier Python and Julia binding installation, using conda binary packaging.
* All the bindings now live on their own repository:
      - [Fortran](https://github.com/Luthaf/Chemharp.f03)
      - [Python](https://github.com/Luthaf/Chemharp.py)
      - [Julia](https://github.com/Luthaf/Chemharp.jl)
      - [Rust](https://github.com/Luthaf/Chemharp.rs)
* The library is now continuously tested on Visual Studio
* Various bugfixes and code improvements
* Renamed the library to chemfiles.

# 0.3

* Julia binding
* Initial Windows support, with both MSVC and mingw
* Add a binary frontend called `chrp`, implementing some analysis algorithms.<commit_msg>Update the news file with selections<commit_after># 0.5

* The C API now provide a direct view into the `positions` and `velocities` arrays. This
  remove the need for copy and separated getter (`chfl_frame_{position,velocities}`) and
  setter (`chfl_frame_{position,velocities}_set`) function. This also force usage of
  `chfl_frame_add_velocities` to add velocity data to a frame, and `chfl_frame_resize`
  to change the size of the frame.
* Add constants for error codes in C API. The following macro are defined:
  `CHFL_SUCCESS`, `CHFL_MEMORY_ERROR`, `CHFL_FILE_ERROR`, `CHFL_FORMAT_ERROR`,
  `CHFL_GENERIC_ERROR`, `CHFL_CXX_ERROR`.
* Add the `chfl_version` function in C API.
* Add a small selection language *a la* VMD, allowing to select atoms matching
  a selection string like `"name H and x > 4"`. This is exposed to C++ with the
  public `Selection` class, and to C with the `chfl_frame_selection` function.

# 0.4

* Chemharp can now be compiled as a static library! This should allow for easier embedding
  in external code, and easier distribution of binaries.
* Add a chemfiles::Trajectory::sync method to sync any buffered operation with the disk.
  The chfl_trajectory_sync function exposes it to the C API.
* Add a Rust binding
* Rewrite the Python binding to use ctypes. The same code can be used with Python 2 & 3,
  and with all numpy versions.
* Easier Python and Julia binding installation, using conda binary packaging.
* All the bindings now live on their own repository:
      - [Fortran](https://github.com/Luthaf/Chemharp.f03)
      - [Python](https://github.com/Luthaf/Chemharp.py)
      - [Julia](https://github.com/Luthaf/Chemharp.jl)
      - [Rust](https://github.com/Luthaf/Chemharp.rs)
* The library is now continuously tested on Visual Studio
* Various bugfixes and code improvements
* Renamed the library to chemfiles.

# 0.3

* Julia binding
* Initial Windows support, with both MSVC and mingw
* Add a binary frontend called `chrp`, implementing some analysis algorithms.
{'fraction_non_alphanumeric': 0.08091562416821932, 'fraction_numerical': 0.005589566143199361, 'mean_word_length': 4.3456614509246085, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3148027', 'n_tokens_mistral': 1169, 'n_tokens_neox': 1114, 'n_words': 467}