Skip to content

Releases: rgon/ncrsDesktop

ncrs: v0.1.93

Choose a tag to compare

@github-actions github-actions released this 24 Oct 14:34

0.1.93 (2026-10-24)

Bug Fixes

  • core: let a disk-low streamed write go at disk speed while free space is above the reserve, pacing it to the upload only below it (b981ecb)

ncrs: v0.1.92

Choose a tag to compare

@github-actions github-actions released this 24 Oct 11:44

0.1.92 (2026-10-24)

Bug Fixes

  • core: keep a document's server lock through LibreOffice's saves, which rewrite its lock file, so our own lock no longer turns them into conflicted copies (a179c48)

ncrs: v0.1.91

Choose a tag to compare

@github-actions github-actions released this 24 Oct 01:42

0.1.91 (2026-10-24)

Features

  • core: lock documents on the server while LibreOffice, Office, Vim or Kate has them open (a3bc075)
  • core: upload large files early while keeping the whole local copy, falling back to a whole-file upload (61d5655)
  • gui: setting to lock documents on the server while you edit them (9885873)
  • gui: setting to respect Nextcloud file locks (97e5430)
  • keep a cached local copy of saved files by default, cleared by purge and the cache limits (d74fec5)

Bug Fixes

  • core: a finished early upload stays as the file's cached local copy (56ac097)
  • core: an aborted restart resumes a low-disk upload, and a finished early upload hands its copy to a pending rename (b5836c0)
  • core: an edit saved offline is read back instead of the older cached copy (6851184)
  • core: keep a document's lock until our own save of it lands, and never mistake our lock for someone else's change (7c08466)
  • core: saves follow renames and keep both versions on a server conflict instead of overwriting (8cc6522)

ncrs: v0.1.90

Choose a tag to compare

@github-actions github-actions released this 23 Oct 08:32

0.1.90 (2026-10-23)

Features

  • core: register passthrough backing files through ncrs-passthrough and run the daemon without capabilities (96e5d7e)
  • fuser: let a backing broker perform the passthrough backing ioctls (9729226)
  • passthrough: add ncrs-passthrough, a capability-holding helper that only registers and releases FUSE backing files (001ad07)

Bug Fixes

  • core: refuse control characters and parent segments in IPC paths, keep trailing spaces in path arguments, and strip control characters from server owner names (351c743)
  • deb: grant cap_sys_admin to the passthrough helper only, strip it from /usr/bin/ncrs, and apply it when libcap2-bin arrives later (373a636)
  • e2e: build the ncrs-passthrough binary too, since --bin ncrs limited every package to that one binary (758c53c)
  • rpm: set cap_sys_admin on the passthrough helper with %caps instead of setcap on /usr/bin/ncrs in %post (c59f6b6)

ncrs: v0.1.89

Choose a tag to compare

@rgon rgon released this 23 Oct 08:09

0.1.89 (2026-10-22)

Features

  • gui: choose the mount folder on the sign-in form, refuse one that already exists, and report an unset or occupied folder in the status bar (f6282fd)

ncrs: v0.1.88

Choose a tag to compare

@github-actions github-actions released this 22 Oct 10:45

0.1.88 (2026-10-22)

Features

  • rpm: add openSUSE RPM packaging for Leap 16, Slowroll and Tumbleweed (ef8b013)

ncrs: v0.1.87

Choose a tag to compare

@github-actions github-actions released this 22 Oct 10:20

0.1.87 (2026-10-22)

Features

  • core: add a per-inode FIFO scheduler and a fixed fuse worker pool for FUSE requests (96807bf)
  • core: add a setting to turn off streamed uploads and start streaming at 100 MB instead of 10 MB (2ae74c4)
  • core: drain the per-inode scheduler before a planned restart hands the FUSE connection over (d677f78)
  • core: keep the mount and open files alive across a daemon restart by handing the live FUSE connection to the next daemon (90ec216)
  • core: make systemd the only restart keeper: drop the fd holder, hand over on SIGTERM, ping the watchdog, and fix the handoff review findings (ef0cd79)
  • core: run FUSE requests on the fuse pool ordered per inode so one slow request no longer freezes the whole mount (dbe9b2b)
  • core: stream a large new file only while the disk is low, and upload a long tail at close in chunk-sized pieces read one at a time (a4f3154)
  • fuser: carry a reattach patch that runs a session on an already-initialised /dev/fuse connection (15841c5)
  • gui: start the daemon as the ncrs.service user unit and wait out its restarts instead of showing Unmounted (6620382)
  • packaging: run ncrs as a watched systemd user service that keeps the fd store across restarts only, and document restart survival (2dd375a)

Bug Fixes

  • core: address the per-inode scheduler review: cut the sent chunk out in place, keep fuse workers warm, park uncached lookups, move a renamed folder's subtree, apply stream settings live (c834513)
  • core: address the restart-survival and disk-reserve review: one streamed chunk per write, keep streaming once started, small copies where chunks can't be cut out, bound a stalled takeover, restore signals after a failed exec (1461071)
  • core: find an older writer behind newer clean or failed handles, answer EIO for already-streamed bytes, probe hole punching at mount, and drop the unshipped snapshot compatibility (c9d48ac)
  • core: keep a streamed file's first chunk local until close for muxer trailers, read a writer's whole-file staging before its first write instead of downloading again, and stage write() data outside the open-files lock (447b9f8)
  • core: leave a reattached connection in the systemd fd store instead of storing it again, and never FDSTOREREMOVE a copy of the one taken (cbceaed)
  • core: let MIME sniffs and queued streamed finishes read correctly, fail a failed writer's own reads, agree on the newest writer for size, and remember only unsupported hole punching (533f39f)
  • core: punch sent chunks out of a staging file laid out at the file's own offsets instead of cutting or copying, give up a stalled takeover from the watchdog, and re-exec with execve directly (0f550aa)
  • core: resolve a read's queued upload as the newest one for the path again, share the staged-size lookup, and rate-limit the streamed-away warning per file (534cf39)
  • core: resolve a read's queued upload newest-first and stop at a delete, take rename's staged size before the cache lock, share one newest-writer rule, and throttle the hole-punch probe (3d67e65)
  • core: route handoff threads through bg and point the lockfile at the vendored fuser (3c95403)
  • core: send one streamed chunk per write as a sliding window so crossing the threshold no longer freezes the mount while 100 MB uploads (bc7c06a)
  • core: stage in full where holes can't be punched, never serve or extend a failed handle, version the handle snapshot, and only exit on a takeover that is still stalled (5c99976)
  • core: stop a read's queued-upload search at a delete unless a rename onto the path came after it, and take rename's staged size from the source inode (6232460)

ncrs: v0.1.86

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:46

0.1.86 (2026-10-21)

Bug Fixes

  • core: accept a rewrite of the not-yet-sent tail during a streamed upload so a large LibreOffice save no longer fails with an I/O error (0371b37)
  • core: stamp a save with its own mtime and send it as X-OC-Mtime so LibreOffice no longer warns the file was modified by others (d4ca38c)

ncrs: v0.1.85

Choose a tag to compare

@github-actions github-actions released this 20 Oct 16:18

0.1.85 (2026-10-20)

Bug Fixes

  • core: report a written file's true size and serve its own uncommitted bytes so a LibreOffice save no longer corrupts (f60969f)

ncrs: v0.1.84

Choose a tag to compare

@github-actions github-actions released this 28 Sep 12:10

0.1.84 (2026-09-28)

Bug Fixes

  • core: use jemalloc in the ncrs daemon so a crawl burst no longer leaves it idling at ~680 MB (b5a9263)