mishima-nexus-client-csharp/CHANGELOG.md

2.1 KiB

Changelog

Unreleased

1.0.1

  • NexusTimeSession catalog/ops extras (ISP: not on ITimeSession): ListSeries, GetCardinality, ApplyRetention over Wire.V1 RPCs with DTOs TimeSeriesCatalogEntry, TimeCardinalitySnapshot, TimeMetricCardinality.
  • Suite-layout ProjectReference resolution for Mishima.Nexus.Wire.V1 (alongside sibling monorepo path).

1.0.0

  • Initial NexusClient: connects via nexus+graph|time|document|relational:// URIs (explicit port required, nexus+sql:// rejected with a dedicated message), TLS/mTLS/plaintext h2c channel setup mirroring Mishima.Nexus.Wire.Clients environment variables, x-nexus-database metadata bound from the URI path (or scheme's canonical default), and CheckHealth() via NexusHealthService.
  • Robotico.Nexus.Client.Graph: NexusGraphStore / NexusGraphSession implement IGraphStore / IGraphSession over NexusGraphEngineService — no Cypher/Gremlin/SPARQL/Vacuum surface.
  • Robotico.Nexus.Client.Time: NexusTimeStore / NexusTimeSession implement ITimeStore / ITimeSession over NexusTimeEngineService, including required Doctor().
  • Robotico.Nexus.Client.Document / .Relational: thin connect helpers (NexusDocumentClient, NexusRelationalClient) plus generated Wire.V1 client factories (CreateDocumentWireClient() / CreateRelationalWireClient()) for the full RPC surface.
  • Create/Open/OpenOrCreate POLA semantics documented and implemented: OpenOrCreate == Open; Create fails with NXS_ALREADY_EXISTS once Ping succeeds.
  • NexusErrors (NXS_URI_INVALID, NXS_URI_UNSUPPORTED_SCHEME, NXS_CONNECT_FAILED, NXS_TLS_REJECTED, NXS_ALREADY_EXISTS, NXS_NOT_FOUND, NXS_INVALID_ARGUMENT, NXS_DISPOSED, NXS_UNAVAILABLE, NXS_WIRE_FAILED) map both NexusStatus wire envelopes and RpcException failures to Robotico.Result.Result.
  • No dependency on Mishima.Nexus.Abstractions or any Mishima.Nexus.Node.* assembly — URI parsing and TLS material handling are duplicated minimally to avoid pulling F# config/domain assemblies into client apps (see docs/adr/0001-nexus-client-monolith.adoc).