All notable changes to this project will be documented in this file.
- Updated CI workflows to pull eventstore docker images from cloud smith registry. EventStoreDB-Client-Rust#173
- Updated everywhere to pull es-gencert-cli from Cloudsmith EventStoreDB-Client-Rust#179
- Support different runtime environments out-of-the-box. EventStoreDB-Client-Rust#183
- Address latest compiler linting suggestions. EventStoreDB-Client-Rust#181
- Decrease allocation due to stream name manipulation. EventStoreDB-Client-Rust#171
- Support
CaughtUp
subscription message. EventStoreDB-Client-Rust#171
- parsing of server semver for CI, where the server version may have tagging EventStoreDB-Client-Rust#176
- Update container version when testing. EventStoreDB-Client-Rust#159
- Improve connection string parsing. EventStoreDB-Client-Rust#169
- Update to Tonic 0.10. EventStoreDB-Client-Rust#170
- No longer transitively depend on
time
0.1 EventStoreDB-Client-Rust#160 - Fix latest linting issue. EventStoreDB-Client-Rust#168
- Support authenticated gossip read request. EventStoreDB-Client-Rust#163
- Add created date field in RecordedEvent struct. EventStoreDB-Client-Rust#143
- Implement statistics parsing. EventStoreDB-Client-Rust#146
- Tests to verify if $all position is populated when reading stream EventStoreDB-Client-Rust#152
- Change project organization. EventStoreDB-Client-Rust#145
- Update
testcontainers
dependency version number. EventStoreDB-Client-Rust#156
- Remove
use_metadata
option when reading stats. EventStoreDB-Client-Rust#146
- Fix
RequiresLeader
header when node preference is set to leader. EventStoreDB-Client-Rust#148 - Bug in version check in tests EventStoreDB-Client-Rust#153
- Docker image path EventStoreDB-Client-Rust#151
- Fix latest linting issues. EventStoreDB-Client-Rust#158
- EventStore/esdb-tui#6 EventStoreDB-Client-Rust#150
- EventStore/esdb-tui#6 EventStoreDB-Client-Rust#150
- Configure operations' stats request as streaming. EventStoreDB-Client-Rust#141
- Implement Operations client. EventStoreDB-Client-Rust#139
- Disable default deadline for batch-append operation. EventStoreDB-Client-Rust#134
- Fix system event exclusion regex. EventStoreDB-Client-Rust#135
- Do not retry a subscription when facing an authentication error. EventStoreDB-Client-Rust#136
- Rename StreamPosition::Point to StreamPosition::Position. EventStoreDB-Client-Rust#76
- Migrate to Rust 2021 edition. EventStoreDB-Client-Rust#94
- Improve integration testing. EventStoreDB-Client-Rust#95
- Remove
StreamName
andGroupName
generic types. EventStoreDB-Client-Rust#107 - Improve streaming API for read operations. EventStoreDB-Client-Rust#110
- Refactor node discovery process. EventStoreDB-Client-Rust#113
- Expose projection-related options. EventStoreDB-Client-Rust#117
- Improve
append_to_stream
usability. EventStoreDB-Client-Rust#116 - Apply gRPC deadlines RFC. EventStoreDB-Client-Rust#126
- Default
NodePreference
toLeader
. EventStoreDB-Client-Rust#126 - Simplify
read_stream
andread_all
API. EventStoreDB-Client-Rust#123 - Apply new persistent subscription info data. EventStoreDB-Client-Rust#131
- Fix automatic reconnection process for stream operations. EventStoreDB-Client-Rust#56
- Improve server-side error management. EventStoreDB-Client-Rust#74
- Fix test flakeyness. EventStoreDB-Client-Rust#85
- Introduce more randomness when selecting a node based upon preference. EventStoreDB-Client-Rust#88
- Fix read from stream position snippet name. EventStoreDB-Client-Rust#129
- Do not apply
defaultDeadline
from the connection string on streaming operations. EventStoreDB-Client-Rust#130
- Implement keep-alive EventStoreDB-Client-Rust#53
- Add single node tests using testcontainers. EventStoreDB-Client-Rust#57
- Implement auto-resubscribe when connection is dropped. EventStoreDB-Client-Rust#58
- Implement stream metadata operations. EventStoreDB-Client-Rust#62
- Implement maximum discover attempts for single node connections. EventStoreDB-Client-Rust#67
- Implement projection API. EventStoreDB-Client-Rust#60
- Implement batch-append API. EventStoreDB-Client-Rust#77
- Add first-class support for stream deleted error. EventStoreDB-Client-Rust#89
- Add timeouts when running projection tests. EventStoreDB-Client-Rust#91
- Send feedback to user when
batch_append
is not supported by the server. EventStoreDB-Client-Rust#93 - Implement Persistent Subscription to
$all
. EventStoreDB-Client-Rust#98 - Implement server features detection. EventStoreDB-Client-Rust#118
- Allow passing an external Tokio runtime when creating a new client. EventStoreDB-Client-Rust#124
- Implement persistent subscription management gRPC API. EventStoreDB-Client-Rust#122
- Added missing subscribe-to-persistent-subscription-to-all snippet EventStoreDB-Client-Rust#129
- Support connection name connection setting. EventStoreDB-Client-Rust#133
- Support Tokio 1.* and Tonic 0.4.
- Fix how is_json is extracted for persistent subscriptions.
- Apply same public API as other official gRPC clients.
- Fix how we set RecordedEvent is_json.
- Fix insecure mode regression.
- Update DNS discovery, so it works properly with EventStore Cloud.
- Expose
ClientSettings
values. - Load native certificates when TLS is enabled.
- Add Debug instance for
SubEvent
. - No longer implicitly use
PersistentSubscriptionSettings
default values on both persistent subscription creation and update.
- Expose subscription lifecyle events.
- Improve FilterConf usability.
- Use consistent names across all official clients.
- Fix documentation.
- Add prelude module.
- Re-export
FilterConf
.
- Add DNS record type selection in connection string. DNS A queries are done by default now. Use to be SRV.
- Export
ConnectionSettingsParseError
type. read_stream
returnsReadResult::StreamNotFound
explicitly.- Add
Position::end()
- Add more documentation.
- More flexible
EventData::json
andEventData::binary
.
- gRPC is now the only supported interface.
- Delete TCP interface.
- Add
read_through
function when reading a stream ($all
included). - Support latest
message_timeout_ms
andcheckpoint_after_ms
persistent.proto changes. - Improve user experience.
- Implement cluster mode connection.
- Bump protobuf version.
- Bump tonic version.
- Make Connection cloneable.
- Support DNS discovery for the TCP API.
- Implement secure connection for the TCP API.
- Support 20.6 stable version (behind 20.6).
- Make connection timeout period configurable.
- Don't panic on second call if server is off.
- Migrate gRPC interface to ES6 preview 3 version.
- No change, only updated website link.
- Expose subscription events so the user can be notified when a subscription has been confirmed or dropped by the server.
- Upgrade to uuid 0.8.* version.
- Fix memory leak in registry when dealing with subscriptions.
- Allow user to convert UUID to GUID when sending events.
- Fix persistent subscription regression when ack/nak.
- Idiomatic streaming interface for subscriptions and batch reads (tcp API).
- Fix UUID/GUID serialization.
- Ask Docs.rs to also build documentation for es6 module.
- Expose ES 6 gRPC interface.
- Move to tokio 0.2
- Pinned
protobuf
to 2.8.1 version.
- Support Rust 1.39
- Remove protobuf::Chars from public API.
- Update persistent subscription default settings.
- Internal connection refactoring.
- Implement
iterate_over_batch
.
- Remove debugging leftovers.
- Add
Pinned
system consumer strategy.
- Fix reading a deleted stream event in $streams stream, causing a read command to abort.
- Fix compiler warnings.
- Bump dependencies version.
- Fix stream metadata and ACL JSON (de)serialization.
- Implement cluster-mode connection.
- Internal refactoring.
start
andstart_with_runtime
are renamedsingle_node_connection
andsingle_node_connection_with_runtime
.
- Migrate
iterate_over
from iterator to asynchronous stream.
- Fix possible connection issues if Authentication or Identification processes take too long to complete.
- Remove an unnecessary OS thread.
- Implement
ConnectionBuilder::start_with_runtime
to use an existing tokio runtime. - Fix rare issue where the user sends a command before the connection is confirmed with the
server, causing that operation to be sent only after a
operation timeout
time. - No longer terminate the connection in case of identification timeout.
- Implement stream streaming ($all included).
- BUGFIX: Fix next event number for stream reads.
- Simplify public eventstore module.
- Move to a typeful representation of
resolve_link_tos
setting. - Implement connection state-machine graceful exit.
- Introduce new connection api.
- Migrate to
uuid
0.7. - Move to tokio multithreaded runtime.