Skip to content

Releases: nyx-space/hifitime

4.0.0-alpha: Hifitime rewrite

26 Jun 04:12
8bf4022
Compare
Choose a tag to compare
Pre-release

Version 4.0.0-alpha

The main change in this refactoring is that Epochs now keep the time in their own time scales. This greatly simplifies conversion between time scales, and ensures that all computations happen in the same time scale as the initialization time scale, then no sub-nanosecond rounding error could be introduced.

What's Changed

Full Changelog: 3.10.0...4.0.0-alpha

4.0.0-dev0: Add QZSS time scale -- possibly a breaking change (essentially 3.10.0)

09 Apr 05:06
Compare
Choose a tag to compare

What's next?

This is probably the last release of version 3.x. There's a fair amount of small bugs here and there in 3.x, and these aren't trivial to fix. The architecture changes introduced by @gwbres and I for the development of 4.x should fix all of those in one go.

Also, version 4.0 will likely switch to the Mozilla Public License from Apache 2: if you have concerns about this, please head over to #274 to voice them. From the user point of view, there should be absolutely no change, even if you're selling code that uses an unmodified version of Hifitime.

Naming error

This release is published as 4.0.0-dev on crates.io and 4.0.0.dev0 on PyPi. This was a mistake. It should have been 3.10.0. That's probably for the better though since it introduces one breaking change. Version 4.0.0 will introduce several breaking changes and a new architecture.

What's Changed

New Contributors

Full Changelog: 3.9.0...3.10.0

Version 3.9.0: Add short year formatter and fix year of day computation

04 Jan 14:17
7e05365
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.8.6...3.9.0

Version 3.8.6: Add support for WASM targets

11 Dec 04:35
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.8.5...3.8.6

Version 3.8.5: Update pyo3 and bump MSRV to 1.70

18 Nov 21:47
b731275
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.8.4...3.8.5

Version 3.8.3: Fix incorrect hour/minute/second when initializing from days in year

20 Aug 16:23
b58ed96
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.8.3...3.8.4

Notice for 3.x

With a bit of luck, this will be the last release of 3.x as version 4 makes its way to production. Version 4 will bring more consistency in time scale handling by not converting everything to TAI, but using the initialization time scale whenever possible. Follow the progress on https://github.com/nyx-space/hifitime/milestone/14 and don't hesitate to propose features or contribute. Thanks

Version 3.8.3: Update pyo3 and tabled

17 Aug 21:01
f410365
Compare
Choose a tag to compare

What's Changed

Full Changelog: 3.8.2...3.8.3

Version 3.8.2: Various enhancements and readme

27 May 15:16
edc506b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 3.8.1...3.8.2

Version 3.8.0: Const formatting options, human time support, UT1 support, thorough formal verification

30 Dec 16:04
69673d2
Compare
Choose a tag to compare

Thanks again to @gwbres for his work in this release!

  • Fix CI of the formal verification and upload artifacts, cf. #179
  • Introduce time of week construction and conversion by @gwbres, cf.#180 and #188
  • Fix minor typo in src/timeunits.rs by @gwbres, cf. #189
  • Significantly extend formal verification of Duration and Epoch, and introduce kani::Arbitrary to Duration and Epoch for users to formally verify their use of time, cf. #192
  • It is now possible to specify a Leap Seconds file (in IERS format) using the LeapSecondsFile::from_path (requires the std feature to read the file), cf. #43.
  • UT1 time scale is now supported! You must build a Ut1Provider structure with data from the JPL Earth Orientation Parameters, or just use Ut1Provider::download_short_from_jpl() to automatically download the data from NASA JPL.
  • strptime and strftime equivalents from C89 are now supported, cf. #181. Please refer to the documentation for important limitations and how to build a custom formatter.
  • ISO Day of Year and Day In Year are now supported for initialization of an Epoch (provided a time scale and a year), and formatting, cf. #182.
  • Python: the representation of an epoch is now in the time scale it was initialized in

What's Changed

Full Changelog: 3.7.0...3.8.0

Version 3.7.0: Numerous usability enhancements

24 Nov 22:06
9c99695
Compare
Choose a tag to compare

What's Changed

  • timescale.rs: derive serdes traits when feasible by @gwbres in #167
  • timecale.rs: introduce format/display by @gwbres in #168
  • readme: fix BeiDou typo by @gwbres in #169
  • epoch: derive Hash by @gwbres in #170
  • timescale: identify GNSS timescales from standard 3 letter codes by @gwbres in #171
  • timescale: standard formatting is now available by @gwbres in #174
  • epoch, duration: improve and fix serdes feature by @gwbres in #175
  • epoch, timescale: implement default trait by @gwbres in #176

Full Changelog: 3.6.0...3.7.0