Skip to content

Releases: msemys/esjc

v1.6.0

14 Nov 21:23
Compare
Choose a tag to compare
  • [#10] fixed: unable to unsubscribe catchup-subscription after client reconnect
  • fixed incorrect batch-size range check  [1, 4096) -> [1, 4096]
  • [#7] EventStore class converted to an interface
  • added EventStore.appendToStream overloaded method for single event
  • added Transaction.write overloaded method for single event
  • added stream events iteration support. EventStore.iterateXXXX methods allows to iterate over events in a stream from the specified starting point to the end of stream by transparently reading batches of events.
  • removed EventStore.isRunning() method from public api
  • refactored builders:
    • EventStoreBuilder.tcpXXXX() methods replaced with EventStoreBuilder.tcpSettings(tcp -> tcp)
    • EventStoreBuilder.clusterNodeXXXX() methods replaced with EventStoreBuilder.clusterNodeUsingGossipSeeds(cluster -> cluster) and EventStoreBuilder.clusterNodeUsingDns(cluster -> cluster)
    • EventStoreBuilder.xxxxEnabled() and EventStoreBuilder.xxxxDisabled() methods replaced with EventStoreBuilder.xxxx(boolean)
    • EventStoreBuilder.clientReconnectionDelay() method renamed to EventStoreBuilder.reconnectionDelay()
    • EventStoreBuilder.maxClientReconnections() method renamed to EventStoreBuilder.maxReconnections()
    • removed XXXXBuilder.unlimitedXXXX() methods - use XXXXBuilder.maxXXXX(-1)
  • renamed fields:
    • TcpSettings.tcpNoDelay to TcpSettings.noDelay
    • ClusterNodeSettings.clusterDns to ClusterNodeSettings.dns
    • Settings.persistentSubscriptionAutoAckEnabled to Settings.persistentSubscriptionAutoAck
  • renamed classes:
    • StaticNodeSettings to SingleNodeSettings
    • StaticEndpointDiscoverer to SingleEndpointDiscoverer
    • ClusterDnsEndpointDiscoverer to ClusterEndpointDiscoverer
  • improved documentation:
    • added default values to builders methods documentation
    • added allowed range for batch-size to builders methods documentation
  • improved preconditions error messages
  • bumped netty version to 4.0.42.Final
  • bumped gson version to 2.8.0

v1.5.0

07 Aug 11:50
Compare
Choose a tag to compare
  • fixed a race condition when subscribing to a persistent subscription
  • PersistentSubscriptionSettings public fields are made immutable (final keyword was missing)
  • removed throws Exception from Subscription.close() and Transaction.close() methods signature
  • CatchUpSubscription.close() and PersistentSubscription.close() methods throws more specific TimeoutException (was Exception)
  • renamed method EventStoreBuilder.useSslConnectionWithAnyCertificate() to EventStoreBuilder.useSslConnection()
  • added ExpectedVersion.streamExists() which will only allow appending to a stream if it already exists (supported since EventStore v3.7.0)
  • added builders for StreamAcl and SystemSettings models
  • added StreamMetadata.toBuilder() method that creates a new stream metadata builder with populated values
  • added StreamMetadata.findCustomProperty(String) method that returns optional property
  • added StreamMetadata.Builder.acl(StreamAcl) method that allows to set stream acl model
  • added ability to set string/number/boolean array type custom-property for stream metadata (e.g.: StreamMetadata.newBuilder().customProperty("intArray", 1, 2, 3))
  • slightly improved performance by replacing Arrays.asList() with only one argument to Collections.singletonList()
  • bumped netty version to 4.0.40.Final
  • bumped gson version to 2.7

v1.4.0

04 May 17:50
Compare
Choose a tag to compare
  • fixed missing CommitTransactionOperation result
  • fixed isJsonData flag of EventData when data/metadata is null
  • fixed default values in persistent subscription settings (readBatchSize=20, maxRetryCount=10, liveBufferSize=500, historyBufferSize=500)
  • fixed JSON parsing error handling in getStreamMetadata()
  • fixed truncateBefore precondition check (should not be negative) in StreamMetadata builder
  • fixed metadata precondition check (allows to set null) in setStreamMetadata()
  • added ability to set number/boolean type custom property for stream metadata
  • added ability to subscribe to persistent subscription asynchronously
  • added catchup subscription settings
  • added linkTo method in EventData builder, that allows you to create linked event (e.g.: EventData.newBuilder().linkTo(3, "foo").build())
  • exposed client settings
  • populates channel errors to client listeners
  • improved api documentation with client exceptions when operation completes exceptionally
  • bumped netty version to 4.0.36.Final
  • bumped slf4j api version to 1.7.21

v1.3.0

13 Mar 09:00
Compare
Choose a tag to compare
  • added ssl support
  • added ability to set custom executor to execute client internal tasks and run subscriptions
  • fixed race condition while enqueuing tasks to disconnected client
  • cancels running authentication/heartbeat timeout-task when handler is removed