Releases: floccusaddon/floccus
v5.7.0
Summary
-
Sync notifications – You’ll now see “sync in progress” and “sync complete” alerts on Android and iOS
-
Search improvements – The app remembers the last folder you searched in, shows folder paths in results and lets you search for folders.
-
Feedback – Submit one‑off feedback directly from the app.
-
Messaging – TLS is now mentioned in the E017 explanation.
-
Sync logic – Fixed issues with reorders, concurrency and continuation handling during interrupted syncs.
-
Account progress – Cache and mappings now persist for atomic backends.
-
Browser tree – Concurrency limited to 1 to avoid race conditions.
-
Localization – Added translations for many languages (ro_RO, el, it, fi, cs, pl, sv, tr, et, ko_KR, ru, de, ja, pt, zh_CN, fr, es).
-
Scrolling – Capacitor status bar plugin now prevents content from scrolling under the status bar.
-
Local tabs – New tab groups stay alive long enough for tabs to be added.
-
General – Cancelled local tree operations, ensured skipped reorders are retracted and cleared continuations properly.
-
Overall sync performance has been optimized, reducing wait times and resource usage.
New
- [native] feat(notifications): Send 'sync in progress' and 'sync complete' notifications
- [native] feat(search): Remember last used folder across app starts
- [native] feat(search): Display folder path for folder search results
- [native] feat(search): Allow searching for folders
- feat(BrowserController): setUninstallURL
- [native] feat(search): display folder path for search results
- feat(hashing): Add support for xxhash3
- feat: Optionally support murmur3 + implement capabilities negotiation
- feat(BrowserController): Listen to tab events
- feat(AccountCard): Mention FAQ when errors occur
- feat(telemetry): send used adapter along with error events to sentry, if enabled (opt-in)
- feat(Feedback form): Allow submitting one-off feedback
- feat(HtmlSerializer): Use auto-inc IDs as a fallback when parsing
Fixed
- fix(messages): Mention TLS in E017 explanation
- fix(reconcileDiffs): Don't throw away REORDERs if concurrent reorder is empty
- fix(Account#progressCallback): persist cache and mappings for atomic backends
- fix({Default,Merge}SyncProcess#reconcileDiffs): Restrict concurrency
- fix(DefaultSyncProcess#reconcileDiffs): Use the right findChainCache
- fix(MergeSyncProcess): reconcileDiffs was outdated
- fix(BrowserTree): Set concurrency to 1
- Translate messages.json in ro_RO,el,it,fi,cs,pl,sv,tr,et,ko_KR,ru,de,de,ja,pt,zh_CN,fr,es
- [native] fix: added the capacitor status bar plugin to fix scrolling content over the status bar (Thanks to @yougotwill)
- fix(SyncProcess): Make sure to cancel progress callback throttling in the end
- fix(continuations): Set current continuation to null at the very end
- fix(SyncProcess): Make sure skipped reorders are retracted
- fix: Allow cancelling local tree operations as well
- fix(interrupted sync): Allow storing + restart of stage 3 to/from continuation
- fix(interrupted sync): Set back old cacheTree upon loading pending continuation
- fix(SyncStrategy): Fix Continuation loading
- perf: Improve overall sync performance
- fix(NextcloudBookmarks): Fix ticket failure retry mechanism
- fix(NextcloudBookmarks): Improve ticket failure retry mechanism
- feat(NextcloudBookmarks): Support ticket authentication
- fix(NextcloudBookmarks): Fix checkFeatureJavascriptLinks
- feat(NextcloudBookmarks): Use negotiated hash function from hashSettings
- feat(NextcloudBookmarks): Use capabilities for feature detection
- fix(LocalTabs): Make sure new groups live long enough for tabs to be added to them
- fix(GoogleDrive): Improve error handling
v5.6.0
New
- New backend: KaraKeep
- Support syncing tab groups
- [Native app] Improved handling of share intents
Fixed
- Make syncing with Linkwarden work again: Switch to new search endpoint
- Improve syncing correctness: Fix ID comparisons
- Improve syncing correctness: reconcileReorderings based on both donePlans
- Improve syncing correctness: Fix mappable() function
- Improve syncing correctness: Do not move items across folders in orderFolder()
- fix: Fix "failed to map parentId" errors
- Ignore permissions when using Orion
- Improve Description for Bookmarksfile
- Display more meaningful explanation for server target
- Never force-push when syncing via git
- Catch errors when parsing XML
- Allow syncing root folder in chrome again
- catch errors from git.push operations
v5.5.6
v5.5.5
Fixed
- Removed the use of Dexie as well as IndexedDB logging as it doesn't play nice with Sentry and causes crashes
v5.5.4
Fixed
- fix(build): Transpile async-await to generators to avoid Crashing Chrome and Edge due to leaking transactions
- fix(NextcloudBookmarks): Do not remember result of checkFeatureJavascriptLinks() across syncs
- fix(NextcloudBookmarks): Fix checkFeatureJavascriptLinks()
- fix(BrowserController): set syncing to false onLoad
- fix(GoogleDrive): Set acknowledge abuse parameter to avoid failing syncs
- fix(Bookmark#clone): reset hashValue correctly
- fix(WebDAV): Fix file size check
- fix(messages): Improve Linkwarden serverfolder explanation
v5.5.3
Fixed
- perf(GoogleDrive): Speed up "no changes" code path
- perf(Folder#clone): Make Folder#clone use prototype inheritance to save ALOT of memory
- perf(BrowserAccount): Don't use browser.bookmarks.getTree() if avoidable
- refactor(isUsingBrowserTabs): Expose Resource#isUsingBrowserTabs
- fix(CachingTreeWrapper): Allow changes to the live tree without disturbing the cache
- fix(App#openInNewTab): Use browser.tabs to open new tab instead of window.open (Didn't work in Edge for Android)
- fix(Default#applyAdditionFailsafe): Only kick in if at least 20 bookmarks are being added
- fix(WebDAV): Add Depth header to PROPFIND for getting filesize
v5.5.2
Fixed
- fix(IndexedDB): Delete up to the last hour of logs
- fix(storage): Add checkStorage method to freeStorage regularly
- fix(IndexedDB): Don't store more than 50MB of logs
v5.5.1
v5.5.0
New
- feat(Logger): Use IndexedDB to store logs in order to store more
- feat(AdditionFailsafe): Extend failsafe mechanism to prevent creation of excessive amounts of bookmarks
- fix(failsafe): Reduce threshold to 20% OR 1k bookmarks
Fixed
- fix(Controller): Do not run scheduleSync concurrently for all accounts
- fix(failsafe): Also apply failsafe on upstream changes
- fix(NewAccount): Disable git backend on android/ios
- fix(GoogleDrive): fix "T.includes is not a function" error
- fix(webdav): Validate filesize via PROPFIND to detect partial downloads
v5.4.5
Fixed
- Upgrade to capacitor 7 and Java 21
- fix(Tree#search): Harden search
- fix(Controller): Cap exponential backoff at 1h
- fix(Account): Don't call onSyncFail twice if onSyncStart failed
- fix: Reduce intervention frequency to avoid annoying users
- fix(App): Allow opening any view in a new tab
- fix(Git): Make sure foreign locks are freed when forceLock is set
- fix(NextcloudBookmarks): Make sure lock is freed when forceLock is set
- fix(LocalTabs): Speed up tabs updated callback
- fix(Orion): Add an exception for Orion's permissions API
Full Changelog: v5.4.4...v5.4.5