Skip to content

Commit db74d3e

Browse files
Merge pull request #107 from influxdata/crepererum/release_02
chore: prepare version 0.2.0
2 parents f016ae5 + 88f8365 commit db74d3e

File tree

6 files changed

+60
-15
lines changed

6 files changed

+60
-15
lines changed

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,31 @@
11
# Changelog
2+
All notable changes to this project will be documented in this file.
3+
4+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
8+
## 0.2.0 -- Essential Bug Fixes, Compression
9+
10+
### Breaking Changes
11+
- `Record::{key,value}` are now optional, following the underlying Kafka protocol (#93)
12+
- compression support, `PartitionClient::produce` requires `compression` parameter (#82, #91, #92, #94)
13+
- `PartitionClient::get_high_watermark` was replaced by `PartitionClient::get_offset` (#100)
14+
- `StreamConsumer::new` `start_offset` parameter changed from `i64` to `StartOffset` type (#104)
15+
- rework features (#107)
16+
17+
### Features
18+
- record deletion (#97)
19+
20+
### Bug Fixes
21+
- ignore `InvalidReplicationFactor` (#106)
22+
- fix rare panic in `BatchProducer` (#105)
23+
- filter out records that were not requested (#99)
24+
- terminate consumer stream on `OffsetOutOfRange` (#96)
25+
26+
### Performance
27+
- faster CRC calculation (#85)
28+
229

330
## 0.1.0 -- Initial Release
431
This is the first release featuring:

Cargo.toml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,32 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] }
5353
uuid = { version = "0.8", features = ["v4"] }
5454

5555
[features]
56-
default = ["transport-tls"]
56+
default = [
57+
"compression-gzip",
58+
"compression-lz4",
59+
"compression-snappy",
60+
"compression-zstd",
61+
]
62+
63+
full = [
64+
"compression-gzip",
65+
"compression-lz4",
66+
"compression-snappy",
67+
"compression-zstd",
68+
"transport-socks5",
69+
"transport-tls",
70+
]
5771

5872
compression-gzip = ["flate2"]
5973
compression-lz4 = ["lz4"]
6074
compression-snappy = ["snap"]
6175
compression-zstd = ["zstd"]
62-
fuzzing = []
76+
6377
transport-socks5 = ["async-socks5"]
6478
transport-tls = ["rustls", "tokio-rustls"]
6579

80+
unstable-fuzzing = []
81+
6682
[[bench]]
6783
name = "write_throughput"
6884
harness = false

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,16 @@ For more advanced production and consumption, see [`crate::client::producer`] an
9090

9191
## Features
9292

93-
- **`compression-gzip`:** Support compression and decompression of messages using [gzip].
94-
- **`compression-lz4`:** Support compression and decompression of messages using [LZ4].
95-
- **`compression-snappy`:** Support compression and decompression of messages using [Snappy].
96-
- **`compression-zstd`:** Support compression and decompression of messages using [zstd].
97-
- **`fuzzing`:** Exposes some internal data structures so that they can be used by our fuzzers. This is NOT a stable
98-
feature / API!
93+
- **`compression-gzip` (default):** Support compression and decompression of messages using [gzip].
94+
- **`compression-lz4` (default):** Support compression and decompression of messages using [LZ4].
95+
- **`compression-snappy` (default):** Support compression and decompression of messages using [Snappy].
96+
- **`compression-zstd` (default):** Support compression and decompression of messages using [zstd].
97+
- **`full`:** Includes all stable features (`compression-gzip`, `compression-lz4`, `compression-snappy`,
98+
`compression-zstd`, `transport-socks5`, `transport-tls`).
9999
- **`transport-socks5`:** Allow transport via SOCKS5 proxy.
100-
- **`transport-tls` (default):** Allows TLS transport via [rustls].
100+
- **`transport-tls`:** Allows TLS transport via [rustls].
101+
- **`unstable-fuzzing`:** Exposes some internal data structures so that they can be used by our fuzzers. This is NOT a stable
102+
feature / API!
101103

102104
## Testing
103105

fuzz/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ cargo-fuzz = true
1111
[dependencies]
1212
libfuzzer-sys = "0.4.0"
1313
pin-project-lite = "0.2"
14-
rskafka = { path = "..", features = ["fuzzing"] }
14+
rskafka = { path = "..", features = ["unstable-fuzzing"] }
1515
tokio = { version = "1.14", default-features = false, features = ["io-util", "rt"] }
1616

1717
[[bin]]

src/lib.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ mod backoff;
2222
pub mod client;
2323

2424
mod connection;
25-
#[cfg(feature = "fuzzing")]
25+
#[cfg(feature = "unstable-fuzzing")]
2626
pub mod messenger;
27-
#[cfg(not(feature = "fuzzing"))]
27+
#[cfg(not(feature = "unstable-fuzzing"))]
2828
mod messenger;
2929

30-
#[cfg(feature = "fuzzing")]
30+
#[cfg(feature = "unstable-fuzzing")]
3131
pub mod protocol;
32-
#[cfg(not(feature = "fuzzing"))]
32+
#[cfg(not(feature = "unstable-fuzzing"))]
3333
mod protocol;
3434

3535
pub mod record;

src/messenger.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ where
258258
}
259259
}
260260

261-
#[cfg(feature = "fuzzing")]
261+
#[cfg(feature = "unstable-fuzzing")]
262262
pub fn override_version_ranges(&self, ranges: HashMap<ApiKey, ApiVersionRange>) {
263263
self.set_version_ranges(ranges);
264264
}

0 commit comments

Comments
 (0)