Skip to content
go-libfossil Tags and Properties
Login

Tags and Properties

Tags and Properties for Check-in 89f09bf179

Context
2026-10-26
02:38 • Edit [89f09bf179]: Add tag "v0.16.2" with note "Release v0.16.2

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.". artifact: 2377062570 user: [email protected]

02:38
Merge pull request #508 from danmestas/release/v0.16.2

chore(release): v0.16.2 check-in: 89f09bf179 user: [email protected] tags: main, trunk, v0.16.2

2026-04-19
16:30
Initial open source release

libfossil is a pure-Go implementation of the Fossil SCM, reading and writing the same .fossil SQLite repository format as upstream Fossil.

This is the first public release of code that previously lived in a private repository. The module path is github.com/danmestas/libfossil and the binary is named libfossil to avoid $PATH collisions with upstream fossil.

Included: - Repo lifecycle (create, clone), checkout/checkin, timeline, merge, diff, annotate, shun, tag, branch, bisect, stash, undo/redo - Sync-over-HTTP protocol (client and handler) - Two SQLite drivers: modernc (pure Go, default) and ncruces (wasm-capable) - Observer interfaces (SyncObserver, CheckoutObserver) with an optional OpenTelemetry implementation in observer/otel (separate submodule) - Deterministic simulation testing harness with BUGGIFY fault injection - Kong-based embeddable CLI under cli/ and a standalone binary under cmd/libfossil/ check-in: f5744359d3 user: [email protected] tags: trunk