@@ -9,72 +9,84 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
## [ Unreleased] - ReleaseDate
10
10
11
11
### Changed
12
+
12
13
- Documentation has been updated to reflect that ` quanta ` does not track time across system
13
14
suspends.
14
- - Updated the calibration logic to add an offset to the reference base time that is used to scale
15
- source measurements in TSC mode. Simply put, the "synchronization" -- how close ` Clock::now ` is
16
- to the underlying monotonic clock, if you called both at the very same moment -- has been improved
17
- by a substantial amount on average.
18
15
- Fixed a panic in the calibration loop if a certain edge case with TSC measurements is encountered.
16
+ - Updated a unit test that was frequently flaky to be more precise.
19
17
20
18
### Removed
19
+
21
20
- ` Instant::as_u64 ` has been removed. As it provided direct access to an value that could
22
21
fundamentally change from version-to-version, it felt like time to remove that footgun and push
23
22
users more towards the API that mimics ` std::time ` .
24
23
- ` Clock::upkeep ` has been removed. It doesn't need to exist on ` Clock ` directly, as we have had
25
24
the ` quanta::set_recent ` free function for a while now, and was just duplicating that.
25
+ - ` Clock::start ` and ` Clock::end ` have been removed. They saw limited usage and overall just added somewhat needless API
26
+ clutter given that users who are looking to do ultra-precise timing will either want more control or use another
27
+ technique such as instruction counting.
26
28
27
29
## [ 0.9.3] - 2021-09-16
28
30
29
31
### Added
32
+
30
33
- CI tests for MIPS/ARM. ([ #55 ] ( https://github.com/metrics-rs/quanta/pull/55 ) )
31
34
32
35
### Changed
36
+
33
37
- Fixed compilation issue with ` Mock ` on MIPS/ARM. ([ #55 ] ( https://github.com/metrics-rs/quanta/pull/55 ) )
34
38
- Simplified how TSC/RDTSC suppoort is detected, which should avoid some situations where it was
35
39
assumed to be present, but actually was not. ([ #57 ] ( https://github.com/metrics-rs/quanta/pull/57 ) )
36
40
37
41
## [ 0.9.2] - 2021-08-25
38
42
39
43
### Changed
44
+
40
45
- Pinned ` crossbeam-utils ` to ` v0.8.5 ` where ` AtomicCell::fetch_update ` was introduced to fix, which
41
46
fixes broken builds where Cargo chooses a version between ` 0.8.0 ` and ` 0.8.5 ` .
42
47
- Update ` raw-cpuid ` to ` 10.2 ` and ` average ` to ` 0.13 ` .
43
48
44
49
## [ 0.9.1] - 2021-08-12
45
50
46
51
### Changed
52
+
47
53
- Switched from ` atomic-shim ` to ` crossbeam-utils ` for better cross-platform atomic support. ([ #52 ] ( https://github.com/metrics-rs/quanta/pull/52 ) )
48
54
49
55
## [ 0.9.0] - 2021-06-17
50
56
51
57
### Added
58
+
52
59
- Support for WASM/WASI targets. ([ #45 ] ( https://github.com/metrics-rs/quanta/pull/45 ) )
53
60
54
61
## [ 0.8.0] - 2021-06-07
55
62
56
63
### Removed
64
+
57
65
- ` Instant::as_unix_duration ` as it was added in error.
58
66
- ` metrics ` feature flag as ` metrics-core ` is no longer a relevant crate.
59
67
60
68
## [ 0.7.2] - 2021-01-25
61
69
### Changed
70
+
62
71
- Bumped dependency on ` raw-cpuid ` to ` 9.0 ` in order to deal with a [ RustSec
63
72
advisory] ( https://rustsec.org/advisories/RUSTSEC-2021-0013 ) .
64
73
65
74
## [ 0.7.1] - 2021-01-24
66
75
### Fixed
76
+
67
77
- Incorrect method visibility for non-SSE2 implementation of ` Counter ` .
68
78
([ #38 ] ( https://github.com/metrics-rs/quanta/issues/38 ) )
69
79
70
80
## [ 0.7.0] - 2021-01-03
71
81
### Changed
82
+
72
83
- MSRV bumped to 1.45.0.
73
84
- ` Clock::now ` takes ` &self ` instead of ` &mut self ` .
74
85
- Fixed a bug where a failure to spawn the upkeep thread would not allow subsequent attempts to
75
86
spawn the upkeep thread to proceed.
76
87
77
88
### Added
89
+
78
90
- New methods --` Instant::now ` and ` Instant::recent ` for getting the current and recent time,
79
91
respectively.
80
92
- New free function ` quanta::with_clock ` for setting an override on the current thread that affects
@@ -84,36 +96,43 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
84
96
85
97
## [ 0.6.5] - 2020-09-16
86
98
### Changed
99
+
87
100
- Fixed a bug with not being able to start the upkeep thread at all.
88
101
([ #29 ] ( https://github.com/metrics-rs/quanta/issues/29 ) )
89
102
90
103
## [ 0.6.4] - 2020-08-27
91
104
### Added
105
+
92
106
- Add ` Instant::as_unix_duration ` to get the duration of time since the Unix epoch from an
93
107
` Instant ` .
94
108
### Changed
95
109
- Remove ` clocksource ` from dependencies and tests as it no longer compiles on stable or nightly.
96
110
97
111
## [ 0.6.3] - 2020-08-03
98
112
### Changed
113
+
99
114
- Publicly expose ` Clock::upkeep ` for advanced use cases.
100
115
- Relax constraints around checking for multiple sockets.
101
116
([ #25 ] ( https://github.com/metrics-rs/quanta/issues/25 ) )
102
117
103
118
## [ 0.6.2] - 2020-07-20
104
119
### Added
120
+
105
121
- Add support for MIPS/PowerPC. ([ #23 ] ( https://github.com/metrics-rs/quanta/pull/23 ) )
106
122
107
123
## [ 0.6.1] - 2020-07-13
108
124
### Added
125
+
109
126
- Publicly expose the ` Error ` type returned by ` Upkeep::start ` .
110
127
111
128
## [ 0.6.0] - 2020-07-06
129
+
112
130
This version of ` quanta ` was a massive overhaul of man areas of the API and internals, which was
113
131
done in a single PR: ([ #19 ] ( https://github.com/metrics-rs/quanta/pull/19 ) ). You can read the PR
114
132
description for the finer details. All changes below are part of the aforementioned PR.
115
133
116
134
### Changed
135
+
117
136
- ` Clock::now ` now returns a monotonic value in all cases.
118
137
- No longer possible to get a negative value from ` Clock::delta ` .
119
138
- Calibration is no longer a fixed one second loop, and will complete when it detects it has a
@@ -124,15 +143,18 @@ description for the finer details. All changes below are part of the aforementi
124
143
125
144
## [ 0.5.2] - 2020-05-01
126
145
### Changed
146
+
127
147
- Fix the logic to figure out when calibration is required.
128
148
([ #14 ] ( https://github.com/metrics-rs/quanta/pull/14 ) )
129
149
130
150
## [ 0.5.1] - 2020-04-11
131
151
### Changed
152
+
132
153
- Small tweak to the docs.
133
154
134
155
## [ 0.5.0] - 2020-04-11
135
156
### Changed
157
+
136
158
- Switch to ` mach ` for macOS/iOS as it was deprecated in ` libc ` .
137
159
([ #12 ] ( https://github.com/metrics-rs/quanta/pull/12 ) )
138
160
- Switch to ` core::arch ` for instrinics, and drop the feature flagged configuration to use it.
@@ -141,15 +163,18 @@ description for the finer details. All changes below are part of the aforementi
141
163
142
164
## [ 0.4.0] - 2020-02-20
143
165
### Changed
166
+
144
167
- Differentiate between raw and scaled time by adding a new ` Instant ` type.
145
168
([ #10 ] ( https://github.com/metrics-rs/quanta/pull/10 ) )
146
169
147
170
## [ 0.2.0] - 2019-03-10
148
171
### Changed
172
+
149
173
- Fixed support for Windows. It was in a bad way, but actually works correctly now!
150
174
- Switched to Azure Pipelines CI + Cirrus CI, including formatting, tests, and benchmarks, for
151
175
Linux, macOS, Windows, and FreeBSD.
152
176
153
177
## [ 0.1.0] - 2019-01-14
154
178
### Added
179
+
155
180
- Initial commit.
0 commit comments