Skip to content

v0.9.5 - A Server Under a Path, a Torn Database Said Once, and a Test Runner That Does Not Hang

Choose a tag to compare

@github-actions github-actions released this 15 Oct 08:19
· 13 commits to main since this release

What's Changed in v0.9.5

A Seafile served under a path (https://corp.example.com/seafile/) now works. That was the one thing a
seafile:// URL could not express, and the one open item that blocked a whole class of users. The path
belongs to the server, so it is set with SEAFILE_SERVER, the credentials file, or the desktop client's
account; the no-code alternative (give the server a host name of its own at the proxy) is documented
beside it. Checked against a real Seafile server (CE 13.0.28, scratch library) through a local proxy that
serves it only under /seafile: push, clone and lock-status, 75 requests, none outside the prefix. The
suite is 1101 tests, also run on Linux (Debian under WSL).

Added

  • A server under a path via SEAFILE_SERVER, the credentials file's server, or the desktop
    client's account URL. API calls and relative transfer links go under it; the token stays scoped to
    host and port, never to the path. desktop-url prints the short form and names the setting for such a
    server. USER_GUIDE 7.1, with the proxy alternative.

Fixed

  • A synced-folder check that could not read the desktop client's repo.db said nothing. A copy
    torn by a concurrent write read as "no libraries", so the guard did not run. The read is retried and,
    if the file is there and still unreadable, one warning names it.
  • A restore that failed after the clone left a partial tree and the retry stopped with
    "destination is not empty". The failure now says where it was left and that it must be deleted first.

Changed (development)

  • The parallel test runner kills a target after --timeout (default 1800 s) and names it, stops
    every worker's process tree on Ctrl-C, closes a log whose spawn failed, and cannot turn a finished
    run into a traceback because Windows held a temporary directory.
  • Six suite gaps closed: credential branches, cmd_fetch fed what git sends, the "empty" pack
    outcome, a deterministic concurrency assertion, a gc test that checks the mirror it computed, and a
    stale cross-reference.

Not changed

  • A seafile:// URL still cannot carry a context path: the segment after the host is the library.

The full list is in CHANGELOG.md.


Full Changelog: v0.9.4...v0.9.5