Skip to content

Commit 06629ef

Browse files
committed
Release irox-tools v0.10.0
1 parent a6de5f0 commit 06629ef

File tree

5 files changed

+141
-23
lines changed

5 files changed

+141
-23
lines changed

Cargo.lock

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

irox/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,6 @@ irox-structs = { version = "^0.5.0", optional = true, path = "../libraries/struc
9191
irox-structs_derive = { version = "^0.4.0", optional = true, path = "../libraries/structs_derive" }
9292
irox-threading = { version = "^0.2.2", optional = true, path = "../libraries/threading" }
9393
irox-time = { version = "^0.4.1", optional = true, path = "../libraries/time" }
94-
irox-tools = { version = "^0.9.0", optional = true, path = "../libraries/tools" }
94+
irox-tools = { version = "^0.10.0", optional = true, path = "../libraries/tools" }
9595
irox-types = { version = "^0.5.0", optional = true, path = "../libraries/types" }
9696
irox-units = { version = "^0.4.0", optional = true, path = "../libraries/units" }

libraries/tools/CHANGELOG.md

+137-19
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,126 @@
11

22

33

4+
## v0.10.0 (2025-01-26)
5+
6+
### Chore
7+
8+
- <csr-id-73c770e4c24a06ebd1938f68027b32354a8a6c29/> fixup lints
9+
10+
### New Features
11+
12+
- <csr-id-b71c23c77672f7efcb500268167874ec9f0403d3/> impl new,debug,clone in RoundBuffer
13+
- <csr-id-79883f420af37979cf0b19d70d7960df7b358703/> HMAC-SHA2 with test vectors
14+
- <csr-id-33553680fe493ec285286310c2bac2a29d60b90d/> some asserts can now take test name/message as last parameter
15+
- <csr-id-80726de6cd543fbad5faa4bb182f534bb231a078/> adding sha1 test vectors
16+
- <csr-id-8270cefc0903fafcf39d8b206a250403df3c79e9/> fixup nostd support in carto
17+
- <csr-id-54580210d482718c4e6a876b0081485eca0d5b44/> new Matrix::transpose() operation
18+
- <csr-id-d0c38822ffb13c9a7fb300a402161a43e339816c/> tests for rotating matrices
19+
- <csr-id-904ba2577ddd001a459326fb2741436f8dfab923/> new ZeroedBuffer trait to create empty buffers
20+
- <csr-id-8b816e9cdc2228c9de03e406dd4b1e8454c030db/> zero out any part of RoundU8Buffer when consumed
21+
- <csr-id-7bf897d6381c453936022d5ea985cd5e3fcc4930/> yaaay matrix transforms :>
22+
- <csr-id-6321e4e643eca9541801dee69bd19a8f66e63bdc/> new negative_one fn in ToSigned to allow easy inversion
23+
- <csr-id-223ce686b44ef9bf39fa83ea06c02bfbe5d814b4/> new OrderedHashMap that replicates elements in insertion order.
24+
- <csr-id-be2700b42dba1c7e88a7db6d131d17e26bde840d/> new ZagZig impls, fix alloc in vbyte
25+
- <csr-id-fd99495373be8ef4adda57cbece5e0dcd2f53f20/> impl BufBits for StreamReader
26+
- <csr-id-e3caf23f1b80eafdb449e92ce8d1fda89afa91b3/> new ToSigned and ToUnsigned traits for the primitives
27+
- <csr-id-e73848b677f582ad68a22cd92afb0d0fd4cdb1c5/> refactoring StrBuf into FixedU8Buf
28+
- <csr-id-fdbf627db9f5614d9b92a135812dc6c05adf85ad/> add an atomic counter to CodeDictionary for stats
29+
- <csr-id-616ab4de9cadc5c0caf2ae381e42c12d9d70cefa/> new shared version of the code dictionary and encoder
30+
- <csr-id-15873e543c1009ee5b863f3e058ca9a35a742847/> new GroupVarintCodeDecoder
31+
- <csr-id-ef314f4261f6f8f84a6571b0d844801c045ffc7f/> impl From<[u8;N]> for RoundU8Buffer
32+
- <csr-id-0a8a6c62ebfb1ea2228fc6317af920ca9fb7c3a3/> new CodeDictionary and GroupVarintCodeEncoder capabilities
33+
- <csr-id-57d04be3a4becf00779eaed39351b8c68bcd2ee1/> new varint encoding capability
34+
- <csr-id-a7e15d7475435f05e57fb13310ed1bb0d4f88ef2/> new vbyte predictive length functions
35+
- <csr-id-d1e54a55a16da755bb2c3b9d420e3bd0b447c08f/> impl WriteToBEBits for IntegerValue
36+
- <csr-id-247c3228f154f10eb36a6bd96b1ec14c3965da71/> further flushing out of Fixed & Round u8 buffers
37+
- <csr-id-e34948deae97e45b1da777dcc616eee983cf6487/> new CountingBits struct, move SharedROCounter to bits from tools
38+
- <csr-id-138fe8565dc368755498c2f1426779e227cbc54a/> Better buffer usage in the RoundU8Buffer, nearly usable now for reading & writing.
39+
- <csr-id-83a5f506b8a49930e8d18d07cc9dd5f311d0db8d/> new basic matrix implementation
40+
- <csr-id-cd5e251008bbd88c72c7bd56793cf72cd85a503a/> new debug_assert_eq_eps assert
41+
- <csr-id-c459c43514fd3d240686ddd23ecd3645883b8f95/> new functions in PRNG to make generating spreads of numbers easier
42+
- <csr-id-33bee42679e32d4b1e2e48bc18a072dcce881a51/> new bencher to check performance of atomics on a hardware config
43+
- <csr-id-fbd4a63b40a6d1955e446a0480ea183a01e7ada9/> new thread-safe performant one-way non-blocking data exchanger
44+
45+
### Bug Fixes
46+
47+
- <csr-id-a7d97e08afba83769389842156c78e9792037e66/> fix multi_stream on linux, seek_write doesn't modify the underlying position of the FP like it does on windows.
48+
- <csr-id-507a83ccd5831745d983fcbddf6a9da9f83df9c5/> fix edge case issues in multi_stream around the end of a stream.
49+
- <csr-id-2e05702b0f90563b76be1caa2f0666d90158dbdd/> switch to RoundBuf in UnlimitedBuf for performance
50+
- <csr-id-f9a5bdd6dd5f9b06a48b8fa0d1e46986cc2d1aa1/> fix off-by-one in roundu8 buffer limiting
51+
- <csr-id-4096723f47280285db82c2ce82afc21c23cfcb95/> fix off-by-one where key was same length as block size.
52+
- <csr-id-b60738301ce6d50bcd91b40bf8da7225ad3ff1f2/> fix impls of sha2/384/512 and add NIST test vectors
53+
- <csr-id-f327a89b1f398e1552758b0a9bd49506bcabbd90/> silence warning about unused trait in Matrix
54+
- <csr-id-dbf8ef898ba6c089582caf3d6d7fe7f8f166e845/> matrix rotations behind feature std for sin/cos
55+
- <csr-id-e7bba1e8df7cffe0bf8a30addee93218500c3a34/> fix test assumption the buffer wasn't cleared.
56+
- <csr-id-ee5face00fb5d16bf1a23b9fff50852b1eafacf2/> fix alloc feature build in tools
57+
58+
### New Features (BREAKING)
59+
60+
- <csr-id-cf18819735eecc7e8512ec587f59fcbed385d712/> return usize instead of () in WriteToBEBits
61+
62+
### Commit Statistics
63+
64+
<csr-read-only-do-not-edit/>
65+
66+
- 44 commits contributed to the release over the course of 40 calendar days.
67+
- 41 days passed between releases.
68+
- 44 commits were understood as [conventional](https://www.conventionalcommits.org).
69+
- 0 issues like '(#ID)' were seen in commit messages
70+
71+
### Commit Details
72+
73+
<csr-read-only-do-not-edit/>
74+
75+
<details><summary>view details</summary>
76+
77+
* **Uncategorized**
78+
- Fix multi_stream on linux, seek_write doesn't modify the underlying position of the FP like it does on windows. ([`a7d97e0`](https://github.com/spmadden/irox/commit/a7d97e08afba83769389842156c78e9792037e66))
79+
- Fix edge case issues in multi_stream around the end of a stream. ([`507a83c`](https://github.com/spmadden/irox/commit/507a83ccd5831745d983fcbddf6a9da9f83df9c5))
80+
- Impl new,debug,clone in RoundBuffer ([`b71c23c`](https://github.com/spmadden/irox/commit/b71c23c77672f7efcb500268167874ec9f0403d3))
81+
- Switch to RoundBuf in UnlimitedBuf for performance ([`2e05702`](https://github.com/spmadden/irox/commit/2e05702b0f90563b76be1caa2f0666d90158dbdd))
82+
- Fix off-by-one in roundu8 buffer limiting ([`f9a5bdd`](https://github.com/spmadden/irox/commit/f9a5bdd6dd5f9b06a48b8fa0d1e46986cc2d1aa1))
83+
- HMAC-SHA2 with test vectors ([`79883f4`](https://github.com/spmadden/irox/commit/79883f420af37979cf0b19d70d7960df7b358703))
84+
- Fix off-by-one where key was same length as block size. ([`4096723`](https://github.com/spmadden/irox/commit/4096723f47280285db82c2ce82afc21c23cfcb95))
85+
- Some asserts can now take test name/message as last parameter ([`3355368`](https://github.com/spmadden/irox/commit/33553680fe493ec285286310c2bac2a29d60b90d))
86+
- Adding sha1 test vectors ([`80726de`](https://github.com/spmadden/irox/commit/80726de6cd543fbad5faa4bb182f534bb231a078))
87+
- Fix impls of sha2/384/512 and add NIST test vectors ([`b607383`](https://github.com/spmadden/irox/commit/b60738301ce6d50bcd91b40bf8da7225ad3ff1f2))
88+
- Fixup nostd support in carto ([`8270cef`](https://github.com/spmadden/irox/commit/8270cefc0903fafcf39d8b206a250403df3c79e9))
89+
- New Matrix::transpose() operation ([`5458021`](https://github.com/spmadden/irox/commit/54580210d482718c4e6a876b0081485eca0d5b44))
90+
- Silence warning about unused trait in Matrix ([`f327a89`](https://github.com/spmadden/irox/commit/f327a89b1f398e1552758b0a9bd49506bcabbd90))
91+
- Tests for rotating matrices ([`d0c3882`](https://github.com/spmadden/irox/commit/d0c38822ffb13c9a7fb300a402161a43e339816c))
92+
- Matrix rotations behind feature std for sin/cos ([`dbf8ef8`](https://github.com/spmadden/irox/commit/dbf8ef898ba6c089582caf3d6d7fe7f8f166e845))
93+
- Fix test assumption the buffer wasn't cleared. ([`e7bba1e`](https://github.com/spmadden/irox/commit/e7bba1e8df7cffe0bf8a30addee93218500c3a34))
94+
- New ZeroedBuffer trait to create empty buffers ([`904ba25`](https://github.com/spmadden/irox/commit/904ba2577ddd001a459326fb2741436f8dfab923))
95+
- Zero out any part of RoundU8Buffer when consumed ([`8b816e9`](https://github.com/spmadden/irox/commit/8b816e9cdc2228c9de03e406dd4b1e8454c030db))
96+
- Yaaay matrix transforms :> ([`7bf897d`](https://github.com/spmadden/irox/commit/7bf897d6381c453936022d5ea985cd5e3fcc4930))
97+
- New negative_one fn in ToSigned to allow easy inversion ([`6321e4e`](https://github.com/spmadden/irox/commit/6321e4e643eca9541801dee69bd19a8f66e63bdc))
98+
- New OrderedHashMap that replicates elements in insertion order. ([`223ce68`](https://github.com/spmadden/irox/commit/223ce686b44ef9bf39fa83ea06c02bfbe5d814b4))
99+
- New ZagZig impls, fix alloc in vbyte ([`be2700b`](https://github.com/spmadden/irox/commit/be2700b42dba1c7e88a7db6d131d17e26bde840d))
100+
- Impl BufBits for StreamReader ([`fd99495`](https://github.com/spmadden/irox/commit/fd99495373be8ef4adda57cbece5e0dcd2f53f20))
101+
- New ToSigned and ToUnsigned traits for the primitives ([`e3caf23`](https://github.com/spmadden/irox/commit/e3caf23f1b80eafdb449e92ce8d1fda89afa91b3))
102+
- Refactoring StrBuf into FixedU8Buf ([`e73848b`](https://github.com/spmadden/irox/commit/e73848b677f582ad68a22cd92afb0d0fd4cdb1c5))
103+
- Fix alloc feature build in tools ([`ee5face`](https://github.com/spmadden/irox/commit/ee5face00fb5d16bf1a23b9fff50852b1eafacf2))
104+
- Add an atomic counter to CodeDictionary for stats ([`fdbf627`](https://github.com/spmadden/irox/commit/fdbf627db9f5614d9b92a135812dc6c05adf85ad))
105+
- New shared version of the code dictionary and encoder ([`616ab4d`](https://github.com/spmadden/irox/commit/616ab4de9cadc5c0caf2ae381e42c12d9d70cefa))
106+
- New GroupVarintCodeDecoder ([`15873e5`](https://github.com/spmadden/irox/commit/15873e543c1009ee5b863f3e058ca9a35a742847))
107+
- Impl From<[u8;N]> for RoundU8Buffer ([`ef314f4`](https://github.com/spmadden/irox/commit/ef314f4261f6f8f84a6571b0d844801c045ffc7f))
108+
- New CodeDictionary and GroupVarintCodeEncoder capabilities ([`0a8a6c6`](https://github.com/spmadden/irox/commit/0a8a6c62ebfb1ea2228fc6317af920ca9fb7c3a3))
109+
- New varint encoding capability ([`57d04be`](https://github.com/spmadden/irox/commit/57d04be3a4becf00779eaed39351b8c68bcd2ee1))
110+
- New vbyte predictive length functions ([`a7e15d7`](https://github.com/spmadden/irox/commit/a7e15d7475435f05e57fb13310ed1bb0d4f88ef2))
111+
- Impl WriteToBEBits for IntegerValue ([`d1e54a5`](https://github.com/spmadden/irox/commit/d1e54a55a16da755bb2c3b9d420e3bd0b447c08f))
112+
- Further flushing out of Fixed & Round u8 buffers ([`247c322`](https://github.com/spmadden/irox/commit/247c3228f154f10eb36a6bd96b1ec14c3965da71))
113+
- Return usize instead of () in WriteToBEBits ([`cf18819`](https://github.com/spmadden/irox/commit/cf18819735eecc7e8512ec587f59fcbed385d712))
114+
- New CountingBits struct, move SharedROCounter to bits from tools ([`e34948d`](https://github.com/spmadden/irox/commit/e34948deae97e45b1da777dcc616eee983cf6487))
115+
- Better buffer usage in the RoundU8Buffer, nearly usable now for reading & writing. ([`138fe85`](https://github.com/spmadden/irox/commit/138fe8565dc368755498c2f1426779e227cbc54a))
116+
- New basic matrix implementation ([`83a5f50`](https://github.com/spmadden/irox/commit/83a5f506b8a49930e8d18d07cc9dd5f311d0db8d))
117+
- New debug_assert_eq_eps assert ([`cd5e251`](https://github.com/spmadden/irox/commit/cd5e251008bbd88c72c7bd56793cf72cd85a503a))
118+
- Fixup lints ([`73c770e`](https://github.com/spmadden/irox/commit/73c770e4c24a06ebd1938f68027b32354a8a6c29))
119+
- New functions in PRNG to make generating spreads of numbers easier ([`c459c43`](https://github.com/spmadden/irox/commit/c459c43514fd3d240686ddd23ecd3645883b8f95))
120+
- New bencher to check performance of atomics on a hardware config ([`33bee42`](https://github.com/spmadden/irox/commit/33bee42679e32d4b1e2e48bc18a072dcce881a51))
121+
- New thread-safe performant one-way non-blocking data exchanger ([`fbd4a63`](https://github.com/spmadden/irox/commit/fbd4a63b40a6d1955e446a0480ea183a01e7ada9))
122+
</details>
123+
4124
## v0.9.3 (2024-12-15)
5125

6126
### New Features
@@ -11,7 +131,7 @@
11131

12132
<csr-read-only-do-not-edit/>
13133

14-
- 1 commit contributed to the release.
134+
- 2 commits contributed to the release.
15135
- 1 day passed between releases.
16136
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
17137
- 0 issues like '(#ID)' were seen in commit messages
@@ -23,6 +143,7 @@
23143
<details><summary>view details</summary>
24144

25145
* **Uncategorized**
146+
- Release irox-tools v0.9.3 ([`7df8024`](https://github.com/spmadden/irox/commit/7df8024c2166824c4b9d4f85d780c923192f3166))
26147
- New assert_eq_eps_slice! macro for testing slices of floating points to within epsilon values ([`d72868b`](https://github.com/spmadden/irox/commit/d72868b00c3b8ae018badf809dce12584a1186a5))
27148
</details>
28149

@@ -44,8 +165,7 @@
44165

45166
<csr-read-only-do-not-edit/>
46167

47-
- 7 commits contributed to the release.
48-
- 44 days passed between releases.
168+
- 7 commits contributed to the release over the course of 20 calendar days.
49169
- 6 commits were understood as [conventional](https://www.conventionalcommits.org).
50170
- 0 issues like '(#ID)' were seen in commit messages
51171

@@ -135,7 +255,7 @@
135255

136256
<csr-read-only-do-not-edit/>
137257

138-
- 25 commits contributed to the release.
258+
- 25 commits contributed to the release over the course of 16 calendar days.
139259
- 37 days passed between releases.
140260
- 24 commits were understood as [conventional](https://www.conventionalcommits.org).
141261
- 0 issues like '(#ID)' were seen in commit messages
@@ -223,7 +343,7 @@
223343

224344
<csr-read-only-do-not-edit/>
225345

226-
- 6 commits contributed to the release.
346+
- 6 commits contributed to the release over the course of 4 calendar days.
227347
- 40 days passed between releases.
228348
- 5 commits were understood as [conventional](https://www.conventionalcommits.org).
229349
- 0 issues like '(#ID)' were seen in commit messages
@@ -253,7 +373,7 @@
253373

254374
<csr-read-only-do-not-edit/>
255375

256-
- 2 commits contributed to the release.
376+
- 2 commits contributed to the release over the course of 11 calendar days.
257377
- 13 days passed between releases.
258378
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
259379
- 0 issues like '(#ID)' were seen in commit messages
@@ -336,7 +456,7 @@
336456

337457
<csr-read-only-do-not-edit/>
338458

339-
- 15 commits contributed to the release.
459+
- 15 commits contributed to the release over the course of 33 calendar days.
340460
- 36 days passed between releases.
341461
- 14 commits were understood as [conventional](https://www.conventionalcommits.org).
342462
- 0 issues like '(#ID)' were seen in commit messages
@@ -398,7 +518,7 @@
398518

399519
<csr-read-only-do-not-edit/>
400520

401-
- 9 commits contributed to the release.
521+
- 9 commits contributed to the release over the course of 13 calendar days.
402522
- 27 days passed between releases.
403523
- 8 commits were understood as [conventional](https://www.conventionalcommits.org).
404524
- 0 issues like '(#ID)' were seen in commit messages
@@ -511,8 +631,7 @@
511631

512632
<csr-read-only-do-not-edit/>
513633

514-
- 12 commits contributed to the release.
515-
- 28 days passed between releases.
634+
- 12 commits contributed to the release over the course of 2 calendar days.
516635
- 11 commits were understood as [conventional](https://www.conventionalcommits.org).
517636
- 0 issues like '(#ID)' were seen in commit messages
518637

@@ -572,7 +691,7 @@
572691

573692
<csr-read-only-do-not-edit/>
574693

575-
- 7 commits contributed to the release.
694+
- 7 commits contributed to the release over the course of 35 calendar days.
576695
- 48 days passed between releases.
577696
- 6 commits were understood as [conventional](https://www.conventionalcommits.org).
578697
- 0 issues like '(#ID)' were seen in commit messages
@@ -797,7 +916,7 @@
797916

798917
<csr-read-only-do-not-edit/>
799918

800-
- 25 commits contributed to the release.
919+
- 25 commits contributed to the release over the course of 8 calendar days.
801920
- 37 days passed between releases.
802921
- 24 commits were understood as [conventional](https://www.conventionalcommits.org).
803922
- 0 issues like '(#ID)' were seen in commit messages
@@ -847,7 +966,7 @@
847966

848967
<csr-read-only-do-not-edit/>
849968

850-
- 3 commits contributed to the release.
969+
- 3 commits contributed to the release over the course of 4 calendar days.
851970
- 6 days passed between releases.
852971
- 2 commits were understood as [conventional](https://www.conventionalcommits.org).
853972
- 0 issues like '(#ID)' were seen in commit messages
@@ -890,7 +1009,7 @@
8901009

8911010
<csr-read-only-do-not-edit/>
8921011

893-
- 7 commits contributed to the release.
1012+
- 7 commits contributed to the release over the course of 14 calendar days.
8941013
- 23 days passed between releases.
8951014
- 6 commits were understood as [conventional](https://www.conventionalcommits.org).
8961015
- 0 issues like '(#ID)' were seen in commit messages
@@ -922,7 +1041,6 @@
9221041
<csr-read-only-do-not-edit/>
9231042

9241043
- 2 commits contributed to the release.
925-
- 5 days passed between releases.
9261044
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
9271045
- 0 issues like '(#ID)' were seen in commit messages
9281046

@@ -999,7 +1117,7 @@
9991117

10001118
<csr-read-only-do-not-edit/>
10011119

1002-
- 15 commits contributed to the release.
1120+
- 15 commits contributed to the release over the course of 1 calendar day.
10031121
- 14 days passed between releases.
10041122
- 14 commits were understood as [conventional](https://www.conventionalcommits.org).
10051123
- 0 issues like '(#ID)' were seen in commit messages
@@ -1049,7 +1167,7 @@
10491167

10501168
<csr-read-only-do-not-edit/>
10511169

1052-
- 7 commits contributed to the release.
1170+
- 7 commits contributed to the release over the course of 7 calendar days.
10531171
- 7 days passed between releases.
10541172
- 6 commits were understood as [conventional](https://www.conventionalcommits.org).
10551173
- 0 issues like '(#ID)' were seen in commit messages
@@ -1089,7 +1207,7 @@
10891207

10901208
<csr-read-only-do-not-edit/>
10911209

1092-
- 6 commits contributed to the release.
1210+
- 6 commits contributed to the release over the course of 12 calendar days.
10931211
- 19 days passed between releases.
10941212
- 5 commits were understood as [conventional](https://www.conventionalcommits.org).
10951213
- 0 issues like '(#ID)' were seen in commit messages
@@ -1160,7 +1278,7 @@
11601278

11611279
<csr-read-only-do-not-edit/>
11621280

1163-
- 27 commits contributed to the release.
1281+
- 27 commits contributed to the release over the course of 62 calendar days.
11641282
- 26 commits were understood as [conventional](https://www.conventionalcommits.org).
11651283
- 0 issues like '(#ID)' were seen in commit messages
11661284

libraries/tools/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "irox-tools"
33
description = "Stuff that should have been in the Rust STL, but aren't"
44
keywords = ["irox", "tools"]
55
categories = ["algorithms", "data-structures", "mathematics", "encoding", "network-programming"]
6-
version= "0.9.3"
6+
version= "0.10.0"
77
edition.workspace = true
88
authors.workspace = true
99
homepage.workspace = true

libraries/units/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ std = ["alloc"]
2525

2626
[package.metadata.docs.rs]
2727
all-features = true
28-
rustdoc-args = ["--cfg", "docsrs"]
28+
rustdoc-args = ["--cfg", "docsrs"]

0 commit comments

Comments
 (0)