Skip to content

Releases: porcupin26/skaidb-dotnet

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 22:03

skaidb C# / .NET driver 1.1.0.

This version was not pushed to NuGet.org (the workflow has no NuGet credential). Install from the package attached to this release:

mkdir -p ~/nuget-local
curl -L -o ~/nuget-local/Skaidb.1.1.0.nupkg \
  https://github.com/porcupin26/skaidb-dotnet/releases/download/v1.1.0/Skaidb.1.1.0.nupkg
dotnet nuget add source ~/nuget-local --name skaidb-local
dotnet add package Skaidb --version 1.1.0

Changes

Added

  • A genuine ADO.NET provider. SkaidbConnection now derives from
    DbConnection, SkaidbCommand from DbCommand, SkaidbDataReader from
    DbDataReader and SkaidbException from DbException; new
    SkaidbParameter/SkaidbParameterCollection (DbParameter),
    SkaidbConnectionStringBuilder (DbConnectionStringBuilder),
    SkaidbBatch/SkaidbBatchCommand (DbBatch, merging runs of one
    parameterised statement into a single OP_EXECUTE_BATCH) and
    SkaidbFactory (DbProviderFactory, static Instance, invariant name
    Skaidb in SkaidbFactory.ProviderInvariantName). Register with
    DbProviderFactories.RegisterFactory("Skaidb", SkaidbFactory.Instance).
    Dapper works as-is.
  • @name and $N placeholders, rewritten to the server's ? before
    preparing; Parameters.AddWithValue(name, value).
    CommandType.StoredProcedure runs CALL name(?, …).
  • Reader: GetFieldValue<T>, GetSchemaTable(), GetFieldType,
    GetDataTypeName, RecordsAffected, HasRows, GetDateTime,
    GetValues, chunked GetBytes/GetChars, CommandBehavior.CloseConnection.
  • Connection strings: Host takes a comma list of host[:port] seeds
    ([v6]:port too), values may be quoted, Username is the canonical key
    name. SkaidbConnection() plus a settable ConnectionString,
    State/StateChange, DataSource, ChangeDatabase().
  • Certificate login (wire mechanism EXTERNAL): TlsClientCert /
    TlsClientKey present a PEM client certificate, and
    AuthMechanism=Certificate makes it the login. Without an explicit
    Username the AuthStart carries an empty name, so the certificate's CN
    decides (the anonymous default is never sent).
  • SkaidbConnection.StreamAffected: the affected-row count of a streamed
    mutation.
  • The shared wire-protocol conformance suite (conformance/vectors.json,
    vendored from https://skaidb.org/conformance/vectors.json) runs in the
    unit tests; CI fails when the vendored copy differs from the published one.

Changed

  • Close() releases the socket but no longer disposes the connection:
    Open() dials again. Dispose() stays final.
  • SkaidbCommand.Parameters is a SkaidbParameterCollection (was
    List<object?>); Parameters.Add(value) still adds a positional value.
    Code that used other List<T> members, or that was compiled against 1.0.x,
    needs a rebuild.
  • BeginTransaction() throws NotSupportedException (the protocol has no
    transactions; every statement autocommits).
  • An invalid Port or Timeout in a connection string throws
    SkaidbException (was a raw FormatException); Port must be 1-65535 and
    Timeout positive.

Fixed

  • Found by the conformance suite: a streamed mutation's affected-row count
    was lost (Stream() yielded nothing and exposed no count), and
    StreamColumns kept the previous stream's columns after a non-row or
    failed stream.
  • A Host value carrying a port (Host=db1:7001) dialled db1:7001:7000.

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 20 Sep 04:36

skaidb C# / .NET driver 1.0.1.

This version was not pushed to NuGet.org (the workflow has no NuGet credential). Install from the package attached to this release:

mkdir -p ~/nuget-local
curl -L -o ~/nuget-local/Skaidb.1.0.1.nupkg \
  https://github.com/porcupin26/skaidb-dotnet/releases/download/v1.0.1/Skaidb.1.0.1.nupkg
dotnet nuget add source ~/nuget-local --name skaidb-local
dotnet add package Skaidb --version 1.0.1

Changes

Release automation: published from GitHub Actions. No driver code changed.

Changed

  • The package declares its license as the packed LICENSE file
    (PackageLicenseFile) instead of the SSPL-1.0 SPDX expression:
    NuGet.org accepts only OSI- or FSF-approved licenses in an expression and
    rejects the push otherwise. The license itself is unchanged.
  • The package ships a symbols package, Skaidb.X.Y.Z.snupkg (portable PDB
    with Source Link), next to the .nupkg; the publish workflow attaches both
    to the GitHub Release and pushes both to NuGet.org, and CI asserts both
    are produced.
  • The publish workflow pushes to NuGet.org with either the NUGET_API_KEY
    secret or NuGet Trusted Publishing (NUGET_USER secret plus a policy on
    nuget.org for publish.yml); with neither it skips the push with a notice
    and stays green. The release body now says which install path applies and
    carries this changelog's section for the version.

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 01:26

skaidb C# / .NET driver 1.0.0. See CHANGELOG.md for details.

Install from this release (until the package is on NuGet.org):

mkdir -p ~/nuget-local
curl -L -o ~/nuget-local/Skaidb.1.0.0.nupkg \
  https://github.com/porcupin26/skaidb-dotnet/releases/download/v1.0.0/Skaidb.1.0.0.nupkg
dotnet nuget add source ~/nuget-local --name skaidb-local
dotnet add package Skaidb --version 1.0.0