Skip to content

Commit f7dd30b

Browse files
committed
prepare v0.18.1 release
1 parent 9c8b8d3 commit f7dd30b

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,45 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## v0.18.1 -- 2025-05-31
6+
7+
### ✨ Added
8+
9+
- **New build script**: Added `build.rs` to enforce that at least one TLS backend (`rustls` or `native-tls`) is enabled
10+
if any of the remote features (`http`, `ftp`, or `remote`) are enabled.
11+
- **Module documentation**: Added detailed Rust doc comments to the compression modules (gzip, bzip2, lz4, xz, zstd) and
12+
`utils.rs` for improved usability and understanding.
13+
- **`get_protocol` function**: Utility for extracting protocol from file paths, now used across remote file access
14+
functions.
15+
16+
### 🛠️ Changed
17+
18+
- **Feature dependencies**: The `ftp` feature now explicitly depends on the `http` feature in `Cargo.toml`.
19+
- **Error handling**: Updated `OneIoError` enum to more accurately gate error variants with corresponding features (
20+
`http`, `ftp`).
21+
- **Module structure**:
22+
- `compressions` is now a public module.
23+
- Refactored how the crate distinguishes between local and remote file access, using `get_protocol`.
24+
- `get_reader_raw` and related functions now determine protocol and select the appropriate file reader accordingly.
25+
- **Compression interface**:
26+
- Added a unified trait `OneIOCompression` and `get_compression_reader`/`get_compression_writer` utilities for
27+
consistent handling of all supported compression algorithms.
28+
- Updated file open logic to use these helpers based on file suffix.
29+
30+
### 🧹 Cleaned up and Improved
31+
32+
- Removed legacy or redundant code paths (e.g., `get_reader_raw_remote`, old error gates).
33+
- Moved protocol detection and remote file reading logic into more modular and maintainable forms.
34+
- Several function signatures and internal APIs have been updated for clarity and maintainability.
35+
36+
---
37+
38+
### 📝 Developer Notes
39+
40+
- All compression modules (`gzip`, `bzip2`, `lz4`, `xz`, `zstd`) now include clear documentation and consistent
41+
interfaces for reading and writing compressed files.
42+
- Users enabling remote protocol features must ensure at least one TLS backend is also enabled.
43+
544
## v0.18.0 -- 2025-05-30
645

746
### Highlights

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "oneio"
3-
version = "0.18.0"
3+
version = "0.18.1"
44
authors = ["Mingwei Zhang <[email protected]>"]
55
edition = "2021"
66
readme = "README.md"

0 commit comments

Comments
 (0)