All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added
From<Url>
andFromIterator<Url>
forStreamerUri
#28 - Impl
Default
forPayload
- Impl serde
Serialize
&Deserialize
forStreamKey
- Compile socket without stdio backend #35
- Support nanosecond timestamp in Redis (under feature flag
nanosecond-timestamp
) - Support custom message field
- Added
RedisProducer::send_with_ts
to specify custom timestamp - Added
RedisProducer::flush_immut
- Added
RedisProducer::trim
to performXTRIM MAXLEN
- Fixed
capacity overflow
error in some cases
- Added a special
SEA_STREAMER_WILDCARD
stream key to subscribe to all streams in a file
- Added a
StreamJoin
component for joining multiple streams by timestamp
- Use
impl Future
instead ofasync-trait
#20
- Fix clippy warnings #23
- Rename utility to
ss-decode
- Added
KafkaProducer::send_record
,KafkaProducer::send_message
#17
- Added
FileSource::drain
- Added
FileProducer::path()
,FileConsumer::file_id()
,FileProducer::file_id()
- Added
create_only
toFileConnectOptions
- Fixed a potential race condition
- impl std::io::Write for FileSink
- More precise
FileEvent::Remove
- End streamer properly after EOS
- Used a faster CRC implementation
- Added option
prefetch_message
toFileConnectOptions
- [
sea-streamer-file
] Improvements over read and write throughput - [
sea-streamer-file-reader
] A node.js library for decoding sea-streamer files - [
sea-streamer-redis
] Improvements over write throughput
- Enhance decoder to display binary payload for JSON
- Fix shared producer #11 Previously, when a FileProducer is cloned, dropping any clone would implicitly end the producer.
- Introducing
sea-streamer-file
: the File Backend - Added
File
,OpenOptions
,AsyncReadExt
etc tosea-streamer-runtime
- Added
AsyncMutex
tosea-streamer-runtime
- Added
OwnedMessage
tosea-streamer-types
- Added
TIMESTAMP_FORMAT
andSEA_STREAMER_INTERNAL
tosea-streamer-types
- Implemented
serde::Serialize
forMessageHeader
- Removed const
SEA_STREAMER_INTERNAL
fromsea-streamer-redis
StreamUrl
now requires an ending slash to avoid ambiguity,StreamerUri
remains unchanged
assert!("redis://localhost/a,b".parse::<StreamUrl>().is_ok());
assert!("redis://localhost/".parse::<StreamUrl>().is_ok());
assert!("redis://localhost".parse::<StreamUrl>().is_err()); // previously this was OK
assert!("redis://localhost".parse::<StreamerUri>().is_ok());
- Added a
MKSTREAM
option when creating Redis consumer groups (RedisConsumerOptions::set_mkstream
) #4 - Added
SaslOptions
andKafkaConnectOptions::set_sasl_options
for using Kafka with SASL authentication #8
Introducing sea-streamer-redis
.
Initial release.