TLabs.SchemaRegistry
1.1.0
dotnet add package TLabs.SchemaRegistry --version 1.1.0
NuGet\Install-Package TLabs.SchemaRegistry -Version 1.1.0
<PackageReference Include="TLabs.SchemaRegistry" Version="1.1.0" />
<PackageVersion Include="TLabs.SchemaRegistry" Version="1.1.0" />
<PackageReference Include="TLabs.SchemaRegistry" />
paket add TLabs.SchemaRegistry --version 1.1.0
#r "nuget: TLabs.SchemaRegistry, 1.1.0"
#:package TLabs.SchemaRegistry@1.1.0
#addin nuget:?package=TLabs.SchemaRegistry&version=1.1.0
#tool nuget:?package=TLabs.SchemaRegistry&version=1.1.0
TLabs.SchemaRegistry
Versioned JSON schema registry for TLabs web-applications:
- Store JSON schemas in the application database, versioned per topic with a
(Topic, Version)unique key. - Validate documents (dynamic
Propertiesdictionaries) against the latest — or an explicitly versioned — schema of a topic. - Validation results carry structured errors (
ErrorDetails) alongside the flat message list — each with the schema evaluation path, the JSON-pointer instance location, and the failing top-level property, so callers can attribute failures to individual properties. - Guard schema evolution with a backward-compatibility check on registration: every document valid under the previous
schema version must stay valid under the new one, i.e. a new version may only loosen or preserve constraints.
(A forward check is available on
JsonSchemaCompatibilityChecker; a deliberate breaking version can be stored by registering withallowBreaking: true.)
The compatibility gate is deny-by-default: changes it cannot prove safe — anything involving $ref, oneOf/anyOf/allOf,
conditional or otherwise unsupported keywords — are rejected as breaking. Compatibility is checked against the immediately
preceding version only, not transitively across all stored versions.
Builds on TLabs.CoreLib (repo, DI configurator and entity-model conventions) and JsonSchema.Net for schema evaluation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- JsonSchema.Net (>= 7.3.4)
- TLabs.CoreLib (>= 4.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.