Artifact 2377062570c8e7aad73931317b1788a85ea793d0adaac2a4ddf29998aeae2e25:
Reading and committing without the whole tree: - Repo.ReadBlob reads one artifact by its hash, with the same availability and horizon checks as ReadFile. - Repo.SetContentCache attaches an optional, byte-bounded cache that ReadFile, ReadFileAt, ReadBlob, ListFiles, ListFilesIn, Diff and Annotate share. Off by default; any write through the Repo empties it. - Repo.ListFilesIn lists a check-in's files narrowed to a Cone, skipping sub-manifests the cone cannot reach, so it works over a sparse store where ListFiles fails. - FileToCommit.UUID carries an unchanged file into a check-in by its hash, with no content, so a PartialManifest commit need not re-read the tree. A carried UUID must be a lowercase SHA1 or SHA3-256 hash. - Tree manifests parse each distinct sub-manifest once per cache (draft-fossil-submanifests-00 §7.4).
Horizons: - An origin dates a seed no earlier than the latest D it has minted, so shunning and purging a tag no longer sends structural clones back to the content horizon (§5.2.2). The minted D is kept across restarts. - OriginNamer lets an embedder's Transport keep a horizon cursor per origin (§6.2.6). - Four partial horizon conformance rows are now covered (73 of 76). CI interop is pinned to zit 0.7.3, which carries the same minted floor.
Fixed: - Create with no user configured no longer panics; the default login follows fossil: FOSSIL_USER, USER, LOGNAME, USERNAME, else root.
Known limitation (#506): a seed completed as a delta in a later round is refused but kept inert, where the draft says it is never kept.
See CHANGELOG.md for the full list.". by [email protected] on 2026-10-26 02:38:22.
D 2026-10-26T02:38:22 T +sym-v0.16.2 89f09bf17969b4d168c3a6a61cb2eac64a507c26b1aa44820af58e83903bf27e Release\sv0.16.2\n\nReading\sand\scommitting\swithout\sthe\swhole\stree:\n-\sRepo.ReadBlob\sreads\sone\sartifact\sby\sits\shash,\swith\sthe\ssame\savailability\sand\shorizon\schecks\sas\sReadFile.\n-\sRepo.SetContentCache\sattaches\san\soptional,\sbyte-bounded\scache\sthat\sReadFile,\sReadFileAt,\sReadBlob,\sListFiles,\sListFilesIn,\sDiff\sand\sAnnotate\sshare.\sOff\sby\sdefault;\sany\swrite\sthrough\sthe\sRepo\sempties\sit.\n-\sRepo.ListFilesIn\slists\sa\scheck-in's\sfiles\snarrowed\sto\sa\sCone,\sskipping\ssub-manifests\sthe\scone\scannot\sreach,\sso\sit\sworks\sover\sa\ssparse\sstore\swhere\sListFiles\sfails.\n-\sFileToCommit.UUID\scarries\san\sunchanged\sfile\sinto\sa\scheck-in\sby\sits\shash,\swith\sno\scontent,\sso\sa\sPartialManifest\scommit\sneed\snot\sre-read\sthe\stree.\sA\scarried\sUUID\smust\sbe\sa\slowercase\sSHA1\sor\sSHA3-256\shash.\n-\sTree\smanifests\sparse\seach\sdistinct\ssub-manifest\sonce\sper\scache\s(draft-fossil-submanifests-00\s§7.4).\n\nHorizons:\n-\sAn\sorigin\sdates\sa\sseed\sno\searlier\sthan\sthe\slatest\sD\sit\shas\sminted,\sso\sshunning\sand\spurging\sa\stag\sno\slonger\ssends\sstructural\sclones\sback\sto\sthe\scontent\shorizon\s(§5.2.2).\sThe\sminted\sD\sis\skept\sacross\srestarts.\n-\sOriginNamer\slets\san\sembedder's\sTransport\skeep\sa\shorizon\scursor\sper\sorigin\s(§6.2.6).\n-\sFour\spartial\shorizon\sconformance\srows\sare\snow\scovered\s(73\sof\s76).\sCI\sinterop\sis\spinned\sto\szit\s0.7.3,\swhich\scarries\sthe\ssame\sminted\sfloor.\n\nFixed:\n-\sCreate\swith\sno\suser\sconfigured\sno\slonger\spanics;\sthe\sdefault\slogin\sfollows\sfossil:\sFOSSIL_USER,\sUSER,\sLOGNAME,\sUSERNAME,\selse\sroot.\n\nKnown\slimitation\s(#506):\sa\sseed\scompleted\sas\sa\sdelta\sin\sa\slater\sround\sis\srefused\sbut\skept\sinert,\swhere\sthe\sdraft\ssays\sit\sis\snever\skept.\n\nSee\sCHANGELOG.md\sfor\sthe\sfull\slist. U [email protected] Z ef2216a8cfebf3f212eb8f52a1fb0fd6