Skip to content
go-libfossil Check-in [89f09bf179]
Login

Check-in [89f09bf179]

Overview
Comment:Merge pull request #508 from danmestas/release/v0.16.2

chore(release): v0.16.2

Timelines: family | ancestors | descendants | both | main | trunk | v0.16.2
Files: files | file ages | folders
SHA3-256: 89f09bf17969b4d168c3a6a61cb2eac64a507c26b1aa44820af58e83903bf27e
User & Date: [email protected] on 2026-10-26 02:38:13.000
Other Links: branch diff | manifest | tags
Context
2026-10-26
12:45
feat(sshverify): make in-process SSH signature verification opt-in

internal/clearsign keeps the SSH envelope, SSHSIG parsing, namespace, hash and SHA-1 checks, none of which need cryptography, and hands the key parse and signature check to an SSHVerifier that the new public package sshverify registers from init. The library therefore no longer links golang.org/x/crypto/ssh and the ECDSA, P-256, Ed25519 and RSA code it pulls in; html-artifact-publisher's TinyGo engine drops from 1,347,569 to 1,093,647 bytes gzipped (3,777,936 to 3,208,411 raw).

Without the verifier nothing is accepted unchecked: a well-formed SSH signature is ErrSSHVerifierUnavailable, which wraps ErrCannotVerify, so a seed under an SSH horizon-seed-key is refused, the held one is kept, and the sync or rebuild fails naming the package to import. Malformed signatures are still bad. The cli package (and so cmd/libfossil) and examples/tinygo import sshverify; a go list guard keeps x/crypto/ssh out of the root and db closures. check-in: a87790f468 user: [email protected] tags: main, trunk

12:38
Merge pull request #510 from danmestas/fix/create-unsupported-stat

fix: let Create proceed when the filesystem cannot stat the parent check-in: b7e00e1673 user: [email protected] tags: main, trunk

12:30
fix: let Create proceed when the filesystem cannot stat the parent

Create's parent-directory check, added in #457, refused a path whenever os.Stat of its parent failed. Under TinyGo wasm a repository lives in a SQLite VFS and os.Stat is unsupported, so every create failed with "parent directory does not exist: /"; standard Go's js/wasm build hung on the same check. It now refuses only a parent the filesystem confirms is missing or is not a directory, and otherwise lets SQLite's own open report a real failure (tracked in #509). check-in: 2449bcd313 user: [email protected] tags: main, trunk

03:14
feat: ticket writes, ticket reads and timeline-since

Repo.TicketAdd and Repo.TicketSet write the ticket-change artifact stock `fossil ticket add` / `fossil ticket set` write (D, J incl. +append, K, U, Z), byte for byte, and crosslink it in the same transaction so the ticket, ticketchng and event rows read back at once. TicketOpts.Comment is stored as the stock ticket forms store a remark: icomment with login, username and mimetype.

Repo.TicketList, Repo.TicketChanges and Repo.TimelineSince expose the reads the html-artifact-publisher engine needs, as JSON-ready values. manifest.Timeline gains Kinds and Since to back TimelineSince.

Tracked in #503 and #504. check-in: 68f2c3d930 user: [email protected] tags: main, trunk

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

01:42
chore(release): v0.16.2 leaf check-in: 0da8ac4f50 user: [email protected] tags: release/v0.16.2, trunk
01:40
Merge pull request #507 from danmestas/test/horizon-partials

test(conformance): close four partial horizon rows check-in: 94717e5803 user: [email protected] tags: main, trunk

Changes