Skip to content

Latest commit

 

History

History
78 lines (44 loc) · 3 KB

CHANGELOG.md

File metadata and controls

78 lines (44 loc) · 3 KB

Changelog

🍈 v0.5.0

  • 🔧 Maintenance

    • Enable the crate to build with the latest nightly version and also fix this in the rust-toolchain.toml file.
    • use Rust edition 2021
    • Rename the RWLock functions that provides a write lock from lock to write. This corresponds to read lock provided by the read functions.

🍑 v0.4.3

  • 🔧 Maintenance

    • Adjust the usage of Send and Sync trait bounds for the sync versions of Mutex and RWLock based on a comment on the rust user forums that the actual usage might not be sound.

🍑 v0.4.2

This is a maintenance release only - migrating the pipeline to github actions.

🍑 v0.4.1

  • 💡 Features

    • provide method into_inner for the Mutex, RWLock and their async variation to be able move the contained the sealed data out of the locks.

🍑 v0.4.0

This version provides a major refactoring to introduce commonly used names for the different kinds of locks. Datalock becomes Mutex and DataRWlock becomes RWLock. With a feature gate also async versions of those locks are introduced.

  • 💡 Features

    • Provide async mutex and semaphore versions
  • 🔧 Maintenance

    • Rename DataLock to Mutex
    • Rename DataRWLock to RWLock
    • Introducing the enhances travis-ci pipeline to build and publish this crate
    • pipeline build with an older nightly version due to this issue

🥕 v0.3.3

  • 💡 Features

    • Introduce a DataRWLock that enhances the DataLock in a way that in addition to mutual exclusive access a read-only access is also possible.
  • 🔧 Maintenance

    • The Semaphore does now support counter of type u32 instead of u16.
    • Flag some of the lock functions to allow the compiler to inline them as port of the optimization to increase performance
    • Use cargo-make for convinient and reliable cross platform build execution to reduce maintenance efforts for local and CI builds.
  • 🕵️ Fixes

    Fix issues with Semaphore, DataLock and Spinlock that sometimes does not released a protected resource due to missing data memory and data syncronisation barriers not used as pointed out in this document: http://infocenter.arm.com/help/topic/com.arm.doc.dht0008a/DHT0008A_arm_synchronization_primitives.pdf

🥕 v0.3.2

  • 🔧 Maintenance

    • Remove the dependency to the interrupts. Locking will no longer disable/re-enable interrupt handling globally. Usage of blocking locks need to avoided inside interrupt handler to mitigate the risk of deadlocks.

🥕 v0.3.1

  • 💡 Features

    Introduce a blocking lock function for the DataLock.

  • 🔧 Maintenance

    • Apply code quality improvements based on clippy
    • remove ruspiro_pi3 feature gate as it is not needed/used
  • 📖 Documentation

    • Adjust documentation to reflect the current state of developments