PackageTrack
Sign in Get early access

uhlc

A Unique Hybrid Logical Clock for Rust.

0.9.0 5.5M downloads/mo #4345 most downloaded on crates.io atolab/uhlc-rs

What this package is like to depend on

Last release 7 months ago

12 Jan 2026

Ships fairly regularly

a new release about every 4 months

Some releases are documented

notes for 10 of 19 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

19 releases · first in 2020

2 releases in the last 12 months

see the full history below

Release timeline

19 releases · Jul 2020 to Jan 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 19
  1. 0.9.0 12 Jan 2026
    Release notes

    What's Changed

    • feat: no-alloc by @Hennzau in #28
      ⚠️ API changes regarding errors:
      • ParseIDError changed to enum
      • ParseNTP64Error changed to enum
      • ParseTimestampError changed to enum
      • update_with_timestamp returns Result<(), ExceedingDeltaError>

    New Contributors

    Full Changelog: 0.8.2...0.9.0

    Open source →
  2. 0.8.2 03 Oct 2025
    Release notes

    What's Changed

    • Perf improvement: simplify ID Display impl by @wyfo in #29

    New Contributors

    • @wyfo made their first contribution in #29

    Full Changelog: 0.8.1...0.8.2

    Open source →
  3. 0.8.1 19 May 2025
    Release notes

    What's Changed

    • feat: add support for linux physical clocks by @alokpr in #20
    • feat: add utility to convert NTP64 to nanos by @alokpr in #21
    • fix: add missing test config annotation by @alokpr in #23
    • fix conversion to NTP64 from zero nanoseconds by @alokpr in #22
    • fix: replaced "deature" with "feature" by @alokpr in #19
    • doc: add a note on monotonic_time_clock by @JEnoch in #24
    • internal: use div_ceil() in subsec_nanos()->u32 by @JEnoch in #25
    • Bump some dependencies by @JEnoch in #26

    New Contributors

    Full Changelog: 0.8.0...0.8.1

    Open source →
  4. 0.8.0 03 Jul 2024
    Release notes

    What's Changed

    • Change conversion of NTP64 and Timestamp to/from String (#16).
      For both NTP64 and Timestamp types the default formatting used by Display trait (and thus by ToString trait) changed. RFC3339 format was used to represent the NTP64 type, which was loosing precision and was not bijective with FromStr trait (see #15). Now unsigned integer decimal representation is used.
      The to_string_rfc3339_lossy() and parse_rfc3339() methods have been added for explicit conversion to RFC3339 format.

    Full Changelog: 0.7.0...0.8.0

    Open source →
  5. 0.7.0 25 Mar 2024
    Release notes

    What's Changed

    • Change internal representation of ID from NonZeroU128 to [u8;16].
      A change in Rust 1.77 caused the memory alignment for u128 to differ depending the platform, and thus leading to issues for usage through FFI (see eclipse-zenoh/zenoh-c#295). Note that this is not a change of API (just ABI)

    Full Changelog: 0.6.3...0.7.0

    Open source →
  6. 0.6.3 15 Sep 2023
    Release notes

    What's Changed

    • Documentation change only: revise comment of NTP64::as_secs_f64()

    Full Changelog: 0.6.2...0.6.3

    Open source →
  7. 0.6.2 15 Sep 2023
    Release notes

    What's Changed

    Full Changelog: 0.6.1...0.6.2

    Open source →
  8. 0.6.1 25 Aug 2023
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 0.6.0...0.6.1

    Open source →
  9. 0.6.0 30 May 2023
    Release notes

    Changelog:

    • API change: Remove UUID support (#9).
      uhlc::ID is still a non-zero u128, but not necessarily a UUID. As a consequence:
      • The uhlc::ID::from(uuid: Uuid) operation has been removed.
        An ID can still be created from an Uuid as such:
        let id = ID::try_from([uuid.to_bytes_le()](uuid::Uuid::new_v4())).unwrap()
      • The uhlc::ID::as_slice(&self) operation has been removed.
        A minimal slice (i.e.: only non-zero bytes) of the le-encoded ID can be retrieved as such:
        let id_as_slice = id.to_le_bytes()[..id.size()]
      • The uhlc::ID::to_le_bytes(&self) operation has been added
      • The uhlc::ID::rand() -> Self operation has been added
    Open source →
  10. 0.5.2 23 Jan 2023
    Release notes

    Changelog:

    • Support of no_std environments (#5)
    • New defmt feature for logging in no_std(#6, #7)
    Open source →
  11. 0.5.1 27 Jul 2022

    Nothing published for this version

  12. 0.5.0 14 Jun 2022

    Nothing published for this version

  13. 0.4.1 28 Jan 2022

    Nothing published for this version

  14. 0.4.0 23 Nov 2021

    Nothing published for this version

  15. 0.3.1 25 Aug 2021

    Nothing published for this version

  16. 0.3.0 10 May 2021

    Nothing published for this version

  17. 0.2.1 05 Nov 2020

    Nothing published for this version

  18. 0.2.0 01 Sep 2020

    Nothing published for this version

  19. 0.1.0 23 Jul 2020

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive