What's Changed
- Use crashpad instead of breakpad on linux arm by @R-Gld in #999
- Spring-cleaning the AppImages (duplicate files, empty folders, unused .a files) by @R-Gld in #1006
- Make all dependencies build type release by @R-Gld in #1017
- Manage Sentry with Conan by @R-Gld in #830
- Add poco to conan by @R-Gld in #1014
- openssl conan recipe: refactor recipe and build script to support zlib and improve universal build by @R-Gld in #1023
- feat(sync): open folder exclusion in dialog from advanced syncs by @herve-er in #1649
- chore: New version 3.8.4.1 by @ChristopheLarchier in #1657
- feat(ui): add SyncIcon control for dynamic sync icons by @herve-er in #1652
- feat(winui): improve search tooltips, title bar layout by @herve-er in #1604
- feat(winui): Add notifications by @herve-er in #1656
- chore(release-notes): update release notes files for 3.8.4 by @herve-er in #1660
- refactor(cstypes): move GuiJobType enum from AbstractGuiJob to cstypes.h by @R-Gld in #1662
- feat(macOS): Synchro Settings modal by @valentinperignon in #1632
- feat(winui): Update errors templates by @herve-er in #1659
- feat: Bump ISPATHVALIDFORNEWSYNC to use syncConfiguration by @adrien-coye in #1666
- feat(winui): Add and refactor draft error cards by @herve-er in #1661
- feat: report several maquette changes to the app by @herve-er in #1663
- refactor(gui): use explicit type aliases for database IDs by @ClementKunz in #1619
- feat(macOS UI): Show "Advanced Settings" modal from onboarding by @valentinperignon in #1664
- fix(macOS UI): Add min size to windows by @valentinperignon in #1670
- feat(macOS): Handle showNotification signal by @valentinperignon in #1673
- feat: report several maquette changes to the app part 2 by @herve-er in #1667
- fix: Issue in AbstractGuiJob::runJob by @ChristopheLarchier in #1671
- fix: Display "Return to default folder" button using State by @valentinperignon in #1680
- feat(parameters): enable Sentry and Matomo by default by @herve-er in #1669
- fix: Setup empty toolbar for windows that do not need one by @valentinperignon in #1681
- feat: add no sync home page by @herve-er in #1665
- fix(macOS UI): App crashes when opening settings several times by @valentinperignon in #1685
- fix(macOS UI): Select toolbar item correctly by @valentinperignon in #1683
- feat: add error delete gui job by @herve-er in #1672
- feat(winui): Adress all translation key warning and add missing translations by @herve-er in #1686
- feat(gui4): Ensure that all the French translations match the UX design board + address several UX inconsistencies in WinUI3 app by @herve-er in #1689
- feat(macOS): Connect Sentry by @valentinperignon in #1695
- fix(executor): handle parent move operations in complex sequences by @ClementKunz in #1687
- feat(sync-setup): update SVG icon to folder-outline in UI by @herve-er in #1705
- chore(winui3): update icons by @herve-er in #1706
- feat(winui): add home page error bar by @herve-er in #1682
- fix(gui4): translate WinUI app to es, en, de and it by @herve-er in #1692
- fix(sync): fix sync item removal and add progress callback by @herve-er in #1709
- feat: use user's first name instead of display name on home page by @herve-er in #1696
- feat: give the user the possibility to disable Lite Sync in at sync creation time by @herve-er in #1708
- feat(macOS UI): Show status bar icon by @valentinperignon in #1703
- refactor(winui): address all warnings by @herve-er in #1711
- feat(macOS): Add status bar right click by @valentinperignon in #1712
- fix(jobs): ensure additional callback is called even for cancelled jobs by @ClementKunz in #1717
- chore(dotnet): ensure the WinUI 3 project bootstrapper runs for CMake builds by @herve-er in #1716
- chore: Remove language option from Settings by @valentinperignon in #1694
- feat(macOS): Present correct onboarding animation according to OS version by @valentinperignon in #1715
- fix(macOS): Navigate back after synchro deletion by @valentinperignon in #1714
- feat(macOS UI): Storage view works for any volume by @valentinperignon in #1688
- feat(api-translator): Implements the v2 <-> v3 backend API translator by @luc-guyot-infomaniak in #1658
- feat(macOS UI): Show permissions when necessary by @valentinperignon in #1728
- fix(VersionManagementView): Add missing receive(on: RunLoop.main) on updater state change by @adrien-coye in #1732
- fix(AppDelegate): Only quit the server IF the app is in production, do nothing in debug build by @adrien-coye in #1734
- fix(get-item-type): Fixes the returned
IoErrorvalue inIoHelper::getItemTypeafter calling_readAliasby @luc-guyot-infomaniak in #1723 - fix(macOS UI): Do not start sync after creation by @valentinperignon in #1739
- feat(macOS UI): Make "remove synchro" button load by @valentinperignon in #1744
- feat(macOS): Advanced settings home by @valentinperignon in #1719
- fix(abstract-token-network-job): Removes faulty retrieval of possibly non-existing drive DB ID by @luc-guyot-infomaniak in #1735
- fix: handle unavailable content length for download progress by @herve-er in #1713
- feat: Update create missing folders job by @adrien-coye in #1726
- fix(winui): reduce ram usage by @herve-er in #1745
- feat: Support for the new NODE_CONFLICT_INFO job by @adrien-coye in #1727
- chore(deps): update NuGet packages and fix window sizing by @herve-er in #1748
- chore(conan): remove manual xxhash and openssl-universal package creation and fix the recipes folder architecture by @R-Gld in #1756
- fix: new build certificate by @ChristopheLarchier in #1754
- feat(winui): handle app version lock by @herve-er in #1751
- fix(winui): small ui change (corner radiuscolor, ...) by @herve-er in #1758
- docs: Redirect feature requests to user report by @Lnamw in #1763
- feat(build): Manage Qt with Conan + PR #1014, #830, #1017, #1023 by @R-Gld in #1435
- docs(agents): update root AGENTS guidance by @ClementKunz in #1764
- feat: Adapt waiting time in case of error 429 by @ClementKunz in #1555
- ci: translate comments and dynamic translation check by @ClementKunz in #1770
- ci(conan-remove-xxhash): add workflow to remove xxhash from conan cache by @R-Gld in #1773
- fix: sleep(200) in quick loop to reduce CPU utilization by @RaphaelOstier in #1752
- ci(conan-remove-xxhash): switch shell from zsh to bash by @R-Gld in #1780
- feat: Creation of data management preferences pages and behavior by @killian-mathias in #1757
- fix(i18n): localize ToggleSwitch states and update resources by @herve-er in #1779
- fix: unloaded event issue by @herve-er in #1778
- feat: refresh sync error job by @herve-er in #1766
- fix: Node conflict info missing DTOs by @adrien-coye in #1781
- fix: Disable locked observation based tests on new mac UI target by @adrien-coye in #1789
- ci(macos-redesign): run all jobs unconditionally by @adrien-coye with @Copilot in #1788
- refactor(commit-msg): update regex for conventional commit message validation by @R-Gld in #1796
- fix: Fix release target of the new mac UI by @adrien-coye in #1786
- refactor(xaml): unify color resources naming by @herve-er in #1799
- feat: show synthesis window when the app is restarted by @herve-er in #1801
- ci: Remove Euria Review by @adrien-coye with @Copilot in #1797
- fix(sync): restore missing sync add and drive search response fields by @R-Gld in #1729
- fix(winui): fix conflict dialog close button by @herve-er in #1793
- feat(settings): centralize HelpDesk URL in app constants by @herve-er in #1794
- feat: error auto resolve by @herve-er in #1762
- refactor(conanfile): improve cleanup robustness by @herve-er in #1791
- feat(drive): add PackInfo to drive metadata and IPC payloads by @ClementKunz in #1790
- feat(macos): add debug deployment script by @ClementKunz in #1782
- fix(macOS UI): Re-order actions so main window is always key and front by @valentinperignon in #1807
- feat: add env variable to force extended log by @ClementKunz in #1792
- fix: Fix local file system observer worker is edit valid2 by @ChristopheLarchier in #1772
- feat: link to the store page in the blocked version pop-up by @RaphaelOstier in #1749
- fix: do not show notification on failed item synchronization by @herve-er in #1808
- fix(socket): use 127.0.0.1 instead of localhost for TCP and at auto retry by @herve-er in #1800
- feat(winui): add refresh errors button by @herve-er in #1767
- chore: update translations by @herve-er in #1815
- fix(settings): check ToggleSwitch IsLoaded before action by @herve-er in #1816
- feat(CacheDirectory): Implement CacheDirectory class for managed download caching by @ClementKunz in #1743
- ci(release): merge safety checks and upload into one toggle by @ClementKunz in #1821
- feat(winui): add back button + fix splash screen search bar by @herve-er in #1819
- fix(SyncedKDriveView): Explicit use of a synchro when removing it by @adrien-coye in #1829
- chore: remove useless test by @ClementKunz in #1827
- docs(copilot): define mandatory PR and commit defaults by @ClementKunz in #1826
- feat: improve window foreground logic handling by @herve-er in #1824
- feat(winui): add theme aware svg icon by @herve-er in #1798
- feat(winui): open remote version in webview (conflicts resolution) by @herve-er in #1830
- refactor(io): rename PermissionsHolder to PermissionsGiver by @ClementKunz in #1823
- chore: update copyright by @herve-er in #1838
- fix(conan): make --update opt-in to ensure deterministic CI builds by @R-Gld in #1812
- chore: update translations by @herve-er in #1840
- fix: crash in progress callback by @herve-er in #1835
- refactor(DriveJobs): Bump driveSearch to the latest format supported by @adrien-coye in #1811
- feat: Using first name instead of name on home page by @killianmathias in #1845
- fix(gui): improve login authentication error wording by @ClementKunz in #1832
- feat(appserver): simplify windows client exec path logic by @herve-er in #1842
- fix: Creation and edition timestamps wrongly set to 0 after hydration by @herve-er in #1849
- fix(winui): ensure efficiency mode is disabled when bringing the window to the foreground by @herve-er in #1854
- chore(sonarcloud): update CPD exclusions for CppInterop after
comm.handcstypes.hlinks were moved by @R-Gld in #1855 - fix: root nodeid issue by @herve-er in #1844
- fix(winui): translation format issue by @herve-er in #1852
- feat: sentry alert for mass deletions by @ChristopheLarchier in #1831
- feat(logger): logger now display logs in stdcout in debug mode by @RaphaelOstier in #1839
- feat: add new languages by @ClementKunz in #1856
- feat(getappversionjob): improve version channel handling by @herve-er in #1825
- fix: Fix hydration error management by @ChristopheLarchier in #1802
- fix: New mac interop flag fix by @adrien-coye in #1862
- chore(deps): migrate SQLite3 from vendored amalgamation to Conan by @R-Gld in #1860
- fix(icons): improve SvgIconSource usage and sizing by @herve-er in #1861
- ci: update and clean up GitHub Actions workflows by @R-Gld in #1859
- fix(build): fail release build when Bullseye deactivation fails by @ClementKunz in #1810
- fix(db): prevent unbounded SQLite WAL growth on Windows by @ClementKunz in #1850
- feat(sync): improve SyncPath serialization handling by @herve-er in #1851
- feat(ci): improve build selection in release workflow by @herve-er in #1870
- fix(unit-tests): Runs
testhelpers::isInTrashonly ifTrash/infoexists and adds debug information when it fails nonetheless by @luc-guyot-infomaniak in #1866 - feat(winui): add support for new languages by @herve-er in #1867
- fix: gui comm server connection lost handling by @herve-er in #1809
- refactor(db): simplify DB version handling by @ClementKunz in #1868
- fix(server): remove sync DB file during delete flows by @ClementKunz in #1874
- feat(winui): reduce launch time by @herve-er in #1871
- feat(server): improve callback thread management by @herve-er in #1880
- test: exclude tests from from code duplication analysis by @ClementKunz in #1878
- refactor(build): centralize prebuild scripts in Bootstrapper and spee… by @herve-er in #1875
- refactor: tray icons and improve system tray error handling by @herve-er in #1858
- fix(cmake): default KDRIVE_THEME_DIR to the bundled infomaniak theme by @R-Gld in #1885
- fix(server): avoid restarting client when a connection is already active by @ClementKunz in #1877
- fix: distinguish access denied from invalid token by @herve-er in #1876
- fix(snapshot): handle removeItem failures and guard against empty ID or root folder by @ClementKunz in #1873
- fix(compilation-warnings): Fixes numerous linux compilation warnings and code smells by @luc-guyot-infomaniak in #1869
- feat: env variable for stdout logs by @RaphaelOstier in #1872
- fix(sync): improve logging and avoid redundant dialogs by @herve-er in #1884
- feat(linux ci): enhance CI build options and CMake support for testing by @R-Gld in #1886
- docs(github): add PR review rules for SonarCloud usage and best practices by @R-Gld in #1890
- feat(winui): display users drive by default by @herve-er in #1883
- docs(readme): GitHub
README.mdupdate by @luc-guyot-infomaniak in #1891 - feat(winui3): matomo by @herve-er in #1893
- feat(update): add update dialog window & notification by @herve-er in #1898
- feat: Windows - Build Release signature with KSP by @ChristopheLarchier in #1889
- feat: enhance socket comm layer by @herve-er in #1903
- feat(auth): add debug environment variable to bypass keychain access by @ClementKunz in #1901
- feat(winui3): Improved Error Handling and Optimized Refresh Logic by @herve-er in #1899
- feat: Support for sync error listing by @adrien-coye in #1888
- feat: Returning to onboarding view while all users are disconnected by @killianmathias in #1814
- fix(unsupported-characters): Detects
exFATfile system on Linux and handles unsupported characters accordingly by @luc-guyot-infomaniak in #1887 - feat: Adding view to add a user when no one is connected by @killianmathias in #1828
- feat: Debug page in advanced settings by @killianmathias in #1765
- feat: Exclusion jobs by @adrien-coye in #1904
- fix(cleanup): improve unused account removal logic by @herve-er in #1902
- feat: Exclusion jobs file by @adrien-coye in #1909
- fix: fix stream reading resilience on HTTP 500 responses by @ClementKunz in #1896
- fix(extended-tests): Fixes incorrect remote identifiers comparison in
TestIntegration::testNodeIdReuseFile2File()by @luc-guyot-infomaniak in #1913 - feat: Advanced preferences proxy by @killianmathias in #1908
- feat(macOS UI): Update status bar icon by @valentinperignon in #1915
- fix: Window always appears on top by @valentinperignon in #1919
- chore(update): rename enum to DistributionChannel by @ClementKunz in #1921
- feat(kStore): integrate new kStore version endpoint by @ClementKunz in #1912
- feat: xxhash iohelper by @RaphaelOstier in #1892
- feat: exponential backoff and jitter by @RaphaelOstier in #1882
- fix(winui): various bug fix by @herve-er in #1916
- fix(Executor): ignore files created locally at the root of Common documents in advanced sync by @ClementKunz in #1924
- fix(compile-warnings): Fixes several compile warnings on Linux caused by implicit conversions by @luc-guyot-infomaniak in #1928
- feat(gui): add Test distribution channel to beta program by @ClementKunz in #1932
- feat(checksum): checksum verifications of newly downloaded installer by @RaphaelOstier in #1760
- chore(Exclude-List): exclude "$RecycleBin" by @ClementKunz in #1934
- feat(update-channels): add "Test" channel support by @herve-er in #1937
- fix(server): handle server-level errors specifically by @herve-er in #1936
- feat(macOS): Show internal distribution channel to staff users only by @valentinperignon in #1927
- feat(macOS): save logs in a persistent location by @ClementKunz in #1940
- fix(fso): Reports the file path of any problematic item when LFSO directory exploration fails by @luc-guyot-infomaniak in #1941
- feat(navigation): add scroll position restoration by @herve-er in #1943
- refactor: server side protection against incompatible user operations by @herve-er in #1935
- refactor(onboarding): use generic Control type by @herve-er in #1946
- fix(extended-tests): Adds missing certificate thumbrint as a CI build parameter by @luc-guyot-infomaniak in #1929
- fix: filter cache events by @ChristopheLarchier in #1933
- fix: Sync issue in Operation Sorter by @ChristopheLarchier in #1863
- feat(log): persist Linux logs in XDG_STATE_HOME by @ClementKunz in #1944
- chore(gui): remove dual client packaging by @herve-er in #1931
- chore: calculate sha256 on release builds by @herve-er in #1948
- refactor(async): remove unnecessary async/await usage by @herve-er in #1953
- feat(log): increase log retention from 7 to 31 days by @ClementKunz in #1949
- feat(app): improve env handling and fix OAuth constants by @herve-er in #1956
- docs(agents): Add PR and commit rules to AGENTS.md by @ClementKunz in #1952
- feat(winui): thematize lottie by @herve-er in #1954
- feat(errors): add case conflict error handling by @herve-er in #1958
- feat: New mac app search UI by @adrien-coye in #1817
- feat: Linking resume synchro action to button in status state view in homepage by @killianmathias in #1920
- feat: Creation of synchro rules navigation by @killianmathias in #1917
- feat: Support for all error jobs on V4 mac by @adrien-coye in #1957
- feat: Implementation of synchro rules detail preferences by @killianmathias in #1918
- refactor(build): improve Conan binary path handling by @herve-er in #1914
- feat: new set modification date job by @RaphaelOstier in #1951
- feat: adding new check hash match job by @RaphaelOstier in #1942
- fix(extended-tests): Fixes extended tests build error on Windows CI runner by @luc-guyot-infomaniak in #1950
- feat(updatetreeworker): reset blacklisted nodes from update tree by @ClementKunz in #1955
- feat: Add file path handling to PostFileModificationDateJob and change modification time in locale by @RaphaelOstier in #1969
- chore: Merge branch 3.8.4 into develop by @ClementKunz in #1967
- fix(crash): Call log4cplus::threadCleanup after termination of PipeCommServer::listen to avoid a crash in CustomRollingFileAppender::append by @luc-guyot-infomaniak in #1962
- fix(SynchroSignalHandler): Remove existing .Syncing activities when receiving a .Paused or a .Stopped by @adrien-coye in #1972
- test: Add dedicated WinUI communication test project and harden socket retry cancellation by @herve-er with @Copilot in #1961
- fix: macOS - quicklook preview issue by @ChristopheLarchier in #1975
- refactor(commonserver): replace system() with modern process APIs on macOS and Linux by @ClementKunz in #1965
- fix(synclocaldeletejob): Fixes existence check for the remote items of an advanced synchronization by @luc-guyot-infomaniak in #1971
- feat(network): add context and scope to request headers by @ClementKunz in #1976
- chore: avoid useless lottie gen run by @herve-er in #1979
- feat(sync): add error handling in exploreDir method by @herve-er in #1945
- feat(macOS): Handle errors by @valentinperignon in #1923
- feat(macOS): Display errors by @valentinperignon in #1947
- feat(macOS UI): Handle error actions that present sheets by @valentinperignon in #1973
- fix: Support for drive re-parenting on DRIVE_UPDATED signal by @adrien-coye in #1977
- fix(mac): avoid logging localized error description by @ClementKunz in #1987
- feat(macOS UI): Implement first actions and sheets by @valentinperignon in #1964
- fix(extended-tests): Removes assertions corresponding to a legitimate or handled use case by @luc-guyot-infomaniak in #1980
- feat: limit concurent folder size requests by @herve-er in #1970
- feat(macOS UI): Add LiteSync not enabled error by @valentinperignon in #1981
- fix: Improve sync robustness and backend error handling by @herve-er in #1974
- test: Add SyncPalWorker coverage for startup blacklist propagation path by @herve-er with @Copilot in #1989
- fix: harmonize exit code and cause for local item not found errors by @herve-er in #1978
- fix(syncengine): improve blacklist handling logic by @herve-er in #1988
- feat: Open kSuite offer when user wants to sign up by @valentinperignon in #1990
- chore: Resolve some TODOs by @valentinperignon in #1992
- chore: bump version to 3.8.6 by @ChristopheLarchier in #1997
- fix: deploy Conan libs by @ChristopheLarchier in #2006
- fix(appserver): capture variable by copy in lambda by @herve-er in #2021
- fix(macos): use absolute path for pluginkit command by @ClementKunz in #2033
- chore: remove support for 32 bits ARM windows by @herve-er in #2071
- fix: revert some uncaught throws by @herve-er in #2111
- fix: fix a crash in UpdateTree::resetNodes by @herve-er in #2163
- fix: fix an hydration issue due to a double lock on the hydrating file by @herve-er in #2209
- fix(app-server): A fix cherry-picked from develop branch to avoid mass file deletions on windows for the release 3.8.6 by @luc-guyot-infomaniak in #2254
- fix(linux): reliably forward OAuth callback to running instance by @R-Gld in #2258
- fix: Shared folder rights issue by @ChristopheLarchier in #2264
- ci: fix macOS client debug symbol upload by @herve-er in #2265
- fix(extension-job): Locks AppServer's SyncPal map mutex in addDownloadJob by @luc-guyot-infomaniak in #2262
- feat(adddriveloginwidget): add warning and fix browser opening order by @R-Gld in #2270
- fix(conflicting-files-corrector): Check error paths validity before resolving conflicts by @luc-guyot-infomaniak in #2287
- fix(syncengine): avoid restarting sync on thumbnail updates by @ClementKunz in #2291
New Contributors
- @killian-mathias made their first contribution in #1757
Full Changelog: 3.8.5...3.8.6