Skip to content

Commit db50073

Browse files
authored
feat(bytesbuf, bytesbuf_io): release 0.4.0 (#288)
1 parent ca71a7a commit db50073

7 files changed

Lines changed: 81 additions & 69 deletions

File tree

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ homepage = "https://github.com/microsoft/oxidizer"
2424

2525
# local dependencies
2626
anyspawn = { path = "crates/anyspawn", default-features = false, version = "0.1.0" }
27-
bytesbuf = { path = "crates/bytesbuf", default-features = false, version = "0.3.0" }
28-
bytesbuf_io = { path = "crates/bytesbuf_io", default-features = false, version = "0.3.0" }
27+
bytesbuf = { path = "crates/bytesbuf", default-features = false, version = "0.4.0" }
28+
bytesbuf_io = { path = "crates/bytesbuf_io", default-features = false, version = "0.4.0" }
2929
data_privacy = { path = "crates/data_privacy", default-features = false, version = "0.10.1" }
3030
data_privacy_macros = { path = "crates/data_privacy_macros", default-features = false, version = "0.9.0" }
3131
data_privacy_macros_impl = { path = "crates/data_privacy_macros_impl", default-features = false, version = "0.9.0" }

crates/bytesbuf/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Changelog
22

3+
## [0.4.0] - 2026-02-26
4+
5+
- ✨ Features
6+
7+
- add BytesBuf::split_off_remaining ([#286](https://github.com/microsoft/oxidizer/pull/286))
8+
- reduce unnecessary reference count jiggling ([#283](https://github.com/microsoft/oxidizer/pull/283))
9+
- add missing Eq implementation for BytesView ([#281](https://github.com/microsoft/oxidizer/pull/281))
10+
- impl ThreadAware for GlobalPool ([#273](https://github.com/microsoft/oxidizer/pull/273))
11+
- clamp minimum reservation size in BytesBufWriter ([#277](https://github.com/microsoft/oxidizer/pull/277))
12+
- improve ergonomics of BytesView::as_read() ([#272](https://github.com/microsoft/oxidizer/pull/272))
13+
- make BytesBufWriter owning via into_writer() ([#274](https://github.com/microsoft/oxidizer/pull/274))
14+
315
## [0.3.0] - 2026-02-13
416

517
- ✨ Features

crates/bytesbuf/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[package]
55
name = "bytesbuf"
66
description = "Types for creating and manipulating byte sequences."
7-
version = "0.3.0"
7+
version = "0.4.0"
88
readme = "README.md"
99
keywords = ["oxidizer", "buffers", "io", "zero-copy"]
1010
categories = ["data-structures", "network-programming"]

crates/bytesbuf/README.md

Lines changed: 59 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -471,69 +471,69 @@ See the `mem::testing` module for details (requires `test-util` Cargo feature).
471471
This crate was developed as part of <a href="../..">The Oxidizer Project</a>. Browse this crate's <a href="https://github.com/microsoft/oxidizer/tree/main/crates/bytesbuf">source code</a>.
472472
</sub>
473473

474-
[__cargo_doc2readme_dependencies_info]: ggGkYW0CYXSEGy4k8ldDFPOhG2VNeXtD5nnKG6EPY6OfW5wBG8g18NOFNdxpYXKEG91Jt_IDJ8uaGzw7UvcHuNDdG2jPnTC62v9nG8FGesia3fwjYWSBgmhieXRlc2J1ZmUwLjMuMA
475-
[__link0]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
476-
[__link1]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
477-
[__link10]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
478-
[__link11]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::first_slice
479-
[__link12]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::advance
480-
[__link13]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::first_slice
481-
[__link14]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::first_slice
482-
[__link15]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::first_slice
483-
[__link16]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
484-
[__link17]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::Memory
485-
[__link18]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::HasMemory
486-
[__link19]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::HasMemory::memory
487-
[__link2]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
488-
[__link20]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::GlobalPool
489-
[__link21]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::GlobalPool::new
490-
[__link22]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::Memory::reserve
491-
[__link23]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
492-
[__link24]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
493-
[__link25]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
494-
[__link26]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
495-
[__link27]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::put_num_le
496-
[__link28]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::put_slice
497-
[__link29]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::put_byte
498-
[__link3]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::get_num_le
499-
[__link30]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::put_byte_repeated
500-
[__link31]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::put_bytes
501-
[__link32]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
502-
[__link33]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::first_unfilled_slice
503-
[__link34]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::advance
504-
[__link35]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::first_unfilled_slice
505-
[__link36]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::first_unfilled_slice
506-
[__link37]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
507-
[__link38]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::reserve
508-
[__link39]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::remaining_capacity
509-
[__link4]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::get_byte
510-
[__link40]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
511-
[__link41]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
512-
[__link42]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
513-
[__link43]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
514-
[__link44]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
515-
[__link45]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf::put_bytes
516-
[__link46]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::HasMemory
517-
[__link47]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::HasMemory
518-
[__link48]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
519-
[__link49]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
520-
[__link5]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::copy_to_slice
521-
[__link50]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::HasMemory
522-
[__link51]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
523-
[__link52]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesBuf
524-
[__link53]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::HasMemory
525-
[__link54]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::HasMemory
526-
[__link55]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=mem::GlobalPool
474+
[__cargo_doc2readme_dependencies_info]: ggGkYW0CYXSEGy4k8ldDFPOhG2VNeXtD5nnKG6EPY6OfW5wBG8g18NOFNdxpYXKEG91Jt_IDJ8uaGzw7UvcHuNDdG2jPnTC62v9nG8FGesia3fwjYWSBgmhieXRlc2J1ZmUwLjQuMA
475+
[__link0]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
476+
[__link1]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
477+
[__link10]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
478+
[__link11]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::first_slice
479+
[__link12]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::advance
480+
[__link13]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::first_slice
481+
[__link14]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::first_slice
482+
[__link15]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::first_slice
483+
[__link16]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
484+
[__link17]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::Memory
485+
[__link18]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::HasMemory
486+
[__link19]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::HasMemory::memory
487+
[__link2]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
488+
[__link20]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::GlobalPool
489+
[__link21]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::GlobalPool::new
490+
[__link22]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::Memory::reserve
491+
[__link23]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
492+
[__link24]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
493+
[__link25]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
494+
[__link26]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
495+
[__link27]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::put_num_le
496+
[__link28]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::put_slice
497+
[__link29]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::put_byte
498+
[__link3]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::get_num_le
499+
[__link30]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::put_byte_repeated
500+
[__link31]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::put_bytes
501+
[__link32]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
502+
[__link33]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::first_unfilled_slice
503+
[__link34]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::advance
504+
[__link35]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::first_unfilled_slice
505+
[__link36]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::first_unfilled_slice
506+
[__link37]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
507+
[__link38]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::reserve
508+
[__link39]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::remaining_capacity
509+
[__link4]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::get_byte
510+
[__link40]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
511+
[__link41]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
512+
[__link42]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
513+
[__link43]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
514+
[__link44]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
515+
[__link45]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf::put_bytes
516+
[__link46]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::HasMemory
517+
[__link47]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::HasMemory
518+
[__link48]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
519+
[__link49]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
520+
[__link5]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::copy_to_slice
521+
[__link50]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::HasMemory
522+
[__link51]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
523+
[__link52]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesBuf
524+
[__link53]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::HasMemory
525+
[__link54]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::HasMemory
526+
[__link55]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=mem::GlobalPool
527527
[__link56]: https://docs.rs/bytes/latest/bytes/struct.Bytes.html
528-
[__link57]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
528+
[__link57]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
529529
[__link58]: https://docs.rs/bytes/latest/bytes/struct.Bytes.html
530-
[__link59]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
531-
[__link6]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView::copy_to_uninit_slice
530+
[__link59]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
531+
[__link6]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView::copy_to_uninit_slice
532532
[__link60]: https://docs.rs/bytes/latest/bytes/struct.Bytes.html
533533
[__link61]: https://docs.rs/bytes/latest/bytes/struct.Bytes.html
534-
[__link62]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
534+
[__link62]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
535535
[__link63]: https://doc.rust-lang.org/stable/std/?search=sync::OnceLock
536-
[__link64]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
537-
[__link7]: https://docs.rs/bytesbuf/0.3.0/bytesbuf/?search=BytesView
536+
[__link64]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
537+
[__link7]: https://docs.rs/bytesbuf/0.4.0/bytesbuf/?search=BytesView
538538
[__link8]: https://doc.rust-lang.org/stable/std/?search=io::Read
539539
[__link9]: https://doc.rust-lang.org/stable/std/?search=io::BufRead

crates/bytesbuf_io/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[package]
55
name = "bytesbuf_io"
66
description = "Asynchronous I/O abstractions expressed via `bytesbuf` types."
7-
version = "0.3.0"
7+
version = "0.4.0"
88
readme = "README.md"
99
keywords = ["oxidizer", "io", "zero-copy", "performance", "async"]
1010
categories = [

crates/bytesbuf_io/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ types that produce or consume streams of bytes. These are in the `testing` modul
3535
This crate was developed as part of <a href="../..">The Oxidizer Project</a>. Browse this crate's <a href="https://github.com/microsoft/oxidizer/tree/main/crates/bytesbuf_io">source code</a>.
3636
</sub>
3737

38-
[__cargo_doc2readme_dependencies_info]: ggGkYW0CYXSEGy4k8ldDFPOhG2VNeXtD5nnKG6EPY6OfW5wBG8g18NOFNdxpYXKEG8wC2qKB5vPMG5c8vZ8ulsvSGwSlXV9Pnjr5GyAAXY8thjNKYWSBgmtieXRlc2J1Zl9pb2UwLjMuMA
38+
[__cargo_doc2readme_dependencies_info]: ggGkYW0CYXSEGy4k8ldDFPOhG2VNeXtD5nnKG6EPY6OfW5wBG8g18NOFNdxpYXKEG8wC2qKB5vPMG5c8vZ8ulsvSGwSlXV9Pnjr5GyAAXY8thjNKYWSBgmtieXRlc2J1Zl9pb2UwLjQuMA
3939
[__link0]: https://docs.io/bytesbuf
40-
[__link1]: https://docs.rs/bytesbuf_io/0.3.0/bytesbuf_io/?search=Read
41-
[__link2]: https://docs.rs/bytesbuf_io/0.3.0/bytesbuf_io/?search=Write
40+
[__link1]: https://docs.rs/bytesbuf_io/0.4.0/bytesbuf_io/?search=Read
41+
[__link2]: https://docs.rs/bytesbuf_io/0.4.0/bytesbuf_io/?search=Write
4242
[__link3]: https://docs.io/bytesbuf
43-
[__link4]: https://docs.rs/bytesbuf_io/0.3.0/bytesbuf_io/?search=Read
43+
[__link4]: https://docs.rs/bytesbuf_io/0.4.0/bytesbuf_io/?search=Read

0 commit comments

Comments
 (0)