Skip to content

Latest commit

 

History

History
41 lines (27 loc) · 1.85 KB

CHANGELOG.md

File metadata and controls

41 lines (27 loc) · 1.85 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.5.0] - 2024-02-23

  • Breaking: The Sortable trait now returns std::io::Result on both encode and decode methods, exposing underlying errors.

  • Breaking: The SortedIterator iterator now returns std::io::Result<T> instead of T directly, allowing propagation of underlying errors.

  • Breaking change: The comparator methods or key extractor now require being Clone. This change should not affect most users, as closures are Clone if they don't capture any variables.

  • Added a new "pushed" iterator, which allows pushing new elements instead of consuming them through an iterator. This is particularly useful when the data is not readily available as an iterator.

  • Methods accepting iterators now accept IntoIterator for flexibility.

[0.4.2] - 2021-02-04

  • Added sort_by and sort_by_key (by @NieDzejkob #10)

[0.4.0] - 2020-12-23

  • Added support for parallel sorting of the in-memory buffer (see ExternalSorter::with_parallel_sort). This feature is not always beneficial if the in-memory buffer is not big enough for parallelism to have an impact, so benchmark your workload.

  • Breaking: cleaner Sortable trait (commit) The trait also requires the implementer to be Send to support the new parallel sorting feature.

  • Breaking: replaced setter styles methods with builder style methods (see PR #9)

    • set_max_size is now with_segment_size
    • set_sort_dir is now with_sort_dir