D 2026-05-05T15:15:56 T +sym-v0.6.0 faf57ad9c7dc57c19a78b96b25a406b058422f2ad3af5bf92834e65c21fc662d Release\sv0.6.0\n\n-\s`Repo.Close`\snow\sruns\s`PRAGMA\swal_checkpoint(TRUNCATE)`\sbefore\sclosing\sthe\sunderlying\sconnection,\sso\sthe\son-disk\srepo\sfile\sis\sreadable\sby\sexternal\sSQLite/fossil\stooling.\sPreviously,\slibfossil-managed\srepos\scould\sbe\sleft\sas\sa\s4\sKiB\sstub\splus\sa\sfat\sWAL\ssidecar\sthat\svanilla\s`fossil`\srejected\sas\s`not\sa\svalid\srepository`.\s(#27,\s#28)\n-\sNew\spublic\s`Repo.Checkpoint(mode)`\smethod\sand\s`CheckpointMode`\senum\s(`Passive`\s/\s`Full`\s/\s`Restart`\s/\s`Truncate`)\sfor\sexplicit\smid-flight\scheckpointing.\sLong-running\sconsumers\s(hubs,\sdaemons)\sno\slonger\sneed\sto\sreach\sthrough\s`Repo.DB().Exec("PRAGMA\swal_checkpoint(...)")`.\n\nNone.\sThe\sClose\serror\stype\smay\snow\sbe\sa\sjoined\serror\s(`errors.Join(checkpointErr,\scloseErr)`)\swhen\sboth\scheckpoint\sand\sclose\sfail;\scallers\susing\s`errors.Is`\sand\s`errors.As`\scontinue\sto\swork.\n\n-\sNo\scode\schanges\srequired\sto\sbenefit\sfrom\sthe\sclose-time\scheckpoint\sfix.\n-\sCallers\srunning\sraw\s`PRAGMA\swal_checkpoint`\sagainst\s`Repo.DB()`\scan\sswitch\sto\s`Repo.Checkpoint(libfossil.CheckpointTruncate)`\s(or\sother\smodes)\sfor\sa\styped\sAPI\ssurface.\n\n9013d33\sfix:\scheckpoint\sWAL\son\sClose\sso\svanilla\sfossil\scan\sread\srepo\s(#28) U 93289084+danmestas@users.noreply.github.com Z 25009ad4ffc5644291eb6c88f8e00f01