Tags and Properties for Check-in ac4c3537d1
- sym-trunk inherited from [f5744359d3]
- sym-v0.8.0=Release v0.8.0 - Align local commits, clone crosslinking, and rebuilds on canonical Fossil derived-table semantics, including merge-parent `mlink` rows and canonical `plink`, `tagxref`, and `leaf` state. - Reduce large-repository clone cost by reusing validated receive bytes during crosslinking and avoiding redundant whole-repository and per-file lookups. On the 67.6k-blob Fossil corpus, the receive-linker change reduced measured clone wall time from 371.21s to 211.69s and peak RSS from 676.9 MiB to 586.1 MiB. - Allow `cmd/libfossil` to select the SQLite backend at build time: modernc remains the default, while `-tags test_ncruces` selects the ncruces backend for native and js/wasm builds. - Improve sync interoperability and resilience with canonical Fossil, including authenticated sync, dropped-round retries, transactional visibility updates, and deferred crosslinking for temporarily unavailable dependencies. - Correct tag propagation so changes do not cross branch boundaries. None. - Existing default CLI builds continue to use the modernc SQLite driver. - Build with `-tags test_ncruces` when the ncruces SQLite backend or js/wasm support is required. - No repository migration or rebuild is required. - 61cc1dd feat(cli): select sqlite driver by tag (#218) - d291e1c perf(sync): reuse received content in crosslink (#217) - 7795639 fix(manifest): unify mlink derivation (#216) - be0a89f perf: stop clone re-seeking blob.uuid per F-card and over-allocating delta output (#187) (#212) - 8dfa1c2 fix: derive mlink, plink, tagxref and leaf the way canonical fossil does (#193) (#211) - bc3de6a perf: stop the post-sync crosslink sweep re-examining the whole repository (#202) (#210) - 6ccfbbf fix: make authenticated sync interoperate with canonical fossil (#207) - 1f7081b refactor(tag): give the three tag-apply paths one propagation helper (#209) - a5c9c36 fix: stop tag propagation from crossing branch boundaries (#198) (#206) - 5f21cad ci: gate the js/wasm build on every PR (#201) (#205) - 4f752f1 fix(sync): derive the project code, and write artifact visibility inside the storing transaction (#204) - 23c3332 fix: derive leaf by canonical's branch rule, in both the sweep and the commit path (#197) - f39c6e0 fix(sync): retry a dropped exchange round instead of aborting the clone (#185) (#196) - 4e14d63 fix: pin submodules to v0.7.0 instead of an orphaned pseudo-version (#190) (#195) - 2cd3201 fix: crosslink ticket artifacts and stop warning for ordinary file blobs (#192) - 3b8b992 test: add corpus parity gate comparing clone output against canonical fossil (#188) (#191) - 3a6790e fix: defer cascade-linked checkins referencing unavailable blobs (#180) (#183) - 6c5b68c test(content): build the chain-bound fixture in one transaction (#182) - da8ea5b docs: reconcile CHANGELOG with 15-tag release history (#181) added by [b8338dc43b] on 2026-07-29 02:37:51
|
2026-07-29
| ||
| 02:37 |
•
Edit [ac4c3537d1]: Add tag "v0.8.0" with note "Release v0.8.0
- Align local commits, clone crosslinking, and rebuilds on canonical Fossil derived-table semantics, including merge-parent `mlink` rows and canonical `plink`, `tagxref`, and `leaf` state. - Reduce large-repository clone cost by reusing validated receive bytes during crosslinking and avoiding redundant whole-repository and per-file lookups. On the 67.6k-blob Fossil corpus, the receive-linker change reduced measured clone wall time from 371.21s to 211.69s and peak RSS from 676.9 MiB to 586.1 MiB. - Allow `cmd/libfossil` to select the SQLite backend at build time: modernc remains the default, while `-tags test_ncruces` selects the ncruces backend for native and js/wasm builds. - Improve sync interoperability and resilience with canonical Fossil, including authenticated sync, dropped-round retries, transactional visibility updates, and deferred crosslinking for temporarily unavailable dependencies. - Correct tag propagation so changes do not cross branch boundaries. None. - Existing default CLI builds continue to use the modernc SQLite driver. - Build with `-tags test_ncruces` when the ncruces SQLite backend or js/wasm support is required. - No repository migration or rebuild is required. - 61cc1dd feat(cli): select sqlite driver by tag (#218) - d291e1c perf(sync): reuse received content in crosslink (#217) - 7795639 fix(manifest): unify mlink derivation (#216) - be0a89f perf: stop clone re-seeking blob.uuid per F-card and over-allocating delta output (#187) (#212) - 8dfa1c2 fix: derive mlink, plink, tagxref and leaf the way canonical fossil does (#193) (#211) - bc3de6a perf: stop the post-sync crosslink sweep re-examining the whole repository (#202) (#210) - 6ccfbbf fix: make authenticated sync interoperate with canonical fossil (#207) - 1f7081b refactor(tag): give the three tag-apply paths one propagation helper (#209) - a5c9c36 fix: stop tag propagation from crossing branch boundaries (#198) (#206) - 5f21cad ci: gate the js/wasm build on every PR (#201) (#205) - 4f752f1 fix(sync): derive the project code, and write artifact visibility inside the storing transaction (#204) - 23c3332 fix: derive leaf by canonical's branch rule, in both the sweep and the commit path (#197) - f39c6e0 fix(sync): retry a dropped exchange round instead of aborting the clone (#185) (#196) - 4e14d63 fix: pin submodules to v0.7.0 instead of an orphaned pseudo-version (#190) (#195) - 2cd3201 fix: crosslink ticket artifacts and stop warning for ordinary file blobs (#192) - 3b8b992 test: add corpus parity gate comparing clone output against canonical fossil (#188) (#191) - 3a6790e fix: defer cascade-linked checkins referencing unavailable blobs (#180) (#183) - 6c5b68c test(content): build the chain-bound fixture in one transaction (#182) - da8ea5b docs: reconcile CHANGELOG with 15-tag release history (#181)". artifact: b8338dc43b user: [email protected] | |
| 01:46 | feat(cli): select sqlite driver by tag (#218) check-in: ac4c3537d1 user: [email protected] tags: trunk, v0.8.0 | |
|
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 | |