Repository navigation
Replies: 80 comments
Used-storage scan memory and SFTP listing workersPost-4.2.2 follow-up, fixed on Used-storage scans now report totals without keeping every file from their walk. SFTP list clones connect through their captured, host-key-pinned specification before the first listing, avoiding a false transport failure per worker.
Verified green: complete PR CI on Linux, macOS and Windows, CodeRabbit, Socket and Snyk. All local gate components passed: fmt, security regression, version consistency, 1,644 frontend tests, typecheck, 47-locale validation, Clippy with |
Benchmark payloads named
|
| Area | Description | Status | Ref |
|---|---|---|---|
| Payload names | Speed-test and benchmark payloads (GUI, CLI benchmark, speed, speed-compare, AeroAgent) are named .dat, from one place. Koofr answers 403 FileBlocked on the API and an empty 200 body on WebDAV for any .bin, the user's own files included; docs/PROVIDERS.md says so, with the way out (rename). |
🟢 fixed | bebd95d28 |
| WebDAV | A download cut short says how many of the announced bytes arrived and gives the cause (the download stopped after 0 of 100 bytes (...)), instead of error decoding response body. |
🟢 fixed | bebd95d28 |
| MEGAcmd purge | The node handle is read before the move to the bin, and the purge removes that node and nothing else: not a path this session did not trash, not a node restored meanwhile, not older items of the same name. An unknown handle is reported with its reason. If the bin listing or mega-rm fails, the record is kept, so a retry still purges. Folders that earlier runs left in a MEGA bin are not touched: emptying the bin once removes them. |
🟢 fixed | bebd95d28 |
| Benchmark | A refused or failed purge of the run folder or of the shared base folder is reported, without claiming where the item is. | 🟢 fixed | bebd95d28 |
| MCP | aeroftp_benchmark no longer says sizes, runs and operations apply only at level=custom; they apply at every level, as in the CLI. |
🟢 fixed | bebd95d28 |
Live tests:
| # | Scenario | Where | Result |
|---|---|---|---|
| 1 | benchmark --compare over Koofr API and WebDAV |
live Koofr account | download measured (20.06 and 23.55 Mbps), refused on 4.2.2 |
| 2 | Benchmark run on MEGAcmd | MEGAcmd 2.6.0 | run purged, mega-ls //bin identical before and after (26 entries) |
| 3 | speed with an older same.dat already in the bin |
MEGAcmd 2.6.0 | own file purged, the older one still in the bin under the same handle |
| 4 | Koofr .bin renamed to .dat |
live Koofr account | 403 as .bin, byte-for-byte download as .dat |
| 5 | AppImage delta update: zsync -i the 4.2.1 AppImage with the 4.2.2 .zsync from the release |
L1, zsync 0.6.2 | rebuilt 4.2.2, checksum matches OK, sha256 3dfa694d...9ada5b equal to the release asset. Only 7.2% of the old file is reused (7.2 MB of 100 MB): the squashfs is compressed, so most blocks change between versions. zsync 0.6.2 has no HTTPS, so the remaining blocks came from the same asset served locally; AppImageUpdate fetches over HTTPS itself |
Not yet tested live: the Filen S3 zero-byte aeroftp-bench file (row 35). The probe needs Filen Desktop's S3 server, which is off on the test station.
Verified green: complete PR CI on Linux, macOS and Windows (19 passed, 6 skipped), CodeRabbit on the final head (all four threads addressed), Socket and Snyk. Locally: cargo fmt, the 64 MEGA provider tests, including a_failed_purge_keeps_the_node_for_a_retry, which was seen failing without its fix, the WebDAV cut-short test, and the CLI purge test.
Shared profile-view preferences in CLI and GUIPost-4.2.2 follow-up, fixed on Choose profile columns or protocol breakdown once and later CLI and GUI sessions remember them. Live testing also found that the CLI previously read a different vault key from the GUI, so its advertised GUI visibility and sort integration did not work.
Verified green: complete PR CI on Linux, macOS and Windows, CodeRabbit (all three review threads resolved with inline replies), Socket and Snyk. Local gate components verified on the combined tree: fmt, five security regression checks, version consistency, 1,654 frontend tests, typecheck, 47-locale validation, Clippy with |
Filen Desktop S3 no longer writes a directory markerPost-4.2.2 follow-up, fixed on Filen Desktop 3.x serves its S3 bucket with
Live tests:
The benchmark figures through this preset are not Filen's speed. Filen Desktop answers an upload from its local cache and sends it to Filen afterwards, and it serves the download from the same cache. The download time in run 3 (5.05 Mbps) was mostly the wait for that write-back, not transfer. On a later run, 10 MB went up in 1.8 s (the cache), took 16.5 s more to reach Filen (about 5 Mbps), and came back from the cache in 14 ms. Keeping the wait out of the download time, and saying what the figures measure, is row 39 of the requested table. Verified green: PR CI on Linux, macOS and Windows (Ubuntu smoke not acquired by a hosted runner, did not run), main CI on |
Verified Linux AppImage helpersPost-4.2.2 follow-up, fixed on Linux AppImage builds pin and verify all five Tauri linuxdeploy helpers, refusing corrupt or unverified cache entries; compatible non-yanked iroh-blobs lockfiles restore strict dependency auditing.
Verified green: complete local integration gate PASS on the combined six-PR tree Exact-head cross-platform build: Build 37620288466, source Legend: 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
Visible in-app GUI controlPost-4.2.2 follow-up, fixed on AeroAgent can control the visible GUI through stable selectors and bounded state, with native session-bound approvals, redacted snapshots and a visible Stop control.
Verified green: complete local integration gate PASS on the combined six-PR tree Exact-head cross-platform build: Build 37622052805, source Legend: 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
Shared GUI navigation and selectionPost-4.2.2 follow-up, fixed on GUI agent selection, navigation and refresh use the same handlers as the interface, reject stale listings and return the committed canonical path.
Verified green: complete local integration gate PASS on the combined six-PR tree Exact-head cross-platform build: Build 37622044248, source Legend: 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
Guarded saved-profile connectionPost-4.2.2 follow-up, fixed on GUI agents connect saved profiles by opaque identity without reading stored credentials, and cancellation prevents late connections or encrypted-overlay actions after Stop.
Verified green: complete local integration gate PASS on the combined six-PR tree Exact-head cross-platform build: Build 37622048338, source Legend: 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
General and AI Settings controlPost-4.2.2 follow-up, fixed on GUI agents can change supported general and AI settings through account-bound approved commits that preserve saved API keys and concurrent human drafts.
Verified green: complete local integration gate PASS on the combined six-PR tree Exact-head cross-platform build: Build 37622052878, source Legend: 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
AeroTools workspace and DEV automationPost-4.2.2 follow-up, fixed on GUI agents can open, inspect bounded metadata and close the AeroTools workspace or its editor, terminal and agent panels; an isolated DEV driver supports autonomous fixture testing.
Verified green: complete local integration gate PASS on the combined six-PR tree Exact-head cross-platform build: Build 37622057047, source Legend: 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
Compatible CSS tooling and P2P security updatesPost-4.2.2 follow-up, fixed on The dependency bundle keeps Tailwind 3 while updating its selector parser and source-map tooling, and aligns the standalone P2P peer with compatible DNS, TLS and dependency security fixes.
Verified green: complete PR CI on 0faa1db, including Linux, Windows, macOS Intel/ARM64 packaging, rsync protocol/standalone/integration workflows, Checks and DCO. Local integration gate with current main: fmt, security regression checks, version consistency, 1,799 frontend tests, typecheck and all 46 locale validations passed in this session. The complete pre-PR local gate was confirmed green by the owner. 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
Scheduled appearance and confirmed Lock NowPost-4.2.2 follow-up, fixed on Appearance settings now offer manual, system and scheduled day/night modes. Lock Now confirms each successful account or vault lock before showing its lock screen, and keeps persistent feedback for unavailable or failed operations.
Verified green: full exact-head PR CI on Linux, Windows and macOS Intel/ARM; one complete local integration gate on 06533253 with fmt, Clippy -D warnings, 1,846 frontend tests, 6,316 Rust tests (zero failed, 93 expected ignored), typecheck, security regression/version checks, all 47 locale files and cargo audit --deny warnings. The combined frontend production build also verified seven bundles contain no development harness. Native GUI checks: Linux WebKit main-window day/night/manual transitions, persistent unavailable feedback and focus restoration, real vault locking and native broker gui_state passed using an isolated fixture and the gate binary with software rendering. Backend-failure injection was unavailable because Tauri IPC is immutable; failures/stale/partial successes have focused regression coverage. Protected-account, secondary-window and other-platform live GUI paths were not claimed validated. 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
|
Connected Local/Remote divider: the two panels are now resizable, and the split survives restarts. Proposed by community member @Omkar-Wagholikar and designed together in discussion #1105 (the earlier PRs #1101-#1103 were closed to agree on the design first; this is the maintainer-led implementation of the accepted design, with Omkar credited as co-author on the commits). What you get in connected mode:
Shipped in PR #1118, merge commit |
QuickConnect profile edits and imported OAuth credentialsPost-4.2.2 follow-up, fixed on Removing a custom icon now enables Save, and clearing an icon or Remote Path remains saved after reopening or reconnecting. While testing this fix, I also found related form and credential-loading issues addressed in the same PR. The issue remains open pending the reporter's confirmation.
Verified green: complete cross-platform PR CI on |
Filen Desktop benchmarks: write-back wait apart, local bridge notePost-4.2.2 follow-up, fixed on Filen Desktop 3.x serves S3 and WebDAV with
Row 1 also warned "scratch folder 'aeroftp-bench' left in place": correct, that folder holds three files from older manual tests the benchmark did not create. Unit tests: |
Azure lists HNS directories as directoriesPost-4.2.2 follow-up, fixed on On an Azure account with a hierarchical namespace (HNS), an empty directory was listed as a zero-byte file, and a non-empty one could appear twice: once as a directory and once as a file with the same name.
Verified green: a parser test red before the change, 54 Azure provider tests on the head (including regressions for the metadata key and for collapse across pages, and a list/stat agreement test on the same fixtures), a live round trip on a flat Azure account (empty and nested directories, a zero-byte file, a 1,280-byte payload with matching SHA-256, exact cleanup), and GitHub Actions on the head |
B2 uploads retry a busy or refused pod on a fresh upload URLPost-4.2.2 follow-up, fixed on A B2 upload stopped on a transient refusal from the storage pod (HTTP 408, or a 429/5xx with a
Verified green: deterministic fault fixtures for every retried status, exact bytes, SHA-1 and length, fresh pod and token, part identity, |
Nextcloud retries a refused chunk in place, and a two-file batch no longer deadlocksPost-4.2.2 follow-up, fixed on A Nextcloud chunked upload failed the whole file when a single chunk met a transient refusal, and a batch running with one session and one chunk credit could stall.
Verified green: deterministic wire fixtures for every fault status and cancellation, the batch deadlock reproduced before its fix, the two engine-fault tests failing before theirs, live Nextcloud 33.0.3 runs (270 MiB single file, 270 MiB plus a 300,000 B UTF-8 file in one batch, GUI upload and download) with matching SHA-256, and GitHub Actions on the head |
ownCloud missing paths are reported as missing, not as empty filesPost-4.2.2 follow-up, fixed on ownCloud 10.16 can answer a request for a path that does not exist with HTTP 207 and a malformed body: an unfinished listing followed by a "not found" error document. AeroFTP read that answer as a zero-byte file or an empty folder.
Verified green: the 207 fixture returned a zero-byte entry for a missing path before the fix, 103 WebDAV tests including wire-level file info, listing, navigation and recursive cases plus negative cases, CLI exit codes 2 for a missing path and 10 for an unrelated truncated response, real WebDAV and Nextcloud 33.0.3 round trips as regression coverage, and GitHub Actions on the head |
A segmented download resumes a failed range from where it stoppedPost-4.2.2 follow-up, fixed on A 25.2 GB SFTP download from a NAS failed twice, after 26 and 16 minutes, and restarted from zero each time: one read got no answer within the request timeout, and that single range failed the whole download. The server was alive and answered late.
Verified green: engine tests red without the retry, a real 11 s read with no answer against the SFTP test server, a local server that drops or cuts a window for B2, Koofr, WebDAV, S3 and Azure (red on all five before), a source scan that checks every ranged read keeps a dropped connection resumable, reconnect tests for workers that cannot clone, 1862 provider and executor tests on the head, and GitHub Actions on the head |
A write that checks first now writes only when the check said "not there"Post-4.2.2 follow-up, fixed on Several operations ask "is something already there?" before writing, and read any failed answer as "no". A timeout, a dropped connection, a permission error or a server error became "missing", and the write went ahead over what the check was meant to protect.
One rule now applies everywhere: a write follows an existence check only when the check answered "not found"; any other error stops the operation. Provider probes that report an error as "not found", one layer below, are audited with file and line and get their own change. Verified green: the site and probe tests listed in the pull request, a mutant check on the FTP dotfile probe, 148 FTP and AeroCrypt tests, clippy on all targets, GitHub Actions on the head |
Translations no longer mix letters from other alphabets, and CI checks for itPost-4.2.2 follow-up, fixed on Translations in eleven languages contained letters from other writing systems. Some were visibly broken; others looked right and broke a text search for the real word.
Verified green: on the translations before the fix the check reports 142 contaminated strings in 11 languages, and the Checks workflow failed at that step on a demo branch; after it, 0. The check's own tests cover every rule, including review findings that failed before their fix. GitHub Actions on the head |
892 broken strings corrected in Armenian, Khmer, Georgian and MacedonianPost-4.2.2 follow-up, fixed on Follow-up to #1193. Some translations were written entirely in the right alphabet but were not the language: invented words, misspellings, wrong meanings, text left behind after the English changed. No character check can see them, so each string was read against the English by a fluent reader.
In Georgian and Khmer the privacy note still said AeroFTP collects minimal data; it now says, as the English does, that no data is collected. The translation check also fails on a middle dot used as punctuation. Not covered yet: 3,842 Khmer strings outside the families read, and the other languages' text left behind when 35 English strings changed meaning. Verified green: all four translation checks pass, the middle-dot rule finds exactly the 26 cases it fixes on the previous translations and none after, and GitHub Actions on the head |
|
| Area | Description | Status | Ref |
|---|---|---|---|
| Hash as the bytes arrive | A backend that reads parts of a file is hashed from 8 MiB windows read in order with nothing on disk: memory is one window per worker whatever the size. A window whose read stalls or loses its connection is read again from where it stopped on a fresh connection, up to 3 failures in a row with no progress. | 🟢 fixed | e04386355 |
| Object pinned while hashing | hashsum opens up to 4 connections of its own, each pinned to the version the first reading saw, and reads the object once more at the end: an object replaced in the middle would otherwise hash as a mix of two versions. |
🟢 fixed | e04386355 |
| Every other backend | The file still downloads first, now into the AeroFTP cache folder with the free space checked before the transfer starts (file size plus 256 MiB), never the temporary folder. | 🟢 fixed | e04386355 |
dedupe |
A timeout on the first window stays a timeout instead of falling back to a 500 MiB-capped in-memory download, which turned a stall on a large file into a size error. | 🟢 fixed | e04386355 |
Live on the SFTP fixture, a 3 GiB file, hashsum -a sha256 --download, temporary folder sampled every 0.2 s:
| Run | Result | Time | Peak temporary folder |
|---|---|---|---|
| main | rc 0, right hash | 64.4 s | 3,221,225,472 bytes (the whole file) |
| this change | rc 0, right hash | 61.1 s | 0 |
| this change, server paused 15 s | rc 0, right hash, 4 windows resumed from where they stopped | 74.7 s | 0 |
Verified green: cargo fmt, clippy --lib --bins --tests -D warnings, 111 lib tests (multi_thread, provider_transfer_executor, util::scratch), 15 bin tests (hashsum, dedupe), check --lib --no-default-features; the 5 new tests red before by mutation; CI on Linux, Windows and macOS, CodeRabbit clean.
Stale translations refreshed, and a gate for former EnglishPost-4.2.2 follow-up, fixed on Some translations still said what the English used to say after the English changed meaning. The untranslated check compares with the current English, and it skips a string that has no English function word, so both cases stayed green. 2103 strings in 46 languages were retranslated from the current English: 35 keys whose meaning changed, the password length message that still said "Minimum 8 characters", and 19 short prose keys that were still the English sentence.
Squashed onto Not in this change: the remaining Khmer reading (about 3842 strings), and the short "Legacy AeroCrypt marker" label outside Danish. CodeRabbit's one note, marked as not blocking, is the Greek rsync hint: its semicolons are the Greek question mark, so the three clauses can read as questions. Verified green: on |
A segmented download finishes when its own file already holds the only free slotPost-4.2.2 follow-up, fixed on A file, a copy, or a sync already held one endpoint slot and one disk slot. The segmented download inside it asked for a second pair and waited forever once those holders filled the cap. That happened with several large files at the maximum parallel setting of 8 and the default 8 disk slots, and when either cap was set to 1. The holding task now reenters the same job. Spawned nodes and sync workers join it. A scope publishes the job for a
Verified green: |
Whole-file and multipart take the session lease, then the governor jobPost-4.2.2 follow-up, fixed on A whole-file node took the session lease and then the governor job. A multipart file took the governor job and then the session. With one slot on each gate, each file could hold the lease the other was waiting for. Both paths now use
Verified green on the head squash-merged as |
Transfers of any size stage on disk, never in the temporary folderPost-4.2.2 follow-up, fixed on Seven production sites passed a transfer of arbitrary size through a file in the temporary folder, which on many Linux systems is a tmpfs sized from RAM: a large transfer through one of them ate RAM and could fail, the same class as the 25.2 GB
Out of scope on purpose: the crypt overlay still reads the whole ciphertext into RAM to decrypt it (streaming decryption is a design change of its own), and the capped or small staging paths ( Verified green: cargo fmt, clippy --lib --bins --tests -D warnings, 151 lib tests (crypt_overlay, compress_overlay, proton, vault_remote, util::scratch), 16 bin tests (rcat, hashsum, dedupe), check --lib --no-default-features; one test per site, each verified red with its site mutated back to the temporary folder; 5 CodeRabbit findings addressed and re-reviewed clean; CI on Linux, Windows and macOS. |
Sync counts every disk, and Proton checks copy space only when copyingPost-4.2.2 follow-up, fixed on A sync held the disk slot for its root but could transfer through a mounted subfolder on another disk without taking that disk's slot. It now acquires all planned upload, download and segmented-temporary devices before starting the parent job. Proton upload staging attempted its hardlink only after requiring room for a full copy, rejecting an upload that needed no second payload. The hardlink now runs first; only the copy fallback checks free space and cleans up failed staging.
Verified green on Legend: 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released |
|
v4.2.3 is out: release notes, 86 tracked changes and 122 commits. The thread running through it is data you could lose when something goes wrong half way: operations that check before writing now write only on a confirmed absence, a WebDAV replace keeps the old file until the new one is in place, Before the tag, a pre-release review in two passes read how the cycle's changes fit together on Available on GitHub Releases (every asset with its Sigstore bundle), Snap, AUR ( |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
AeroFTP 4.2.3, Rolling Tracker
Umbrella issue for the next AeroFTP release (v4.2.3): known issues reported against v4.2.2 and the patches/updates landing on
mainafter the v4.2.2 tag.Before opening a new issue, please check the lists below. If your problem is already tracked here, just add a thumbs-up reaction or a comment with your environment (OS, version, provider) instead of filing a duplicate. We update this issue as bugs are found and fixed.
Found something that is not listed? Open a new issue and we will link it here.
What shipped in 4.2.2
See the v4.2.2 tracker (#998) and the release notes for the full change set, 142 tracked changes. AeroAgent reached 1.6: it uses the tools of MCP servers, local ones in a sandbox and remote ones over HTTP, with every call approved in its own window, it can hand read-only work to scoped workers, and Amazon Bedrock joined its providers. SFTP got much faster: uploads send whole write requests, downloads read each chunk in one request with Nagle's algorithm turned off, and a segmented download shares one memory budget across its connections. Selecting several files transfers them in parallel on every protocol. Around those, providers gained the actions their services offer in the context menu, folder renames work on B2 and ImageKit, AeroSync compares only when asked, the used-storage figure updates live and is computed several folders at a time, and a long sweep removed more than a hundred backend commands nothing called, among them one that handed a decrypted credential to the interface.
Patches & updates queued for 4.2.3
Done on
main, shipping in the next release.a22a9c138.dat), and MEGAcmd no longer leaves every run in the rubbish bin. Details.bebd95d28cec62721f1ac52cceb-b84a8e76ba9872043359750981fbdd30e592a2e0dcaac49edd4b65ae501d41453a9f86036c7e0e38589d2d1ac9d8fa5df2bee9ee145efce8f68b5serve sftpare stored: writes were acknowledged and thrown away on every backend (4.2.2 included), and the OpenSSH client no longer hangs at the end of a session. Details.843e89a96reconcileandsync_doctorrefuse alocal_dirunder~/.ssh. Details.c3d9e702f57985d4d2serve webdav /srv/share,ls file:///srv/share), behind a path jail;sync /a ./b /subno longer drops its third argument. Details.fd6abcc92dd0c8b7cd51de2bdd747fd3bca6610cc96f5df, copies inside itself withcpand resumes interrupted transfers. Details.88b6aba22rm -r --forceno longer reports it deleted andlsexits 3 instead of 2. Details.54fad9352cbca2d7f03af850096fbc4524846e2c9472aserveprints a generated login even under--quiet(it printed none, so nobody could log in), and the CLI guide matches the CLI:hashsum -a, and serve refuses a non-loopback address without--allow-remote-bind. Details.d877f4d08--immutable,rm --forcepreviews and the speed test refuse it instead of acting on it, andstat/getexit 3 instead of 2. Details.3db99c9e443aef2a6f9c8311056--cost-limitbecomes an exact--token-limit. Details.74cabdc93aeroftp-cli -vv(orRUST_LOG=trace) no longer prints the FTP login password: the FTP library's wire trace is held at INFO in the CLI log. Details.11bebd7c3eb932f95faeroftp-cli siteand the TUI, with the whole reply, no resend after an unknown outcome and no arguments in logs. Details.e54ea69b9aeroftp-cli profilesshows the number--profileopens even with a sort or a--groupfilter (a number read from a sorted table could open another server), and an interactive reorder no longer overwrites one made by another session. Details.8dbfa4ceb890cf18763f371b938tauri-build2.7.1,libunftp0.23.1,tokio-rustls0.26.6,xxhash-rust0.8.19,vitest5.0.3 andreact-virtuoso4.18.16, withtaurikept at 2.11.0 and every Rust bump inside the requirement already inCargo.toml.ad777fa9f6ee8cd44f1c39c031f0cf441566(0, 0), which read as a transfer already done even when it then failed. Details.4f5db82aeec1b25e07posix-rename@openssh.com(after asking), Google Drive from its revision upload, WebDAV not claimed (its MOVE deletes the destination first), overlays from the provider under them; agents were told SFTP had none. Details.5ca7599b58a7548ee982016a99b2d6eed6a3f0a2b48629e7b1348beditandremote_editthere need--allow-non-atomic, and a missing AeroCrypt marker can now be rebuilt on seven more backends. Details.5fe5bdffca12cd45c4&mut, since the WPD bindings declare them read-only. Details.497f92a11aeroftp-cli serve webdavanswers 404 to a PROPFIND on a missing path instead of describing it as an empty folder, so clients of the server (includingaeroftp-cli statandcrypt init --with-header) no longer see every missing file as an existing directory. Details.37fa83707124779fe3crypt initwrites nothing until the Emergency Kit has been handed over: a run without--emergency-kit, with a kit path it cannot write or with a "no" at the prompt no longer leaves a marker, a keystore config or a keyfile behind, so the corrected command no longer exits 9 "re-run with --force". Details.d602d055a7c6f7b3d95ac1d8c16tauri=2.11.0 pin (tauri-runtime and runtime-wry ~2.11, tauri-utils back to the 2.9.3 every release shipped), because a plaincargo updatemoved it to 2.12, on which tauri 2.11.0 does not compile. Details.d4341c7c2--timeoutflag thatls,getandstatrefuse, and "Connection failed" is printed once. Details.75ffb6ac6aerocrypt_lockcommand and four app lock calls that could only fail, so the GUI registers one Tauri command less and a crypt Compare resolves AeroCrypt keys only through the overlay it opened. Details.67e46c61fmigrate-v4,add-slot,remove-slot,rotate-slot) run again on WebDAV, MEGA, Filen, FileLu, Dropbox, Koofr, Drime and kDrive, only with explicit consent (--allow-non-atomicin the CLI, a consent box in the slots dialog); a revocation deletes every leftover copy of the old marker or fails naming it, and the remove-factor note now says what a revocation does not protect. Details.5c98b5a42zeroize1.9.1 (theDebugof a wrapped secret no longer prints it),uuid1.28.0 and the dev-only@vitejs/plugin-react6.1.2, on a lock with no package added and no edge changed. Details.b8216b2e4megas4.comdomain are recognized as S4, the preset lists its 14 published regions, and saved profiles ons4.mega.iokeep working unchanged. Details.0f296eff3c0268252004ad3106ee5a4d59f8b0836a0a325b8e6d721baf71689654537b850947d05becb8297a0bhashsumon a file without a usable server digest no longer downloads the whole object into the temporary folder: it hashes the bytes as they arrive, from 8 MiB windows read in order with a stalled window resumed from where it stopped (a 25.2 GB file filled a 27 GB tmpfs on the #658 re-test), anddedupekeeps a first-window timeout a timeout instead of turning it into a 500 MB size error. Details.e04386355dc8ca9aec42eb5bc7c19db067ecrcatstdin) now stage on disk in theutil::scratchfolder with a space check first: on a tmpfs backed by RAM a large transfer no longer eats RAM. The Proton staging hardlink now often succeeds instead of always degrading to a full copy. Details.738e15da4e42857c66aeroftp-cli serveon a local folder can no longer delete or create files outside that folder through..\, a drive or a UNC prefix inside one path segment; every segment must be exactly one file name on the host. Found by the pre-release review, never in a released version.d48094197bd37e1fd6Requested / under consideration
Community requests and internal follow-ups being evaluated for this or a later release. Rows carried over from #1419 (renumbered) and from the 4.2.1 release follow-ups.
-iselectors (prioritised by the reporter ahead ofEdit(E)and the 2-letter semantics; exact behaviour to be pinned).jpgto.jxltranscode in AeroFile: JXL re-encodes an existing JPEG losslessly and reversibly (the original JPEG bytes reconstruct exactly), for a real size win with no quality loss. Candidate framing: AeroFile as a GUI for libjxl.icnsmulti-size (the v4.1.0 ones are single-resolution drafts). Needs a Mac to build and live-testparticipants/addcontactUUID format (currently a best-effort workaround), investigate the Filen free-plan 10-note limit ghost-note cleanup, and add a rich text editor for the rich note typemalloc(): unaligned fastbin chunk detected, the classic GLib heap-corruption signature, and it is the victim rather than the corruptor. Two marshalling fixes shipped in v4.0.5 and the SIGABRT still recurs with an identical signature, so the marshalling is incomplete and the remaining suspects are the event and plugin callbacks whose thread context is unconfirmed. Details.HKCUand re-read by the NSIS post-install hook so an in-app update cannot silently restore the association, plus a/NOASSOCsetup switch. Parked rather than half built, because a visible components-page checkbox needs forking the Tauri NSIS template. Details.pathandpath/.... The trap is the one #764 just closed, moved by one character: a sibling likereportsXalso matches the shorter prefix. Whoever takes this must write both doors before the change, not after:reportsXsurvives a delete ofreports, andreportssurvives when it is a real non-empty file. Worth doing when someone measures a slow recursive delete on a tree with many folders, not before. 4.2.1 context: #979 changed folder-removal semantics (a folder is removed only once empty,sync --deleteremoves the directories it emptied on every backend) but did not touch this listing or its probe; still open.transfer_dag_batch.rskeeps a copy of the handle and aborts on theErrarm, which is how a cancelled token arrives. But if the task is dropped outright rather than cancelled through the token, the await insidemultipart_abortdies with it and nothing on the runner path resends it, so the parts wait for the bucket lifecycle rule. Predates #766, which introduced the guard on the two provider paths only.If-Matchcannot be told from an object that really changed. A gateway answering 412 to every pinned range would send every download back to a single stream while the output announces four, and nothing distinguishes that from a replacement today. Raised during the review of #885 and deferred with the reason written down.syncdownloads print the effective multi-thread policy and one planner decide the stream count, but the server refusal itself is still log-only; still open..aerotmpis not tied to the version it was started from. Resuming a partial download against an object replaced in the meantime joins two versions by a route #885 did not close.vault.dbhandling already shipped in #987, with a passing JSON-import regression test rechecked during the 4.2.3 triage..gitattributes: drop the hand CRLF normalisations in the tray badge and checksum matrix tests once existing Windows development clones are refreshed, and moveLICENSEto the LF rule only if the NSIS license page is shown to render LF text correctly on Windows.continuousdoes). Keep runtime20251108and its digest until a qualifying dated release exists; extracted runs still create folders 0755.speed,speed-compareandbenchmark; MCP runs the CLI). The GUI speed test covers only FTP, FTPS, SFTP, S3 and WebDAV, integrity check and score exist only in the GUI, and labels and defaults differ between them.AEROFTP_SQUARE_CORNERS); Compare against a Digest WebDAV server; Stop, F4 and a disconnect during a Compare scan in the GUI; the tables whose columns moved left; ImageKitrenameFolderon the real API.WINDOW_ADJUSTcadence first), and the GUI presets under the shared budget.Known issues found after release
Reported against v4.2.2, and carried from 4.2.1 while still open. #1075, reported against 4.2.1 the night before the release, shipped fixed in 4.2.2 by #1078.
Legend: 🔴 confirmed · 🟡 investigating · 🔵 planned / idea · 🟢 done / fixed (pending release) · ✅ released
All reactions