Skip to content
This repository has been archived by the owner on May 10, 2024. It is now read-only.

Latest commit

 

History

History
211 lines (117 loc) · 5.15 KB

CHANGELOG.md

File metadata and controls

211 lines (117 loc) · 5.15 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.

No unreleased changes in the pipeline at the moment.

1.0.0 - 2022-08-15

Changed

  • Switch from crossbeam scoped threads to std scoped threads. This bumps our rustc requirements all the way up to the latest release (v1.63), but has the great advantage that we are no longer bound by the ever shifting rustc requirements of crossbeam, so this requirement can stay indefinitely.

0.9.0 - 2022-08-10

Changed

  • Update to latest crossbeam, bump minimal rustc to 1.38 accordingly.

0.8.1 - 2022-08-10

Fixed

  • Pin crossbeam release to keep compatibility with rustc 1.36.

[0.8] - 2021-01-16

Added

  • Extracted "run under contention" part of contended_benchmark

Changed

  • Concurrent testing and benchmarking tools now used scoped threads, eliminating the need for Arc'ing shared data.
  • Since criterion has become good enough these days, this crate does not provide benchmarking tools anymore aside from the aforementioned one.
  • We now require Rust v1.36 because crossbeam does.

0.7.3 - 2020-03-15

Added

  • Add a changelog to the repository.

Fixed

  • Improve conformance to the Rust API guidelines.
  • Minor doc tweaks.

0.7.2 - 2020-02-07

Changed

  • Cleanup and deduplicate GitHub Actions configuration.

0.7.1 - 2020-01-29

Changed

  • Move continuous integration to GitHub Actions.

Fixed

  • Minor code formatting and doc comment cleanup.

0.7.0 - 2019-04-12

Added

  • RaceCell now supports all the fixed-size atomic types introduced by Rust 1.34.

Changed

  • Bump travis CI configuration to Ubuntu Xenial.
  • Bump minimal supported Rust version to 1.34.0.

Fixed

  • Documentation cleanup: remove reference to obsolete feature, don't use doc comments on non-documentable macro expansions...
  • Minimal supported Rust version is now advertised in README.

0.6.0 - 2018-12-18

Added

  • Introduce Clippy checks in continuous integration.

Changed

  • Finish migration to Rust 2018.
  • Bump minimal supported Rust version to 1.31.0.
  • Make RaceCell easier to use by hiding extra atomic traits from the generic parameter interface.

Fixed

  • Adopt the rustfmt coding style.

0.5.0 - 2018-08-27

Added

  • Inlining barriers are provided to reduce odds of benchmark over-optimization.

Changed

  • Microbenchmarking tools use the aforementioned inlining barriers.
  • Start migrating to Rust 2018 features where it clarifies code.
  • Bump minimal supported Rust version to 1.26.0.

0.4.1 - 2018-02-21

Changed

  • RaceCell now implements Default.

0.4.0 - 2018-02-11

Changed

  • Switch license to MPLv2, which is a better match to Rust's static linking philosophy than LGPL.

0.3.1 - 2017-06-25

Changed

  • RaceCell now implements Debug and Clone.

0.3.0 - 2017-06-21

Added

  • Introduce the RaceCell, a primitive to detect the possibility of data races in thread synchronization code.

0.2.0 - 2017-06-14

Added

  • Introduce Travis CI continuous integration.

Fixed

  • Use CI to clarify minimal supported Rust version (currently 1.12.0).

0.1.1 - 2017-04-10

Fixed

  • Address copy-paste mistakes in README.

0.1.0 - 2017-04-04

Added

  • Microbenchmarking hack for stable Rust, which satisfies different tradeoffs than the de facto standards of Criterion and unstable #[bench].
  • Sister API to microbenchmark how multi-threaded pressure affects the performance of a synchronization primitive.
  • Testing tool to evaluate if a synchronization primitive keeps behaving correctly under multi-threaded pressure of one or two adversaries.
  • Release to crates.io under LGPLv3 license.