Repository navigation
Releases: porcupin26/skaidb-dotnet
Releases · porcupin26/skaidb-dotnet
Release list
v1.1.0
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.0Changes
Added
- A genuine ADO.NET provider.
SkaidbConnectionnow derives from
DbConnection,SkaidbCommandfromDbCommand,SkaidbDataReaderfrom
DbDataReaderandSkaidbExceptionfromDbException; new
SkaidbParameter/SkaidbParameterCollection(DbParameter),
SkaidbConnectionStringBuilder(DbConnectionStringBuilder),
SkaidbBatch/SkaidbBatchCommand(DbBatch, merging runs of one
parameterised statement into a singleOP_EXECUTE_BATCH) and
SkaidbFactory(DbProviderFactory, staticInstance, invariant name
SkaidbinSkaidbFactory.ProviderInvariantName). Register with
DbProviderFactories.RegisterFactory("Skaidb", SkaidbFactory.Instance).
Dapper works as-is. @nameand$Nplaceholders, rewritten to the server's?before
preparing;Parameters.AddWithValue(name, value).
CommandType.StoredProcedurerunsCALL name(?, …).- Reader:
GetFieldValue<T>,GetSchemaTable(),GetFieldType,
GetDataTypeName,RecordsAffected,HasRows,GetDateTime,
GetValues, chunkedGetBytes/GetChars,CommandBehavior.CloseConnection. - Connection strings:
Hosttakes a comma list ofhost[:port]seeds
([v6]:porttoo), values may be quoted,Usernameis the canonical key
name.SkaidbConnection()plus a settableConnectionString,
State/StateChange,DataSource,ChangeDatabase(). - Certificate login (wire mechanism EXTERNAL):
TlsClientCert/
TlsClientKeypresent a PEM client certificate, and
AuthMechanism=Certificatemakes it the login. Without an explicit
Usernamethe AuthStart carries an empty name, so the certificate's CN
decides (theanonymousdefault 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.Parametersis aSkaidbParameterCollection(was
List<object?>);Parameters.Add(value)still adds a positional value.
Code that used otherList<T>members, or that was compiled against 1.0.x,
needs a rebuild.BeginTransaction()throwsNotSupportedException(the protocol has no
transactions; every statement autocommits).- An invalid
PortorTimeoutin a connection string throws
SkaidbException(was a rawFormatException);Portmust be 1-65535 and
Timeoutpositive.
Fixed
- Found by the conformance suite: a streamed mutation's affected-row count
was lost (Stream()yielded nothing and exposed no count), and
StreamColumnskept the previous stream's columns after a non-row or
failed stream. - A
Hostvalue carrying a port (Host=db1:7001) dialleddb1:7001:7000.
v1.0.1
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.1Changes
Release automation: published from GitHub Actions. No driver code changed.
Changed
- The package declares its license as the packed
LICENSEfile
(PackageLicenseFile) instead of theSSPL-1.0SPDX 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_USERsecret plus a policy on
nuget.org forpublish.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
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