Skip to content

Shelfbound libraries 0.8.0 (snapshot schema 0.6.0)

Choose a tag to compare

@Wolfsblvt Wolfsblvt released this 18 Jul 02:25
· 10 commits to main since this release

The open-core library set — Shelfbound.Core, Shelfbound.Query, and Shelfbound.Steam — at immutable version
0.8.0, producing snapshot schema 0.6.0. AGPL-3.0-or-later.

Why this release

0.8.0 makes partial Steam observations honest instead of treating visibility-gated Web API output as a complete owned
library. It also introduces QueryPlan v1: one deterministic, portable search-intent contract that hosted and local
consumers can adopt without inventing incompatible grammars.

What's in it

  • Schema 0.6.0 observation semantics — adds observedSubset beside installedOnly and explicitly contracted
    fullLibrary. Absence from either partial scope proves nothing about ownership or access; published enum identities
    remain compatible and comparisons go through LibraryScopeSemantics.
  • Structured Steam Web outcomesISteamWebApiClient now returns usable, missing-list, empty-list, or malformed
    evidence with an observation timestamp. Empty or unavailable visibility-gated responses no longer masquerade as a
    successful complete library.
  • QueryPlan v1 — adds the versioned plan, C# text parser/canonical serializer, structured diagnostics, capability
    validation, defensive bounds, and the executable G1–G25 conformance corpus. This is a contract/parser seam; the existing
    LibraryFilter engine and local MCP behavior are unchanged.
  • Local-source hardening — tightens bounded Steam/VDF/manifest/collection parsing and authenticated client input
    handling, improves modern collection decoding, and adds Windows registry-based Steam installation discovery.
  • Release integrity — package/schema/source identity, API compatibility, symbols/Source Link, duplicate-version
    rejection, and the exact producer→package→cloud-consumer contract remain fail-closed.

Compatibility

Snapshot 0.6.0 is additive on the wire. The ISteamWebApiClient raw-list→structured-result API change is the intentional
pre-1.0 package break recorded and checked for 0.8.0. QueryPlan v1 is additive; current query execution remains on
LibraryFilter until a later migration.

Consumers

The hosted API packs this exact producer commit into an isolated local feed and tests old/current/unsupported-next
snapshot negotiation plus byte-identical QueryPlan corpus parity before release. Packages: Shelfbound.Core,
Shelfbound.Query, and Shelfbound.Steam 0.8.0 on nuget.org.