Skip to content

Releases: tomasfabian/ksqlDB.RestApi.Client-DotNet

ksqlDB.RestApi.Client v1.0.0

19 Oct 19:43
Compare
Choose a tag to compare

Package was renamed to ksqlDB.RestApi.Client v1.0.0.

Breaking changes: namespaces were changed accordingly

Kafka.DotNet.ksqlDB v2.0.0

15 Oct 18:46
Compare
Choose a tag to compare

ProcessingGuarantee enum

  • KSqlDbContextOptionsBuilder and KSqlDbContextOption SetProcessingGuarantee

  • ProcessingGuaranteeExtensions, AutoOffsetResetExtensions

Basic authentication

  • added IKSqlDbProvider.SetCredentials
  • added IKSqlDbRestApiClient.SetCredentials
  • BasicAuthCredentials
  • KSqlDbContextOptionsBuilder and KSqlDbContextOption SetBasicAuthCredentials
  • BasicAuthHandler, HttpClientFactoryWithBasicAuth

KSqlDbRestApiClient.InsertIntoAsync

  • added support for deeply nested types - Maps, Structs and Arrays

Qbservable.Select

  • generation of values from captured variables

Breaking changes:

ISetupParameters changed from

ISetupParameters SetupQuery(Action<IQueryOptions> configure);
ISetupParameters SetupQueryStream(Action<IQueryOptions> configure);

to

ISetupParameters SetupQuery(Action<IKSqlDbParameters> configure);
ISetupParameters SetupQueryStream(Action<IKSqlDbParameters> configure);

IPullable

public ValueTask<TEntity> GetAsync(CancellationToken cancellationToken = default)

was renamed to:

public ValueTask<TEntity> FirstOrDefaultAsync(CancellationToken cancellationToken = default)

KSqlDBContextOptions

⚠ KSqlDBContextOptions created with a constructor or by KSqlDbContextOptionsBuilder are setting the auto.offset.reset to earliest by default. This version removes this default configuration. It will not be opinionated in this way from now.
This will affect your subscriptions to streams.

Bug fix:

  • deserialization of stream exceptions (KSqlDbQueryProvider and KSqlDbQueryStreamProvider)

Kafka.DotNet.ksqlDB v1.10.0

08 Oct 14:38
2e29294
Compare
Choose a tag to compare

Invocation (lambda) functions

  • Transform, Reduce and Filter for Maps (dictionaries)
  • requirements: ksqldb 0.17.0

Select and Where destructuring properties

  • first level

Scalar functions

  • Instr, IfNull

IKSqlGrouping.Source

  • grouping by nested properies (one level)

Bug fixes:

  • KSqlDbRestApiClient.CreateTypeAsync - Entity name from generic types fix
  • KsqlDbContext.CreateQueryStream - From item name - generic types fix

Kafka.DotNet.ksqlDB v1.9.0

30 Sep 13:45
0cf95e0
Compare
Choose a tag to compare

Invocation (lambda) functions

  • requirements: ksqldb 0.17.0
  • This version covers ARRAY type. MAP types are not included in this release.

Transform

  • Transform a collection by using a lambda function.

Reduce

  • Reduce a collection starting from an initial state.

Filter

  • Filter a collection with a lambda function.

BYTES

  • BYTES TYPE - variable-length byte array (byte[])
  • requirements: ksqldb 0.21.0

ToBytes

  • Converts a STRING value in the specified encoding to BYTES. The accepted encoders are 'hex', 'utf8', 'ascii' and 'base64'. Since: - ksqldb 0.21

FromBytes

  • Converts a BYTES value to STRING in the specified encoding. The accepted encoders are 'hex', 'utf8', 'ascii' and 'base64'. Since: - ksqldb 0.21

KSqlDbRestApiClient.InsertIntoAsync

Inserting empty arrays

  • empty arrays are generated in the following way (workaround)
ARRAY_REMOVE(ARRAY[0], 0))

ARRAY[] is not yet supported in ksqldb

Kafka.DotNet.ksqlDB v1.8.0

22 Sep 19:19
Compare
Choose a tag to compare

KSqlDbRestApiClient

  • DropTypeIfExistsAsync and DropTypeAsync - Removes a type alias from ksqlDB. If the IF EXISTS clause is present, the statement doesn't fail if the type doesn't exist.
  • ToInsertStatement - Generates raw string Insert Into, but does not execute it. #7

Operator BETWEEN

  • KSqlOperatorExtensions - Between - Constrain a value to a specified range in a WHERE clause.
  • KSqlOperatorExtensions - NotBetween - operator is used to indicate that a certain value must not be within a specified range, including boundaries.

Kafka.DotNet.ksqlDB v1.7.0

19 Sep 18:33
Compare
Choose a tag to compare
  • KPullSet - GetManyAsync - Pulls all values from the materialized view asynchronously and terminates. #6
  • QbservableExtensions - ExplainAsync and ExplainAsStringAsync - Show the execution plan for a SQL expression, show the execution plan plus additional runtime information and metrics.

Kafka.DotNet.ksqlDB v1.6.0

14 Sep 20:45
Compare
Choose a tag to compare

This release contains some requested features from users @vijaymandave and @HaroonSaid. Thank you for detailed explanations.

KSqlDbRestApiClient

  • CreateTypeAsync - Create an alias for a complex type declaration. #4 Complex Types

  • InsertIntoAsync for Complex types - IEnumerable<T>, record, class and struct

IN operator

  • IEnumerable<T> and IList<T> Contains method in Where and Select clauses is interpreted as IN. #5 Use 'Contains()'

FIX:

  • IEnumerables are converted to ksql ARRAY not to a list of comma separated values

Kafka.DotNet.ksqlDB v1.5.0

04 Sep 09:46
Compare
Choose a tag to compare

QbservableExtensions

ObserveOn

  • Wraps the source sequence in order to run its observer callbacks on the specified scheduler.

SubscribeOn

  • Wraps the source sequence in order to run its subscription on the specified scheduler.

SubscribeAsync

  • Subscribes an element handler, an exception handler, and a completion handler to an qbservable stream and asynchronously returns the query id.

Kafka.DotNet.ksqlDB v1.4.0

21 Aug 15:58
f11efe7
Compare
Choose a tag to compare

KSqlDbRestApiClient:

  • TerminatePushQueryAsync - terminates push query by query id
  • DropStreamAsync - Drops an existing stream.
  • DropTableAsync - Drops an existing table.

Kafka.DotNet.ksqlDB v1.3.0

05 Aug 19:06
Compare
Choose a tag to compare

KSqlDbRestApiClient:

  • CreateSourceConnectorAsync - Create a new source connector in the Kafka Connect cluster with the configuration passed in the config parameter.

  • CreateSinkConnectorAsync - Create a new sink connector in the Kafka Connect cluster with the configuration passed in the config parameter.

  • GetTopicsAsync - lists the available topics in the Kafka cluster that ksqlDB is configured to connect to.

  • GetAllTopicsAsync - lists all topics, including hidden topics.

  • GetTopicsExtendedAsync - list of topics. Also displays consumer groups and their active consumer counts.

  • GetAllTopicsExtendedAsync - list of all topics. Also displays consumer groups and their active consumer counts.

  • GetQueriesAsync - Lists queries running in the cluster.

  • QueriesResponse, Query

  • TerminatePersistentQueryAsync - Terminate a persistent query. Persistent queries run continuously until they are explicitly terminated.

Scalar functions: ExtractJsonField, ConcatWS, Encode

Bug fix:

  • #1 - [Pull Query] JsonException when a field contains a comma