• v5.8.6 5c692fe7f0

    v5.8.6 Stable

    kerem released this 2026-01-23 11:43:14 +03:00 | 127 commits to develop since this release

    📅 Originally published on GitHub: Fri, 23 Jan 2026 10:57:40 GMT
    🏷️ Git tag created: Fri, 23 Jan 2026 08:43:14 GMT

    Fixed

    • fix(Tree): Revert incremental index updates (Would break initial sync on Chrome)
    Downloads
  • v5.8.5 f313429f9f

    v5.8.5 Stable

    kerem released this 2026-01-20 19:26:35 +03:00 | 131 commits to develop since this release

    📅 Originally published on GitHub: Tue, 20 Jan 2026 16:50:50 GMT
    🏷️ Git tag created: Tue, 20 Jan 2026 16:26:35 GMT

    Fixed

    • [native] fix: Properly serialize cache
    Downloads
  • v5.8.4 1fe83aebd1

    v5.8.4 Stable

    kerem released this 2026-01-19 19:18:32 +03:00 | 134 commits to develop since this release

    📅 Originally published on GitHub: Mon, 19 Jan 2026 17:01:34 GMT
    🏷️ Git tag created: Mon, 19 Jan 2026 16:18:32 GMT

    • feat(Logger): Persist logs intermittently
    • feat(NewAccount): Add predefined webdav service URLs
    • fix(Controller): Only schedule sync if current error is transient
    • fix: Display allowRedirects option on mobile
    • fix(SyncProcess): Fix serialization for continuation persistence
    • Fix: Reduce memory pressure by reducing ACTION_CONCURRENCY
    • fix(Unidirectional): Only do a single Scanner pass to improve performance
    • fix(childrenSimilarity): Make O(n) instead of O(n²)
    • fix: Fix typeof undefined checks to handle null
    • fix(Diff): Do not call .toString on null
    • fix(Folder#toJSON): Make sure children are properly serialized
    • fix(BrowserAccountStorage): Use setEntry instead of changeEntry
    • fix(Caching#orderFolder): Fix orderFolder algorithm
    • fix(LocalTabs): Properly distinguish between window IDs and group IDs
    • fix(continuation): Fix continuation loading
    • fix(index): Update index incrementally instead of recreating it every time
    • fix(SyncProcess): Reduce size of continuation on disk to prevent breaking sync with large amounts of bookmarks
    • fix(CachingAdapter): Whitelist more browser-specific URL schemes
    • fix(Non-Atomic adapters): Reduce HTTP request parallelism for better throughput
    • fix(Account): Add log statement for continuation loading error
    • fix(Mappings#remove): Correct logic to always handle both remote and local IDs
    • chore: Update dependencies

    Note: APK unpublished due to faulty build

    Downloads
  • v5.8.3 e0bf7cf68a

    v5.8.3 Stable

    kerem released this 2025-12-20 16:57:55 +03:00 | 218 commits to develop since this release

    📅 Originally published on GitHub: Sat, 20 Dec 2025 14:44:39 GMT
    🏷️ Git tag created: Sat, 20 Dec 2025 13:57:55 GMT

    Fixed

    • fix(Logger): Trim logs regularly to avoid memory leak
    • fix(Scanner): Remove Log spam
    • fix(LocalTabs): Fix dummyTab workaround for tab group creation on firefox
    • fix(LocalTabs): Do not parseInt(windowId)
    • fix(css): Use proper css
    • fix(Account#progressCallback): Prevent errors getting mappings after sync has finished
    • fix: Multiple small hardenings
    • fix(Account#sync): Do not re-init account if failsafe triggers
    • fix: show warning on mobile if browser doesn't match
    • fix(failsafe): be more precise about where bookmarks are added/deleted
    • fix(WebDAV): Use includeCredentials option again
    • fix(Chrome): Prevent chrome from killing our worker while it's syncing
    • [native] fix: Make breadcrumbs clickable again
    Downloads
  • v5.8.2 cfcbbce8d8

    v5.8.2 Stable

    kerem released this 2025-12-07 12:27:08 +03:00 | 297 commits to develop since this release

    📅 Originally published on GitHub: Sun, 07 Dec 2025 10:37:03 GMT
    🏷️ Git tag created: Sun, 07 Dec 2025 09:27:08 GMT

    Fixed

    • fix: Resume sync with reset cache after MappingFailure
    • fix(DescriptionAccountcreated): Mention that combining floccus with browser sync doesn't work
    • fix: Introduce proper XbelParseError
    • fix: Introduce proper error for invalid URL
    • fix: Try to fix 'Calling getCacheTree() of undefined' error
    • fix: Make Caching#orderFolder behave like BrowserTree#orderFolder to avoid ordering mistakes
    • fix: Implement Garbage Collection for mappings
    Downloads
  • v5.8.1 15573428c9

    v5.8.1 Stable

    kerem released this 2025-11-22 13:23:55 +03:00 | 360 commits to develop since this release

    📅 Originally published on GitHub: Sat, 22 Nov 2025 10:34:05 GMT
    🏷️ Git tag created: Sat, 22 Nov 2025 10:23:55 GMT

    Fixed

    • [native] fix: Don't allow import of git profiles
    • fix: Make cancelSync work more immediately on Firefox
    • fix: Don't get stuck on syncing in firefox when waking up from suspend
    Downloads
  • v5.8.0 4229acc353

    v5.8.0 Stable

    kerem released this 2025-11-16 12:27:05 +03:00 | 365 commits to develop since this release

    📅 Originally published on GitHub: Sun, 16 Nov 2025 09:37:20 GMT
    🏷️ Git tag created: Sun, 16 Nov 2025 09:27:05 GMT

    New

    • enh: Remember last used account
    • enh(GoogleDrive): Add a HTTP request timeout
    • feat: Split interval based sync and change-based sync into two options

    Fixed

    • [native] fix(NativeApp): Don't use css inset property
    • [native] fix: Refuse to import gdrive profiles, because it doesn't work anymore
    • fix(CachingAdapter): set initialTreeHash after getBookmarksTree
    • fix(browser-api): Do not carry context into each callback (Improves memory consumption)
    • fix: Remove confusing detail from E020 message
    • fix(Folder#inspect): Make hash visible again
    • [native] Fix DialogChooseFolder2: keep header fixed, make treeview scrollable with dynamic max-height unknown
    • fix(SyncProcess): Catch throttledCb cancelled error
    • fix(Nextcloudbookmarks): Fix 404 error on capabilities endpoint
    Downloads
  • v5.7.0 4314ea447e

    v5.7.0 Stable

    kerem released this 2025-08-27 11:17:22 +03:00 | 405 commits to develop since this release

    📅 Originally published on GitHub: Wed, 27 Aug 2025 09:26:52 GMT
    🏷️ Git tag created: Wed, 27 Aug 2025 08:17:22 GMT

    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
    Downloads
  • v5.6.0 5d3be68172

    v5.6.0 Stable

    kerem released this 2025-08-02 18:06:00 +03:00 | 538 commits to develop since this release

    📅 Originally published on GitHub: Sat, 02 Aug 2025 15:13:46 GMT
    🏷️ Git tag created: Sat, 02 Aug 2025 15:06:00 GMT

    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
    Downloads
  • v5.5.6 565803c109

    v5.5.6 Stable

    kerem released this 2025-06-29 11:21:04 +03:00 | 626 commits to develop since this release

    📅 Originally published on GitHub: Mon, 14 Jul 2025 07:38:52 GMT
    🏷️ Git tag created: Sun, 29 Jun 2025 08:21:04 GMT

    Fixed

    • Remove all traces of IndexedDB usage

    (See v5.5.0 for the complete list of changes)

    Downloads