nextcloud-desktop (33.0.0) jammy; urgency=medium

  [ Claudio Cambra ]
  * Initial commit
  * Add LICENSE
  * Add starter package files
  * Add LocalFilesUtils
  * Add logger extension
  * Fix LocalFileUtils logging
  * Remove unused NFPK file
  * Add account struct
  * Add dependencies and platforms to package def
  * Add metadata database types
  * Add files database manager
  * Fix logging string
  * Remove unused import
  * Add NKError extension
  * Add FileProviderItem
  * Add Enumerator class
  * Add MaterialisedEnumerationObserver
  * Fix visibility of FileProviderItem
  * Rename FileProviderItem to Item
  * Add ThumbnailFetching utility file
  * Rename LocalFileUtils to LocalFiles
  * Add convenience root container init for Item
  * Add convenience static method to Item to retrieve if it exists from database
  * Use storedItem in thumbnail fetching
  * Make fileProviderError in NKError extension optional, return type for successful error
  * Add delete for item
  * Add progress extension
  * Add fetch contents item operation
  * Add create operation to Item
  * Remove unneeded parameter from createFile
  * Adjust formatting
  * Add default arguments to create item
  * Add method to move item
  * Add modify operation to item
  * Fix item modify not properly targetting new locations
  * Shadow item's parentItemIdentifier in modify routine, as the subject item's parentItemIdentifier is not meant to be used here at all
  * Improve logging in modification operations
  * Do not emit error on unsupported directory modification
  * Improve logging in item operations
  * Fix bad propagation of renaming in database
  * Improve logging in parentItemIdentifierFromMetadata
  * Fix setting of account on newly created item's metadata
  * Improve logging in createFile
  * Fix broken account string when creating new items
  * Make item content modification a bit more straightforward, pull more details from existing metadata
  * Fix log string in content modification op for item
  * Reorganise repository, split up Item operations into separate files
  * Move core thumbnail fetching functionality to Item+Fetch
  * Remove uneeded workaround for account string
  * Register folder creation task with nsfileprovidermanager
  * Correctly set modification and creation dates for new files
  * Register post-create folder server read task with file provider manager
  * Add ability to register readfileorfolder tasks when enumerating
  * Improve error logging in item ops
  * Improve error handling in possible collision situations
  * Also report unauthorised errors as unauthenticated
  * Add NexcloudCapabilitiesKit dependency
  * Add a remote change observer using notify push
  * Poll when websocket is not available in changeobserver
  * Mark remote change observer as public
  * Improve error logging in remote change observer
  * Signal working set rather than root container in change observer
  * Improve error handling around failure to get capabilities
  * Fix nkcommondelegate authentication challenge handling in remote change observer
  * Fix logging in item+fetch
  * Create swift.yml
  * Update swift.yml to xcodebuild.yml
  * Update xcodebuild.yml with debug typo fixes
  * Update xcodebuild.yml with folder path fixes
  * Update xcodebuild.yml with derived data path fix
  * Update xcodebuild.yml with fixed coverage data gathering
  * Update xcodebuild.yml with fixed cd step
  * Update xcodebuild.yml with new path fixes
  * Fix visionOS build
  * Bump up versions for iOS, add visionOS
  * Use specific NCFPKAppGroupIdentifier bundle object instead of desktop client-only SocketApiPrefix
  * Fix crash caused by using active directory metadata object after it is deleted in db
  * Remove need for domain in fetchContents, use normal temp dir
  * Remove localPathForNCFile, no longer used
  * Use inactive item metadata copy as return value for sync engine
  * Simplify syntax for getting enumerated item info
  * Safeguard against active db items in fp item
  * Fix handling of root container metadata
  * Make sure to close connection when resetting socket in notifypush
  * Fix retain loop created in websocket ping
  * Fix root container item file name
  * Add RemoteInterface protocol
  * Add RemoteRequestOptions struct
  * Add convenience extension to convert request options to NKRequestOptions
  * Add RemoteFileMetadata protocol
  * Add conformance to RemoteFileMetadata in NKFile
  * Add abstracted types in RemoteInterface
  * Add conformance to RemoteInterface in NextcloudKit
  * Remove unused NextcloudKit import in files database manager
  * Add remote error type enum
  * Use remote error type enum in NKError extension
  * Use NSFileProviderError rather than default Error in RemoteInterface
  * Fix error code in enumerator sync engine
  * Use await/async for enumerator
  * Stop with the unnecessary abstractions
  * Use RemoteInterface in Enumerator SyncEngine extension
  * Add move method to RemoteInterface protocol
  * Remove getInternalType method from RemoteInterface protocol
  * Use RemoteInterface in items
  * Use RemoteInterface in Enumerator
  * Use RemoteInterface in item creation
  * Add fetchCapabilities to RemoteInterface
  * Add setDelegate to RemoteInterface
  * Use RemoteInterface in RemoteChangeObserver
  * Remove unused getInternalType method
  * Register capabilities fetch task
  * Add basic MockRemoteItem
  * Add placeholder starter MockRemoteInterface
  * Make MockRemoteItem equatable
  * Add method to fetch item in MockRemoteInterface within node tree
  * Add a test for MockRemoteInterface
  * Add convenience method to get a path string's parent path
  * Add a test for the parent path convenience method
  * Better handle edge cases in getting item within MockRemoteInterface
  * Add convenience method to generate random item identifiers
  * Fix arg in remote path test for MockRemoteInterface
  * Add convenience method to get a the item for a parent from a given remote path
  * Implement MockRemoteInterface's createFolder method
  * Add test for getting the root item
  * Add test for getting root path's parent
  * Handle trailing slashes in folder paths in MockRemoteInterface
  * Add test for MockRemoteInterface createFolder
  * Properly handle bad parent in MockRemoteInterface createFolder
  * Handle trailing slash in parentPath convenience method
  * Add convenience method to get file/folder name from a remote path
  * Add test for remoteInterface.name(from: )
  * Keep data in MockRemoteItem
  * Use convenience name method in createFolder
  * Implement upload in MockRemoteInterface
  * Add test for MockRemoteInterface Upload
  * Make name and modification date modifiable on MockRemoteItem
  * Implement move in MockRemoteInterface
  * Add test for MockRemoteInterface move
  * Implement download method in MockRemoteInterface
  * Add test for MockRemoteInterface download
  * Add property to get NKFile from MockRemoteItem
  * Implement enumerate in MockRemoteInterface
  * Add test for MockRemoteInterface enumerate
  * Implement delete in MockRemoteInterface
  * Add test for MockRemoteInterface delete
  * Handle realistic server url paths for remote paths in MockRemoteInterface
  * Make it possible to specify database manager in item creation procedure
  * Add starter test for item creation process
  * Remove unused test file
  * Add test for creating file
  * Add test for creating file into folder
  * Add ability to set dbmanager for item delete procedure
  * Add basic test for item delete
  * Remove useless bundle fetch procedure in ItemCreateTests
  * Add test for deleting folder and children
  * Add test for database test after create folder test
  * Check database state in create file test
  * Integrate remote path into mockremoteitem, fixing issues with serverUrl tests
  * Test database test in create file into folder test
  * Test database changed correctly when deleting a file
  * Test database state after deleting directory with subitems
  * Add ability to set non-default dbManager on Item fetch contents
  * Enable switching out dbManager in Item
  * Add basic test for item content fetch
  * Return modification date in upload procedure
  * Make data property modifiable in mockremoteitem
  * Fix handling of uploaded items that already exist in mock remote interface
  * Add some logging for moves in MockRemoteInterface
  * Add ability to use custom dbManager on Item modification tasks
  * Add test for item modification
  * Fix handling of creation and modification dates on item modification
  * Add ability to use a specific dbManager in enumerator
  * Add a MockEnumerationObserver
  * Add account details to MockRemoteItem
  * Add test for enumeration of root container
  * Add test for enumerating a non-root folder
  * De-duplicate setup for enumerator tests
  * Fix concurrency issues in testFolderEnumeration
  * Add test for enumerating file
  * Use inactive item metadata copy as return valye for sync engine
  * Use static dbManager in testenumeratefile
  * Add MockChangeObserver
  * Add a test for enumerating changes on a folder and its contents
  * Add test ensuring moves are correctly recognised as item changes
  * Properly check state of database item c in change enumeration test
  * Fix testing of remote item move child items
  * Add tests for FilesDatabaseManagerTests
  * Add directory tests for files database manager
  * Regenerate mock items on each enumerator test, fixing issues
  * Fix reliability issues with content modification date in enumerator tests
  * Add tests for working set enumeration and fast vs slow enumeration
  * Add capabilities to mock remote interface
  * Add a ChangeNotificationInterface
  * Implement a FileProvider change notification interface
  * Use the changeNotificationInterface in RemoteChangeObserver
  * Add a MockChangeNotificationInterface
  * FIx mock capabilities json
  * Expose capabilities on mock remote interface as property
  * Post a notification when notify push is authenticated
  * Add a mock notigy push server
  * Add a basic test for remote change observer
  * Make some members of RemoteChangeObserver more public
  * Add ability to inject delay in mock notify push server response
  * Add reset method in mocknotifypushserver
  * Add test for authentication retry with remotechangeobserver
  * Increase interval between pings for remote change observer
  * Add delay before reconfiguration attempts for remote change observer
  * Make timeouts and failure counts configurable in remote change observer
  * Add property indicating if websockettask is active
  * Add some logging to mock notify push server
  * Test that the remote change observer stops trying after limit
  * Add ability to send message through to connected clients in mocknotifypushserver
  * Test that remote change observer properly notifies changes
  * Add test to ensure non file notifications are ignored by remote change observer
  * Add property to remote change observer to check if polling is active
  * Allow setting of poll interval for remote change observer
  * Improve polling test for remote change observer
  * Allow resetting of credentials independently of other variables in mock notify push server
  * Add ability to close connections in mock notify push server
  * Do not trigger double reconnect attempts in remote change observer when connection closed
  * Add method to manually trigger connection attempt in remote change observer
  * Add test for remote change observer reconnecting on socket close
  * Add tests for account
  * Add ability to refuse conection to MockNotifyPushServer
  * Use file manager to get temporary dir
  * Test that temp path is writeable in mock remote interface tests
  * Skip mock remote interface download test if temp is not writeable
  * Set filesystem flags correctly if specific item is locked
  * Do not present a file provider item as not user writeable if the lock time has expired
  * Add lock state to mock remote items
  * Add a test for correct lock state enumeration
  * Add explanatory comments for filename properties on itemmetadatas
  * Add explanatory comments on item metadata's lock properties
  * Improved explanatory comment about server url
  * Added explanation for various user properties on item metadata
  * Ensure item never returns an empty filename as this triggers crash in File Provider Extension
  * Add test to ensure stored items are not returned with empty filename
  * Improve root enumeration test
  * Add .DS_Store files to git ignore
  * Lock realm dep to 10.49.0
  * Run web socket pings and reconnections on ping handling as detached tasks
  * Remove auth change TODO as authentication details are read-only in remote change observer
  * Run socket pinging as detached tasks stored to a property on RemoteChangeObserver
  * Make sure to cancel ping socket task when resetting socket
  * Add ping handler to mock notify push server
  * Add test for correct pinging of notify push server websocket
  * Raise ping interval to be more lenient on exactitude of ping count in pinging test for remote change observer
  * Implement NKCommonDelegate networkReachabilityObserver in RemoteChangeObserver
  * Set networkReachability property to be private set only
  * Stop all websocket tasks and polling timer when new reachability state is unreachable
  * Add test for correct handling of network reachability
  * Check notification handling in remote change observer tests after connection state changes
  * Add enumeration listener protocol
  * Support use of EnumerationListener in Enumerator
  * Simplify EnumerationListener and improve its method names
  * Actually set listener from initialiser on property to enumerator
  * Add a MockEnumerationListener
  * Add a test for enumerator listener invocations in enumerator
  * Treat bundle content types as directories
  * Check for directory conformance as method of ensuring directories are handled correctly (and simply)
  * Add method to handle upload of bundle and package internal contents
  * Also handle upload of internal dirs within bundle
  * Deduplicate error handling in handle bundle
  * Check final server state and record all internal files for bundle or package in db
  * Handle bundles in root create method of item
  * Improve logging in bundle handling
  * Fix URLs used for folder and file creation procedures in bundle
  * Rather than recursively call create bundle, manually record and scan each inner directory created as final check-in
  * If we have a set content type and the item is a directory, provide that as the item content type
  * Add test for bundle creation
  * Remove unused rootRequest parameter in Item create for bundle
  * Add method to brute-force modify bundle or package
  * If target item is a bundle, use bundle modifying method
  * Fix modification logging
  * Improve database renaming logging
  * Fix folder move serverUrl
  * Fix used dbManager in bundle modification creation stage
  * Add test for bundle modificatiob
  * Check internally deleted files in bundle are gone post modify
  * Add basic test for getting content type from metadata in item
  * Make sure to only try to get uttype from contenttype of metadata in item if contenttype is not empty
  * Add test for metadata content type from extension
  * Add test for correct getting of contenttype of directory (if no content type acquired)
  * Add test for getting correct contenttype of packages and bundles in item
  * Properly rename remote path recursively when moving items in mock remote interface
  * Improve debug logging in mock remote interface
  * Add granular algorithm for modifying contents of a bundle or package
  * Remove workarounds for bundle modification test, add more test conditions
  * Clarify private method name in item+create for bundles
  * Fix etags in bundle modify metadatas tests
  * Simplify and concise-ify stopAtMatchingEtags handling in enumerator readServerUrl
  * Simplify bundle post-modify scan by using enumerator's readserverurl
  * Add method to get an item metadata from its specific serverurl
  * Fix (and clarify) behaviour of itemMetadatas method to get metadatas under a given server url
  * Make itemMetadatas under a server url test more exhaustive to ensure correct behaviour including child paths of a server url
  * Simplify post-create bundle remote scan by using enumerator method
  * Simplify metadata renaming in directory move
  * Fix directories being displayed as files
  * Add test to ensure https unixd dirs are properly shown as folders
  * Fix failing enumerator tests, caused by in-memory database going out of scope
  * Do not mark bundle root as stale
  * Do not abort creation attempt for bundle or package if root bundle/package folder exists
  * Do not abort creating of internal bundle stuff if folder inside already exists
  * Properly handle progress accounting for bundle creating
  * Correctly check error type at folder creation time of bundle
  * Fetch metadata for newly-created bundle or package whose root folder already exists remotely
  * Improve unfound bundle item metadata post creation logging
  * Log that already existing folder in bundle creation error is being ignored
  * Add a sanity-check test to see if item metadata fetching error is working correctly
  * Improve added metadata logging
  * Remove overwrought directorymetadata method, use item metadatas at remote url method
  * Ensure removal of percent encoding in url string for item metadatas remote url parsing
  * Test for percent encoding bugs in item metadata tests
  * Do not apply current uploading item's state to progress of entire bundle being created
  * Apply correct content type post creation of bundle
  * Avoid "activation" of added item metadatas at source
  * Fix handling of remotely fetched iWork bundles' content types
  * Test handling of iWork content types
  * Add explainer comments to specific bundle folder handling
  * Fix progress handling in bundle modify process
  * Revert "Apply correct content type post creation of bundle"
  * Remove unnecessary copy in syncengine now that we fixed activation of metadatas at database manager level
  * Fix folder download procedure in mock remote interface
  * Add method to download the internal contents of a directory when downloading a directory type item
  * Update child content metadata status when fetching directory contents
  * When fetching content of a directory, trigger the fetching of its contents
  * Fix progress handling for directory fetching
  * Properly set account in item metadata in file fetch test
  * Add a test for fetching directory contents
  * Accept success NKError type as acceptable when downloading directory contents
  * Apply directory fetch content task to actual item
  * Do not abort on 200 error code
  * Do not add local file metadata for downloaded directories
  * Download each directory item as independent calls to fetchDirectoryContents
  * Handle directories during fetch by simply creating them locally during download, rather than trying to download them remotely
  * 200 is not a valid error code in this context
  * Add a basic README
  * Remove use of ncaccount in enumerator sync engine methods
  * Remove use of ncaccount entirely in enumerator
  * Remove unneeded use of ncaccount in create bundle or package procedure
  * Remove unneeded use of ncaccount in item create
  * Remove unused ncaccount in modify bundle contents
  * Remove unnecessary use of ncaccount in item modify
  * Format logging in enumerator
  * Update README with current state of APIs
  * Provide locking state in item's userinfo
  * Test the reported lockability in item's userinfo
  * Refactor locking in item userinfo to presence or lack thereof of locked key
  * Check lock ownership based on remote interface username
  * Do not lock if the lock type is that of a user
  * Add fetchUserProfile to RemoteInterface(s)
  * Add small basic test for fetchUserProfile in mockremoteinterface
  * Add method to try authentication to remote interface(s)
  * Add small simple test to try authentication attempt in mri
  * Add id property to Account type
  * Stop excessive logging of accessed items from storage
  * Refactor directory capabilities reporting to avoid duplication
  * Allow reparenting directories
  * Allow excluding directory from sync
  * Fix user id not being set in the account dictionary
  * Check for user id in account tests
  * Use user id to construct base dav files url
  * Add userId property to MockRemoteItem
  * Set account id as profile user id in MockRemoteItem
  * Compare against account id un userId checks of enumerator tests
  * Fix userId in item metadatas within ItemFetchTests
  * Remove LocalFileMetadata type
  * Remove unused waitDownload and waitUpload enum values
  * Replace downloaded and uploaded status enum value with booleans
  * Refactor itemmetadata to nkfile conversion as NKFile extension method
  * Change creation and upload date variable to be less aggressively confusing
  * Correctly migrate upload/download status into ItemMetadata
  * Upgrade NextcloudKit minimum version to 5.0.1
  * Adapt to upstream NextcloudKitDelegate changes
  * Add account argument now required by several upstream functions
  * Adapt to removal of getPreview, use downloadPreview instead
  * Adapt to new return signatures upstream
  * Dirtily adapt to new nk sessions implementation upstream
  * Use develop branch rather than 5.0.1 as this version was broken on macOS
  * Add convenience method to construct ncKitAccountString in Account
  * No longer use account defined in remote interface, take in accounts as parameter
  * Fix migration to schema 2.0.0
  * Check authentication via a propfind on root, matching desktop client
  * Do not refresh realm on every access
  * Formatting of some stuff in database manager
  * Add metadatasToAdd in one go
  * Modify modified items and create new items
  * More formatting
  * Still create copies of item metadatas when adding to db
  * Bring back refresh on access to revert test failures
  * Add extension to results to easily convert a results to unmanaged array
  * Do not sort retrieved item metadatas, just convert to unmanaged array
  * Fix warning on files database manager tests
  * Simplify by adding an itemMetadatas property
  * Avoid creating copies during metadata deletion in update
  * Do not do add on managed item update in set item status metadata
  * Format logging in filesdatabasemanager
  * Avoid using copies during deletion in recursive directory delete
  * Make itemMetadatas a computed property
  * Return unmanaged deleted metadatas from update method
  * Do not create copy of directory needing rename, not needed
  * Polish off remaining logging in database manager
  * Avoid generating copies of child items
  * Remove unused childDirectoriesForDirectory
  * Remove unused directoryMetadatas methods
  * Remove unused itemMetadatas fetcher with status
  * Bring itemMetadata method in line with naming conventions
  * Use self-contained metadata to retrieve upload/download status in item
  * Add extension to NKTrash to convert to an itemmetadata
  * Use fileId for item identifier if we are dealing with a trashed item
  * Add convenience method to get trashed item metadatas in files database manager
  * Add trash url to account
  * Test new account trash url property
  * Add convenience static func to generate metadata for trash container
  * Provide special item for trash container
  * Temporarily switch to feature/trash-ocid branch for NextcloudKit
  * Add ocId to NKTrash conversion
  * Log trashbinFileName when adding new item metadatas
  * When we detect a metadata is a trashed item, return the trash container
  * Add account-relevant data to metadata when converting nktrash to itemmetadata
  * Use better detection method for detecting trash parent item identifier
  * Just return ocId as item identifier for trashed items too
  * Set trashbinFileName as fileNameView for NKTrash converted items
  * Add convenience isTrashed property to ItemMetadata
  * Return trash container as parent item identifier if item is trashed
  * Add trashedItems method to RemoteInterface and implementers
  * Un-private some convenience methods in enumerator
  * Add a completeEnumerationObserver that takes an NKTrash array
  * Implement working initial enumeration of the trash container
  * Implement a completeChangesObserver that takes an NKTrash array
  * Implement working changes enumeration for trash container
  * Add a trash item enumeration test
  * Fix existing trash item index handling
  * Ensure deletion of deleted trash item metadatas
  * Add convenience method to reset mock change observer
  * Add test for trash change enumeration
  * Address NCFPK 2 changes to account handling as arguments
  * Switch to NextcloudKit develop branch now that trach ocid change is merged
  * Allow item deletions to be handled as "trashing" rather than direct deletions
  * Introduce special handling for item modifications that are actually trashings
  * Provide trash bin filename if the item is trashed
  * Fix trash bin details not being set after trashing item
  * Add test for deleting an item in trashing mode
  * Add convenience method to MockRemoteItem to convert to an NKTrash type
  * Provide the error description when post trashing remote scan failed
  * Fix conventional delete test
  * Refactor MockRemoteInterface to handle trash as an item tree, like the default remote items
  * Ensure we are returning the right root item in mock remote interface item method
  * Ensure we are returning the right parent path in mock remote interface
  * Move items to trash when deleting them in remote interface
  * Remove debug logging in mock remote interface
  * Provide root trash item in item delete tests
  * Fix tested trashed item rough name
  * Fix remote interface delete test
  * Fix modify bundle content test
  * Defer to item's filename property rather than the metadata filename property in moves
  * Move trashing procedures into their own function, fix remote scan for trashed item
  * Rename the file if necessary before trashing procedures
  * Ensure use of modifiedItem in item modify
  * Set parent item server url to trash if relevant
  * Set trash bin properties when converting nkfile to itemmetadata
  * Make nkfile property into a converter function in MockRemoteItem
  * Use trash-specific properties when trashing MockRemoteItem
  * Add a test for moving an item to the trash
  * Correctly reproduce server behaviour in mockremoteinterface trashbinOriginalLocation
  * Fix isTrashed property for item metadatas that are not at the trash root
  * Fix setting of trash-related properties for children of trashed item during trashing in mock remote interface
  * Also test trashing of child item in move to trash test
  * Add test for rename/trashing procedure
  * Add extension to Substring for method converting to string
  * Delete trashbinFileName property from MockRemoteItem, not necessary
  * Test trashing behaviour in mock remote interface delete test
  * Add convenience method to convert a MockRemoteItem into an ItemMetadata
  * Add test for moving just one target item to trash
  * Use convenience metadata converter method in modify tests
  * Add test for rename before trash
  * Use account properties directly for urls
  * Remove redundant logging in modify
  * Add trash restore URL to account
  * Add trash restore url to account tests
  * Add default arg to trashedItems in mock remote interface
  * Add basic starter test for trash listing from mock remote interface
  * Incorporate trashbinOriginalLocation into equality and constructor funcs of MockRemoteItem
  * Account for original location name in MockRemoteItem converter to NKTrash
  * Match original locations to what would be provided by actual server in trash item listing test
  * Add restoreFromTrash convenience method to remote interfaces
  * Nilify trashbinOriginalLocation when moving trashbin child files out with parent in mock remote interface
  * Add basic restore from trash test for mock remote interface
  * Fix trashbinOriginalLocation on root deleted items in mock remote interface
  * Use convenience remote item to item metadata convenience method in more modify tests
  * Match rough trashbinOriginalLocation to something akin to what the server would provide
  * Recover an item from the trash during item modification if this is required
  * Add basic test for restoring an item from the trash
  * Re-fix item trashing deletion rough metadata update
  * Extract item restore from trash during modification to separate function
  * Remove unnecessary logging during item modification move
  * Handle post-trash-restore case where scanned restore path returns different file
  * Fix post-rebase changes (move of nkfile to item metadata conversion)
  * Set up standard trash state with an item in it in item modify tests
  * Imitate remote server behaviour regarding restore from trash in mock remote interface
  * Fix metadata server url conversion for mock remote item
  * Add test for moving trashed file out of the trash
  * Properly check for new contents size match in item modification
  * Add test for modified item size
  * Add test for moving trashed file out of trash, rneaming it, and modifying contents
  * Improve naming of important variables in item modification
  * Fix check of documentSize in item create
  * Properly handle conflicting moves with overwrite/non-overwrite in mock remote interface
  * Gracefully handle case where restored item from trash was renamed remotely due to filename clash with another file in restore folder
  * Do not move item back to its original name if renamed remotely during trash restore
  * Add test for file restored from trash and subsequently renamed by server
  * Add convenience functions to apply certain info to an item metadata
  * Add test for moving folder
  * Set up a trashed folder in item modify tests
  * Add a test for moving a folder out of the trash
  * Fix database renaming of directory child items when the target item is a trashed directory
  * Ensure folders restored from trash also have their child items in the database "moved" accordingly
  * Add remoteTrashFolderChildItem to item modify tests
  * Test for proper handling of trashed folder child items when restoring trashed folder
  * Check for remote state in restore and rename item from trash test
  * Add test for moving a folder out of the trash and renaming it
  * Emit unsynced edits when things go wrong trying to see what happened after restoring an item from the trash
  * Allow trashing items
  * Do not even pretend to handle paging in item enumeration
  * Improve error logging when dealing with post trashing errors
  * Fix trashbinOriginalLocation in MockRemoteItem to NKTrash conversion
  * Retrieve post-trashing remote state via trash listing rather than standard enumerate
  * Also check for file existence in trash via fileId and not just ocId
  * Ensure we never provide an empty filename for item
  * Use actual filename in trash instead of presented filename in restore
  * Fix tests after modifying role of fileName and trashbinFileName
  * Provide post delete metadatas with their original ocIds
  * Adapt trash changes to rebased changes with database
  * Fix testTrashedItems test
  * Remove broken handling of trashbinFileName in rename of dir
  * Search for trashed item metadatas by checking serverUrl, which is more reliable
  * Enable overwrite on trash restore move
  * Use proper filename in debug logging of modification
  * Imitate need for overwrite to be set to true in MockRemoteInterface
  * Add test to verify restore behaviour on server
  * Add test to ensure we cannot move items directly from trash without restore first in mock remote interface
  * Fix ocId for received trashed directory children during trashing
  * Intentionally mangle identifiers for items when trashing them in mock remote interface
  * Amend item modify tests' trashing-related identifier checks
  * Add test that checks that trashing mangles identifiers
  * Check identifier mangling with child folder items
  * Check for fileId of post-trashing items in mock remote interface tests
  * Do not support content modification of items in trash
  * Do not try to re-trash items that are already trashed
  * Fix filter query for post-trashing children finding
  * Make dirty item children unmanaged, fixing crash
  * Fix CI build failure in MockRemoteItem
  * Add basic MockEnumerator
  * Allow setting a custom dbManager on MaterialisedEnumerationObserver
  * Add basic MaterialisedEnumerationObserverTests
  * Make MockEnumerator enumeratorItems modifiable
  * Add a test for the expected deleted ocIds in the materialised enumeration observer tests
  * Only fetch downloaded file metadatas when handling enumerated materialised items
  * Address and fix materialised enumeration observer test
  * Simplify conversion of nkfiles to metadatas, remove massive async group creation
  * Move nkfile from dir read conversion procedure to NKFile extension
  * Simplify and de-concurrencify conversion of item metadatas to file provider items
  * Add array extension to chunk an array
  * Add array extension method to map over a chunked array
  * Add array extension method to perform concurrent map over chunked array
  * Make concurrentChunkedMap support nil returning transforms, return flat array
  * Convert metadatasToFileProviderItems into async method using chunked conversion
  * Move metadatasToFileProviderItems into extension method for ItemMetadata array
  * Add concurrentChunkedForEach
  * Set default chunk size for chunked methods
  * Defer to default chunk size in item metadata array conversion
  * Perform chunked conversion of directory read nkfiles to metadata
  * Add a test suite for the chunked array methods
  * Use an actor to correctly apply concurrent conversion of directory read nkfiles
  * Bring in immutable variables in enumerator when converting metadatas to fp items
  * Ensure we get the first item first in directory read avoiding concurrency issues
  * Pull in metadatas variable as immutable reference in async task
  * Set Account as a sendable struct
  * Make subsystem for logging immutable
  * Report received metadata as update or new when enumerating a file
  * More easily instantiate metadata values by using value init
  * Add RemoteFileChunk type
  * Add chunkedUpload method to RemoteInterface protocol
  * Implement chunkedUpload in nextcloudkit extension
  * Make the progressHandler for chunked upload match other methods
  * Add simple starter test for upload result struct
  * Add basic chunked upload implementation for mock remote interface
  * Add logging when no valid root item on mock remote interface
  * Fix remaining file size in chunked upload implementation of MRI
  * Fix warning about unused response var
  * Add convenience method to get a root mock remote item
  * Use convenience root item method in tests
  * Add convenience method to create root trash item
  * Use convenience method to create root trash item in tests
  * Add UploadResult convenience struct
  * Add starter convenience upload function to perform standard/chunked upload automatically
  * Add basic test to check standard upload in upload convenience func
  * Use correct chunkSize value in uplaod convenience func
  * Add simple test for upload convenience func chunked upload
  * Start chunk name from 1 imitating the real server
  * Make chunk upload id an argument in convenience upload func
  * Set chunks at initialisation time in MRI
  * Call chunkUploadStartedHandler in MRI
  * Pass all relevant arguments to inner upload during chunk upload in MRI
  * Call chunkUploadCompleteHandler in MRI
  * Allow passing in chunkUploadCompleteHandler
  * Only call chunkUploadCompleteHandler once in MRI
  * Add RemoteFileChunk database object type
  * Remove previous RemoteFileChunk typealias
  * Add convenience to get array of remotefilechunk from the nckit file chunk tuples
  * Add convenience init for remotefilechunk based on nckit tuple
  * Add convenience converted from remotefilechunk to nckit tuple
  * Add convenience converter from array of nckit chunk tuples to remote file chunks
  * Add method to convert array of managed remotefilechunks to unmanaged
  * Register RemoteFileChunk in database init
  * Fix uses of remotefilechunk in nckit remoteinterface
  * Require remoteChunkStoreFolderName for remote file chunk
  * Fix handling of remote file chunks in nckit remote interface, again
  * Keep track of uploaded and yet to upload chunks in chunked upload
  * Make methods in RemoteFileChunk public
  * Rename uses of uploadUuid to new remoteChunkFolder property
  * Fix and clean up chunk creation in MRI
  * Ensure chunks stay unmanaged in upload procedure
  * Pass test database in upload tests into upload func
  * Remove UploadResult struct as it is not necessary
  * Fix remainingFileSize calculation in MRI
  * Simulate resumed chunk upload in MRI
  * Enhance testing of chunked uploads by testing for correct chunk handling
  * Add test for resuming interrupted chunked uploads
  * Fix expected chunk size in normal chunked upload test
  * Take fileLocatedAt in upload func as a string
  * Convert chunk bool property in itemmetadata to a chunkUploadId
  * Apply appropriate chunkUploadId state when setting upload state in FilesDatabaseManager
  * Only reset chunkUploadId if old metadata state was upload
  * Use new upload function in new item file creation
  * Also use new upload function for bundle inner item creation
  * Use new upload function when uploading updated item files
  * Use new upload function to upload inner bundle files
  * Use URLs to do splicing during chunk upload procedure
  * Actually return ocId post chunk upload
  * Add test for chunked file create upload
  * Do not double generate test data for chunked item creation
  * Track expected transfer size of completed chunked uploads, not counting present chunks, in MRI
  * Add test for resumed chunked upload of newly created item
  * Modify RemoteInterface to directly take a local path and a remote path for chunked uploads
  * Delete unused ItemUploadTests
  * Add a test for chunked upload of modified item contents
  * Add test for modified item chunked upload, resumed
  * Properly employ remainingChunks argument in mock remote interface
  * Add expected remaining chunks to database in upload tests for resumed chunked upload
  * Fix state of remaining chunks in database in resumed chunked upload of modified item contents
  * Fix state of remaining chunks in database in resumed chunked upload of newly created file
  * Add test for chunked upload of MRI
  * Temporarily use nckit branch with chunk destination changes
  * Add some logging for chunked upload
  * Ensure we remove illegal chars from file provider item id used as chunk upload id
  * Update item create test with chunked upload to check handling of illegal chunk upload ID
  * Remove period from upload logging
  * Set custom file chunks directory when using nckit chunked upload
  * Add additional logging when starting nckit chunked upload
  * Ensure chunk upload using nckit occurs on non-main queue
  * Fix issues with urls used in nckit extension for chunked uploads
  * Remove over-active chunk progress logging
  * Simplify returns for upload function
  * Use setStatusForItemMetadata when setting post-upload metadata state in Item content modification
  * Do not add chunks to database if we have chunkes logged in db
  * Switch back to develop NextcloudKit branch
  * Use type-safe filtering when retrieving trashedItemMetadatas
  * Use type-safe filtering in FilesDatabaseManager
  * Use type-safe filtering in FilesDatabaseManager method handling metadatas for directories
  * Prefer use of "where" over filter
  * Go back to using toUnmanagedResults where applicable
  * Filter itemMetadatas once rather than twice when accessing in MaterialisedEnumerationObserver
  * Upgrade to NextcloudCapabilitiesKit 2.1.0
  * Increase default file chunk size to 100MB
  * Upgrade to NextcloudCapabilitiesKit 2.1.2
  * Use max chunk size provided in server capabilities (if available)
  * Use actual server default of 100 MiB, not MB
  * Add chunked upload capabilities info to MRI mock capabilities
  * Add test for use of server capabilities' chunk size in chunked upload
  * Add a test for use of fallback/default chunk size
  * Add option to force the chunk size in item creation
  * Fix chunked item create tests
  * Add option to force chunk size in item content modification
  * Fix chunked item modify tests by using forced chunk size
  * Remove unnecessary completion handler in setStatusForItemMetadata
  * Fix license in README
  * Replace apply with just taking metadata on init in DirectoryReadConversionActor
  * Mark completionHandler for thumbnailFetching as sendable
  * Make directory read NKFile to ItemMetadata conversion Sendable approved
  * Exclusively use SendableItemMetadata outside of the database manager
  * Only use sendable item metadata as argument/return type for public database methods
  * Rename ItemMetadata to RealmItemMetadata
  * Ensure more public db manager methods return sendable item metadata
  * Just use Item rootContainer method to get the root container metadata
  * When modifying property values of metadatas, declare the variable using "var"
  * Move Status and SharePermissions enum out of RealmItemMetadata
  * Allow return of nil in toDirectoryReadMetadatas
  * Split RealmItemMetadata and SendableItemMetadata
  * Rename RealmItemMetadata.swift to ItemMetadata.swift
  * Remove unused properties in ItemMetadata
  * Add default arguments for frequently placeholdered values in SendableItemMetadatata init
  * Use MockRemoteItem-s toItemMetadata where applicable
  * Make testing SendableItemMetadata constructor more convenient
  * Make FilesDatabaseManager sendable
  * Properly apply lock state values on conversion of MockRemoteItem
  * Apply more default values in sendableitemmetadata constructor, for locking
  * Further default arguments for SendableItemMetadata
  * Make lock related properties optional if no lock is available
  * Make chunkUploadId a nullable property
  * Make session related properties nullable
  * Add missing properties to ItemMetadata
  * Store share permissions cloud mesh
  * Mark RealmItemMetadata as internal
  * Use stable NextcloudKit version 5.0.4
  * Update Realm to 20.0.1
  * Fix build on non-macOS platforms, do not use unavailable type
  * Ensure File Provider change notification interface is signalling enumerator correctly
  * Remove overly-verbose unneeded realm refresh logging
  * Log more when using polling for changes
  * Start and stop polling timer on main thread
  * Use dispatch source timer for polling timer instead
  * Use scheduled timer in main actor
  * Default to setting uploaded state to true in enumerated metadatas
  * Workaround incorrectly enumerated items' uploaded state
  * Log uploaded/downloaded state for added item metadatas
  * Expose download state in userInfo for fp items
  * Add tests for userInfo downloaded state
  * Also set uploaded state correctly for NKTrash items
  * Set uploaded state to true for trash and root containers
  * Set uploaded to true for MockREmoteItem conversions
  * Formatting in NKFile extension
  * Test uploaded state in enumeration
  * Let-ify some unchanging vars in enumerator tests
  * Verify uploaded state in item fetch tests
  * Require passing dbManager into Item, do not provide default within Item
  * Remove db manager singleton
  * Require passing account into FilesDatabaseManager
  * Migrate to using per-account databases
  * Make database relative path customisable
  * Fix creation of migrated files by using Realm.create instead of Realm.add
  * Add test for migration from old unified database file to separate database files
  * Remove trailing comma in FilesDatabaseManager init arg
  * Do not delete old values when migrating to per account db
  * Only attempt migrate if the per account db does not exist
  * Fix test behaviour to ensure non-destructive migrate
  * Test database not being migrated twice
  * Split up various item metadata types into own files
  * Add starter IgnoredFilesMatcher
  * Add test for IgnoredFilesMatcher
  * Fix handling of paths in IgnoredFilesMatcher
  * Add ignored files handling into item creation procedure
  * Add test that creation of ignored file is not propagated
  * Add ignored files handling to deletion procedure
  * Add test for ignored file handling in deletion
  * Ensure created ignored files are not marked as uploaded
  * Add ignored files handling into item creation procedure
  * Add test for ignored file handling in item modification
  * Fix parsed filename in mock remote interface
  * Add test for mock remote interface correct handling of uploaed filename
  * Handle modified item that is no longer in ignore list
  * Add test for handling of now unignored modified item when contents url is provided
  * Be better about filling out metadata upon file creation
  * Be more careful with setting download state post-creation
  * Add option to enforce keeping existing download state during database metadata update
  * Expand item update database testing
  * Ensure downloaded state is respected during enumeration
  * Also check download state when handling now unignored modified files
  * Properly get all existing account items in update item metadatas procedure of FilesDatabaseManager
  * Test correct directory update metadata procedure in db manager
  * Add test checking items in transit are not updated
  * Add test checking items that are remotely deleted are propagated to in transit items too
  * Clear up my own confusion regarding what db manager's updateItemMetadatas does (I had forgotten) and fix it
  * Move modification of unuploaded files to own method
  * Move ignored file creation to own file
  * Upgrade to Xcode 16.2 in CI
  * Add function to check if a filename is for a lock file
  * Add function to get the original file's filename from a lock file filename
  * Add setLockStateForLockFile for RemoteInterface
  * Handle lock files in item creation step by instead locking the target file
  * Clean up original filename function declaration
  * Store a metadata of a lock file
  * Add test for lock file creation handling
  * Unlock target file on lock file deletion
  * Add test for lock file deletion handling
  * Make sure to correctly handle metadata deletion for lock file deletion
  * Reformat mock capabilities, add locking
  * Do not attempt to lock file on lock file creation if locking not in capabilities
  * Do not attempt to unlock file on lock file deletion if locking not in capabilities
  * Add test for lock file creation not handling locking when capabilities unavailable
  * Add test for lock file deletion not handling unlocking when capabilities unavailable
  * Verify that upload state for lock file is false
  * Prevent trashing of lock files
  * Test that lock file items are untrashable
  * Do not do anything when lock file is modified
  * Test nothing is done when lock file is modified
  * Move lock file creation handling to own static method
  * Handle progress in lock file creation
  * Fill in more of the metadata for the lock file
  * Fix visibility of create methods
  * Move lock file deletion to separate method
  * Properly handle lock file metadata modification
  * More completely test lock file modification
  * Handle lock files no longer becoming lock files after modification
  * Test handling of lock file no longer becoming a lock file
  * Fix AccountTests declaration
  * Fix AccountTests wrongly checking for user instead of userId in various URLs
  * Add URL extension to make it easy to get a nice sanitised filename from a given url
  * Add a convenience filename property to account
  * Test safe filename generation from URL
  * Ensure user ID is also sanitised for filename
  * Test filename is properly sanitised for account
  * Take account into db manager constructor, use expected account strings internally
  * Clarify nil capabilities-related messages
  * Modify NextcloudKit remote interface adapter into a full class
  * Now that we can do so, define delegate as a proper property
  * Add capabilities as property of RemoteInterface
  * Return Capabilities directly via the fetchCapabilities method of remote interface
  * Cache fetched capabilities
  * Add currentCapabilities method to remote interface
  * Use currentCapabilities instead of fetchCapabilities internally
  * Address capabilities change in logging
  * Revert "Cache fetched capabilities"
  * Revert "Add capabilities as property of RemoteInterface"
  * Revert "Now that we can do so, define delegate as a proper property"
  * Revert "Modify NextcloudKit remote interface adapter into a full class"
  * Reimplement stored capabilities by using a global actor
  * Add some more logging when locking files due to lock file
  * Check for lock file modification before doing ignored files check
  * Comments on not working
  * Add method to get local URL for contents of an item if possible
  * Use item's localUrlForContents in modifyUnuploaded
  * Try to handle the system requesting a fetch of a lock file
  * Notify system with excludedFromSync if possible for lock files
  * Do not mark ignored/lock files as deleted after enumerating remote state
  * Fix privacy of lock file logging component
  * Set proper uploaded/downloaded state where relevant in FilesDatabaseManagerTests
  * Add test for proper handling of unuploaded items during depth1 update handling
  * Check for correct error types in item create and modify tests involving lock files
  * Emit excludedFromSync error when modifying ignored file
  * Rename modify unuploaded method to more accurately describe its task
  * Improve logging in createUnuploadedRemotely
  * Add modifyUnuploaded method that just modified items locally
  * Use modifyUnuploaded in modifyLockFile
  * Move createUnuploaded to own file
  * Check for correct error type in item modify tests for ignored files
  * Return correctly modified item when modifying ignored item
  * Fix crashing in MockRemoteInterfaceTests by ensuring remoteInterface is retained
  * Inform system if an item is shared
  * Inform system if file is shared by current user
  * Try to inform system of shared file owner's name
  * Ensure isSharedByCurrentUser only true when isShared is true
  * Use more widely available person name formatter approach
  * Add ShareType enum matching Nextcloud values
  * Add test for item shared-related properties
  * Use more representative error when failing to get enumerator for bundle contents
  * Properly build noSuchItem error during fetches
  * Properly build noSuchItem errors during modifications
  * Properly build noSuchItem errors during thumbnail fetching
  * Properly build noSuchItem errors during item deletions
  * Improve error reporting around item creation
  * Also handle collision in NKError conversion
  * Correctly build no such item error in enumeration
  * Just rely on fileProviderError for collision related errors
  * Add fileProviderError function that handles errors that involve noSuchItem
  * Use proper noSuchItem construction where relevant in item fetch
  * Use proper noSuchItem construction where relevant in item deletion
  * Use proper noSuchItem construction where relevant in enumerator
  * Keep account property for database manager
  * Add NKError adapter to handle collision errors
  * Build collision errors properly in creation step
  * Build collision errors properly during modification
  * Properly account for (non-error) collision errors during bundle create/modify
  * Update README with correct error construction
  * Collapse lock file files into one
  * Collapse unuploaded files into one
  * Rename ignored file
  * Move trashing procedures to own file
  * Split delete method for readability
  * Explain trashing in delete method
  * Add a synchronous currentCapabilities method to RemoteInterface
  * Only allow trashing when capabilities show trashing is enabled
  * Check if trashing is enabled in the server capabilities before attempting trashing during modify
  * Check for trashing support in server via capabilities before trying to enumerate trash
  * Return directoryNotEmpty error when attempting non recursive delete of non-empty directory
  * Add test for failure on non-recursive delete on non-empty dir
  * Add test for item trashability when trash disabled in capabilities
  * Add test to check trashing fails when trash is not present in capabilities
  * Add test for expected fail of trash item enumeration when no trash in capabilities
  * Add test for trash change enumeration fail when trash is missing in capabilities
  * Fix isComplete not being marked as true when enumeration finishes with error
  * Add ability to mark metadatas as keepOffline
  * Change contentPolicy depending on keepOffline for Item metadata
  * Add method on item to toggle keep offline
  * Add convenience toggle keepOffline method
  * Add error related properties to files database manager
  * Move keepOffline database method to own file, make throwing
  * Use database's keepOffline setter method
  * Add test for set keepOffline in database manager
  * Change downloaded userInfo state to displayEvict, do not set to true if keepOffline is true
  * Add userInfo entries for displaying keep offline enable/disable actions
  * Add test for impact of keepOffline on displayEvict userInfo prop
  * Add test for keepOffline related userInfo properties
  * Add test for contentPolicy of items
  * Rename keepOffline to keepDownloaded
  * Do not try to evict an item on disabling keep downloaded
  * Log NKError's error description
  * Constify unmodified rootMetadata value
  * Unconstify manipulated NKFile variables
  * Do not enumerate server-side MS Office/LibreOffice lock files
  * Add test checking no enumeration of lock files
  * Use better fileId based thumbnail endpoint
  * If available, use safer URL-based thumbnail url construction
  * Simplify thumbnail url constructions
  * Add test for item metadata thumbnail url
  * Add method to begin implementation of attempt invalid parent item identifier mitigation
  * Make concurrent chunked array processing methods throwing by default
  * Add convenience method to easily generate errors for files database manager
  * Add errors for parent metadata not found
  * Throw error in sendable item metadata conversion when parent item metadata not found
  * Adapt to db error changes
  * Attempt handling of invalid parent item identifier when enumerating
  * Remove unnecessary double-fetch of parent directory metadata
  * Add fallback method in db manager that remotely retrieves parent item metadata if necessary
  * Add test for db manager parent item identifier procedure with fallback
  * Improve error handling and logging around invalid parent recovery in enumerator
  * Add enumerate file test with missing parent in database
  * Some more comments and logging in enumerator invalid parent handling
  * Use fallback parent item identifier method during trashing
  * Use parent item identifier with fallback method during item fetch
  * Make stored item retrieval async to leverage fallback parent item identifier method
  * Rectify logging in sendable item metadata array conversion
  * Purge currentCapabilitiesSync
  * Add convenience remote interface extension func to get if remote interface supports trash
  * Add bypass method to mock interface to directly, synchronously acquire capabilities
  * Require MockRemoteInterface in MockEnumerator
  * Require providing if remote supports trash in Item constructor
  * Properly set up realm in Item property tests
  * Add tests for trashability properties when using Item.storedItem
  * Prevent concurrent capabilities checks for a given account, instead wait for ongoing requests to finish before proceeding
  * Standardise current capabilities implementation
  * Move capabilities actor into its own file
  * Add tests for RetrievedCapabilitiesActor
  * Upgrade to NextcloudCapabilitiesKit 2.3.0
  * Add reset method to retrieved capabilities actor
  * Add test suite for the remote interface extension methods
  * Fix CI nitpick failing the entire pipeline
  * Return AFDataResponse from enumerate in remote interface
  * Add EnumeratorPageResponse
  * Add EnumeratorPageResponseTests
  * Add convenience NKRequestOptions extension for paginated requests
  * Provide some form of valid response data for MockRemoteInterface enumerate request
  * Give Enumerator's readServerUrl ability to perform paginated propfind
  * Perform paginated enumeration
  * Properly implement pagination support in MockEnumerationObserver
  * Implement pagination simulation in MockRemoteInterface
  * Do not pass in NSFileProviderPage default pages as NC pagination tokens
  * Make enumerator page item count customisable
  * Better track page count in mock enumeration observer
  * Fix expected state of mock enumeration observer
  * Fix page item count in response for mock remote interface
  * Properly handle paginated reads in enumerator read methods
  * Add test for paginated enumeration
  * Add warning comment
  * Purge fast enumeration
  * Extract paged read result handling into separate method
  * Handle infinite depth paged read results
  * Perform full depth enumeration for working set
  * Fix now invalid error type with latest NextcloudKit
  * Upgrade to NextcloudKit 6.0.9
  * Fix MockRemoteInterface paginate total returned
  * Add userInfo entry for items if they are shareable
  * Add test for displayShare in userInfo of Item
  * Add init to EnumeratorPageResponse for next server url to scan
  * Nuke enumeration listening
  * Enumerate items for working set on a depth 1 basis, implement queue system and custom pagination tokens for this
  * Apply serverUrl at the object instance level if necessary in enumerator when handling working set folders
  * Add assert checking for used indices in mock remote interface paginated propfinds
  * Add new tests for paginated working set enumeration
  * Add further tests for non-working set enumeration
  * Apply pageNum directly onto object property
  * Properly handle all aspects of permissions in relation to item capabilities
  * Add further tests for permissions and their effects on capabilities of items
  * Use formUnion rather than insert for capabilities set
  * Avoid repetition of metadata.lock check in each if
  * Retain download state for paginated enumeration target too
  * Maintain download state for paged enumeration target directory
  * Add convenience method to check match with a given url string for an NKFile
  * Properly handle root metadata in paged read results handling
  * Match expected empty name for root items received from real server in MockRemoteItem
  * Ensure root item is not enumerated in paged enumeration test
  * Ensure root container URL is not treated as a file during initial paginated read
  * Add test for follow up pagination handling
  * Add test for paged read results handling
  * More carefully guard against the returned root folder NKFile returned after server url read
  * Match mock remote item root item filename to NKFile for it
  * More NKFile handling for root directory
  * Add some additional logging around pagination
  * Log if added item metadata is a directory or not
  * Log page
  * Add further logging around next page behaviour
  * Add logging to enumerator page response
  * Log page information in the enumerator's readServerUrl
  * Log nil page token in enumerator
  * Further enumerator page response logging
  * Further log next page state through enumerator
  * Fix log typo
  * Log the specific error occurring during auth check
  * Only instantiate logger once in NextcloudKit RemoteInterface
  * Add conformity to Codable for EnumeratorPageResponse
  * Add next server URL and server url queue properties to page response struct, make token optional
  * Move all pagination related state into a JSON-encoded representation of the EnumeratorPageResponse
  * Add ability to independently enumerate a single page on MockEnumerationObserver
  * Add test for paginated enumeration using separate enumerator instances
  * Give soft non-error return when handling case where server provides no items
  * Count on total to stop making paged requests to server
  * Add toggle to MockRemoteInterface to imitate buggy real server behaviour
  * Add test to check handling of empty remote page return
  * Remove codecov from workflow
  * Pin NextcloudKit to 6.0.9
  * Add materialisation-relevant property to item metadatas for folders
  * Add method to retrieve all materialised items from database
  * Add method to test retrieval of all materialised files from database
  * Observe both newly unmaterialised and newly materialised items
  * Fix visitedDirectory state in conversions to RealmItemMetadata
  * Check corrected state in FilesDatabaseManager
  * Add logging to MaterialisedEnumerationObserver
  * Improve tests for MaterialisedEnumerationObserver
  * Log visitedDirectory state
  * Modify readServerUrl to mark directories as visited where relevant AND TO RETURN TARGET ITEM
  * Amend Item fetch behaviour to account for new readServerUrl behaviour
  * Amend Item pakcage/bundle modify to account for new readServerUrl behaviour
  * Modify database manager handling of depth 1 read and account for readServerUrl changes
  * Make MockRemoteItem versionIdentifier modifiable
  * Return 404 when enumerating non-existent item URL in MockRemoteInterface
  * Modify working set enumeration to only return materialised items
  * Modify change enumeration for working set to only check for materialised items
  * Remove unused recursive scan components from sync engine
  * Remove unused components of EnumeratorPageResponse
  * Address readServerUrl related changes in enumerator tests
  * Avoid scanning materialised children of materialised parents we have confirmed have no updates
  * Imitate NextcloudKit behaviour in MockRemoteItem conversion to NKFile
  * Try to clean up received path a bit in MockRemoteInterface
  * Prevent bad trimming of serverUrl for root item in MockRemoteItem conversion to SendableItemMetadata
  * Fix up mangling of root container metadata performed by NextcloudKit
  * Ingest metadata for the root container
  * Do not create fake root metadata for working set enumeration
  * Exclude root container from child metadata change calculation
  * Fix sorting of filenames
  * Improve deleted metadata log formatting
  * Mark moved metadatas as updated and not deleted in working set change enumeration
  * Explain optimisation with examined urls
  * Also catch non-bungled root metadata metadatas
  * Make sure to check for root container metadata after changing target ocId
  * Make chunkedConcurrentMap compatible with all random access collections
  * Ensure we do not repeat the target metadata in the child metadatas during nkfile conversions
  * Add tests for nkfile conversions
  * Move root correction to nkfile conversion
  * Add test verifying directories enumerated as files is server bug
  * Quickly and dirtily disable pagination
  * Add syncTime and deleted properties to item metadata
  * Add method to get items modified since a given date in files database manager
  * Add test for database pending working set changes database method
  * Return all modified items since sync anchor date for changes enumeration
  * Do not actually delete deleted metadatas
  * Use simpler syntax for going to last array index
  * During depth 1 read handling, mark deleted files as deleted
  * Fix changed folder enumerator test
  * Adapt FIlesDatabaseManagerTests to deleted item changes
  * Add passable anchor to enumeate changes in mock change observer
  * Amend testWorkingSetEnumerateChanges to test current behaviour of working set
  * Perform a check of the working set's items via the remote change observer
  * Implement tests for new behaviour in remote change observer
  * Store deletion state in db
  * Assert database state in remote change observer test
  * Expand remote change observer detected change test
  * Add more logging regarding parent missing in enumerator
  * Add sync anchor logging
  * Complete change enumeration with correct sync anchor
  * Add more logging to remote change observer change calculation
  * Log sync time on items
  * Mark items as deleted, do not delete actual db items
  * In pending working set changes also return children to updated/deleted folders
  * Improve testPendingWorkingSetChanges
  * Improve new item metadata creation during update logging
  * Ensure sync time is updated during deletion
  * TEMP: Debug logging
  * Properly handle root item server url
  * Fix handling of visitedDirectory state
  * Handle deleted files properly in pending working set retrieval
  * Ensure marking of deleted files in depth1 handling
  * Fix crash from improper metadata modification
  * Fix tests to conform to new item metadata deletion approach
  * Improve testPendingWorkingSetChanges
  * Test for updated sync time on deleted item during remote change observation change check
  * Test for visitedDirectory state in enumerator tests
  * Add method to invalidate the RCO
  * Use weak self in websocket reconnect task
  * Also handle invalidation after server read
  * Ensure unchanged directories don't get examined even if they are materialised
  * Add RCO optimisation test
  * Remove duplicate dbManager from RCO tests, just use one
  * Target item should be enumerated
  * Do not check page count in enumerator tests
  * Retain keep downloaded state when metadata updates are done
  * Test that keepDownloaded is kept on depth 1 read handling in db manager
  * More database keep downloaded checks
  * Add test for keepDownloaded returned on enumeration
  * feat: Use upstream extra cmake modules
  * fix: Mark nextcloudcmd as non gui executable
  * fix: Fix ecm_add_app_icon calls
  * fix: Update upstream URL for Extra CMake Modules

  [ Rello ]
  * Update README.md to the new repo name
  * fix: use NOT for account migration option
  * chore: New Files according to design team
  * chore: Update REUSE.toml
  * feat: Add Busy status icon handling in UserStatus
  * Modify theme paths in REUSE.toml
  * Update branding option for state icons
  * Update theme.qrc.in
  * Create state-warning.svg
  * Add files via upload
  * Create state-warning.svg
  * Add files via upload
  * Create state-warning.svg
  * Add files via upload
  * Update theme.qrc.in
  * Delete theme/neutral directory
  * Remove 'neutral' from STATE_ICONS_COLORS
  * Update REUSE.toml
  * Refactor branding logic for state icons
  * Add files via upload
  * Add files via upload
  * Add files via upload
  * Update theme.qrc.in resource file structure
  * Fix layout and color for CurrentAccountHeaderButton
  * Refactor UserLine.qml for layout and accessibility
  * Change folder state indicator background color to white
  * Update Sharee Type enum to include Team
  * Change Circle type to Team in sharee.cpp
  * Rename TypeCircle to TypeTeam in ShareType enum
  * Rename 'Circle share' to 'Team share' in Localizable strings
  * Update NKShare+Extensions.swift
  * Replace circleShare outlet with teamShare outlet
  * Replace ShareTypeCircle with ShareTypeTeam
  * Update shareeTypes to include 'teams'
  * Update share type checks to include Team type
  * Modify Sharee type handling in testshareemodel
  * Replace Share::TypeCircle with Share::TypeTeam
  * Rename circleShare to teamShare in ShareOptionsView
  * Modify shareeTypes to include 'circles'
  * fix scrollbar
  * Add files via upload
  * Delete theme/white/neutral directory
  * Add files via upload
  * Delete theme/black/neutral directory
  * Add files via upload
  * Add files via upload
  * Add files via upload
  * Delete theme/colored/neutral directory
  * Add files via upload
  * Update CMakeLists.txt
  * Update REUSE.toml
  * Rename 'circle' case to 'team' in ShareType
  * Update BUG_REPORT.yml to warn about sensitive data
  * Remove folder state indicator from TrayFoldersMenuButton
  * Change encryption message icon to info icon
  * Add files via upload
  * Update paths in REUSE.toml annotations
  * Add info.svg to theme.qrc resource file
  * Add files via upload
  * Add files via upload
  * Update theme.qrc.in
  * Update REUSE.toml
  * Update activitylistmodel.cpp
  * fix: Vinding loop detected
  * fix: log - BasicControls for better customization.
  * bugfix: deprecation warning
  * fix: Add writing capability for directories with CK permission
  * Neutral folder state icons
  * Add folderStateIcon method to theme.h
  * Update folderstatusmodel.cpp
  * Refactor folderStateIcon and remove folderDisabledIcon
  * Remove folderDisabledIcon property from theme.h
  * Refactor folder status icon logic for clarity
  * Remove folderDisabledIcon from theme.h
  * Update folderstatusmodel.cpp
  * Add new themed icons for various statuses
  * Add neutral icons for in-app status
  * Update sync icons for various sync states
  * Add methods for offline, ok, error, sync, pause, and warning icons
  * fix: restore user status message type import
  * fix: correct emoji button bindings
  * fix: show account label in tray hover
  * Refactor addAccountButton properties for icon sizing
  * fix: remove "nextcloud" from debug log filenames
  * Neutral sync icon in VFS sync status
  * fix: Update minimum supported Nextcloud server version to 20
  * fix(typo): Fix typo in debug log message for original file
  * fix: activity tray is not refreshed
  * fix: Re-establish connection for systray mono icons
  * fix: align qml value type registration with lowercase names
  * fix(log): Improve log messages for client status reporting
  * Change log level from warning to debug for timestamps
  * fix(creds): Handle server maintenance error in flow2auth
  * fix(wizard): Reset error label on status update
  * Implement signing for Sparkle Installer and Autoupdate
  * Update version to 5.0.0 alpha and year to 2026
  * Escaping various strings
  * Escape filenames in deletion confirmation message
  * Escape file name in error message for opening file
  * Escape warnings and folder path in folderwizard
  * Update owncloudsetupwizard.cpp
  * Escape host in SSL error message for security
  * Escape display path using Utility::escape
  * Update usermodel.cpp
  * Update usermodel.cpp
  * fix: Enhance update status message for valid subscriptions
  * Update generalsettings.cpp
  * fix: Change destination encoding to percent encoding
  * Update testchunkingng.cpp
  * Add directory creation and file insertion in test
  * string concatenation issue
  * adjust update text
  * fix: respect auto update toggle on macOS
  * feat: show tray sync warnings for errored accounts
  * refactor: drop automatic bandwidth calculations
  * adjust test
  * fix int()
  * fix: align global tray warning with account status
  * fix: correct tray warning banner braces
  * fix: refresh global warning when tray opens
  * fix: move tray warning banner above search
  * fix: move sync error indicator into account row
  * fix: simplify tray warning banner presentation
  * change color to red
  * change status backgrounds
  * remove status background in the header
  * header back to white frame around user status
  * statis icon frames
  * color fix
  * Add parentBackgroundColor to UserLine component
  * color fix
  * color fix
  * fix: use branded user agent for flow v2 login request
  * namespace correction
  * background color of the online status icon
  * feat: add assistant tray prompt
  * fix: align connection settings background
  * fix: send assistant chat history
  * fix: avoid overriding assistant loader implicit height
  * fix: include assistant system prompt
  * fix: always send assistant history
  * fix: send assistant history as json list
  * make the role in normal coloring
  * Assistant conversation bubble
  * Assistant UI to icon
  * Add signal for featured app button click
  * Remove NcAssistant feature check from user model
  * Refactor history handling in ocsassistantconnector
  * Re-add AI input field
  * Refactor clearAssistantResponse for better clarity
  * Restore MainWindow.qml file with original content
  * Restore original MainWindow.qml content
  * Featured icon will become AI-only icon
  * featured icon will become AI only icon
  * scrollbar adjustment
  * no auto scrolling required
  * hide other warnings when AI is active
  * Refactor MainWindow.qml for improved structure
  * make AI Text select-able by mouse
  * align scrollbar
  * Layout fix
  * Add files via upload
  * add send button
  * better reset dialog
  * Update MainWindow.qml
  * Update usermodel.cpp

  [ Iva Horn ]
  * fix(ios): compiler errors and build.
  * Added logo to README as existent in NextcloudKit and SwiftNextcloudUI packages.
  * fix: Added Package.resolved to .gitignore
  * feat(doc): Xcode documentation catalog with deployment to GitHub pages.
  * fix(tests): Replaced constant time delays with expectations.
  * feat(doc): Added documentation about the special handling of lock files created by third-party apps.
  * feat(doc): Another small method documentation block comment.
  * fix(doc): Correct Xcode scheme to build documentation from.
  * fix(doc): Correct hosting base path.
  * fix(doc): Suggested fix by GitHub Copilot.
  * fix(doc): Fixed case of hosting base path for documentation.
  * feat(doc): Added root redirect.
  * feat(mac-crafter): Added time measurement of build phases to improve on.
  * feat(l10n): Set up string catalogs for file provider and file provider UI extensions.
  * fix(doc): Extended logged information about file provider domains.
  * fix(l10n): Enabled localization of additional text in macOS file provider.
  * feat(l10n): Enabled macOS file provider localizations available in Transifex.
  * fix(shell_integration): Added Package.resolved of NextcloudIntegration project to version control.
  * fix(mac-crafter): Do not strip get-task-allow entitlement from developer builds of extensions during code signing.
  * feat(logger): Also log to stderr (appears in Xcode) from macOS debug builds.
  * fix(l10n): Deleted all AI translations for file provider for one time upload to Transifex to prepare proper community translations.
  * fix: Do not report file provider items as shared.
  * fix: Updated NextcloudFileProviderKit reference.
  * fix: Ensure existence of required file provider extension database directory.
  * fix: Use dedicated container of file provider extension bundle for application support data like database files.
  * fix: Not creating unnecessary "Database" subdirectory in file provider extension container.
  * fix: Updated NextcloudFileProviderKit reference to include change of database file location.
  * feat: Dedicated directories for file provider domain support files.
  * fix: Updated NextcloudKit dependency to version 7.1.3 and updated file headers to comply with REUSE policy.
  * fix: Updated NextcloudFileProviderKit reference.
  * feat: Implemented reauthentication in file provider UI extension (#8617).
  * fix: Disabled interceptor for authentication attempt.
  * feat: NextcloudKit update and UUID db names.
  * feat: Configured NextcloudKit based on file provider domain identifier.
  * fix: Added clearance of NextcloudKit account error state on injection of credentials.
  * fix: Initial file provider domain status in settings window.
  * feat: Replaced Unified Logging System with Custom Solution.
  * feat: Replaced Unified Logging System with Custom Solution.
  * feat: Supporting file lock types.
  * feat: Updated NextcloudFileProviderKit reference to 7.1.5
  * feat: Updated NextcloudFileProviderKit reference.
  * feat: Improved logging of file provider extension implementation.
  * fix: Lock file handling.
  * feat: Nextcloud Developer Build from Integration Project
  * fix: Source mapping for extensions in Xcode debugger.
  * fix: Improved one logging call.
  * fix: Updated NextcloudFileProviderKit reference.
  * fix: Updated NextcloudFileProviderKit to 3.2.1
  * fix: Added some macOS-specific items to .gitignore
  * feat: Branded file provider extension SF Symbol.
  * feat(file-provider): Integrated localizations from Transifex.
  * fix: Log details.
  * fix: Moved isLockFileOfLocalOrigin.
  * fix: Retaining the lock token during synchronization.
  * fix: Adapting to the changes of c0ee0c3 in NextcloudKit.
  * fix: Maintaining associated lock data.
  * fix: Refactored logging calls in Item+Modify.swift
  * fix: Conditionally adding HTTP header for token lock.
  * fix: Capabilities and file system flags taking token lock into account.
  * fix: Refactored logging calls.
  * fix: Code readability improvements.
  * fix: Retain lock token during metadata updates from remote.
  * fix: Accept lock file modifications without returning a semantically incorrect error.
  * fix: Unit tests.
  * fix: Correct value for logging details.
  * fix: Restored removed property initializer for lock token.
  * fix(file-provider): Updated logging calls in extension implementation.
  * fix(file-provider): Updated NextcloudKit and NextcloudFileProviderKit dependencies.
  * fix: Log only account identifier instead of the whole struct.
  * fix: Directory enumeration.
  * fix: Updated NextcloudFileProviderKit reference to 9d3a90e
  * fix: Added missing log formatting support for Date and URL.
  * fix(file-provider): Updated dependencies.
  * fix: Updated documentation.
  * fix: Removed dead code.
  * feat(logging): Added support for NSFileProviderRequest.
  * feat(file-provider): Updated NextcloudFileProviderKit from 3.2.5 to 3.2.6
  * feat: Introduced SwiftFormat.
  * feat: Applied SwiftFormat.
  * fix: Resolved Xcode code warnings.
  * fix: Exclude lock files from synchronization in case server is missing the required capability.
  * fix(file-provider): Updated dependencies.
  * fix(file-provider): Updated dependencies.
  * fix: Removed redundant NextcloudCapabilitiesKit reference from Xcode project.
  * fix(file-provider): Updated dependencies.
  * fix(swiftformat): Enforced omission of trailing commas.
  * feat: Logging NSFileProviderRequest.
  * fix(file-provider): Adjusted log level of a less important message to debug.
  * fix(file-provider): Updated dependencies.
  * fix(file-provider): Removed obsolete settings features in main app.
  * fix: Crash when disabling file provider for account with UUID as name.
  * chore: Added "gui" source code folder to Xcode project.
  * fix(file-provider): Fix #8914 by omitting the faulty NSFileProviderRequest argument on enumerator request.
  * chore: Changed casting switch in unified logging implementation.
  * fix(file-provider): Missing application of localized strings to share user interface.
  * fix(file-provider): Pulled updated localizations from Transifex.
  * fix(file-provider): Added missing translation keys to catalog.
  * chore(file-provider): Removed obsolete README section.
  * fix(file-provider): Share permissions.
  * fix(file-provider): Updated dependencies.
  * fix: NextcloudKit compatibility.
  * fix(file-provider): Dependency update.
  * fix(l10n): Update translations from Transifex
  * feat(file-provider): Include Realm databases in debug archives (close #9007).
  * fix: Metadata lookup for items with hashtag in name.
  * fix: Tests.
  * chore(file-provider): Updated dependencies.
  * fix(file-provider): Fix button title in item locking user interface.
  * chore(file-provider): Improved locking overlay layout in Finder.
  * fix: Do not compare item lock property like it is an optional.
  * fix(file-provider): Legacy extension folder cleanup.
  * fix: Added missing handling of root container identifier in enumeration of materialized items.
  * chore: Applied SwiftFormat.
  * fix: Tests.
  * chore: Applied SwiftFormat.
  * chore: Pinned NextcloudKit dependency to 7.2.2 for now.
  * chore: Removed unnecessary convenience property.
  * fix: Compiler warnings about Swift 6 compatibility and Sendable conformance.
  * chore(macOS): Replaced "gui" with "src" folder reference in Xcode project.
  * fix(file-provider): Root container enumeration to process remote updates correctly.
  * chore(file-provider): Dependency updates.
  * chore: Updated comment.
  * chore: Updated NextcloudKit dependency to version 7.2.3.
  * feat: Migrated to Swift 6.2
  * fix: Updated GitHub action job labels.
  * feat: Introduced REUSE compliance check.
  * fix: Removed code coverage collection from GitHub action.
  * fix: Updated NextcloudCapabilitiesKit dependency from 2.3.0 → 2.4.0
  * chore: Outsourced AuthenticationAttemptResultState and EnumerateDepth into dedicated source code files.
  * Work in progress: Required Sendable conformances.
  * fix: Tests.
  * chore: Applied SwiftFormat.
  * fix: Refactored failing test.
  * Fix: Resolving file provider services based on security-scoped URL access.
  * fix: Proper sandbox support.
  * fix(file-provider): Signal enumerator for working set after file (un)lock.
  * chore(file-provider): Moved NextcloudFileProviderKit into subdirectory.
  * fix(file-provider): Sync state for excluded lock files.
  * fix(macOS): Enforce valid app group identifier.
  * chore(macOS): Updated Xcode build settings.
  * fix(macOS): Updated signing settings for all targets.
  * feat(macOS): Enabled app sandbox and network client entitlements for main app.
  * fix(macOS): Relocated socket files into sandboxed containers.
  * fix(macOS): Added container migration manifest.
  * chore(macOS): Removed obsolete values from Info.plist
  * chore(macOS): Outsourced some build settings from Xcode project into file.
  * chore(macOS): Updated bundle identifier in Xcode project to Nextcloud.
  * chore(macOS): Creating build settings file on demand from template.
  * chore(macOS): Added default values to build settings file.
  * fix(macOS): NextcloudDesktopClientSocketKit signing.
  * fix(macOS): Added missing user selected read-write entitlement to main app sandbox.
  * fix(macOS): Writable check on debug archive destination directory.
  * fix(macOS): Accessing target of debug archive as a security scoped URL.
  * fix(file-provider): App group container lookup API change in NextcloudFileProviderKit.
  * fix(macOS): File provider path assembly for debug archive.
  * fix(macOS): Debug archive creation in a sandbox.
  * fix(macOS): Development team group identifier prefix.
  * fix(macOS): Defined "FileProviderUIExt" as target dependency to "desktopclient".
  * fix: Define default DEVELOPMENT_TEAM for main app.
  * fix: Restored NCFPKAppGroupIdentifier in main app Info.plist
  * fix: Fixed too long socket paths (max 104 characters).
  * chore(macOS): Made whole "src" instead of just "gui" folder accessible conveniently from Xcode.
  * fix(macOS): Synchronization folder selection.
  * fix(file-provider): Consolidated support and log directories.
  * chore(file-provider): Updated to NextcloudFileProviderKit 4.0.0
  * fix(macOS): Signing identity.
  * fix(file-provider): File provider domains reset on app sandbox migration.
  * chore(macOS): Xcode removed an orphaned reference from the project file.
  * fix(file-provider): Synchronous file provider domain removals.
  * chore(macOS): Removed obsolete compatibility switches for no longer supported macOS 11.
  * chore(file-provider): Logging improvements.
  * chore(file-provider): Renamed fileproviderdomainmanager_mac.mm to fileproviderdomainmanager.mm
  * chore(file-provider): Simplified FileProviderDomainManager.
  * fix(file-provider): Made addFileProviderDomain and removeFileProviderDomain synchronous.
  * fix(file-provider): Made findExistingFileProviderDomains synchronous.
  * chore(file-provider): Consolidated account to domain mapping.
  * FIXUP: Improved logging.
  * FIXUP: Removing domain completely.
  * FIXUP: Crash due to dangling pointer.
  * chore(file-provider): Improved logging.
  * fix(file-provider): Authentication calls via XPC by file provider domain identifier instead of account identifier.
  * fix(file-provider): Actually enable or disable file provider domain in settings.
  * chore(ci): macOS build and test action now uses latest macOS and latest Xcode.
  * fix(file-provider): Resolved circular object initializer dependency.
  * fix(CI): Disabling code signing for macOS by default.
  * chore(CI): Removed obsolete environment variables from CI.
  * feat(mac-crafter): Significantly accelerated signing with mac-crafter by signing whole bundles at once and concurrently.
  * chore(mac-crafter): Removed obsolete method argument.
  * chore(macOS): Replaced NextcloudFileProviderKit GitHub reference with local reference.
  * fix(macOS): Added missing reference to NextcloudFileProviderKit in FileProviderUIExt target.
  * chore(macOS): Removed references to no longer existing files in Xcode project.
  * chore(macOS): Migrated GitHub actions workflows of NextcloudFileProviderKit.
  * fix(CI): Updated NextcloudFileProviderKit trigger branch name.
  * fix(mac-crafter): Check for existence of a directory to remove before attempting to do so.
  * feat(mac-crafter): New logging.
  * fix(NextcloudFileProviderKit): Lowered Swift package version to 6.1
  * chore(mac-crafter): Added MARK comments for navigation.
  * fix(mac-crafter): Updated codesign command arguments.
  * fix(mac-crafter): Propagate signing verification errors.
  * chore(macOS): Added log messages to Craft.sh
  * fix(mac-crafter): Include dynamic libraries of frameworks directory in signing.
  * fix(mac-crafter): Include dynamic libraries from binaries directory in singing.
  * fix(mac-crafter): Removed parallelized code signing tasks.
  * fix(mac-crafter): Also sign nextcloudcmd in app bundle executables directory.
  * fix(mac-crafter): Also sign nextclouddevcmd in app bundle executables directory.
  * fix(macOS): Enabled hardened runtime in code signing.
  * fix(mac-crafter): Signing additional binaries.
  * fix(file-provider): Removed user option for trash deletion.
  * fix(file-provider): Trash enumerates only locally trashed items.
  * fix(macOS): Removed unnecessary headline in file provider settings.
  * fix(file-provider): Handle remote paths with special characters correctly.
  * fix(file-provider): Escape dots in display names (affects #7979)
  * fix(macOS): Explicitly allow insecure HTTP connections.
  * fix(file-provider): Report synchronization status through XPC.
  * fix(file-provider): Do not report an error for files excluded from synchronization.
  * chore: Updated AGENTS.md
  * feat(doc): Added first test case documentation.
  * fix(file-provider): Remote Change Discovery
  * feat(NextcloudFileProviderKit): Added testChildDirectoriesOfAnUnchangedServerDirectoryShouldNotBeEnumerated
  * chore(NextcloudFileProviderKit): Applied SwiftLint
  * fix(NextcloudFileProviderKit): Adaption to chunked upload API changes in NextcloudKit.
  * chore(NextcloudFileProviderKit): Applied SwiftLint
  * fix(l10n): Manually updated file provider extension translations from Transifex
  * chore(macOS): Moved TransifexStringCatalogSanitizer
  * fix(TransifexStringCatalogSanitizer): Improved error handling.
  * chore(NextcloudIntegration): Updated README.
  * feat(TransifexStringCatalogSanitizer): Added support for recognition of new keys.
  * feat(TransifexStringCatalogSanitizer): Added support for removal of stale keys.
  * fix(l10n): Updated file provider extension string catalogs
  * chore(NextcloudIntegration): Updated README.
  * fix(l10n): A typographic mistake found by Copilot
  * fix(l10n): Updated file provider extension string catalogs
  * fix(reuse): Updated REUSE.toml
  * fix(l10n): Always pull everything as it is from Transifex for file provider localizations.
  * fix(NextcloudFileProviderKit): Removed dead code and applied SwiftFormat
  * fix(file-provider): Also set up signals for legacy push support (#9428)
  * fix(macOS): Persistent access to security scoped synchronization folders
  * fix(file-provider): Preserve dirty user data on domain removal (#9417)
  * feat(file-provider): Added file, function and line information to logging in debug builds.
  * fix: Mention iOS and Android as irrelevant in AGENTS.md
  * chore(macOS): Increased NextcloudFileProviderKit requirement for macOS to 12.
  * feat(macOS): Added instructions to AGENTS.md which explain how to verify specific targets of the client still build successfully after source code changes.

  [ Jyrki Gadinger ]
  * chore: bump version to 3.17.50
  * fix(wizard): show VFS option during account setup when using a mac-VFS build
  * chore: remove useless "else if"
  * fix(msi): display external version string in installer
  * fix(macOS): fix initial VFS activation step
  * chore: remove obsolete and unused testfolder.cpp
  * fix(folder): use the remotePath for the sidebar display name
  * fix(macOS): report `Success` as the initial sync state for VFS
  * fix(cfapi): set up connections before requesting hydration
  * fix(cfapi): only log process info if it's present
  * fix(cfapi): check for valid ProcessInfo in cfApiFetchDataCallback
  * fix(msi): ensure the same ProductCode is used for embedded transforms
  * fix(wizard): avoid creating useless folders when setting up a VFS connection on Mac
  * fix(FileProviderExt): do not report syncing state when trying to delete trash items
  * fix(test): implement virtual method
  * fix(theme): add user-status-busy.svg to qrc
  * fix(ci): separate workflow for creating a PR comment for built AppImages
  * fix(ci): use correct parameter for fetching the PRs of a branch
  * ci(needsinfohelper): update usernames
  * ci(stale): align message and matching labels with nextcloud/server
  * ci(stale): simplify handling of needsinfo label
  * chore(deps): bump cpp-linter/cpp-linter-action from 2.16.0 to 2.16.1
  * ci(needsinfohelper): pin action commit to 1.3.0
  * fix(needsinfohelper): use correct not-equals operator in expression
  * fix(userstatusselector): avoid setting default emoji when only setting a message
  * feat(gui): inform the user about untrusted certs with HSTS
  * fix(FileProviderSyncStatus): disable rotation of status icon
  * feat(wizard): automatically set up macOS-VFS when available
  * fix(syncstatussummary): do not attempt to fetch VFS state for accounts without VFS enabled
  * fix(macOS): use correct ID for VFS enabled checks
  * fix(needsinfohelper): use correct single-quote string literals
  * chore: add @Aiiaiiio to CODEOWNERS
  * fix(build): allow building on macOS Tahoe
  * fix(usermodel): do not display quota warning if no quota is set
  * refactor(usermodel): clean up notification-related slots
  * refactor(activity): ensure activity IDs are int64
  * style(activitylistmodel): fix typos and remove unused lists
  * fix(activitylistmodel): avoid duplication of server notifications
  * chore(build): revert now-obsolete local workaround for builds on macOS 26
  * fix(test): return the canonical file path of the temp dir
  * fix(test): manually keep track of the canonical local path of tempDir
  * ci(macOS): split up jobs to allow retrying from a specific step
  * ci(macOS): do not abort entire matrix build if one job fails
  * ci(macOS): only check if the cache exists, no need to redownload it if it exists
  * fix(mac-crafter): use correct Craft parameter for appbundleless builds
  * chore(mac-crafter): default to `next` blueprint ref by default
  * fix(folderstatusdelegate): improve rendering of icons on HiDPI screens
  * chore(folderstatusdelegate): remove broken warning icon overlay
  * fix(gui): do not set fallback QML style ourselves
  * fix(NKFile+Extensions): prevent `__NC_ROOT__` from appearing
  * fix(asyncimageresponse): fetch remote resources in the same thread as Account
  * fix(filesystembase): log correct ACL errors
  * fix(test): adapt updated error message strings
  * chore: remove unused NCToolTip
  * fix(tray): use native tooltips when available
  * fix(tray): use Item popupType on Windows
  * fix(file-provider): report a different error if database is not ready
  * fix(discovery): remove extra check for valid server entry
  * fix(discoveryphase): remove additional setting of folderQuota
  * fix(quota): parse quota values from servers as double
  * chore: change the extra quota logging to debug level
  * chore: set xcode target to `Debug` only for dev builds
  * fix(tests): expect a different NSFileProviderError depending on availability
  * refactor(metadata): provide a single method for assembling the full remote path
  * chore(ci): use Xcode 16.3
  * fix: ignore directory listing entry for the iterated directory
  * fix(account): do not consider URLs with a trailing slash as public links
  * fix(network): fall back to unlimited bandwidth in case the legacy global limit is still set
  * fix(win32): embed correct app icons again
  * fix(file-provider): use correct FP domain identifier for sync status check
  * fix(vfs/cfapi): avoid creating invalid db entries when using a different sync root
  * style(filesystembase): use explicit *W function variant
  * fix(filesystem): use UNC paths in setFileReadOnly
  * fix(win32): ensure setting modtime works on longer path
  * refactor(filesystem): use QString::utf16 instead of creating a temporary std::wstring
  * fix(checksums): avoid crash on aborted checksum calculation job
  * fix(gui): initialise e2e()->account() from Account
  * chore(test): exclude AccountSettings test from CI/ctest runs when building a VFS client
  * fix(win32): use file handles for checking/modifying DACLs
  * refactor(win32): add specialised unique_ptr variants for HANDLEs and Win32 buffers
  * fix(download): allow highly compressed responses up to a known file size
  * chore: add test for response decompression threshold check
  * fix(win32): try to set ACLs without propagating them
  * chore: remove unused parameter
  * fix(win32): avoid displaying certificate warning on first connection
  * chore: remove undocumented socketapi commands
  * fix(socketapi): avoid crash when receiving invalid commands
  * chore(tests): remove obsolete source files
  * fix(tests): copy correct fixture
  * fix(checksums): wait for the checksum to be calculated before deletion
  * feat: support `notify_file_id` push notifications
  * fix: use prepared query for fileid presence check
  * chore: add test for fileId check via sync journal
  * chore: add test for syncing specific folders on fileid notification
  * chore(test): return more realistic oc:id/oc:fileid values in fake responses
  * chore(test): add test for receiving the root file ID during sync
  * style: drop const qualifier from qint64 arguments
  * chore(folderman): swap folder/account position in logs
  * style(pushnotifications): use more descriptive variable names
  * chore: remove unused build scripts
  * fix(accessmanager): manually handle redirects
  * refactor: move custom attribute to base class
  * fix: ensure redirect targets are trusted
  * chore(usermodel): remove redundant checks for nonexistent files
  * fix(usermodel): create a copy of the original notification errors list
  * fix(accessmanager): only handle manual redirects unless specified otherwise
  * test(updater): add test for redirect handling when downloading updates
  * chore: do not specify versions in link targets
  * fix(networksettings): get rid of uic warning
  * chore(test): use Qt::StringLiterals and clean up includes
  * fix(activitydata): use parameter validation regex from server
  * chore: remove now-unused qtsingleapplication sources
  * chore: use new appimage builder base
  * chore(mac-crafter): default to `master` blueprint ref by default
  * fix(tray): do not show sync error button when assistant is active
  * fix(tray): display assistant chat even if unified search is in progress
  * fix(utility): allow creation of fav links with paths containing spaces
  * chore(release): bump version to 32.0.50
  * chore: bump version to 33.0.0-rc1

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Josh ]
  * fix(logger): Set narrower permissions on temporaryFolderLogDirPath

  [ Matthieu Gallien ]
  * fix(db): optimize SQL qeury for updating encryption status
  * fix: better name for an enum value to make it easier to read the code
  * fix: rename enum FileInfo::Etags to get a more unique name
  * feat: checks Qt managed translations for tripple dots instead of elipsis
  * fix: catch exceptions when using std::filesystem APIs
  * chore: fix compilation by using an existing method
  * chore: force use of self hosted runners for sonarcloud workflow
  * feat(wizard): allow to set proxy settings when setting up a new account
  * feat(wizard): makes entering proxy settings feasible for new accounts
  * feat(wizard): improve design of new account wizard
  * feat(proxy): store and modify proxy settings for use with new account
  * fix: fix typo in dialog title
  * fix: ensure up to date proxy settings dialog when opening it
  * fix: ensure proxy settings are visible only when needed
  * chore: always produces systemd service and install it when possible
  * fix(logger): brings back crash dump on fatal log output
  * fix(windows): remove our hack to crash on windows for fatal logs
  * fix:(logs): add a missing category for one fatal log line
  * chore: modernize and clean bulk download job code
  * fix: remove bulk virtual file job code to dehydrate files
  * chore: remove deprectaed use of Q_REQUIRED_RESULT
  * chore: fix warning about implicit capture of this in a lambda
  * feat(vfs): add a new API to create a list of placeholders at once
  * feat(windows/vfs): use the new batch create API for placeholder files
  * feat(vfs/windows): use a single call to CfCreatePlaceholders for all
  * fix(nodiscard): remove duplicated nodiscard annotation
  * fix: handle errors when createPlaceholders report errors
  * fix(vfs/cfapi): skip inserting new placeholder items with invalid mtime
  * fix: fix small issues from review on bulk download job
  * fix: remove duplicated useless code in single item download job
  * fix: bulk download job is a child job, update state accordingly
  * chore(log): use proper log level when the Qt client side is disconnected
  * fix(vfs/windows): ensure new virtual files item have a proper status
  * feat(login): use stored credential user ID when authenticating again
  * fix(applicationName): ensure correct application name is shown to users
  * fix(accessibility): improve one accessibility title
  * fix(cloudprovider): add open main dialog action
  * fix: better user facing action name to open the client
  * fix(staticCodeChecks): fix warnings reported by clang or clazy
  * chore(encryption): remove unused qml component for certificate selection
  * fix(encryption): certificate discovery dialog will show full text
  * feat(craft): use newer craft blueprints and newer Qt version
  * chore: use a branch called next for upcoming release craft settings
  * feat(craft): use our next craft cache
  * feat(craft): straight go to Qt 6.9.2 for compatibility with newer macOS
  * fix(macOS): replace deprecated Q_OS_MAC by Q_OS_MACOS platform detection
  * chore(encryption): store account as a member of encryption class
  * feat(encryption/token): retry after error when new token init is needed
  * chore(encryption): better error detection for USB secure token
  * fix(encryption): destroy all pkcs#11 resources before the context
  * feat(vfs/folders): enable on demand fetch of folder content
  * feat(vfs/folders): enable on demand fetch of folder content
  * fix: once a folder has been populated, disable it
  * fix: code style fix
  * fix(vfs/folders): track state of folders using a new blacklist type
  * fix: makes sure we do fetch empty folders again
  * fix(vfs/folders-on-demand): do not black list virtual folders
  * fix(vfs/folders-on-demand): use proper item type for virtual folders
  * fix(vfs/windows): handle virtual directories as virtual directories
  * fix(vfs/windows): update folder type when populated
  * fix(vfs/windows): virtual folders are folders
  * fix(vfs/windows): properly update DB record when folder is not virtual
  * chore(vfs/windows): more logs for fetch placeholders callback
  * fix(vfs/windows): fix creation of items inside virtual folders
  * fix(vfs/xattr): fix compilation of vfs xattr experimental plug-in
  * fix(db): assert if we insert a DB record with empty path
  * fix(tests): ensure we do not access items in empty QList
  * fix(propagator): do not create invalid records when propagating
  * fix(vfs/discovery): do not recurse inside a virtual folder
  * chore(webdav): makes webdav proprty parsing code into reusable method
  * chore(db): do not create db records with invalid mtime
  * fix(vfs/windows): fix issues with folders on-demand DB records
  * fix(vfs): fix regressions with folders on-demand tests
  * chore(ci/linux): update the CI images for linux CI compilation and tests
  * chore(vfs/windows): log items pattern when fetching placeholders
  * chore(vfs/windows): expect failed tests on windows VFS
  * chore(vfs/windows): common method for WebDAV proprties list
  * chore: fix common issue with one wrong variable name
  * chore: simplify code
  * feat: allow usage of public link to shared folders as an account URL
  * fix: ignore Qt6 WebEngineCore PDB file that is too big for Wix Toolset 3
  * fix: fix syntax issues in main dialog to have it work again
  * chore: prepare for 4.1 release
  * fix(sync/publicShareLinks): fix public share link detection
  * fix: fix typo in log message
  * fix: do not show share ID for sidebar entries of public share links
  * fix(reuse): remove no longer needed BSD-2 license
  * fix(test/csync): make sure the test executable can be found to be run
  * fix: proper use of ecm_add_app_icon
  * chore(ci): use a docker linux image for CI which has extra-cmake-modules
  * chore: fix all occurence of range-loop-detach clazy warning
  * fix: folder delete/new conflict will be "delete"
  * feat(propagation): flexible way to configure special actions on items
  * chore: adjust logs level and clazy warnings for permanent deletions
  * feat(conflict): use local device trashbin for delete/new conflicts
  * feat(conflict): use local device trashbin for delete/new conflicts
  * chore(autotests): folders on-demand breaks the new test: skip it
  * chore(chunk-upload): always sent the total size header
  * fix(editLocally): properly handle URL for server installed in a suffix
  * fix(editLocally): fix modification parsing from WebDAV properties
  * fix(tests): ensure we compare remote state against local state
  * fix(vfs/windows): test cannot use currentLocalState() with virtual files
  * feat(update): allow to manually skip a pending update
  * chore(vfs/windows): add automated tests for folders on-demand
  * fix(vfs/windows): test for extra files being added when they should not
  * fix(vfs/windows): fix tests regressions with folders on-demand
  * fix(performance): fix a small performance issue
  * chore(vfs/windows): test migration from VFS to classic sync on windows
  * fix(vfs/windows): properly delete virtual folders to switch to classic
  * fix: avoid detecting permissions to be invalid on linux NTFS file system
  * fix: detect NTFS file system type to avoid permissions check
  * chore(logs): add an explicit log entry for the permissions test
  * chore: make the permissions reading compatible with windows API
  * fix: do not fetch user info twice during start of teh client
  * fix(encryption): allow encrypting a new folder if it was synced
  * fix(linux/crash): fix crash in cloud provider integration
  * fix(AppImage): include an extra library for nss3 to prevent a crash
  * chore(log): try to print the file name of the crash log
  * chore: use clazy static code checker to improve the code
  * chore: do not ignore returned value of KZip::open
  * fix(vfs/windows): we need all properties for new DB records
  * fix(windows): ensure proper path conversion on Windows
  * fix(windows): inode property may be missing for some entries: add it
  * chore(logs): use proper error lovel for encryption error: not info
  * fix(secureFileDrop): fix wrong conversion between or from base64
  * fix(logs): reduce verbosity when deleting a folder content
  * fix(logs): reduce verbosity when deleting folders on vfs Windows
  * fix(vfs/windows): avoid calling handleForPath without an existing file
  * fix(folderWatcher): do not print warnings for deleted files
  * fix(logs): only print changed path that we do not ignore
  * fix(logs): reduce log level for detected file system changes
  * feat(craft): update craft commit that we are using
  * feat(craft): select Qt 6.10.1 to build desktop client
  * chore: use Qt 6.9.3
  * feat(craft): makes use of the new stable 4.0 craft cache
  * feat(craft): add craftmaster target for linux amd64 gcc ABI
  * chore: use newer build image with Qt 6.9.3 release as expected
  * chore: fix unity build for AppImage
  * chore: use hash instead of version for github actions
  * fix(debugArchive): ensure proper path for destination file name
  * fix(appimage): ensure more libraries are bundled in the AppImage
  * fix(AppImage): bundle OpenGL drivers in the AppImage
  * fix(AppImage): fix broken empty web engine rendering
  * chore: add platform name in about information
  * chore: pin correctly some github actions still using the old way
  * fix(AppImage): bundle less libraries to improve compatibility
  * fix(whiteIcons): fix state icons for white monochrome theme
  * chore: use std::make_unique to improve memory management
  * chore: makes CI use the proper craft settings with all dependencies
  * feat(singleInstance): switch to use KDSingleApplication
  * chore: sets the python custom path for clang tidy pr action
  * fix(clang-tidy): use newer CI image to fix clang-tidy CI check
  * chore: fix compilation for missing string literals
  * fix: use taskprocessing OCS API to submit prompt to AI
  * chore: properly handle completed tasks (success or error)

  [ Camila Ayres ]
  * fix(syncjournal): add folder quota bytes used/available columns to metadata table.
  * fix(syncfileitem): save folder bytes available and bytes used to database.
  * fix(discovery): check for db cached folder quota during discovery for some items.
  * test(syncenginetestutils): add function helper to set FileInfo::FileInfoQuota quota.
  * test(localdiscovery): add function for quota check from db when syncing.
  * refactor(quota): rename Quota struct to FolderQuota.
  * fix(quota): do not prevent upload when quota info are not available.
  * fix(quota): wrong conversion from bytes available to int64_t.
  * chore(quota): change log level and fix comment in test.
  * fix(quota): add constexpr property names and server entry valid enum to FolderQuota struct.
  * test(syncengine): add enum for Etags Validate/Invalidate.
  * refactor(abstractnetworkjob): rename var.
  * fix(abstractnetworkjob): display user friendly http errors.
  * fix(abstractnetworkjob): always display the user friendly error message.
  * style(owncloudpropagator): add {} to if else condition.
  * fix(discovery): use user friendly messages when server responses are not successful.
  * fix(TestDownload): update test to match new error string.
  * fix(TestRemoteDiscovery): extend the http error messages in the test.
  * style(abstractnetwork): remove chain of if else.
  * fix(quota): return unlimited free space for type changes.
  * feat(syncjournaldb): add default value to quotaBytesAvailable and quotaBytesUsed columns.
  * test(syncjournaldb): folder quota default values.
  * feat(quota): add default value to metadata column if it doesn't exist.
  * refactor(syncjournaldb): move removeColumn lambda to a function.
  * refactor(syncjournaldb): move hasDefaultValue lambda to a function.
  * refactor(syncjournaldb): refactor logic before updating the list of columns when removing one.
  * test(syncjournaldb): add test for migrating folder quota columns.
  * test(syncjournaldb): use QCOMPARE_GT.
  * fix(utility): change sync folder display name when migrating.
  * feat(utility): adjust setupDesktopIni function to set LocalizedResourceName.
  * feat(issue_template): add macOS virtual files.
  * feat: search db for matching original filename based on the lock filename.
  * ref(FilesDatabaseManager): simplify calling to return an empty array instead of nil.
  * ref(originalFileName): return nil if database search fails instead of string.
  * style(LocalFiles): rename FileProviderLogger category to the file name.
  * fix(proxy): only clean legacy proxy settings after migrating all accounts.
  * fix(accountsettings): do not to initialize e2ee if account is disconnected.
  * fix(NextcloudDev): add missing template file.
  * fix(quota): return unlimited quota if server query is invalid or file is in folder root.
  * chore: print sync information when checking quota.
  * fix(folderman): skip folder import from legacy config when migration is disabled.
  * feat(AccountsRestoreResult): add AccountsNotFound option to enum.
  * refactor(application): rewrite setupAccountsAndFolders function.
  * style(file-provider): improve text displayed when user resets virtual files setup.
  * fix(discovery): display more user friendly message when data is missing from server response.
  * fix(test): update error string expected when etga is missing.
  * fix: use /usr/bin/open to show a file/folder in finder (#12379)
  * fix(migration): set all settings from the previous version of the client.
  * fix(migration): check for legacy app name group for updater setting.
  * fix(migration): migrate proxy global setting to user when there is no user proxy.
  * feat(migration): add helper functions to handle migration/upgrade.
  * fix(credentials): check for certificate existence before setting the keychain key name.
  * feat(credentials): use the app name or the unbranded name to retrieve the keychain keys.
  * fix(test): update function fetchFromKeychain signature.
  * refactor(configfile): use migration helper functions to track migration steps.
  * fix(credentials): add Q_UNUSED.
  * feat(migration): track migration phases with an enum.
  * style(account): modernize account functions.
  * fix(credentials): when legacy creds are found, save it with new app name.
  * fix(migration): set use new big folders correctly.
  * fix(migration): make sure the checkbox are consistent with the previous version of the client.
  * refactor(credentials): use member function to change keychain key name.
  * fix(migration): set the use of mono icons.
  * fix(migration): do not ovewrite account settings with global ones.
  * fix(migration): check status of migration when fetching proxy password from keychain.
  * fix(migration): overwrite account settings only if it was using global settings.
  * fix(upgrade): set the previous client version after the upgrade check.
  * fix(migration): return correct migration state if no accounts were found.
  * style: modernize ServerNotificationHandler::slotNotificationsReceived.
  * fix(notifications): add delete action to notifications.
  * fix(abstractnetworkjob): make 503 error string more generic.
  * fix(creds): use user friendly auth errors.
  * fix(macOS): use relative path to src in xcodeproj.
  * fix: detect upgrade only scenario.
  * feat(socketapii): add file actions option to list of options for files.
  * feat(declarativeui): style file actions window.
  * feat(declarativeui): improve the looks of the file actions Window.
  * fix(declarativeui/fileactions): file actions context menu.
  * feat(declarativeui): add logging category to FileActionsModel.
  * feat(declarativeui/fileactions): return default icon when server doesn't have one.
  * fix(declarativeui/fileactions): parse response with declarative UI elements like url.
  * refactor(declarativeui): remove unused DeclarativeUi class.
  * fix(declarativeui): files license.
  * refactor(declarativeui): remove Declarative UI menu item.
  * fix(capabilities): update capabilities with new json key + adjust mimetype check.
  * fix(declarativeui): use EnforcedPlainTextLabel instead of Label.
  * fix(capabilities): an empty mimetype_filters means the action is available to all mimetypes.
  * fix(declarativeui/fileactions): handle the new params format.
  * style(integration): rename from declarativeui to integration.
  * fix(integratio): return true if there isn't an empty client_integration map.
  * feat(integration): do not list file actions if the server doesn't support it.
  * style(tray): modernize ActivityListModel::data.
  * fix(integration): use ActivityData function to retrieve server icon.
  * refactor(tray): modernize Activity::relativeServerFileTypeIconPath.
  * feat(integration): align icons and make sure they all have the same size.
  * fix(integration): address review's comments.

  [ Joas Schilling ]
  * fix(l10n): Don't sync xcstrings for now

  [ copilot-swe-agent[bot] ]
  * fix(l10): Add proper translations for macOS File Provider extensions
  * feat: add busy status support with capabilities checking and UI integration
  * fix: add missing Busy status handling in switch statements and string mappings
  * feat: use dedicated user-status-busy.svg icon for busy status
  * feat: implement build-time switch for neutral state icons
  * fix: correct IS_BRANDED_CLIENT option logic and defaults
  * feat: make emojis larger and add tooltips with names in emoji picker
  * feat: implement UUID-based file provider domain identifiers with backward compatibility.
  * fix: handle single quotes in file paths for conflict and case clash dialogs
  * fix: properly HTML-escape URLs to handle both single and double quotes
  * fix: prevent crash when changing proxy settings with logged out account
  * docs: update progress checklist
  * chore: remove codeql artifact and update gitignore
  * fix(file-provider): Reenabled Pagination

  [ dependabot[bot] ]
  * chore(deps): Bump actions/cache from 4.2.3 to 4.2.4
  * chore(deps): Bump actions/checkout from 4.2.2 to 5.0.0
  * chore(deps): Bump cpp-linter/cpp-linter-action from 2.15.0 to 2.16.0
  * chore(deps): Bump cpp-linter/cpp-linter-action from 2.16.1 to 2.16.2
  * chore(deps): Bump actions/stale from 9.1.0 to 10.0.0
  * chore(deps): Bump actions/setup-python from 5.6.0 to 6.0.0
  * chore(deps): Bump actions/github-script from 7.0.1 to 8.0.0
  * chore(deps): Bump cpp-linter/cpp-linter-action from 2.16.2 to 2.16.3
  * chore(deps): Bump actions/cache from 4.2.4 to 4.3.0
  * chore(deps): Bump cpp-linter/cpp-linter-action from 2.16.3 to 2.16.4
  * chore(deps): Bump fsfe/reuse-action from 5.0.0 to 6.0.0
  * chore(deps): Bump actions/stale from 10.0.0 to 10.1.0
  * chore(deps): Bump cpp-linter/cpp-linter-action from 2.16.4 to 2.16.5
  * chore(deps): Bump actions/upload-artifact from 4.6.2 to 5.0.0
  * chore(deps): Bump cpp-linter/cpp-linter-action from 2.16.5 to 2.16.6
  * chore(deps): Bump actions/checkout from 5.0.0 to 5.0.1
  * chore(deps): Bump actions/checkout from 5.0.1 to 6.0.0
  * chore(deps): Bump actions/setup-python from 6.0.0 to 6.1.0
  * chore(deps): Bump actions/checkout from 6.0.0 to 6.0.1
  * chore(deps): Bump actions/stale from 10.1.0 to 10.1.1
  * chore(deps): Bump actions/cache from 4.3.0 to 5.0.1
  * chore(deps): Bump actions/upload-artifact from 5.0.0 to 6.0.0
  * chore(deps): Bump actions/checkout from 4 to 6
  * chore(deps): Bump cpp-linter/cpp-linter-action from 2.16.6 to 2.16.7
  * chore(deps): Bump actions/setup-python from 6.1.0 to 6.2.0
  * chore(deps): Bump actions/checkout from 6.0.1 to 6.0.2
  * chore(deps): Bump webiny/action-conventional-commits from 1.3.0 to 1.3.1
  * chore(deps): Bump actions/cache from 5.0.1 to 5.0.2
  * chore(deps): Bump actions/cache from 5.0.2 to 5.0.3

  [ István Váradi ]
  * ci: Remove Debian Bullseye, add Trixie
  * ci: Remove Ubuntu Plucky, add Resolute

  [ rakekniven ]
  * fix(i18n): Fix grammar
  * fix(i18n): Use SI symbol for minute
  * fix(i18n): Use SI symbol for minute
  * fix(i18n): Fixed grammar

  [ Andy Scherzinger ]
  * style(icons): Use outline variant
  * style(icons): Use proper icons for sharing details screen
  * style(icons): Update user status icons to latest design
  * fix(icon): Set width/height in px not percent
  * docs(reuse): Update license info
  * fix(icon): Opacity 70%
  * style(icon): make status icon cutouts white-colored and online unified green
  * style(icon): Remove white background for status icons and update colors to match server

  [ Baris ]
  * fix(generalsettings): change remote pollinterval spinBox-minimum from 30 to 5 seconds, to align with configfile
  * fix(AcitivityList): fix scrollbar on the right Co-authored-by: Mike Mengjie Huang <mike0609king@gmail.com>
  * fix(ActivityList): set minimum width and thumb-size for vertical ScrollBar
  * refactor: introduce minimumScrollBarWidth and minimumScrollBarThumbSize as part of the style
  * fix(activityItemContent): make text color light on activityItem activeFocus Co-authored-by: Mike Mengjie Huang <mike0609king@gmail.com>
  * fix(folderstatusmodel): 32 bit int overflow in current item progress fixed

  [ Daniel ]
  * chore: update transifex link

  [ kramo ]
  * fix: Tweak status icons
  * feat: Update generic icons
  * fix: Tweak status icons further

  [ Mike Mengjie Huang ]
  * feat: Add more prominent quota warnings
  * fix: Change code formatting and description string
  * feat: Add more prominent quota warnings
  * fix: Change code formatting and description string
  * perf: Use existing quota info instead of polling
  * fix: Apply suggested change and modify quota warning tool tip
  * feat: Add more prominent quota warnings
  * perf: Use existing quota info instead of polling
  * fix: Typo in function parameter

  [ mike0609king ]
  * style: Apply suggestions from code review

  [ Heiko Becker ]
  * fix(ECMAddAppIcon): Avoid warning with cmake >= 4.1
  * fix: Drop Qt6GuiPrivate dependency to fix the build with Qt 6.10

  [ Tamás Bari ]
  * fix(shell): replaced icons with no-padding versions
  * fix(shell): in Nautilus the "shared" state is now indicated by a second emblem
  * chore(shell): removed no longer used emblems
  * fix(shell): including new file in REUSE
  * fix: Clicking the copy share link button breaks it.
  * fix: Removing conditional icon source statement for copy link button.
  * fix: removing non-existent property
  * feat: Adding an option to disable username prefill on Windows
  * fix: Check the option first
  * fix: resolving variable name shadowing
  * fix: Removing non-existent properties
  * fix: Tweaking account dropdown menu style
  * fix: Adding elide to menuitems
  * fix: add account menuitem height and padding
  * fix: accounts menu width adapting to it's contents
  * fix: ensuring contrasting text color for highlighted menuitems
  * fix: ignore windows for highligted menuitem styling
  * fix: status message color and reaction to model changes
  * fix: user more menu height (especially on Windows)
  * fix: disabling menu items instead of hiding them
  * fix: correcting text color for user name
  * fix: handling messagebox choice correctly
  * fix: check file permission reliability with a test
  * fix: Enforce enterprise update channel
  * fix: Set the current update channel together with the enterprise channel
  * fix: Do not overwrite the update channel with enterprise
  * fix: proper update channels
  * fix: Per-account enterprise update channel
  * fix: Making UpdateChannel more consistent
  * fix: Taking branded clients into account when selecting the update channel.
  * chore: Adding a test case to test update channel selection
  * fix: Moving default update channel lists and constants to UpdateChannel
  * fix: consider enterprise update channel only if the account's server has a valid subscription
  * fix: Removing debug log clutter
  * fix: Fixing license header in new files
  * fix: Using FakePayloadReply in unit test
  * fix: adding missing export directive
  * fix: Fixing the license in testupdatechannel.cpp
  * fix: Restore server subscription per account from config.
  * fix: Fixing selectable message bubbles.
  * feature: more conventional chat window
  * fix: Fixing the new conversation confirmation dialog geometry and style
  * fix: Removing dim effect from modal Dialog
  * fix: fixing dialog background color + re-add dimming
  * fix: Removing header background color from dialog
  * fix: Fixing reset dialog aligment issues

  [ Elsie Hupp ]
  * fix: allow settings window to enter full screen or be minimized

  [ Melroy van den Berg ]
  * fix: add official PPA as an option of the package type

  [ Carl Schwan ]
  * refactor: Use correct string overload

  [ Dmytro Syzov ]
  * feat: preserve the last selected account between runs

  [ dsyzov ]
  * fix: initialize user list when first acc is added

  [ Findlay Feng ]
  * fix(application): Correcting the loading of translation files

  [ Geoffrey “Frogeye” Preud'homme ]
  * fix(cmd): don't open the database twice with --unsyncedfolders

  [ rbran ]
  * fix: Client side TLS with Strict-Transport-Security
  * chore: Remove unnecessary const from function signature

  [ tobiasKaminsky ]
  * test fix for mac-vfs

  [ Tobias Kaminsky ]
  * Revert "test fix for mac-vfs"

 -- István Váradi <ivaradi@varadiistvan.hu>  Thu, 26 Mar 2026 20:05:00 +0000

nextcloud-desktop (3.17.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * master is now 3.16.50 development branch for 3.17.x release

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix rounded corners in the call notification

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * don't use palette.dark for icons in share page
  * use TextArea instead of TextEdit for share note field

  [ Matthieu Gallien ]
  * provide consistent version info including human readable version

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ rakekniven ]
  * chore(i18n): Remove blank

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * gui/tray: Simplify folderErrors in sync status summary
  * gui/tray: Separate setting of sync state from handling of folder object that has changed
  * gui/tray: Also update sync state when file provider states change
  * gui/tray: Handle troubled/no longer troubled file provider sync states
  * gui/tray: Wrap onFileProviderDomainSyncStateChanged in ifdef
  * gui/tray: Ensure file provider sync state is correctly restored on tray open

  [ Jyrki Gadinger ]
  * vfs: fix root folder detection regression
  * vfs: use native separators for displayed error message

  [ Camila Ayres ]
  * Disable the option to select an update channel when server has a valid subscription.
  * Don't display the option to change update channels when server has valid subscription.
  * qCInfo => qCDebug
  * Add {} to single line if.
  * fi => excludeItemFileInfo.
  * blacklist => selectiveSyncList.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * enforce trailing and leading spaces for new files
  * automatic removing of invalid spaces in file names
  * try to detect if naming rules are enabled on server before auto rename
  * basically try to enforce the windows compatibility as guess from server
  * try to enforce the windows compatibility as guessed from server
  * ensure correct behavioron Windows for invalid file names
  * handle errors when automated renaming for name rules is failing

  [ Valdnet ]
  * l10n: Change three dots to an ellipsis

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Check if folder exists before deleting sync db and VFS sync root connection.

  [ Matthieu Gallien ]
  * prevent infinite sync loop: delay retry after many errors

  [ Claudio Cambra ]
  * gui/macOS: Do not automatically configure file provider domains for new accounts
  * gui/wizard: When asking about virtual files, do not notify user if using macOS File Provider module
  * gui/wizard: Present virtual files checkbox if using macOS File Provider module
  * gui/wizard: Do not check vfs path availability with macOS File Provider module
  * gui/wizard: Correctly handle vfs enablement state on account config finish when using macOS File Provider module
  * gui/wizard: When selecting VFS sync with macOS File Provider, do not set up local folder unexpectedly
  * gui/wizard: Add orientation message for macOS VFS users using virtual files
  * gui/wizard: Display macOS-specific VFS information where relevant in advanced setup page

  [ Matthieu Gallien ]
  * using multi-arg is better than many arg calls in QString class

  [ Jyrki Gadinger ]
  * wizard: display error message when ToS haven't been accepted yet

  [ Matthieu Gallien ]
  * detect the need to sign the terms of service during login web flow v2
  * add a wizard page to check terms of service

  [ Jyrki Gadinger ]
  * implement terms of service check wizard page
  * add link to server if TOS needs to be signed
  * add a button to open the browser if TOS need to be signed
  * check for need of signing TOS during connectivity check

  [ Camila ]
  * Change bulk upload batch size when there is a sync error.

  [ Camila Ayres ]
  * Add test for syncing with bulk upload when there are errors.

  [ Pablo Ariño Muñoz ]
  * fixed html formatting on encrypted warning message

  [ Jyrki Gadinger ]
  * FolderStatusModel: only create a single QFileIconProvider object

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * UserStatusSelector: set focusPolicy on accept button

  [ Matthieu Gallien ]
  * ensure we can delete invalid read-only items

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Added plural forms handling correction to notification message
  * Removed parenthesis and passed a nullptr for the disambiguation
  * Added space between sentences

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Replaced foreach with range loops
  * removed redundant qAsConst
  * Replaced qAsConst with std::as_const
  * Added more std::as_const and replaced types for auto, as well as other suggestions
  * Carried out further fixes, changing types to auto and adding const
  * Added copy of container to ranged loop so as to prevent crash

  [ rakekniven ]
  * chore(i18n): Use correct plural syntax

  [ Camila Ayres ]
  * Update help url default value.
  * Remove help url from developer string.
  * Adjust layout margins to align text.
  * Remove helpUlr() call from string.

  [ Jyrki Gadinger ]
  * do not display encrypt action for external folders

  [ Claudio Cambra ]
  * craft: Use Qt 6.8.2

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Added an option to customize the server poll interval in the Advanced Settings
  * Fixed link by changing it from .ui to .cpp
  * Simplified the code, removed checkbox and moved section further down
  * fixed formatting mistakes and removed unnecessary include

  [ Jyrki Gadinger ]
  * don't remove "needs info" label from maintainers

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Changed critical free space to 512MB and free space to 1GB in code and documentation

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Changed properties to designer file and hiding interval selector when notify push is available
  * carried out suggested improvements

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * gui/tray: Do not generate JPEG images in async image response for macOS
  * gui/tray: Remove unused thumbnailjob class

  [ Matthieu Gallien ]
  * when deleting a remote locked file, provide needed lock headers

  [ Claudio Cambra ]
  * gui/macOS: Remove "Advanced" settings from File Provider settings
  * gui/macOS: Reimplement sync button more subtly within the sync status component
  * gui/macOS: Add tooltip explaining the "request sync" action in the File Provider settings
  * gui/macOS: Use attached tooltip properties rather than creating a new tooltip in request sync button

  [ Jyrki Gadinger ]
  * update AppImage builds to Qt 6.8.2

  [ Claudio Cambra ]
  * gui/tray: Use standard native buttons for bottom buttons in user status selector page
  * gui/tray: Let menu handle sizing of child menu items in tray window header
  * gui/tray: Add hacky workaround to avoid icon and text for menu items in tray header being too close
  * gui/tray: Do not add custom styling to status message text field in user status
  * gui/tray: Make bottom buttons in user status selector smaller

  [ Jyrki Gadinger ]
  * gui: do not allow MainWindow to be resized

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * Revert "gui: do not allow MainWindow to be resized"

  [ Camila Ayres ]
  * Remove aditional text when error occurs.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * gui/macOS: Fix emitted signal in file provider sync status GUI component

  [ Jyrki Gadinger ]
  * make use of the new `x-nc-skip-trashbin` header
  * always set a user if we got asked for one

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * remove unused capture of this in one lambda

  [ Claudio Cambra ]
  * mac-crafter: Add DMG creation procedure
  * mac-crafter: Add command to create DMGs for app bundle
  * mac-crafter: Only try to install create-dmg in command run
  * mac-crafter: Improve dmg window aesthetics

  [ Rello ]
  * make version.cmake more readable

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * add CODEOWNERS file

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix setups that use basic auth

  [ Camila Ayres ]
  * Call deleteLater only when writeJob is not a nullptr.

  [ Matthieu Gallien ]
  * ensure invalid file names are reported for files that are not ignored
  * avoid showing warnings for excluded files to not confuse users

  [ Camila Ayres ]
  * Add option to disable virtual files syncing on Windows.

  [ Jyrki Gadinger ]
  * use our own Craft cache for macOS builds

  [ István Váradi ]
  * Fix version detection by the Ubuntu/Debian build script

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * gui: Expose if there are any configured sync folders in systray class to QML
  * gui/tray: Hide resume sync for all/pause sync for all menu item if there are no configured sync folders

  [ Sandro Knauß ]
  * Fix build without WebEngine=OFF.

  [ Jyrki Gadinger ]
  * display reshares in sharing dialog

  [ Claudio Cambra ]
  * gui/macOS: Do not log account detail-related messages that were not sent on dead file provider socket

  [ Matthieu Gallien ]
  * ensure user receiving an encrypted share maintain proper state

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * remove gcc and clang build checks
  * require std c++ 20 ISO standard
  * default this capture is deprecated, so capture it explicitly
  * remove unused variable

  [ Claudio Cambra ]
  * gui/macOS: Avoid UB in edge cases where there is no matching account state for a domain
  * Const and autofy ignorelisttablewidget
  * gui: Remove now unneeded jpeg-related workarounds for macOS

  [ Matthieu Gallien ]
  * implicit lambda capture of this is deprecated, make it explicit
  * move a destructor to cpp implementation to avoid undefined type error

  [ Jyrki Gadinger ]
  * gui: fix dark mode change on Windows 10 with universal style

  [ Matthieu Gallien ]
  * skip single test or whole test file for macOS: they are broken
  * French title for input dialog for PIN is too wide
  * use a better and shorter title for input dialog for PIN code

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * explicitly set colours for header items
  * use colour from `Style` instead of palette for icons
  * align status icon display with e.g. Talk more

  [ Matthieu Gallien ]
  * try to force the highlight to not be too bright

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * use standard way to find the checkum type and really send it to server

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix Windows build

  [ Matthieu Gallien ]
  * use our own craft cache on windows

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * gui/macOS: Constify methods in file provider socket controller
  * gui/macOS: Do not assume accountState will always be valid

  [ Andrea Pappacoda ]
  * Add systemd user service

  [ Claudio Cambra ]
  * shell_integration/macOS/FileProviderUIExt: Add eviction procedure
  * shell_integration/macOS/FileProviderUIExt: Add non-async eviction
  * shell_integration/macOS/FileProviderUIExt: Add "free up space" action to context menu
  * shell_integration/macOS/FileProviderUIExt: Auto dismiss vc when evicting item
  * shell_integration/macOS/FileProviderUIExt: Log eviction process
  * shell_integration/macOS/FileProviderUIExt: Use more reliable new userInfo entry for downloaded state

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.13.4 to 2.14.0

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * gui/macOS: Ensure file provider domain progress instances are correctly retained
  * gui/macOS: Correctly release download/upload progress observers

  [ Jyrki Gadinger ]
  * gui/tray: change the status icon background colour again
  * set CFBundleDevelopmentRegion to "en" and set CFBundleAllowMixedLocalizations

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * gui/macOS: Avoid leaking objc objects added to arrays and dicts
  * gui/macOS: Avoid unnecessary retain on alloced objects
  * gui/macOS: Constify some Obj-C pointers
  * gui/macOS: Correctly retain/release manager and domain in sync status object
  * gui/macOS: Do not leak local url and error objects in edit locally job
  * gui/macOS: Properly wait for eviction result in materialised items model
  * gui/macOS: Correctly release objects received via FileProviderUtils functions
  * gui/macOS: Use explicit type in connections array arg
  * gui/macOS: Do not leak debug log string after use
  * gui/macOS: Improve overall memory management in XPCUtils::getDomainManagers
  * gui/macOS: Avoid retain call on extensionNcAccount by allocing new string
  * gui/macOS: Avoid crash from bad manager release
  * gui/macOS: Avoid need to retain/release things in file provider edit locally
  * gui/macOS: Properly retain/release NSFileProviderManager(s)
  * gui/macOS: Use less technical language in FileProvider settings views
  * gui/macOS: Sort materialised files by size in model

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ knopalex ]
  * fix instructions
  * fix instruction

  [ Matthieu Gallien ]
  * update workflows with actions/checkout
  * update workflows with actions/stale
  * update workflows with cpp-linter/cpp-linter-action
  * update workflows with actions/setup-python
  * update workflows with actions/cache
  * update workflows with actions/github-script
  * update workflows with actions/upload-artifact
  * update workflows with platisd/clang-tidy-pr-comments
  * fix integer overflow warning during AppImage compilation

  [ Claudio Cambra ]
  * shell_integration/macOS/FileProviderExt: Do not report enumeration-related sync state

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * build(deps): bump actions/setup-python from 5.4.0 to 5.5.0

  [ dependabot[bot] ]
  * build(deps): bump actions/cache from 4.2.2 to 4.2.3

  [ dependabot[bot] ]
  * build(deps): bump actions/upload-artifact from 4.6.1 to 4.6.2
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * feat(mac-crafter): Improve readme

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * feat: build translated MSI installer
  * feat: build installer with translations for DE, FR, IT, ES
  * fix(mac): bump deployment target to 12.0
  * fix(gui): remove ignored file notifications from Activity list

  [ Claudio Cambra ]
  * fix(mac-crafter): Work around broken consecutive shell integration builds

  [ Andy Scherzinger ]
  * docs(reuse): Add SPDX header and license files

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * remove costly availability check that is never used
  * Qt 6.8 requires macSO 12 or higher: no need to compile against older
  * always make the file we try to delete be read-write as required
  * do not change permissions of invalid items on discovery
  * if we are going to need modified permissions: always change
  * we must not use QFile::remove that may fail on windows read-only files
  * when deleting a folder starts by making it read-write permissions
  * better error message for user when deleting local items
  * fix crash within FolderStatusModelTest

  [ Jyrki Gadinger ]
  * fix: move array to correct value in dict
  * feat: allow overriding the language through the configuration

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * remove bogus check that tried to check for existing case clash conflict
  * stop using QFile api to delete a single local file

  [ Jyrki Gadinger ]
  * fix: try to correct mtime on upsyncs
  * fix FileSystem::setModTime on x64 Windows with times > 2038

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * automated tests of bulk upload needs to check checksums like real
  * sending header X-File-MD5 that is currently mandatory
  * fix format of checksum header that was missing checksum type
  * with release 32.0.0 md5 custom checksum is removed from bulkupload
  * only send the md5 custom checksum header when server expects it

  [ Camila Ayres ]
  * Update CONTRIBUTING.md
  * Add link to Talk chat room, remove signing commit requirement.
  * Add missing link to dev. certificate of origin.

  [ Matthieu Gallien ]
  * disable buffering when POSTing for bulk upload
  * use memory to buffer the data of the files sent during bulk upload
  * define content length header with bulk upload requests
  * remove useless log
  * use maximum chunk size to decide the size of a bulk upload request
  * no need to disable buffering from Qt in POST requests
  * clean code and logs during bulk upload
  * better logs to track sending of data during bulk upload
  * clean up some no longer needed logs
  * simple way to add more logs related to upload progress
  * disable use of bulk upload for small files

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * feat(github): Add action to block unconventional commits

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix: do not interrupt sync when cleaning invalid read-only items

  [ Camila Ayres ]
  * chore(Flow2Auth): modernize fetchNewToken.
  * chore(Flow2Auth): modernize slotPollTimerTimeout.
  * chore(Flow2Auth): modernize slotPollNow.
  * chore(Flow2Auth): modernize slotPollTimerTimeout.
  * chore(Flow2Auth): modernize fetchNewToken.
  * chore: rename handleRequest to handleResponse.
  * fix: add parameter to string.
  * fix: handleResponse logic on handling valid https url.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * fix(PinState): don't trigger sync when file's PinState changed to Unspecified.
  * test(cfapi): check for spurious attribute changes.

  [ Claudio Cambra ]
  * Ifdef all mentions of navigationpanehelper out of non-Windows builds
  * Only build NavigationPaneHelper on Windows
  * Use AccountPtr in pushNotificationsReady signal in Account rather than raw pointer
  * Emit AccountPtr from pushNotificationsDisabled in Account rather than raw pointer
  * Replace use of raw pointer in wantsAccountSaved signal with AccountPtr
  * Use AccountPtr in serverVersionChanged signal instead of raw pointer
  * Use AccountPtr in testpushnotifications
  * Fix use of saveAccount in networksettings
  * fix(gui): Use AccountPtr in setup wizard

  [ Jyrki Gadinger ]
  * fix(theme): correct dark/light mode check on Win10
  * fix(msi): allow custom installation directory

  [ Camila Ayres ]
  * chore(migration): remove duplicated code when copying legacy config to new path.
  * fix(migration): import proxy and general settings from legacy config.
  * chore: rename function, change log level.
  * chore: make settings keys const static member of ConfigFile class.
  * fix: remove unused var.
  * fix: non-void function does not return a value in all control paths.

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * ci: use specific revision for KDE blueprints that matches the craft cache

  [ Andy Scherzinger ]
  * docs(reuse): Migrate to SPDX header

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * feat(windows native API): use windows specific API for read-only folders
  * fix(read only folder): allow renaming new file inside read-only folders
  * fix(permissions): solve issues with file permissions automated tests
  * refactor(logs): improve logs around deletions and permissions
  * fix(autotests): do not remove read-only files already removed
  * fix(rmdir): switch to another API for folder removal

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * ci: temporarily use custom craftmaster fork
  * ci: pin craft revision to a specific commit

  [ Matthieu Gallien ]
  * feat: better logs when a file cannot be removed
  * fix: use safer conversion from QString to filesystem::path
  * fix: Revert "stop using QFile api to delete a single local file"
  * fix(filesystem): still use std::filesystem::remove for folders
  * fix(filesystem): warn when trying to delete an already deleted file
  * perf(discovery): optimize empty strings
  * feat(discovery): add missing inode info for discovered files
  * feat(discovery): add more info for renamed items
  * fix(rename): handle complex rename/move scenario
  * fix(rename): avoid hitting runtime assert when renaming virtual files

  [ Jyrki Gadinger ]
  * fix(l10n): provide proper translatable strings for Folder/Directory
  * fix(l10n): use proper plural forms in UserStatusSelectorModel

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(gui): handle invalid file name edge case on Windows
  * fix(gui): update info text with proper invalid characters
  * fix(gui): always hide the error label if we are allowed to rename
  * refactor: add new filePath method to folder
  * fix(gui): don't append another slash to the relative path

  [ Claudio Cambra ]
  * fix(gui): Fix set but unused warning in switch statement for sync status compute

  [ Matthieu Gallien ]
  * fix(assert): remove runtime assert that could crash production builds

  [ Andy Scherzinger ]
  * docs(reuse): Migrate to SPDX header

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(gui): resize share search results list dependent on required space

  [ SnejPro ]
  * Include server path to windows explorer shortcut
  * define shortcutName - when more than one nextcloud instances: -- cloud@example.org - prettyName
  * modify workflow for my needs
  * definition shortcutName
  * Revert "modify workflow for my needs"
  * fix port should be shown after url
  * fix definition error
  * fix declaration
  * fix string
  * fix
  * fix
  * fix compile error

  [ Matthieu Gallien ]
  * fix(filesystem): log more permissions when deleting a file fails
  * fix(filesystem): use platform specific API to make a file read-only
  * fix(propagation): ensure we delete pending folders before terminating
  * fix(propagation): more logs on folder deletions propagation step
  * fix(propagation): ensure we run file removal propagation steps

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Andy Scherzinger ]
  * docs(reuse): Migrate to SPDX header

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * chore(deps): Bump actions/setup-python from 5.5.0 to 5.6.0

  [ rakekniven ]
  * fix(translations): Delete old unused file for taiwanese

  [ Camila Ayres ]
  * fix(tray): align user status and server url in all platforms.

  [ Rello ]
  * Rename Circle=>Team
  * Update ShareViewController.xib

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * revert: remove duplicated code when copying legacy config to new path.

  [ Claudio Cambra ]
  * feat(mac-crafter): Add ability to codesign with an entitlements file
  * feat(mac-crafter): Add entitlements path option to codesign command
  * feat(macOS): Add entitlements file
  * feat(mac-crafter): Use our default entitlements file during default mac-crafter build run

  [ Jyrki Gadinger ]
  * fix(appimage): move VFS plugins to AppDir

  [ Claudio Cambra ]
  * feat(shell_integration/macOS/FileProviderExt): Move to separate db NCFPK branch
  * feat(shell_integration/macOS/FileProviderExt): Configure specific instance of FilesDatabaseManager for account
  * feat(shell_integration/macOS/FileProviderExt): Pass dbManager into standard FileProviderExtension methods
  * feat(shell_integration/macOS/FileProviderExt): Also use specific dbManager for local file handling
  * feat(shell_integration/macOS/FileProviderExt): Use specific dbManager for thumbnailing
  * feat(shell_integration/macOS/FileProviderExt): Also use specific db manager in FPUIExtensionServiceSource
  * feat(shell_integration/macOS/FileProviderExt): Move to stable-2.1 branch of NCFPK
  * feat(shell_integration/macOS/FileProviderExt): Adapt to db manager changes and pass full account struct to init
  * feat(shell_integration/macOS/FileProviderExt): Fix Realm bundling when building FileProviderExt against NCFPK 2.1
  * feat(shell_integration/macOS/FileProviderUIExt): Fix rpath for FileProviderUIExt

  [ Andy Scherzinger ]
  * docs(reuse): Migrate to SPDX header

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Andy Scherzinger ]
  * docs(reuse): Migrate to SPDX header
  * docs(reuse): Migrate to SPDX

  [ Camila Ayres ]
  * feat(quota): add quota-available-bytes and quota-used-bytes to PROPFIND properties request.
  * feat(quota): throw error when item size does not match folder quota.
  * style(DiscoveryPhase): document possible values returned by the server for FolderQuota bytesAvailable.
  * fix(quota): check correctly folders with unlimited space (-3).
  * test(syncenginetestutils): add quota-available-bytes and quota-used-bytes to dav propfind request.
  * fix(quota): only check for quota for items with a parent folder that exist and that are not blacklisted.
  * fix(quota): check for the quota of the original parent folder, not of the renamed one (0 bytes available).
  * fix(quota): if item is new and parent dir has been renamed, quota is always 0.
  * fix(quota): show personal files instead of empty string when error message is about root folder.
  * fix(quota): use _filesNeedingScheduledSync to delay sync of files exceeding quota.
  * refactor(quota): use const; make logs less verbose.

  [ Dawid Wróbel ]
  * Improve configuration-related e2ee wording

  [ Andy Scherzinger ]
  * docs(reuse): Migrate to SPDX header
  * ci(reuse): Add reuse check
  * docs(readme): Add reuse status badge

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * chore: remove never used crashreporter

  [ Matthieu Gallien ]
  * fix(rename): avoid failing hard when rename is rejected by server
  * fix(readonly): enable MOVE rollback when folder is read-only
  * fix(readonly): apply ACL also to files inside read-only folders

  [ Claudio Cambra ]
  * fix(gui/macOS): Fix default value for File Provider fast sync enablement setting

  [ Rello ]
  * Update bulkpropagatorjob.cpp
  * Update src/libsync/bulkpropagatorjob.cpp

  [ Matthieu Gallien ]
  * fix(readonly): use native separator in paths before calling windows API

  [ Claudio Cambra ]
  * fix(shell_integration/macOS/FileProviderUIExt): Properly mark action as complete when evicting item
  * fix(shell_integration/macOS/FileProviderExt): Correctly build NSFileProviderErrors
  * feat(gui/macOS): Present explanatory message after enabling macOS VFS for an account
  * fix(shell_integration/macOS/FileProviderExt): Make user agent a parameter of setupDomainAccount
  * fix(macOS): Send user agent string over File Provider socket along with account details
  * fix(macOS): Also send user agent over XPC service
  * fix(shell_integration/macOS/FileProviderUIExt): Add userAgent as separate property in share table view data source
  * fix(shell_integration/macOS/FileProviderExt): Add method to acquire user agent in FPUIExtensionService
  * fix(shell_integration/macOS/FileProviderUIExt): Retrieve and use FileProviderExt's user agent
  * fix(gui/macOS): Add required availability checks around typeAndCreator access for NSFileProviderItem wrapper

  [ Jyrki Gadinger ]
  * gui: add a "Yes to all" button when resolving multiple conflicts at once

  [ Camila Ayres ]
  * fix(migration): migrate general network settings.

  [ Corey Berla ]
  * cloudproviders keep track of the length of the main menu items
  * cloudproviders elide the text in the recent files submenu

  [ Matthieu Gallien ]
  * fix(cloudproviders): use a class static variable instead of a global one
  * fix(msi): use standard replace mode for MSI installer

  [ Jyrki Gadinger ]
  * fix(msi): do not completely remove the previous installation when updating
  * fix(msi): force termination of stuck processes

  [ Matthieu Gallien ]
  * feat(windows): use cmake to configure windows integration DLL version
  * fix(windows): add missing version to cfapi shell integration DLL

  [ Jyrki Gadinger ]
  * feat(msi): do not schedule reboots ourselves
  * ci: use Xcode 16.2 for macOS workflow
  * ci: use new craft cache for 3.17.x, bump Qt to 6.8.3
  * ci: use stable-3.17 branch for desktop-client-blueprints
  * feat(mac-crafter): also clone KDE blueprints, set a specific git ref for blueprint repos

  [ Rello ]
  * Delete doc directory
  * Delete man directory
  * Update CMakeLists.txt
  * Update CMakeLists.txt

  [ Jyrki Gadinger ]
  * remove no longer required CMake modules
  * restore screenshot for readme

  [ Matthieu Gallien ]
  * fix(reuse): remove unused licences from doc folder to be reuse compliant

  [ Claudio Cambra ]
  * feat(shell_integration/macOS/FileProviderExt): Add config setting for preventing deletion of trashed items
  * feat(shell_integration/macOS/FileProviderExt): Prevent deletion of trashed items when config flag is set
  * feat(shell_integration/macOS/FileProviderExt): Add config entry to check if trash deletion enabled setting has been set
  * feat(shell_integration/macOS/FileProviderExt): Add ClientCommunicationProtocol method to get/set trash deletion enablement
  * feat(gui/macOS): Add methods to get/set trash deletion state over XPC for File Provider module
  * feat(gui/macOS): Add trash deletion related components to File Provider settings controller
  * feat(gui/macOS): Add checkbox to toggle permission to delete trashed items
  * fix(shell_integration/macOS/FileProviderExt): Make item filename public during rejected deletion
  * fix(shell_integration/macOS/FileProviderExt): Use NSError-based deletion rejected builder method
  * feat(shell_integration/macOS/FileProviderExt): Add basic CustomActions FileProviderExtension extension
  * feat(shell_integration/macOS/FileProviderExt): Add "Keep Downloaded" related menu actions
  * feat(shell_integration/macOS/FileProviderExt): Implement handling of keep downloaded action
  * feat(shell_integration/macOS/FileProviderExt): Fix REUSE compliance
  * feat(libsync): Add method to get list of unique exclude patterns from ExcludedFiles
  * feat(gui/macOS): Add socket controller procedure to send ignore list
  * feat(shell_integration/macOS/FileProviderExt): Request ignored files list on account setup
  * feat(shell_integration/macOS/FileProviderExt): Parse received ignored files to set up IgnoredFilesMatcher
  * feat(shell_integration/macOS/FileProviderExt): Pass ignored files matcher when creating/modifying/deleting items
  * feat(shell_integration/macOS/FileProviderExt): Await ignored files before proceeding with create/modify/delete
  * feat(shell_integration/macOS/FileProviderExt): Add some debug logging for ignore list receipt
  * feat(shell_integration/macOS/FileProviderExt): Add XPC interface method to set ignore list
  * feat(gui/macOS): Add method to send ignore list over XPC interface
  * feat(gui/macOS): Update File Provider Extensions' ignore lists when ignore list modified
  * feat(gui/macOS): Rather than perform back-and-forth for ignore list, just send on setup
  * feat(gui/macOS): Do not send ignore list if it is just empty
  * feat(gui/macOS): Reload exclude files on creation
  * feat(gui/macOS): Use separator that does not break the socket API
  * fix(ci): Upgrade macOS actions to Sequoia and Xcode 16.2

  [ Matthieu Gallien ]
  * fix(quota): do not prevent upload when quota info are not available

  [ Jyrki Gadinger ]
  * feat(mac-crafter): retry code-signing attempts
  * fix(AppImage): bundle client translations

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * chore(deps): Bump platisd/clang-tidy-pr-comments from 1.6.1 to 1.7.0

  [ Jyrki Gadinger ]
  * fix(gui): disable DirectWrite on Win10 versions before 1809

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(delete): always print warnings when file deletions fail
  * fix(delete): optimize item exist checks when propagating from server
  * fix(delete): fix move to trash when parent folder is read-only
  * fix(readonly): ignore move to trash for read-èonly items
  * fix(moveToTrash): enable use of move to trash in some automated tests

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * feat(generalsettings): add option to restore default update channel.
  * feat(ocupdater): display update channel name in text when use can not change it.

  [ Matthieu Gallien ]
  * fix(encryption): remove currently broken certificate hash handling

  [ alex-z ]
  * Implement BulkPropagateDownloadJob for virtual files.

  [ Matthieu Gallien ]
  * fix(permissions): handle properly CanRead permission from server

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(filesystem): only change folder permissions if required
  * fix(propagator): touch folder paths if permissions changed

  [ rakekniven ]
  * chore(i18n): Aligned spelling of "cannot"

  [ Camila Ayres ]
  * fix(generalsettings): call setAndCheckNewUpdateChannel when user changes update channel.

  [ Claudio Cambra ]
  * feat(shell_integration/macOS/FileProviderExt): Adapt to async stored item fetching from NCFPK 2.1
  * feat(shell_integration/macOS/FileProviderExt): Adapt to async stored item fetching from NCFPK 2.1 when handling keep downloaded

  [ François Guerraz ]
  * Fix(gui/SslErrorDialog): implement parsing Strict-Transport-Security This commit implements enabling enableStrictTransportSecurityStore and setStrictTransportSecurityEnabled in the AccessManager- provided QNetworkAccessManager. On first connection, this will make QNetworkAccessManager save the HSTS status of the host in cache if it was enabled by the server. On future connections, this setting is loaded and if the server presents an invalid certificate and the HSTS hint is not expired, the connection fails without showing the dreaded "Cannot connect securely to ..." dialog.

  [ Rello ]
  * limit sync folder selection to dirs only

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(readonly): avoid implicit hydration when modifying permissions
  * fix(readonly): avoid changing permissions when not needed
  * fix(windows): when deleting a file use safe long windows path

  [ Claudio Cambra ]
  * fix(cmake): Format MacOSXBundleInfo.plist template
  * fix(cmake): Build CFBundleLocalizations
  * fix(cmake): Strip final newline from bundled localisations
  * fix(shell_integration/macOS/FileProviderExt): Remove fast enumeration use in enumerator
  * feat(shell_integration/macOS/FileProviderExt): Upgrade dependencies
  * feat(shell_integration/macOS/FileProviderExt): Remove fast enumeration settings
  * feat(shell_integration/macOS/FileProviderExt): Be more informative when rejecting provided credentials
  * feat(shell_integration/macOS/FileProviderUIExt): Only display share action if item supports it

  [ Jyrki Gadinger ]
  * fix(lockfilejobs): ensure using correct file path

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Josh Richards ]
  * enh(debugArchive): Add reminder to redact before sharing

  [ dependabot[bot] ]
  * chore(deps): Bump cpp-linter/cpp-linter-action from 2.14.0 to 2.15.0

  [ Matthieu Gallien ]
  * fix(logs): remove extra logs

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(msi): set the REBOOT property in the MSI

  [ Matthieu Gallien ]
  * fix(get/file): avoid failing to download files under 20 MiB

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Rello ]
  * Use warning log level for DB errors
  * Change qCDebug error logs to qCWarning

  [ Matthieu Gallien ]
  * fix(test/sync): add a single sync engine test with long paths
  * fix(logs): make one log message useful
  * fix(tests): will currently detect wrong attempts to access deleted files
  * perf(logs): do not print processing lines for not important instructions

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(warning): avoid compilation warning by specifying type

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(windows/virtualFiles): prevent implicit hydration at API level

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * feat(logs): provide better logs for network request replies

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(activitylistmodel): fix activities for e2ee files

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * fix(shell_integration/macOS/FileProviderExt): Conform to changes in MaterialisedEnumerationObserver
  * fix(deps): Pin to NextcloudKit 6.0.9
  * fix(shell_integration/macOS): Point NextcloudFileProviderKit dependency to new address

  [ Jyrki Gadinger ]
  * fix(accountmanager): use defaults from configFile if setting was not present
  * style: access static members through `::`

  [ Matthieu Gallien ]
  * fix(crash): debug builds would not try to remove a not found job
  * fix(readonly): better handling of ACL on read-only files on windows

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(logs): less verbose logs
  * chore: disable cache for inkscape

  [ Rello ]
  * Create AGENTS.md
  * Update REUSE.toml
  * Update AGENTS.md
  * Update REUSE.toml
  * Update AGENTS.md

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * ci: update reuse.yml workflow from template

  [ dependabot[bot] ]
  * chore(deps): Bump platisd/clang-tidy-pr-comments from 1.7.0 to 1.8.0

  [ Rello ]
  * Agent instructions on translations
  * Update AGENTS.md

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(permissions): decode share "no download" permission
  * fix(code/style): use const almost always (always when possible)
  * fix(permissions): fix decoding share-attributes property

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(lockFileJobs): avoid accumulating connections about lock jobs

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(sync): allow leading space file names on Windows
  * fix(windows/compatibility): rename automatically a file if is local

  [ Iva Horn ]
  * Fix: mac-crafter installs wget on demand.

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * fix(shell_integration/macOS/FileProviderExt): Fix RCO instantiation following NCFPK changes
  * fix(shell_integration/macOS/FileProviderExt): Invalidate change observer when creating a new one

  [ Iva Horn ]
  * fix(mac-crafter): Textual improvements.
  * fix(mac-crafter): Outsourced MacCrafterError type into dedicated source code file.
  * fix(mac-crafter): Updated default CraftMaster repository URL.

  [ Claudio Cambra ]
  * fix(github): Update code owners
  * feat(macOS): Add NCFPKAppGroupIdentifier to bundle info plist
  * feat(macOS): Add convenience function to get group container path
  * fix(macOS): Add method to File Provider settings controller to reset vfs for an account, fully
  * feat(macOS): Add button to reset macOS vfs for an account

  [ István Váradi ]
  * ci: Remove Ubuntu Oracular, add Questing

  [ Jyrki Gadinger ]
  * ci: switch back to upstream CraftMaster

  [ Camila Ayres ]
  * fix(folderwizard): change message tone from error to information.

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ rakekniven ]
  * chore(l10n): Exclude string from translation

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(l10n): correct plural forms in source language (en)

  [ Iva Horn ]
  * feat(mac-crafter): Update to Swift 6.1 and Strict Concurrency Checks.
  * feat(mac-crafter): Reorganized commands in dedicated source code files for improved developer experience.
  * feat(mac-crafter): Added instructions to README on how to run and debug mac-crafter from Xcode.
  * feat(doc): Minor improvements to root README.
  * fix(mac-crafter): Updated .gitignore to not exclude source code files expected to be checked in.
  * fix(mac-crafter): Checked in Package.resolved.

  [ Rello ]
  * fix(startup) respect update checker during startup in macOS
  * fix: Add consistent logging to CFAPI callbacks

  [ Matthieu Gallien ]
  * fix: use proper categorized logging
  * fix: use proper categorized logging

  [ Camila Ayres ]
  * feat: remove "Network" action.
  * feat: all proxy settings are account specific settings.
  * feat: migrate global network settings to account specific network settings.

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * feat: test to ensure etag constant means no PROPFIND on a folder
  * fix: do not recurse inside a remote folder when etag did not change

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Rello ]
  * fix(ignore-list): skip star pattern

  [ Matthieu Gallien ]
  * fix: use proper type of string view
  * fix: simplify code reverting to the original version

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * ci: change download url of appimagetool

  [ Iva Horn ]
  * fix(macOS): Enable debugger to attach to process.

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(mac-crafter): use AsyncParsableCommand everywhere

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix: implicit hydration will not abort synchronization

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * perf(activitylistmodel): avoid creation of temporary Activity objects
  * perf(activitylistmodel): store conflicts in separate list

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Rello ]
  * feat: add legacy account selection dialog.
  * chore: add SPDX headers

  [ Camila Ayres ]
  * feat(navigationpane): use url - account for root folder, folder name for the rest.
  * fix(navigationpane): check for unbranded application name when removing registry entries.
  * fix(application): add folders after accounts are created during migration.
  * feat(utility): migrate fav links.
  * fix(folder): rename VFS folders using same pattern of sync folders.
  * fix(folder): don't display username in folder when there is only one account.

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ bonni ]
  * reads env vars in --non-interactive
  * Revert "Merge branch 'cmd-env-vars' of github.com:internet-memme/nc-desktop into cmd-env-vars"

  [ Camila Ayres ]
  * fix(cmd): use qgetenv.

  [ Jyrki Gadinger ]
  * fix(remotewipe): do not reopen sync db before wiping
  * fix(filesystem): avoid multiple directory separators when joining paths

  [ Hannah von Reth ]
  * Fix CF_PLACEHOLDER_BASIC_INFO.FileIdentity
  * Only disconnect if connected
  * Initilize structs
  * Fix dehydration
  * Reduce warning about empty path

  [ Matthieu Gallien ]
  * fix(code-style): fix wrong code style for encryption jobs
  * fix(logs): adjust some log level to get better production logs
  * fix(logs): makes encryption logs more useful
  * fix(e2ee): do not loose encryption status for folders and files
  * fix(encryption): properly get private key when decoding data
  * fix(clazy): fix clazy reported issues with the existing code
  * fix(db): ensure correct state for encrypted item in DB
  * fix(csr/e2ee): disable broken code when generating a CSR for encryption
  * fix(csr): sets a version on CSR requests for end-to-end encryption

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * chore: bump version to 3.16.81 (3.17.0 rc1)

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix(db): optimize SQL qeury for updating encryption status

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Iva Horn ]
  * feat(l10n): Set up string catalogs for file provider and file provider UI extensions.
  * fix(l10n): Enabled localization of additional text in macOS file provider.
  * feat(l10n): Enabled macOS file provider localizations available in Transifex.

  [ Camila Ayres ]
  * fix(syncjournal): add folder quota bytes used/available columns to metadata table.
  * fix(syncfileitem): save folder bytes available and bytes used to database.
  * fix(discovery): check for db cached folder quota during discovery for some items.
  * test(syncenginetestutils): add function helper to set FileInfo::FileInfoQuota quota.
  * test(localdiscovery): add function for quota check from db when syncing.
  * refactor(quota): rename Quota struct to FolderQuota.
  * fix(quota): do not prevent upload when quota info are not available.
  * fix(quota): wrong conversion from bytes available to int64_t.
  * chore(quota): change log level and fix comment in test.
  * fix(quota): add constexpr property names and server entry valid enum to FolderQuota struct.
  * test(syncengine): add enum for Etags Validate/Invalidate.

  [ Matthieu Gallien ]
  * fix: better name for an enum value to make it easier to read the code
  * fix: rename enum FileInfo::Etags to get a more unique name

  [ Josh ]
  * fix(logger): Set narrower permissions on temporaryFolderLogDirPath

  [ Iva Horn ]
  * feat(mac-crafter): Added time measurement of build phases to improve on.
  * fix(shell_integration): Added Package.resolved of NextcloudIntegration project to version control.

  [ Matthieu Gallien ]
  * feat: checks Qt managed translations for tripple dots instead of elipsis

  [ Jyrki Gadinger ]
  * fix(wizard): show VFS option during account setup when using a mac-VFS build

  [ Joas Schilling ]
  * fix(l10n): Don't sync xcstrings for now

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * chore: remove useless "else if"

  [ Matthieu Gallien ]
  * fix: catch exceptions when using std::filesystem APIs

  [ Camila Ayres ]
  * refactor(abstractnetworkjob): rename var.
  * fix(abstractnetworkjob): display user friendly http errors.

  [ Iva Horn ]
  * fix(l10n): Cherry-picked translations from master.

  [ Matthieu Gallien ]
  * chore: prepare for 3.17.0 rc2 release

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(msi): display external version string in installer

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix(macOS): fix initial VFS activation step

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * fix(abstractnetworkjob): always display the user friendly error message.
  * style(owncloudpropagator): add {} to if else condition.
  * fix(discovery): use user friendly messages when server responses are not successful.
  * fix(TestDownload): update test to match new error string.
  * fix(TestRemoteDiscovery): extend the http error messages in the test.
  * style(abstractnetwork): remove chain of if else.

  [ Matthieu Gallien ]
  * chore: prepare for release 3.17.0 rc3

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex
  * fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * chore: remove obsolete and unused testfolder.cpp
  * fix(folder): use the remotePath for the sidebar display name

  [ Nextcloud bot ]
  * fix(l10n): Update translations from Transifex

  [ István Váradi ]
  * ci: Remove Debian Bullseye, add Trixie

  [ Camila Ayres ]
  * fix(quota): return unlimited free space for type changes.
  * feat(syncjournaldb): add default value to quotaBytesAvailable and quotaBytesUsed columns.
  * test(syncjournaldb): folder quota default values.
  * feat(quota): add default value to metadata column if it doesn't exist.
  * refactor(syncjournaldb): move removeColumn lambda to a function.
  * refactor(syncjournaldb): move hasDefaultValue lambda to a function.
  * refactor(syncjournaldb): refactor logic before updating the list of columns when removing one.
  * test(syncjournaldb): add test for migrating folder quota columns.
  * test(syncjournaldb): use QCOMPARE_GT.

  [ Matthieu Gallien ]
  * chore: prepare for release 3.17.0

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 13 Aug 2025 14:08:48 +0000

nextcloud-desktop (3.16.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * master branch will be 3.16.0 future release

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix spelling os UserStatus qml type when setting user status

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Make connectToPaletteSignal const
  * Try connectToSignal on all OSes on Theme init
  * Add connectToSignal on darkMode property fetch
  * Use Style.darkMode instead of Theme.darkMode

  [ Matthieu Gallien ]
  * no transparent background for main ApplicationWindow

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix regressions in automated tests for bulk upload
  * fix local discovery test for file names with spaces on windows
  * fix TestSyncConflictsModel by using locale aware test data
  * fir regression with VFS availability test on Windows
  * when updating a virtual file after lock/unlock: avoid setting modtime

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * enable reversed locale layout in QML

  [ Valdnet ]
  * improve translations of strings with numbers inside

  [ Matthieu Gallien ]
  * convert double numbers to int because we expect them to be real ints

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Valdnet ]
  * l10n: Change to a capital letter

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * mac-crafter: Check if path to trecursively codesign exists and throw error if it doesn't
  * mac-crafter: Only attempt sparkle codesign if it exists in the app bundle

  [ Matthieu Gallien ]
  * when locking a file set If-Match header to ensure etag is correct

  [ Claudio Cambra ]
  * Re-add transparent tray window colour
  * Make tray window item a rectangle with base palette colour
  * Change window background colour to palette window color
  * Generate icon paths for activities as just svg custom color image provider based urls with no colouring
  * Replace dark/light icon roles with a single icon role in activity list model

  [ Matthieu Gallien ]
  * set the proper file type for directory junction entries

  [ Claudio Cambra ]
  * Set margins on account settings internal layouts as 0 to match folder tree for vfs and connection settings
  * Disable border on file provider settings page by default

  [ Camila Ayres ]
  * Add bool theme option to display legacy import dialog.
  * Check for the option to display legacy import dialog.
  * Move option APPLICATION_DISPLAY_LEGACY_IMPORT_DIALOG to CMakeLists.txt.

  [ rakekniven ]
  * chore(i18n): Aligned error messages

  [ Claudio Cambra ]
  * Ensure colour of featured app icon is consistent with other header buttons
  * Rename first header on macos vfs doc entry, fixing title in index

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Close isExecutable command outpipe file handle after use

  [ Camila Ayres ]
  * Include Nextcloud in the search for legacy config when the client is branded.
  * Do not display any notification when import was successful, only log it.

  [ Matthieu Gallien ]
  * improve definition of MIRALL_VERSION_SUFFIX and MIRALL_VERSION_BUILD
  * dehydrate placeholder files using CfDehydratePlaceholder

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * use modern non deprecated hash algorithm and parameters
  * optionally install PDB files when building them

  [ Camila Ayres ]
  * Include folders when displaying the local metadata about a conflict.

  [ Hannah von Reth ]
  * Fix network drive detection
  * Fix crash on missing sync root
  * Warn if we encounter an unsupported configuration

  [ Camila Ayres ]
  * Update tests for folder check to match fix.
  * Remove unused variable.
  * Add [[nodiscard]] to functions.
  * All conditions must be true to use virtual files in the selected location.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ rakekniven ]
  * chore(i18n): Corrected spelling and improved grammar

  [ Rello ]
  * Update VERSION.cmake

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Rello ]
  * improvement of error message
  * Update src/gui/folderman.cpp

  [ xjzsq ]
  * Fix a bug preventing sync root in folder on drive roots

  [ Matthieu Gallien ]
  * allow dehydrating pinned LNK files
  * remove deprecated API

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Andy Scherzinger ]
  * docs: Add authors file

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.13.3 to 2.13.4

  [ Claudio Cambra ]
  * Replace all uses of qAsConst with std::as_const
  * Ensure use of QMessageBox-using QMessageBox::critical
  * Replace use of deprecated QLibraryInfo::location with QLibraryInfo::path
  * Replace use of itemDelegate with itemDelegateForIndex
  * Replace use of QCheckBox::stateChanged with QCheckBox::checkStateChanged
  * Use QTimeZone::UTC instead of Qt::UTC
  * Remove unneeded take from systray
  * Do not use const char * to add data to crypto hash
  * Replace deprecated QVariant types with QMetaType
  * Use char16_t cast instead of ushort cast
  * Use unique_ptr over scoped pointer
  * Use matchView instead of match
  * Use std::prev ove -1ing the iterator
  * Replace QWebSocket::error with errorOccurred
  * Use QDomDocument content method returning ParseResult
  * Move pinned Qt and Craft cache versions to 6.8.0 and 24.12 respectively
  * Use default downloaddir for craft

  [ Matthieu Gallien ]
  * use CI images with Qt 6.8.0

  [ Claudio Cambra ]
  * Replace aAsConst with std::as_const in tests
  * Use non-deprecated qChecksum in qtlocalpeer of qtsingleapplication
  * Use QTimeZone in startOfDay for QDate in tests
  * Use std::next rather than adding to iterator in tests

  [ Matthieu Gallien ]
  * use existing craft cache version 24.10

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * prevent crash by catching more exception types from c++ std lib
  * ensure no crash due to uncatched exception from std c++ lib

  [ Camila Ayres ]
  * Use Qt::ElideRight.
  * Remove extra \n.
  * Remove assert for when the timestamp is not empty.

  [ sol8712 ]
  * url update in readme

  [ kleifgch ]
  * Call setDesktopFileName without `.desktop` suffix

  [ Matthieu Gallien ]
  * add a simple github action workflow to build test the documentation

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Florian Schmaus ]
  * Fix filename of fix-macosvfs-file-sharing.png

  [ Fredrik Eriksson ]
  * Fix .netrc parsing
  * Fix index check
  * Enable netrc tests

  [ Matthieu Gallien ]
  * force dehydratation of lnk files when vfs metadata are wrong
  * fix code style
  * prevent implicit hydration when checking PIN state

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ kaikli ]
  * fix dev application name

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * ensure proper read write access to root folder and db files

  [ Joshua Noeske ]
  * Make extraction of ETag header independent of capitalisation.

  [ Claudio Cambra ]
  * Replace use of midlight palette colour for secondary text with mid colour
  * Use dark palette colour for secondary text

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * remove old vim swap file
  * fix apps menu not closing when the window is hidden, and make group folders menu work again

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * improve feedback from documentation generation workflow

  [ Claudio Cambra ]
  * Use standard ComboBox for user status selector
  * Delete unused BasicComboBox component

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ tflidd ]
  * Update macosvfs.rst

  [ rakekniven ]
  * chore(i18n): Improved grammar

  [ Ankur Bavisa ]
  * update runwizard introduction screen

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * mac-crafter: Update Sparkle version to 2.6.4
  * updater: Replace SUUpdater with SPUStandardUpdaterController
  * updater: Refactor NCSparkleUpdaterDelegate to conform to SPUUpdaterDelegate
  * mac-crafter: Apply code-signing procedure on Sparkle as recommended by Sparkle docs
  * updater: Provide feedURL via non-deprecated delegate method
  * Set allPaused as false if we have available FileProvider domains with macOS VFS

  [ Jyrki Gadinger ]
  * fix window resize on DPI changes

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * github: Add "Bug" issue type to BUG_REPORT template
  * github: Add "Enhancement" issue type to feature request template

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Carl Schwan ]
  * Use normal MenuSeparator instead of custom code

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * update legal notice copyright years for Nextcloud

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * add some missing doc images in a valid path

  [ Rello ]
  * Update feature.md

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Carl Schwan ]
  * Avoid converting string to color

  [ Matthieu Gallien ]
  * handle LNK virtual files only when VFS mode is not off
  * add an assert to ensure we do not use virtual file types with no VFS
  * update metadata when a file item has wrong type in DB
  * fix the if check for invalid virtual LNK files

  [ Rello ]
  * Update craftmaster.ini
  * Update VERSION.cmake
  * Update craftmaster.ini

  [ Claudio Cambra ]
  * Add maxChunkSize getter function to get chunked upload max size from capabilities
  * Override config chunk sizing values with max chunk size retrieved from capabilities
  * Enforce chunk size provided by server capabilities
  * Add config entry to override server chunk size
  * Fix naming for overrideSercerChunkSize constexpr
  * Remove extraneous parenthesis
  * Fix capsMaxChunkSize comparison
  * Do not apply max capabilities chunk size as min chunk size too
  * Actually call overrideServerChunkSize
  * Remove overrideServerChunkSize config entry
  * Expose maxConcurrentChunkUploads from Capabilities
  * Apply max concurrent chunk uploads retrieved from server capabilities

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * switch client side encryption to use sha256 hash algorithm

  [ Felix ]
  * Log path strings directly instead of accumulating
  * Check if discovery paths are empty before logging

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * modify appimage build script to work with an EL8 base
  * gitignore: add .cache and *.AppImage
  * start using the EL8 image for building the appimage
  * replace drone PR appimage setup with GitHub Actions

  [ Matthieu Gallien ]
  * update the drone signature

  [ Jyrki Gadinger ]
  * update AppImage build comment text

  [ Matthieu Gallien ]
  * use latest appimage build docker image

  [ Claudio Cambra ]
  * Do not assume root activity link is the correct "join call" link

  [ Jyrki Gadinger ]
  * fix "Resolve conflicts" dialog not showing up
  * persist credentials retrieved through the wizard

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * use new in Qt6.8 windows fluent style
  * require Qt 6.8.0
  * switch drone ci to Qt 6.8.0 based images

  [ Jyrki Gadinger ]
  * Remove transparency value from system colours where needed

  [ Matthieu Gallien ]
  * switch to latest Qt 6.8.1 ci image
  * on windows use Qt FluentWinUI3 style unless win10: Universal
  * fix wrong if condition

  [ István Váradi ]
  * Add Ubuntu Plucky

  [ Rello ]
  * Delete .github/workflows/documentation.yml
  * Link to new documentation
  * Update BUG_REPORT.yml

  [ Jyrki Gadinger ]
  * fix colours in dark mode

  [ Integral ]
  * refactor: replace QString() with QStringLiteral() for better performance

  [ Jyrki Gadinger ]
  * use correct qml style on Windows

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * craft: Only set NSIS package type with windows
  * craft: Upgrade to binary cache 25.01 and Qt version 6.8.1
  * craft: Clean up ini file

  [ Matthieu Gallien ]
  * only use debug log level for discovery traces to decrease cost

  [ Claudio Cambra ]
  * shell_integration/macOS: Pin to NextcloudFileProviderKit stable-2.0
  * shell_integration/macOS/FileProviderExt: Adapt to API changes in NextcloudFileProviderKit changes in 2.0
  * shell_integration/macOS/FileProviderUIExt: Adapt FileProviderUIExt Locking to NextcloudKit 5
  * shell_integration/macOS/FileProviderUIExt: Adapt FileProviderUIExt sharing to NextcloudKit 5
  * shell_integration/macOS/FileProviderUIExt: Adapt MetadataProvider utility methods to NextcloudKit 5
  * shell_integration/macOS/FileProviderExt: Do not delete an item twice in FileProviderExtension
  * shell_integration/macOS/FileProviderUIExt: Use valid NKError description property

  [ Camila Ayres ]
  * Improve logging when error occurs while changing folder permissions.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * add support to use PKCS#11 harware token to store certifice for e2ee
  * partial fix for broken automated tests
  * disable some parts of the auto tests for end-to-end encryption
  * fix setting up encryption with software based certificate storage
  * fixes for software end-to-end encryption issues
  * fixes wrong conversion from or to base64 encoding
  * remove wrong conversions from or to base64
  * remove duplicated code in ClientSideEncryption class
  * clear useless declarations or include

  [ Jyrki Gadinger ]
  * fetch "shared with me" information separately

  [ Claudio Cambra ]
  * gui/tray: If there are successfully synced file provide raccounts do not present "problem" sync icon
  * gui/tray: Present successful sync tray icon is we just have idle file provider accounts

  [ Matthieu Gallien ]
  * set the parent folder read/write always when downloading a new file

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix deletion of .lnk files on Windows with paths containing special characters

  [ Claudio Cambra ]
  * shell_integration/macOS/FileProviderUIExt: Add internal link share type to NKShare extension
  * shell_integration/macOS/FileProviderUIExt: Do not hide copy link buttons for internal link shares
  * shell_integration/macOS/FileProviderUIExt: Do not present share options view for uneditable and undeletable shares
  * shell_integration/macOS/FileProviderUIExt: Add method to generate a share from an nkfile
  * shell_integration/macOS/FileProviderUIExt: Enforce item metadata being valid when fetching shares
  * shell_integration/macOS/FileProviderUIExt: Append internal link share to fetched shares
  * gui/macOS: Avoid url domain extensions matching bundle type extensions breaking access to file provider domains
  * gui/macOS: Add convenience inline methods to check if VFS domain identifier is illegal or not
  * gui/macOS: Fix accountIdFromDomainId
  * gui/macOS: Forcibly reconfigure file provider domains with illegal domain names
  * gui/macOS: Mark one line helper functions with inline in domain manager implementation
  * shell_integration/macOS: Upgrade to NextcloudCapabilitiesKit 2.2.0
  * shell_integration/macOS/FileProviderUIExt: Check locking is available on the server before attempting

  [ mammo0 ]
  * replace ownCloud references with Nextcloud

  [ Camila Ayres ]
  * Add button to scroll to top when activity list is long.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Improve text returned when checking VFS availability.

  [ Jyrki Gadinger ]
  * skip attempt to install updates at launch when update checks are disabled

  [ Claudio Cambra ]
  * gui/tray: Prevent talk reply text field being too wide and breaking layout

  [ alex-z ]
  * Bugfix. E2EE. Always migrate from 1.2 to 2.0, even with nested folders.

  [ Matthieu Gallien ]
  * while migrating from another version, clean updater config

  [ Camila Ayres ]
  * Look for previous used application name for config folder.
  * Update the max folder and the max account version.
  * Check for FoldersWithPlaceholders when migrating account's folders.
  * Remove check for overrideurl when migrating account.
  * Overwrite the user exclude list when the client is branded.

  [ Alex Knop ]
  * dialogfix

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * add test skeleton for OCC::FolderStatusModel

  [ Camila Ayres ]
  * Detect if it is running in a Vmware or being access via RDP to disable graphic acceleration.

  [ Matthieu Gallien ]
  * use qputenv to modify the running process environment
  * prepare for 3.16.0-rc1

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * fix rounded corners in the call notification

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * don't use palette.dark for icons in share page
  * use TextArea instead of TextEdit for share note field

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ rakekniven ]
  * chore(i18n): Remove blank

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * vfs: fix root folder detection regression
  * vfs: use native separators for displayed error message

  [ Camila Ayres ]
  * Disable the option to select an update channel when server has a valid subscription.
  * Don't display the option to change update channels when server has valid subscription.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * qCInfo => qCDebug
  * Add {} to single line if.
  * fi => excludeItemFileInfo.
  * blacklist => selectiveSyncList.

  [ Matthieu Gallien ]
  * enforce trailing and leading spaces for new files
  * automatic removing of invalid spaces in file names
  * try to detect if naming rules are enabled on server before auto rename
  * basically try to enforce the windows compatibility as guess from server
  * try to enforce the windows compatibility as guessed from server
  * ensure correct behavioron Windows for invalid file names
  * handle errors when automated renaming for name rules is failing
  * provide consistent version info including human readable version

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Valdnet ]
  * l10n: Change three dots to an ellipsis

  [ Camila Ayres ]
  * Check if folder exists before deleting sync db and VFS sync root connection.

  [ Matthieu Gallien ]
  * prevent infinite sync loop: delay retry after many errors
  * using multi-arg is better than many arg calls in QString class

  [ Jyrki Gadinger ]
  * wizard: display error message when ToS haven't been accepted yet

  [ Matthieu Gallien ]
  * detect the need to sign the terms of service during login web flow v2
  * add a wizard page to check terms of service

  [ Jyrki Gadinger ]
  * implement terms of service check wizard page
  * add link to server if TOS needs to be signed
  * add a button to open the browser if TOS need to be signed
  * check for need of signing TOS during connectivity check

  [ Pablo Ariño Muñoz ]
  * fixed html formatting on encrypted warning message

  [ Matthieu Gallien ]
  * prepare for 3.16.0 rc2

  [ Jyrki Gadinger ]
  * FolderStatusModel: only create a single QFileIconProvider object

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * UserStatusSelector: set focusPolicy on accept button

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * ensure we can delete invalid read-only items

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Added plural forms handling correction to notification message
  * Removed parenthesis and passed a nullptr for the disambiguation
  * Added space between sentences

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Replaced foreach with range loops
  * removed redundant qAsConst
  * Replaced qAsConst with std::as_const
  * Added more std::as_const and replaced types for auto, as well as other suggestions
  * Carried out further fixes, changing types to auto and adding const
  * Added copy of container to ranged loop so as to prevent crash

  [ rakekniven ]
  * chore(i18n): Use correct plural syntax

  [ Camila Ayres ]
  * Update help url default value.
  * Remove help url from developer string.
  * Adjust layout margins to align text.
  * Remove helpUlr() call from string.

  [ Jyrki Gadinger ]
  * do not display encrypt action for external folders

  [ Claudio Cambra ]
  * craft: Use Qt 6.8.2

  [ Camila Ayres ]
  * Prepare for 3.16.0-rc3.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Added an option to customize the server poll interval in the Advanced Settings
  * Fixed link by changing it from .ui to .cpp
  * Simplified the code, removed checkbox and moved section further down
  * fixed formatting mistakes and removed unnecessary include

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Changed critical free space to 512MB and free space to 1GB in code and documentation

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Pablo Ariño Muñoz ]
  * Changed properties to designer file and hiding interval selector when notify push is available
  * carried out suggested improvements

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * gui/tray: Do not generate JPEG images in async image response for macOS
  * gui/tray: Remove unused thumbnailjob class

  [ Matthieu Gallien ]
  * when deleting a remote locked file, provide needed lock headers

  [ Claudio Cambra ]
  * gui/macOS: Remove "Advanced" settings from File Provider settings
  * gui/macOS: Reimplement sync button more subtly within the sync status component
  * gui/macOS: Add tooltip explaining the "request sync" action in the File Provider settings
  * gui/macOS: Use attached tooltip properties rather than creating a new tooltip in request sync button

  [ Jyrki Gadinger ]
  * update AppImage builds to Qt 6.8.2

  [ Claudio Cambra ]
  * gui/tray: Use standard native buttons for bottom buttons in user status selector page
  * gui/tray: Let menu handle sizing of child menu items in tray window header
  * gui/tray: Add hacky workaround to avoid icon and text for menu items in tray header being too close
  * gui/tray: Do not add custom styling to status message text field in user status
  * gui/tray: Make bottom buttons in user status selector smaller

  [ Jyrki Gadinger ]
  * gui: do not allow MainWindow to be resized

  [ Camila Ayres ]
  * Bump version to release 3.16.0-rc4.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * Revert "gui: do not allow MainWindow to be resized"

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Remove aditional text when error occurs.

  [ Claudio Cambra ]
  * gui/macOS: Fix emitted signal in file provider sync status GUI component

  [ Jyrki Gadinger ]
  * make use of the new `x-nc-skip-trashbin` header
  * always set a user if we got asked for one

  [ Matthieu Gallien ]
  * prepare 3.16.0 final release

 -- István Váradi <ivaradi@varadiistvan.hu>  Thu, 13 Mar 2025 19:04:31 +0000

nextcloud-desktop (3.15.0) jammy; urgency=medium

  [ suiso67 ]
  * Narrow down ReadWrite folder permission to owner

  [ Matthieu Gallien ]
  * master is now the next feature release (i.e. v3.15.0)

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ István Váradi ]
  * Fix release kind detection

  [ Matthieu Gallien ]
  * on windows use QWidget native platform style
  * properly detect and enable Qt6 WebEngine integration
  * add missing logs and checks for database errors
  * also include temporary files from WAL SQLite mode into debug archive

  [ Josh ]
  * docs: conf file option moveToTrash is no longer Linux specific

  [ Matthieu Gallien ]
  * remove the frame around the sync folders settings area

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Andy Scherzinger ]
  * style: Update icons to latest Hub 9 style

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * only add Encrypt context menu entry for top folder in settings dialog

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * ensure detection of entry type on windows is reliable

  [ Camila Ayres ]
  * Remove QtWebEngineProcess.entitlements.

  [ alex-z ]
  * Revert "Fix incorrect date parsing."

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Change default Qt quick control style depending on the platform.

  [ Matthieu Gallien ]
  * set the windows native qml style on windows systems
  * let's not make the background color of main dialog be transparent
  * remove any use of custom palette: use the style palette

  [ Camila Ayres ]
  * Remove component versions under src/gui/tray.
  * Remove qml component version from import.
  * Remove component import version from Style.qml.

  [ Matthieu Gallien ]
  * let main dialog have a transparent background again
  * add a QQuickStyle fallback: Fusion is fallback style
  * use new QStyleHints::colorScheme feature to use light or dark mode
  * remove broken system paellete detection within our custom style

  [ Camila Ayres ]
  * Change default Qt quick control style depending on the platform.
  * Replace NCToolTip for ToolTip.
  * Fix repeaded call to QQuickStyle::setStyle.
  * Remove custom properties for background and opacity from CustomButton component.
  * Remove custom properties for text color/hover from CustomButton and NCButtonContents components.
  * Fix warning: The current style does not support customization of this control (property: "background").
  * Fix warning: The current style does not support customization of this control (property: "contentItem").
  * Fix warning: The current style does not support customization of this control (property: "background").
  * Fix warning: The current style does not support customization of this control (property: "contextItem").
  * Fix warning: The current style does not support customization of this control (property: "indicator").
  * Fix warning: The current style does not support customization of this control (property: "background").
  * Clean HeaderButton component from customizations.
  * Remove setting contentsFont, not used anymore in CustomButton.
  * Remove customizations from CustomButton.
  * NCRadioButton => RadioButton.
  * Remove backround customization from ShareeSearchField.
  * Remove the component version from import.
  * Remove duplicated header image.
  *  Remove image hover from NCButtonContents and CustomButton.
  * Remove cutomizations for text color and hover from ActivityActionButton.
  * Remove customizaton for placeholder text color from UnifiedSearchInputContainer.
  * Remove customization for text color and hover from TextButtonContents.
  * Remove backround rectangle from NCInputTextEdit.
  * Fix font color light/dark of time in ActivityItemContent.
  * Remove customizations for hover background from the user menu options.
  * Remove customization for font color from EnforcedPlainTextLabel.
  * Remove background hover customization from UserLine.
  * Remove more color customizations from Window and TrayFoldersMenuButton.
  * qrc:/// => image://
  * Fix talk app icon.

  [ Matthieu Gallien ]
  * add missing exception handling

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix make_universal.py not taking into account 64-bit bundle dylibs

  [ Jyrki Gadinger ]
  * gui: add some extra syncing details to the tray tooltips
  * gui: remove Systray::setToolTip

  [ Matthieu Gallien ]
  * do not ignore paths containing 2 "#" characters

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Joas Schilling ]
  * ci: Update workflows

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Wrap all uses of FileSystem::setFolderPermissions in ifdefs for macOS
  * Wrap use of folder permissions restore in mac ifdefs
  * Fix issue with placing app bundle in product directory if an existing build is there
  * Add convenience method to save the entitlements of a bundle to a file as XML
  * Fix notarisation issues for Sparkle in mac-crafter
  * Remove get-task-allow entitlement when code-signing app extensions
  * Make sure to code-sign all binaries in app bundle
  * Use deep codesigning by default in mac crafter
  * Fix codesigning of qtwebengine related helper app in mac crafter
  * Always move final product to product path in mac crafter
  * Move building into separate subcommand, add subcommand just for codesigning

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * collect remnant read-only folders during discovery
  * let cancel sync and finish sync  lambda be reusable methods
  * detect remnants read-only folders to delete: try to delete them
  * let FileSystem::removeRecursively be able to delete read-only folders
  * delete invalid folders and restart sync automatically
  * add automated tests for complex move scenario
  * avoid wrong tracking of renamed folders during discovery
  * improve some log that are produced during discovery

  [ Claudio Cambra ]
  * Move all sharing components for FileProviderUIExt into a Sharing folder
  * Add basic LockViewController components
  * Add lock/unlock actions in FileProviderUIExt info plist
  * Handle new locking action identifiers in document action view controller of FileProviderUIExt
  * Add basic properties to lock view controller
  * Design lock view in file provider ui
  * Add close action to lock view controller
  * Move service connection fetcher method into a utils file
  * Move item metadata fetch into util file in FileProviderUIExt
  * Add convenience method to present and log errors in lock view controller
  * Add method to simply provide file details in locking view
  * Process target item on init of lock view controller
  * Perform lock/unlock procedure in lock view controller
  * Add convenience function to stop/hide loading indicator in lock view controller
  * Stop loading indicator when presenting error
  * Pull out error handling from completionHandler for nckit lockunlock
  * Once finished locking/unlocking, stop loading indicator
  * Make sure not to check for kit before we should in shares table view data source
  * Fix file lock server url in lockviewcontroller
  * Fix XIB initialisation in LockViewController
  * Fix internal layouting of lock view by simply using a nsview rather than fumbling with a stack view
  * Add warn image to locking view if there is an error
  * Fix NSExtensionFileProviderActionActivationRules for locking menu items
  * Display checkmark when file lock completed
  * Do not provide items if account is not set up correctly
  * Signal enumeration of locked/unlocked file
  * Make sure we do not renotify notifications when we have received the same etag as during the last check
  * Notify even if pre-fetch etag header is empty

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Jyrki Gadinger ]
  * gui: add some context for translators

  [ Camila Ayres ]
  * Fix tray header light/dark theme.
  * Fix caret-down icon theme, size and alignment.
  * Fix dark/light mode for account menu.
  * Fix display of icons in dark/light theme.
  * Add colored to base colors.
  * Use palette.window as header background color.
  * Add new icon for more apps menu.
  * Use Style.trayFolderStatusIndicatorRadiusFactor in the UserLine.
  * Match the apps menu list look with the user's list look.
  * Use the same radius value, border colors and hover colors in all header menus.
  * Add radius value, border and hover colors in the folder's menus.
  * Add margin space to the right of the 3 dots user menu.
  * Fix the color of the tab icons in the files details page.
  * Fix warning: TypeError: Cannot read property 'height'/'width' of null.
  * Fix unified search input placeholder text alignment and radius.
  * Fix height of text input fields and radius.
  * Remove extra ';'
  * Add the same round background rectangle for the talk reply text field.
  * Adjust radius values: main window and text input uses bigger value, dropdown menus uses half.
  * Fix emoji selector page: transparency made it unusable. Use windows background color.
  * Add todo: fix predefined status list.
  * Add todo: check if we should keep bottomUnifiedSearchInputSeparator.
  * Remove user status hover effect and background color.
  * Fix error: Audio is not a type.
  * Fix wrong Style property.
  * Remove extra ';'

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Nicolas Fella ]
  * Mark as single window app

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * ensure proper VFS metadata when restoring folders
  * as a last resort, try to update VFS metadata of folders when discovered

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.12.1 to 2.13.0
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Correctly kill processes spawned by mac-crafter if mac-crafter quits/is killed/etc
  * Add buildPackage function to mac crafter
  * Add flag to build pkg in mac-crafter
  * Add ability to sign pkg from mac-crafter
  * Add ability to notarise package from mac-crafter
  * Add ability to build and sign sparkle tbz from mac-crafter
  * Add logging to packaging procedures in mac-crafter
  * Use appName for packaging step in mac-crafter
  * Remove unused sparkleFile var
  * Fix work build path used in mac crafter packaging stage
  * Create convenience function to convert architecture string to craft target string
  * Move packaging procedures into a single function in mac crafter
  * Make specific step functions for packaging fileprivate in mac crafter
  * Add package command for mac crafter
  * Add note about packaging tooling in mac crafter
  * Bump up minimum system version to 11.0 on macOS (required by Qt 6)
  * Downgrade deployment target variables to 11.0 as 12.0 is not necessary
  * Remove now unneeded deployment target checks in CMake
  * Revert "Merge pull request #6986 from nextcloud/feature/alwaysEnableHttp2"

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.13.0 to 2.13.1

  [ Claudio Cambra ]
  * Add combo box to setup page UI
  * Add property for detecting of application override server url is in fact a JSON array string describing multiple servers
  * Do not apply override server url as account url if this is a multi-server JSON string
  * Show or hide multi-server overrides or text field depending on type of override url
  * Accept combo box selection as completed state in setup page
  * If using multi-server override url and forcing it then provide combo box selection url as url in setup page
  * Use url method instead of text field contents as url when deciding on error string in setup page
  * Do not automatically validate server URL when enforced servers is active but have multiple servers
  * Display server URL in multi-server enforced combo box
  * Use a raw string in config.h.in for application server url
  * Ensure we hide the combo box for multiple override servers by default

  [ Camila Ayres ]
  * Update README.

  [ Joas Schilling ]
  * Update config.yml

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * store lock tokens in database
  * receive and decode tokens for locks
  * if a file is locked/ provide token during upload
  * provide LOCK token when uploading a single file via PUT
  * change the order of imports in Window.qml
  * rename our Window component to MainWindow to not use an existing name
  * add seemingly needed qml import path

  [ Camila Ayres ]
  * Use version of linuxdeploy-plugin-qt from PR in the project.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * clarify when desktop client should offer to unlock a file
  * lock token should be sent via webdav only for token lock type
  * changing default chunk size to 100MB
  * remove obsolete not working docker image for windows compilation

  [ Camila Ayres ]
  * Fix alignment and size of buttons.
  * Validate input of APPLICATION_SERVER_URL.

  [ Matthieu Gallien ]
  * disable our code for network timeout

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Only check leading/trailing spaces for files on Windows.
  * Add test testCreateLocalPathsWithLeadingAndTrailingSpaces_syncOnSupportingOs.
  * Fix tests for trailing spaces on Linux.
  * Use preprocessor directives in tests.

  [ Matthieu Gallien ]
  * use constexpr function for platform detection

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Add support for the new craft blueprint options relating to override server urls

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Codesign webengineprocess with correct entitlements on macOS with mac crafter

  [ Matthieu Gallien ]
  * count the files deletion and warn if threshold is exceeded

  [ Andy Scherzinger ]
  * docs: Update template to match org-templates

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * create a permanent log of delete actions
  * remove not so usefull log line for new files
  * message should say many not all: would be triggered by 200 files

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * enable dev logs only when NEXTCLOUD_DEV is defined to value 1
  * improve debugger logs on Windows to have same content than normal log

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * remove too verbose logs during discovery
  * remove useless internal log about remote permissions management
  * remove too verbose not so usefull logs
  * remove internal logs in propagation scheduler: not usefull
  * downgrade severity level of logs during propagation
  * qml Windows native style is broken on dark mode: switch to Fusion
  * switch folder wizar to modern style to avoid borken windows dark mode
  * remove hard coded white color in elements of folder wizard
  * ensure log context category is valid before reading it

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * properly catch std::filesystem exceptions

  [ Camila Ayres ]
  * Add README about mac-crafter.
  * Add note about craft-master in the main README.

  [ Claudio Cambra ]
  * Simplify build instructions in mac-crafter README
  * Clarify architecture setting has automatic default in mac-crafter readme
  * Match the universal build instructions with what we actually do with mac-crafter and make_universal

  [ Camila Ayres ]
  * Fix the list of steps order.
  * Fix permanent link to mac-crafter README.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * remove extra argument from QString::arg: string has only 1 placeholder
  * remove not so usefull log output
  * remove info level output from activity list model: not so usefull
  * improve log when too many deleted files are detected
  * try to increase timeout of github actions for macOS
  * no longer use deprecated Craft command line option
  * CI fix warning: inkscape was renamed to homebrew/cask/inkscape

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Remove unused <random> import in cmd.cpp
  * Encourage use of https in error message for cmd.cpp
  * Properly check for webdav or dav path in provided host url for cmd.cpp
  * Try to authenticate new account details before setting them
  * Retry authentication if connection timed out
  * Wait for task to complete synchronously after setting up domain account rather than wrapping everything in task
  * Fetch user profile (and user ID) when setting up domain account
  * Properly provide both user-provided username AND backing user ID to File Provider Extension
  * Handle userId correctly in File Provider Extension client interface
  * Stop fetching user profile details now that is not necessary in file provider extension

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix poor translation strings for blacklisted error reason strings

  [ Camila Ayres ]
  * Make string more readable for translators.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * improve wordings of confirmation dialog when many files are deleted

  [ Claudio Cambra ]
  * Fix crash caused by null accountstate due to bad domain identifier parsed from FPExt

  [ Camila Ayres ]
  * Check if signature is empty.
  * Add test testFolderMetadataWithEmptySignatureDecryptFails.
  * Report client status error when signature is empty.
  * Fail with error before calling folder metada setup when received empty signature.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * test syncing of read-only .lnk windows shorcuts
  * better logs tounderstand when a folder is local scanned
  * in automated tests, update modtime when modifying the content of a file
  * handle NEW/NEW conflicts by being real conflicts
  * remove the enforcement of identical etag for a server side item MOVE

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.13.1 to 2.13.2

  [ Elsie Hupp ]
  * Fix Finder sidebar icon to work as a "template" image and change to SF Symbols lineweights
  * Show/Hide Menubar and Dock Icon

  [ Rello ]
  * remove ownCloud wording in logging

  [ Matthieu Gallien ]
  * on receiving reply of a remote MOVE: always record it

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Incorporate doc fixes from pull request #6122
  * Wrap use of NSFileProviderManager globalProgress in availability check
  * Fix swift 6 concurrency error regarding use of authAttemptState
  * Run post-auth state check with main actor task
  * Make sure storage headers do not collide with each other in macOS VFS settings
  * Constify openLocalFolder
  * Use for : loop in getFolder
  * Prevent double slashes in group folder path parsing
  * Take reference to folder in folder map within User::getFolder
  * Add ability to make share sharee displayname more verbose
  * Check for and store indices of shares with duplicate display names
  * Display more verbose share display names for shares that have sharees with identical display names
  * Make sure to update display of all duplicate display name shares
  * Clean up check for equality between sharee display names
  * Store duplicate indices as key-value pair with value storing bucket of all duplicates
  * Ensure on removal of share that display string is updated for last (now non-)duplicate share
  * Pin Craft Qt version to 6.7.2 and binary cache version to 24.08

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * detect the terms of service app is requiring the user to sign them
  * content access denied error during discovery: verify server access
  * content access denied error during discovery: verify server access
  * notify user once when terms of service need to be signed
  * properly detect need to sign terms of service state

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * improve again state tracking with terms of service app
  * improve logs when checking terms of service status

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Set promptDeleteFiles default to false.
  * On upgrade notification for mass file deletion is disabled by default.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Only display server name in multiple override servers dropdown

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.13.2 to 2.13.3

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Remove call to wantsAccountSaved when clearing the cookies.
  * Validate http_user value before assigning it to user in the config file.
  * Use const auto.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Update share link for AppImage tool.

  [ Claudio Cambra ]
  * Add xml-escaped version of application vendor variable in CMakeLists
  * Use xml-escaped application vendor in info plist, fixing code-signing issues for vendors with special chars

  [ Camila Ayres ]
  * Remove checks for the update channel from the getter function.
  * Change the list of update channels when server capabilities change.
  * Do not override the subscription value if one of the account has enterprise.
  * Do not override the channels list if one of the account has enterprise.
  * Save serverHasValidsubcription in the account.
  * Fix logic for initial load of update channels and priority for user with subscription.
  * Update config value when serverHasValidSubscription when accounts are added or removed.
  * Address PR feedback.
  * Remove check in setServerHasValidSubscription.
  * Fix compiling when BUILD_UPDATER is set to OFF.

  [ Claudio Cambra ]
  * Do not alter the user's debug and expiration settings when changing temporary log dir setting

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * Bump platisd/clang-tidy-pr-comments from 1.5.0 to 1.5.1
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Do not attempt to reach out to FileProviderExt every single time we want to check if it is reachable
  * Slash semaphore wait delta on reachability down to 1 second
  * Increase reachability retry timeout
  * Store reachability of FileProviderExt by respective account
  * Start counting storage usage from 0 for macOS virtual files account
  * Update copyright year in macOS info.plist template

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Only present proxy password delete error if it is not a "does not exist" error

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Add section on Apple ATS to docs troubleshooting section
  * Add option to create developer builds of client via mac crafter
  * Emit a signal on wizard close
  * Also emit close signal on window hide (i.e. user close) on macOS
  * Clear wizard static pointer on wizardClosed

  [ Rello ]
  * Update nextcloudcmd.rst
  * Update doc/nextcloudcmd.rst

  [ Fabian Creutz ]
  * Add null check for resultDacl after calling GetSecurityDescriptorDacl

  [ Camila Ayres ]
  * Add step to remove Desktop.ini to removeFolder function.
  * f => folderToRemove.
  * Modernize NavigationPaneHelper class.
  * Add documentation about Utility::setupFavLink and Utility::removeFavLink.
  * Modernize Utility::removeFavLink and Utility::setupFavLink.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Add starter documentation page on macOS VFS
  * Add introduction section to macosvfs docs
  * Add install/initial setup section to macosvfs docs
  * Add section on finder integration to macosvfs docs
  * Add note on notify_push to macosvfs doc
  * Add section on configuration for macosvfs docs

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * remove assert that is being hit always when running debug builds

  [ Claudio Cambra ]
  * Remove background from textfields to fix errors
  * Add small top margin to shareview

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix encoding used for override server url
  * If fileProviderExtRecheable is false, try to reconfigure client communication service

  [ Camila Ayres ]
  * Update url to dowload linuxdeploy-plugin-qt tool latest version.

  [ Claudio Cambra ]
  * Rewrite setResult:forPath: method signature for SyncClient and FinderSync
  * Do not set badge identifier for a given path URL if the URL is nil
  * Revert "remove broken system paellete detection within our custom style"
  * Add convenience method to check Windows 11 availability
  * Use old palette change detection method on Windows 10 and under
  * If <= Windows 10, use the reserve dark palette for dark mode
  * Use registry-based dark mode detection on <= Windows 10
  * Use QOperatingSystemVersion in Windows 11 check

  [ Matthieu Gallien ]
  * use QWidget Fusion style on Windows 10: enable dark mode
  * create a log category for OCC::Theme class
  * implement a drak mode palette  and use it when needed
  * on Windows 10 follow color scheme changes and apply them
  * some improvements for account network settings

  [ dependabot[bot] ]
  * Build(deps): Bump platisd/clang-tidy-pr-comments from 1.5.1 to 1.6.1

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Ensure paths are passed properly escaped into codesign command in mac-crafter
  * Add missing brace in FileProviderXPC's fileProviderExtReachable
  * Also escape codesign call with saving entitlements
  * Also add options to recursive codesign function
  * Use recursive codesign instead of broken wildcard path for sparkle Autoupdate app
  * Fix codesign path for app bundle main binaries
  * Escape code sign entitlement paths in mac crafter
  * Add live photo properties to syncfileitem
  * Add live photo properties to remoteinfo struct
  * Add live photo properties to sync journal file record
  * Handle live photo in syncjournaldb queries and inserts
  * Fetch and record live photo properties during remote discovery single directory job
  * Apply live photo server entry properties to syncfileitem
  * Set live photo properties on syncfileitem when creating one based on other types of items
  * If the user tries to delete the movie component of a live photo, redownload this
  * Add isLivePhoto property to FileInfo in syncenginetestutils
  * Add setIsLivePhoto method to FileInfo
  * Add test for correct handling of live photo mov deletion
  * Check for live photo against db entry instead of server entry
  * Handle NeedToSignTermsOfService account state in file provider components
  * Handle redirect detected for account state in domain manager

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Do not do deep codesign as default
  * Also sign executables during recursive codesign
  * Do a codesign of the app bundle itself as final step
  * Bring back coloured header
  * Fix background colour for tray window (should be base as we only show item views)
  * Use palette base colour for windows (we always display item views)
  * Remove custom background from menus and menu buttons
  * Remove internal list view and scrollview from apps menu
  * Remove commented-out hover effect component
  * Wrap the instantiated userLine components in a menu item
  * Use standard icon for addAccountButton, fixing sizing
  * Use standard icon property to set icon for userline
  * Improve spacings of userline
  * Make sizing of addacount button more reasonable
  * Fix some more colours
  * Fix colours for some more components
  * Fix components for share details page footer
  * Fix sync status separator
  * Fix borders for share details page footer
  * Fix icons in share delegate buttons being uncentered
  * Fix spacing of activity item buttons
  * Respect showDismissButton
  * Simplify layout and fix alignments, sizings, and layouts of items with native theming in unified search input container
  * Fix placeholderTextColor in user status selector text field
  * Decouple emoji field button from UserStatusSelectorButton
  * Replace use of CustomButton with standard Button
  * Remove custom button QML items
  * Fix sizing of share details page buttons
  * Fix label alignments on share view checkboxes
  * Fix displaying of busy indicator on share view
  * Do not use magic numnbers for spacing of sync status icon
  * Fix search bar separator in tray window
  * Remove menuBorder Style variable, just use palette (as we have already done in parts)
  * Remove now unused hover colors
  * Remove background color from Style, use palette base in its place
  * Use standard text colour in ncinputtextedit
  * Move remaining uses of secondary text color to use palette midlight, remove this property froms style
  * Remove unused colours from style
  * Use accentColor rather than header colour where appropriate
  * Give sync progress bar expected fill colour
  * Use constexpr for accentcolor adjustment value
  * Remove unused style measurements
  * Fix colour of indicator outlines in tray header elements
  * Reduce size of tray window header
  * Remove rectangle aboce folder state indicator background in tray folders menu button
  * Remove unused properties from UserLine
  * Do not load caret on current user button if the button had a non-null indicator
  * Move current account header button definition into own file
  * Move tray window header component into separate file
  * Do not treat bundles as executables in codesign check
  * Mark non-const getters in Folder definition as const
  * Store fetched folder as private member in filedetails
  * Simply pass AccountPtr to updateFileTagModel
  * Ensure we are checking for tags in correct server path regardless of the particular local path
  * Move setup of server relative path used in FileTagModel into FileDetails
  * Add missing nodiscards in folder methods
  * Remove unused includes in filetagmodel
  * Make the unified search input being focused a valid active reason
  * Add a mouse area to allow de-focusing the unified search text field on click elsewhere
  * Fix keyboard tab behaviour when focus reaches unified search bar
  * On escape pressed of unified search placeholder view, diable activeSearchFocus
  * Add a UnifiedSearchPlaceholderView
  * Place unified search placeholder view in main tray window view when in focus and no text is entered
  * Clean up ids of internal components of placeholder views
  * Unify definition of unified seach placeholder views fonts
  * Allow using an external task for running commands in mac-crafter run command
  * Do not rely on FileManager's isExecutableFile, check manually for Mach-O executable type
  * Do not do final bundle codesign

  [ Matthieu Gallien ]
  * improve files explorer context menu by removing obsolete commands
  * flush logs every 5 lines written
  * ensure folder permissions are read-only when needed
  * ensure no any user writable permissions in Nextcloud sync folder
  * better logs and factor common code in folder permissions handling

  [ Claudio Cambra ]
  * Add checkbox to disable general talk notifications in general settings
  * Add setting for showing chat notifications to configfile
  * Add the chat notification toggle setting logic in generalsettings
  * Only notify talk chat notifications if this is enabled
  * Do not use const for POD type in setShowCallNotifications declaration
  * Remove unneeded check for DnD status when showing desktop talk notification

  [ Matthieu Gallien ]
  * remove this call that is probably useless and crashing tests

  [ Claudio Cambra ]
  * Do not take current dir pth for filemanager for recursive codesign executable path check
  * Ensure path passed to codesigning is absolute when using mac-crafter codesign
  * Only define enumeratedItemPath once
  * Ensure we sign the app bundle's main executable last
  * Add ability to skip certain files in recursive codesign
  * Skip main executable during first binary codesign round

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix broken general setting UI file
  * Rename horizontalLayout with duplicate name
  * Add displayFileOwner property to ShareModel
  * Add fileOwnerDisplayName property to ShareModel
  * Set if the file owner should be displayed and the file owner display name on propfind in sharemodel
  * Add sharedWithMe-related properties to sharemodel
  * Also fetch shared with me share on target path
  * When handling fetched shares, record shared-with-me related information in sharemodel properties
  * Display file owner information (if not self) in share view
  * Display shared with me file's share expiry in share view if relevant
  * Display share owner rather than file owner (this is more relevant to user)
  * Bolden string showing who owns the share that was shared with me
  * Convert ImageProvider in an async image provider using an internal image response
  * Add ability to fetch remote server avatars in usermodel avatar ImageResponse
  * Add shareOwnerAvatar property to ShareModel
  * Build shareOwnerAvatar image provider string when handling sharedWithMe share in ShareModel
  * Display image for sharedWithMe share owner in share view
  * Ensure requestedSize for avatars is valid
  * Ensure account pointer is valid when fetching avatars
  * Clean up whitespace in ShareModel::slotPropfindReceived
  * Match definition of shared_with_me with other properties in OcsShareJob getShares
  * Ensure avatarJob is run on the respective account's QNAM thread

  [ Matthieu Gallien ]
  * do not move to trash online only files/folders: going to fail
  * fix computation of availability for empty folders
  * use proper item type when converting existing windows shortcuts
  * fix migration of existing windows shortcut files to placeholder
  * provide proper log when we block a self hydration request
  * prevent implicit hydration when setting file permissions on shortcuts
  * never use QFileInfo on possibly pure virtual placeholder file
  * improve logs for CfAPI handle requests in erroneous cases
  * remote permissions of a view-only folder: no new file or folder
  * ensure lnk shortcut files are converted to virtual files

  [ Claudio Cambra ]
  * Directly bundle macOS vfs logs within standard debug archive
  * Remove create debug archive button from individual vfs account settings
  * Ensure we are not halting the entire application when trying to generate the debug archive for macOS vfs
  * Move debug archive for vfs creation out of log entry creation
  * Just use davUser as account identifier for macOS log filename
  * Move file provider header include into file provider ifdef

  [ Camila Ayres ]
  * Use slotComputeOverallSyncStatus as a slot.
  * Fix warning "Calling C++ methods with 'this' objects different from the one they were retrieved from is broken"
  * Modernize Account::displayName().
  * Use slots as slots.
  * Diferentiate between display name and dav display name.
  * Rename vars: _am => _networkAccessManager, a => newAccountData.
  * Use saveAccount for adding single account.
  * Add {} to single line if.
  * acc => account.
  * wiz => owncloudSetupWizard.
  * Call for done() when skipping folder configuration.
  * Remove check before setting display name.
  * Fix tests: make sure displayName is not empty.
  * Correct Q_PROPERTY for _davDisplayName.

  [ cmuck ]
  * Fix login regression on linux
  * Fix login regression on linux

  [ Matthieu Gallien ]
  * revert changes to the stale virtual files clean up function
  * prevent out of bounds access in automated tests

  [ Claudio Cambra ]
  * Remove unneeded workaround for dash separated language strings
  * Only grab system language from QLocale::system
  * Use first uiLanguage as lang

  [ Matthieu Gallien ]
  * add include QLocale to fix compilation issue
  * use CI images including Qt6.7 that is now required
  * we require Qt 6.7 release to build
  * prepare for release 3.15.0

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix spelling os UserStatus qml type when setting user status

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Make connectToPaletteSignal const
  * Try connectToSignal on all OSes on Theme init
  * Add connectToSignal on darkMode property fetch
  * Use Style.darkMode instead of Theme.darkMode

  [ Matthieu Gallien ]
  * no transparent background for main ApplicationWindow

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 18 Dec 2024 16:07:30 +0000

nextcloud-desktop (3.14.0) jammy; urgency=medium

  [ Camila Ayres ]
  * Bump version to 3.13.50.
  * Add cmake NEXTCLOUD_DEV so debug client can run in parallel to release client.

  [ alex-z ]
  * Detect office files for locking on new upload. Notify FolderWatcher.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix crash when in debug mode when toggling enabled status of an account's virtual files (macOS)
  * Add new FileProviderUIExt target
  * Build and install FileProviderUIExt via CMake
  * Add FileProviderUIExt entitlements file
  * Add logger extension to FileProviderUIExt
  * Add logging for prepare methods of document action view controller
  * Create ShareViewController
  * Add convenience method to prepare child view controllers in DocumentActionViewController
  * Remove unused IBActions in DocumentActionViewController
  * Properly add share custom action
  * Add proper design for share view in file provider UI
  * Store file provider item identifiers in ShareViewController
  * Make close button work properly in share view
  * Add domain property to document action view controller
  * Set the right filename and icon on share view controller view
  * Extract display updating upon url acquisition to different method in ShareViewController
  * Add starter FPUIExtensionService protocol
  * Implement convenience method to acquire FPUIExtensionService in share view controller
  * Add starter FPUIExtensionServiceSource
  * Add starter ItemSharesController
  * Add fetch method to itemsharescontroller
  * Add table to ShareViewControlelr XIB
  * Add starter ShareTableItemView XIB
  * Add more complete ShareTableItemView design
  * Add starter ShareTableViewDataSource
  * Add outlet for share view table view
  * Add base properties to ShareTableViewDataSource
  * Move serviceConnection method to table view data source
  * Add share fetching routine to FPUIExtensionService
  * Add item shares loading routine to ShareTableViewDataSource
  * Instantiate share data source in share view controller
  * Fix protocol used for FPUIExtensionServiceSource
  * Fix visibility of logging in ItemSharesController
  * Add FPUIExtensionServiceSource to services published by FileProviderExt
  * Fix linking of FileProviderUIExt which was missing NextcloudKit symbols
  * Add method to export NextcloudAccount details to dictionary
  * Add method to convert dictionary to NextcloudAccount
  * Add NextcloudAccount to FileProviderUIExt
  * Add method to FPUIExtensionServiceSource to get extension account details
  * Remove logging from NextcloudAccount
  * Add method to get an item's server path through FPUIExtensionService
  * Add release entitlements fro FileProviderUIExt
  * Add essential table view data source method to ShareTableViewDataSource
  * Implement NSTableViewDelegate viewFor method in sharetableviewdatasource
  * Register shareItemView nib in shareTableView
  * Move all share fetching logic to FileProviderUIExt
  * Remove default item view in ShareViewController table XIB
  * Set delegate for shares table view
  * Add corresponding class for ShareTableItemView
  * Set basic property of sharetableitemview in delegate method of data source
  * Ensure usable rowHeight for shares table view
  * Customise prepareForReuse in ShareTableItemView
  * Add starter NKShare extension
  * Add ShareType enum to NKShare extension
  * Add typeImage property to NKShare extension
  * Add displayString property to NKShare extension
  * Make share property central to display update of share table item view
  * Improve share table style
  * Implement share link copying in share table item view
  * Temporarily change copy share link button image after clicking
  * Add popover and corresponding view controller to sharetableitemview
  * Add starter ShareOptionsView
  * Implement ShareOptionsView design
  * Replace ShareOptionsView with a ShareOptionsWindow
  * Add starter ShareOptionsWindow class
  * Redesign shares to incorporate share options into main share view
  * Extract options view to different XIB
  * Add a shareview ui delegate protocol for datasources
  * Treat bottom view in share view as a target view to inject other views
  * Implement ui delegate in ShareTableViewDataSource
  * Re-integrate share options view into main share view controller XIB
  * Implement hide and show of share options in share view controller
  * Add a loading overlay to table view to indicate fetch in progress
  * Add fetch related handling functions to ui delegate
  * Tell delegate when fetch ongoing in share table view data source
  * Ensure calls are made via main actor to delegate in share table view data source
  * Add a ShareOptionsView class
  * Improve placeholder text for share view password field
  * Handle state of share options view via setting of NKShare
  * Handle optionsview as ShareOptionsView in share view controller
  * Add starter sharecontroller for fileprovider
  * Add convenience property to nkshare extension to get valid expiration date string
  * Add functionality to share controller to save changes
  * Use ShareController in ShareOptionsView
  * Add convenience function to format date to valid server string in nkshare
  * Respond to changes in share of sharecontroller in shareoptionsview
  * Add convenience function to enable or disable all share option fields
  * Correctly handle NKShare's "canEdit" in share options view
  * Add fields as parameters to save in sharecontroller
  * Make save button functional in share view
  * Use a sharecontroller in shareviewcontroller
  * Reload data source on share saving
  * Implement more logging in sharecontroller
  * Fix crash on reloading share table view data source
  * Deselect table view or shares after reload to reset UI
  * Add views to present an error in the share view controller
  * Add method to show error in data source ui delegate
  * Add method to dismiss error in share view controller via dismiss button
  * Present error for updating share in file provider UI
  * Show error in share table view data source if received one in fetch
  * Blend in-window contents in share view loading overlay
  * Add PermissionValues to NKShare extension
  * Add convenience property to nkshare extension to see if sharees can edit share file/folder
  * Properly handle permissions in shareoptionsview
  * Add deletion capability to sharecontroller
  * Improve design of save and delete buttons in share view controller
  * Implement deletion functionality for share options view
  * Remove unused outlets in tableitemview
  * Add button to create new share in share view
  * Add a popupbutton to share options vie to select type of share
  * Add static method to create shares in ShareController
  * Make item's server relative path public in sharetableviewdatasource
  * Nilify itemServerRelativePath upon loading item in table view data source
  * Add additional options to share controller creation method
  * Add "createMode" toggle to share options view, start building for use to create new shares
  * Make create button in share view controller show options view and toggle create mode
  * Connect different share type popup button menu items to outlets in share options view
  * Make share options view capable of creating or updating view upon clicking "save" depending on create status
  * Adjust share options view title depending on create mode
  * Change deleteButton to a cancel button when in creation mode
  * Have specific cancel behaviour in shareoptionsview on delete if in create mode
  * Add a text field for relevant shareWith in ShareOptionsView
  * Correctly treat share recipient text field in the share options view flow
  * Properly handle failure state when creating new share in share options view
  * Reset newly added fields in ShareOptionsView correctly
  * Adapt visibility of password field upon toggling password checkbox
  * Adapt visibility of expiration date field upon toggling checkbox
  * Adapt visibility of note recipient text field upon toggling checkbox
  * Add ShareCapabilities struct
  * Restructure ShareCapabilities
  * Add initialiser from dictionary for EmailCapabilities
  * Add init for public link capabilities
  * Add init for ShareCapabilities
  * Fetch sharing capabilities in ShareTableViewDataSource
  * Do not bother fetching shares if sharing is disabled on server
  * Extract conversion of picked menu item in share type picker into NKShare ShareType into new method
  * Update reset to make sure it also resets min and max dates in date picker, don't affect share type
  * Setup the fields in share options view when creating a new form according to capabilities
  * Update form layout according to picked type when picked type changed
  * Fix password capabilities for public link capabilities
  * Fix ShareCapabilities parsing
  * Fix default states around passwords for share options view
  * Add more debug logging to sharecapabilities
  * Add method to ShareTableViewDataSource to fetch the given item's metadata
  * Check if the given item is shareable before fetching shares
  * Ensure interpolated logging string in share table view data source is public
  * Fix scan path to retrieve item metadata in share table view data source
  * Fix letter used to identify shareability in sharetableviewdatasource
  * Fix options view disappearing when clicking create button in share view controller
  * Deduplicate error presentation in ShareTableViewDataSource
  * Retry getting information from FileProviderExt if doing so has failed (usually due to opening share view before auth details are present)
  * Add package dependency NextcloudCapabilitiesKit to NextcloudIntegration
  * Add SuggestionsTextFieldKit dependency
  * Add basic shareesuggestionsdatasource
  * Add sharee fetcher method to shareesuggestionsdatasource
  * Add converter method fro nksharee to suggestion
  * Update suggestions on inputString change in sharee suggestions data source
  * Post suggestions changed notification in ShareeSuggestionsDataSource
  * Improve logging in ShareeSuggestionsDataSource
  * Use suggestions window controller in share options view
  * Fix suggestion labels for sharees
  * Simplify configuration of text field delegate
  * Fix SuggestionsTextFieldKit import
  * Clean up TODO comments in file provider ui ext
  * Set suggestionstextfieldkit to 1.0.0
  * Pin NextcloudKit version
  * Pin NextcloudCapabilitiesKit version
  * Display shareWith in nkshare displaystring extension
  * Update description label in share view
  * Add a "no shares" label if there are no shares available in share view
  * Upgrade NextcloudCapabilitiesKit version
  * Allow SuggestionsTextFieldKit to use up to next major version
  * Set file provider extension target as a dependency of file provider ui extension target in CMake
  * Add test target for file provider testing
  * Database manager does not need to be an NSObject
  * Allow NextcloudFilesDatabaseManager to take a specific realmconfig in constructor
  * Remove FileProviderExtTests
  * Add NextcloudFileProviderKit dependency
  * Remove use of all code now available in NextcloudFileProviderKit
  * Use Enumerator in NextcloudFileProviderKit
  * Use FileProviderItem from NextcloudFileProviderKit
  * Make use of NextcloudFileProviderKit materialisedenumerationobserver
  * Adapt to new NextcloudFileProviderKit item nomenclature
  * Fix build of ShareTableViewDataSource
  * Use thumbnail fetching procedure from NCFPK
  * Use new convenience method to get Item for root container from NCFPK
  * Greatly simplify item method of FIleProviderExtension by using item storedItem method
  * Simplify FileProviderExtension's deleteItem method by leveraging Item's delete method
  * Use fetchContents from NCFPK item
  * Use NCFPK Item.create in createItem
  * Use NCFPK item modify method
  * Improve logging in delete item procedure of FPExt
  * Fix passing of wrong item into item.modify
  * Remove unused components in FileProviderExt
  * Correctly set up NCKit instance with account string
  * Provide NCFPK enumerator with extension domain
  * Always signal enumerator after errors to try and recover from what the error might have been
  * Add change observer from NCFPK
  * Remove client-side push notification handling for file provider extension in favour of simply using NCFPK remote change observer
  * Set changeobserver as delegate for nkcommon
  * Remove now-unneeded Realm dependency from FileProviderExt
  * Pin NextcloudFileProviderKit version to 0.9.0 (up to next major version)

  [ dependabot[bot] ]
  * Build(deps): Bump cpp-linter/cpp-linter-action from 2.10.2 to 2.11.0
  * Improve logging across file provider sharing
  * Make sure network error is shown in UI instead of generic error
  * Unify FileProviderUIExt entitlements
  * Explicitly set bundle name and identifiers from env vars in FileProviderUIExt
  * Wrap access of itemUrl in security scoping

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Thomas Witt ]
  * pushnotification testutils: Bind only to LocalHost
  * SyncConfilctsModel test: use FakeAccountState
  * UserStatusDialog.cpp: Fix timezone

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. Folder case clash conflict. Do not update parent folder record if it contains conflicted subfolers. Also fix crash with local rename.
  *  Bugfix. Folder invalid char conflict. Do not update parent folder record if it contains conflicted subfolders.
  * Also support nested folder scenarios.
  * Unit tests for diverse conflicts in one folder.
  * Fix CI errors.
  * Fix tests failure. Refactoring.

  [ Matthieu Gallien ]
  * improving end-to-end tests
  * improving end-to-end tests
  * create registry keys needed for edit locally in local machine category

  [ Claudio Cambra ]
  * Use davUser instead of direct credentials user in file provider

  [ Matthieu Gallien ]
  * if a virtual file change but bothing changed: set it as in sync
  * do not cause implicit hydration of virtual files during sync

  [ Claudio Cambra ]
  * Fix "false" error about bad applying of nodiscard to value type
  * Prevent use of invalid characters for file provider domain names
  * Fetch macOS VFS package in autoupdater if the client is using the file provider module
  * Always correctly set values for all fields in File Provider sharing UI
  * Extract syncIsPaused initialisation into new updater slot
  * Make sure to emit relevant signals and set sync is paused to true if relevant
  * Make sure to emit syncIsPausedChanged in syncIsPaused setter
  * Re-run update sync paused state slot when folder list has changed
  * Give debug archive save location dialog a default location
  * Prevent crash on creating debug archive in non-writeable location
  * Only show successful debug archive creation dialog if it has indeed been successful

  [ Camila Ayres ]
  * Bump version to 3.13.0.
  * Revert "Bump version to 3.13.0."

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. Files lock. Fix incorrect readonly state.
  * Just for test. Disable status update to avoid havin a sync status animation in tray.
  * Hotfix. Slow download speed while tray is open. Do not run rotation animation in syncstatus in tray.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. Conflict dialog for multiple files. Fix checkbox border colors for dark mode on Windows.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * port away from QDesktopServices::storageLocation
  * port away from QStringList::toSet
  * add missing Qt:: namespace when using Qt::endl
  * replace qrand/qsrand
  * port away from deprecated API from QFontMetricsF
  * port away from QWidget related margines APIs
  * replace deprecated  QWebEngineProfile::setRequestInterceptor
  * add missing QStringLiteral
  * remove usage of QStringRef due to it being missing in Qt6
  * disable qt apis deprecated before qt 5.12, enable warnings
  * allow detection of qt5 or qt6
  * streamline find_package calls to really find Qt6

  [ Claudio Cambra ]
  * Fix macOS-specific CMake things with Qt6
  * Fix qtkeychain imports with Qt6
  * Remove use of QNetworkConfiguration in Qt6
  * Remove qtokenizer in favour of Qt6 QStringTokenizer
  * Fix type of decpoint
  * Fix QTextCodec related build issues
  * Fix bad conversion to bool of shared pointer
  * Remove conflicting alias to QStringList
  * Add missing QStandardPaths include
  * Add missing QActionGroup include
  * Replace now invalid '+' operator with '|' operator for QKeySequence
  * Replace deleted '+' operator for flags with '|' operator
  * Remove use of qRegisterMetatypeStreamOperators
  * Use QEnterEvent for new enterEvent parameters
  * Replace removed progress bar option orientation with state flag
  * Replace use of staticQtMetaObject with staticMetaObject
  * Remove use of QCoreApplication AA attributes
  * Remove crashing QRandomGenerator seed call
  * Fix QDateTime string formatting
  * Fix all broken QML imports
  * Fix QML coloring issues
  * Add separators to SyncStatus and UnifiedSearchInputContainer to stop the scrollviews looking broken
  * Fix test compilation
  * Fix user status selector
  * Remove commented out broken quick compiler check in Qt6

  [ Matthieu Gallien ]
  * last step
  * fix automated tests with network requests
  * fix failing automated test that erases invalid iterator
  * fix automated tests missing toString() convert from QVariant
  * properly use QStringView to avoid copies
  * e proper data type in data for activity model automated test data
  * fix computation of timeout for jobs to have proper bounds (min < max)
  * only try to include qt6-keychain header and not the qt5 version
  * let appimage build script work with Qt6 based version
  * use the new CI images with Qt6
  * build appimage
  * build image for Qt6
  * adapt ci checks to Qt6
  * when loading translation catalog, do not ignore the return value
  * avoid warning by ignoring the return value of QtConcurrent::run
  * fix order of init in a constructor to avoid warnings

  [ tobiasKaminsky ]
  * Signed drone.yml

  [ Matthieu Gallien ]
  * fix compilation issues after rebase
  * fix some of the qml issues
  * use new qt 6.6.3 ci images
  * NetrcParser tests are known to be broken
  * header changes needed for clang/vs2022 compilers
  * add needed namespace for declarations read by Qt metaobject system
  * do some header includes clean-up as recommended by compiler
  * add NextcloudSslCertificate to wrap QSslCertificate in QHash
  * fully qualify types for use with Qt metaobject system
  * fix compilation issues on windows
  * fix compilation after rebase
  * make it easy to find out that this branch is Qt6 based
  * fix compilation of AppImage packages
  * use the correct Qt6 build in newer CI images
  * fix build issue after rebase
  * AppImage build tool for Qt needs to know our qml files
  * windows needs an explicit QML import path to be set

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ rakekniven ]
  * chore(i18n): Improve grammar

  [ Matthieu Gallien ]
  * invalid item name warning: use file or folder when appropriate

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * makes Qt path and openssl path depend on environment variable
  * buildAppimage script gets configurable paths via env variables
  * as far as I can tell icon name is always Nextcloud.png

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * improve logs when build with NEXTCLOUD_DEV enabled

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Fix incorrect date parsing.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. Files lock. Check lock owner type for setting readonly based on server capabilities (NC27/28 compatibility issue).
  * Fix incorrect date parsing.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Remove all use of MacExtras
  * Remove use of setMargin on QVBoxLayout, not present in Qt6

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * Bump skjnldsv/block-fixup-merge-action from 1 to 2

  [ Camila Ayres ]
  * Add documentation about how to compile the client on Windows with Qt6.
  * Update instructions to build on Windows.
  * Update instructions to build the client on mac OS.
  * Fix documentation style.
  * Remove duplicated instructions.
  * Improve text about %PATH% and KDE Craft.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Do not open client on install as this breaks MDM deployments

  [ Matthieu Gallien ]
  * avoid accessing a temp QString via QStringView after it is deleted
  * use windows-2022 image to run our windows CI on github actions
  * simplify macOS targets and try arm64 craft target

  [ Claudio Cambra ]
  * Update macos-build-and-test.yml with latest Xcode

  [ Matthieu Gallien ]
  * temporarily ignore failed tests on windows
  * catch std::filesystem exceptions in automated tests
  * better automated tests log
  * remove usage of memory sanitizers in drone tests
  * only compute checksum of a local file that is not a virtual one
  * fix regression with VFS update metadata instruction
  * disable some unreliable tests for CfApi CI
  * skip FolderWatcher on windows: really not a reliable test

  [ Camila Ayres ]
  * Extend 'How the "Edit locally" functionality works' text.

  [ Matthieu Gallien ]
  * update doc with install requirements for Qt6 supported platforms
  * skip tests currently broken on macOS: enable mandatory tests for macOS
  * some files just cannot sync on windows: get automated tests to work

  [ Claudio Cambra ]
  * Censor account details string in file provider logging

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * produce Appimage packages from github actions

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Jérôme Herbinet ]
  * Replace "Edit" with "Open in browser"

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Update build-appimage.sh to use $VERSION_SUFFIX

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Correctly fall back to originalSize if requestedSize not valid in svg image provider
  * Add non-white talk and more-apps svgs
  * Fix breakages in autosizing menu when item does not have expected internal properties
  * Remove unneeded qt5compat import in headerbutton
  * Fix vertical center anchor in trayfoldersmenubutton
  * Fix use of sourceSize in TrayFoldersMenuButton
  * Ensure svg icons generated by svgimageprovider have a reasonable default size
  * Fix displaying of header buttons in tray window
  * Fix displaying of more button in UserLine
  * Remove broken and unneeded scroll view in tray user menu
  * Prevent crash when originalSize is null

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Lorenzo Tanganelli ]
  * fix doc configuration file

  [ dependabot[bot] ]
  * Build(deps): Bump cpp-linter/cpp-linter-action from 2.11.0 to 2.12.0

  [ Zhang Sheng ]
  * fix build failed

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix text colour for NCInputTextEdit

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * automated test: block rename of the top folder of a mount point
  * automated test: allow rename of the child items of a mount point

  [ Camila Ayres ]
  * Display the Nextcloud assistant icon in the main window.
  * Move the logic for handling the featured app qml to cpp.

  [ Claudio Cambra ]
  * Take AccountPtr by reference in accountstate constructor
  * Remove overwrought loadFromSettings method from AccountState
  * Assert validity of accountstate and its accountptr when adding it
  * Use accountfwd header for account forward declaration in account header itself, preventing conflicting decls
  * Prevent crash when updating file provider domains if the account for which a file provider domain was configured no longer exists
  * Remove no longer existing account id from configured vfs accounts list

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * maintain e2ee state even if the server does not support e2ee
  * do not allow to select e2ee folders if the server support is missing
  * ignore encrypted items during discovery when encryption is disabled

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Add more logs to track file hydration.
  * Add new cfapi callbacks for logging.
  * Print desktop client process id.

  [ Claudio Cambra ]
  * Ensure we are re-adding same permissions as removed
  * Do not re-generate standard string path twice
  * Do not wrap macOS ifdefs in filesystem when parent function already wrapped in ifdef
  * Allow deletion of virtual suffix placeholder files
  * Amend behaviour of suffix virtual files test to reflect new expected behaviour
  * Ensure stripping of suffix vfs placeholder file's suffix when issuing delete command to server
  * Properly reset fakefolder test state post-placeholder file delete in testsyncvirtualfiles

  [ Camila Ayres ]
  * Fix #3144: check for promptDeleteAllFiles config setting before emitting signal to display warning.
  * Make warning text before deleting all files more clear and concise.
  * Use readable variable names.
  * Add sync option for nextcloudcmd.
  * Add tests to remove all files when sycing with or without nextcloudcmd.

  [ Claudio Cambra ]
  * Fix sharePath for virtual paths using suffix vfs mode

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * avoid logs too verbose and with binary data
  * avoid deadlock: cancel hydration requests coming from itself

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Add daily update channel.
  * Modernize ConfigFile::updateChannel and Updater::getQueryParams.
  * Adds info about daily builds to message shown if user changes update channel.
  * Clean up code in GeneralSettings.
  * List daily update channel in the general settings view.
  * Change the default MIRALL_VERSION_SUFFIX from "git" to "daily".
  * Use the value from MIRALL_VERSION_SUFFIX as the default update channel.
  * Add versionSuffix function to Theme.
  * Enforce the update channel based on the current client installed.
  * Improve text displayed when user switches update channel.
  * Remove commented out line.
  * Rename var in configfile.
  * Use default in switch.
  * Use only const auto in obvious pointer.
  * Remove unused updatesegment option from updater query.
  * Enable RVO (return value optimization).

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Check if server has valid subcription.
  * Add general config setting for server hasValidSubscription.
  * Add user specific setting for server hasValidScriptionValue.
  * Update server hasValidSubscription if capabilities change for account.
  * List enterprise update channel when available.
  * Extend Capabilities tests.
  * Do not show enterprise channel for branded clients.
  * Add enterprise explanation to message shown when user changes update channel.
  * NextcloudDev is not a branded client.
  * Only list enterprise for customers not running branded clients.
  * Add desktopEnterpriseChannel to the capabilities check.
  * Save desktopEnterpriseChannel value in the config file.
  * Update desktopEnterpriseChannel value when capabilities change.
  * Fix the logic to determine update channels available, default value and what info to show the user.
  * Separate the list of valid update channels for enterprise and non-enterprise.
  * If the client is branded the default update channel is stable.
  * Extend capabilities test to include desktopEnterpriseChannel check.
  * Remove resolved TO DO comment.
  * Remove const from POD in method declaration.
  * Use NEXTCLOUD_DEV to check if client is branded instead of checking for string.
  * Translate enterprise channel explanation string.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Check if file is already in database before processing rename.
  * Add test to detect file renames in external storage.
  * Improve logs for rename check.
  * Remove commented out code.
  * Only check for external storage permissions when it is a folder.
  * Fix renaming tests for files under group folders.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Start working on mac builder script
  * Add convenience func to run shell command
  * Add convenience func to check if command exists
  * Install brew through builder if not present
  * Install inkscape via mac builder script if not present
  * Configure xcode command line tools if missing in mac builder
  * Set up python if missing in mac builder script
  * Deduplicate installation of required tools in macos builder
  * Clone craft in mac builder script
  * Clone craft master to craftdir in mac builder script
  * Craft the desktop client in the mac builder script
  * Add codesign function to macos builder
  * Move build script into dedicated package
  * Add copyright header to main.swift
  * Move functions of mac crafter into different files
  * Implement basic argumentparser in mac crafter
  * Make installIfMissing throwing in mac crafter
  * Make codesigning throw in mac crafter
  * Codesign all the crafted libraries with mac crafter
  * Codesign all crafted plugins in mac crafter
  * Move library check to separate file in mac crafter
  * Make build path adjustable in mac crafter
  * Make URLs adjustable in mac crafter
  * Fix dependencies for mac-crafter
  * Adjust arguments for mac crafter
  * Fix mac-crafter abstract
  * Fix paths in mac crafter
  * Remove previous craft client builder
  * Allow setting of build type in mac crafter
  * Allow explicitly skipping code-signing of dependencies in mac crafter
  * Add procedure to codesign app bundle in mac crafter
  * Fix buildtype argument for craft in mac crafter
  * Throw if codesign binary not found in mac crafter
  * Fix unused codesignidentity warning in mac crafter
  * Divide client app dir path construction in mac crafter
  * Add option to skip craft configuration in mac crafter
  * Add relevant files to mac crafter gitignore
  * Directly sign plugins and frameworks within app bundle in mac crafter
  * Extract app bundle codesigning procedure to separate file in mac crafter
  * Remove unused Build file in mac crafter
  * Add support for fetching and including Sparkle in mac crafter
  * Make craft blueprint name adjustable in mac crafter
  * Use --options as recommended for configuring craft build in mac crafter
  * Always configure craft if first download and set to not reconfigure by default in mac crafter
  * Allow setting custom git clone command in mac crafter
  * Compile and install instead of full clean rebuild of client in mac crafter
  * Throw on failure of any shell commands to complete successfully in ma crafter
  * Make mac-related build options configurable in mac crafter
  * Improve build mode flag handling in mac crafter
  * Simplify dylib signing process and ensure resource libs are signed in mac crafter
  * When doing a full rebuild in mac crafter, delete old build folder
  * Add option to build tests or not in mac crafter
  * Replace bool options with flags in mac crafter
  * Add offline flag to mac crafter

  [ Camila Ayres ]
  * Remove unecessary call to sendTransferInfo.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix _Generic C11 extension compile warning under clang
  * Do not wait forever to get fast enumeration state from file provider extension service
  * Add check to detect if we timed out wait for file provider extension service response on fast enumeration state

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Support Windows .lnk files with VFS Cf API.
  * Unit tests. Test .lnk file with a real shortcut file. Test will hang if QFileInfo is used on .lnk files.
  * Bugfix. Migrate non-placeholder shortcuts to placeholder version.

  [ István Váradi ]
  * Remove Ubuntu Mantic, add Oracular
  * Determine the base version and build kind using the Debian build branch
  * Use a single OBS package for all Debian distributions

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Build file provider module in CI runs
  * Fix visibility of info buttons and details when updater is disabled in general settings
  * Move to depending on stable-1.0 in master
  * Add NCFPKAppGroupIdentifier in FileProviderExt info plist
  * Adapt to remoteInterface changes in NCFPK
  * Implement ChangeNotificationInterface in client interface extension of FileProviderExtension
  * Remove unused urlsession stuff in FileProviderExtension
  * Allow setting of osx archs craft option in mac-crafter
  * Use default long arg type for build path
  * Add option to set product path in mac-crafter
  * Limit clickable area of enable macOS vfs checkbox to its text/box
  * Limit clickable area of macOS vfs fast sync checkbox to its drawing zone

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Josh ]
  * ci(clang-tidy-review): Fix for qt6 + swap to docker-ci container (#6860)

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Add connection settings tab to account settings
  * Present network settings component within connection settings tab in account settings
  *  Add AccountNetworkProxySetting enum to account
  * Add AccountNetworkTransferLimitSetting enum to account
  * Add network proxy setting property to account
  * Add proxy type property to account
  * Add proxy host name property to account
  * Add proxy port property to account
  * Add proxy needs auth property to account
  * Add proxy user property to account
  * Add proxy password property to account
  * Add upload limit setting property to account
  * Add download limit setting property to account
  * Add upload limit property to account
  * Add download limit setting property to account
  * Save and restore account-specific network settings in account maanger
  * Take account-specific network configuration into account in proxyauthhandler
  * Add account member to network settings
  * Load in account specific network settings in network settings widget
  * Adapt network settings loadBwLimitSettings for account-specific settings
  * Implement saving proxy settings to account in network settings
  * Respect account proxy settings in owncloudsetupwizard server check
  * Respect account proxy settings in connectionvalidator
  * When generally setting dirty proxy in folderman only mark dirty those that follow general client proxy settings
  * Ensure we are resetting account proxy settings when not using proxy is enforced
  * Fix account-specific network setting enum values
  * Modify network access manager proxy within account when setting proxy values
  * Clean up networksettings saveProxySettings
  * Save bwlimits for account-specific network configuration
  * Respect account-specific transfer limits in folder
  * Correctly load global proxy setting state on account-specific network settings
  * Store accounts' proxy passwords in keychain
  * Use single-defined constexpr string for proxy password keychain key
  * Ensure keychain chunk jobs in account manager run as intended
  * KeychainChunk job exec is synchronous, do not bother with signals in account manager use
  * Get intended default values for bw limit settings for account when nothing is set
  * Use better keychain chunk job constructors
  * Simplify proxy password keychain keys
  * Add logging on error for proxy password saving
  * Ensure per-account network settings are saved on change
  * Move folder status model initialisation to member init list in AccountSettings
  * Ensure file provider tab is not shown when file provider module not enabled
  * Use an AccountPtr instead of raw pointer in networksettings
  * Add a method to set a specific account's folders' network limits as dirty
  * Use qtkeychain directly in account manager
  * Use full user id at host with port for proxy password keychain
  * Remove now unused disguiseTabWidget
  * Use application proxy when setting global proxy setting via network settings
  * Move all proxy configuration procedures into account and out of network settings

  [ skjnldsv ]
  * chore: update workflows from templates

  [ Claudio Cambra ]
  * Add starter EditLocallyVerificationJob
  * Send and respond to SimpleApiJob to verify edit locally request with server in validation job
  * Ensure verification job gets deleted after finish
  * Use verification job within edit locally job
  * Move token and relpath validity checks to edit locally verification job
  * Ensure we emit error during edit locally job setup issues
  * Directly use accountstate in editlocallyjob
  * Add a EditLocallyVerificationJobPtr type
  * Move verification job handling and scheduling out of editlocallyjob, into editlocallymanager
  * Move show error display features from editlocallyjob to editlocallymanager
  * Remove token related tasks from editlocallyjob
  * Display token verification failure through GUI in edit locally manager
  * Show edit locally loading dialog with filename immediately in editlocallyjob constructor
  * Do not automatically delete edit locally token verification job upon completion, rely on manager's smart pointers
  * Add starter FileProviderEditLocally class
  * Add FileProviderEditLocallyPtr type
  * Add completion signals to fileprovidereditlocallyjob
  * Try to use FileProviderEditLocallyJob before attempting standard EditLocallyJob in EditLocallyManager
  * Add showError to FileProviderEditLocally
  * Begin setting up dialog for file provider edit locally job
  * Fetch ocId for a given relative path
  * Expose domain manager in Mac::FileProvider
  * Allow retrieval of domain associated with account in FileProviderDomainManager
  * Anticipate null reply in idGetError of FileProviderEditLocallyJob
  * Remove redundant includes in editlocallymanager
  * Implement opening of a file with a given ocId in File Provider files
  * Connect receipt of a file's ocId with file opening procedure in FileProviderEditLocallyJob
  * Improve logging in editlocallymanager
  * Start the FileProviderEditLocallyJob in editlocallymanager
  * Fix crash upon removing edit locally file provider jobs in edit locally manager

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Modernise slotComputeOverallSyncStatus
  * Add support for FILE_PROVIDER_DOMAIN_SYNC_STATE_CHANGE socket messages in client file provider socket controller
  * Bounce sync state change signals from socket controller in socket server
  * Add sets for actions, to be able to track multiple actions
  * Add method to report a change in sync state if applicable in FileProviderExt
  * Add method to insert new sync action in FileProviderExt
  * Add method to mark action as error sync action in FileProviderExt
  * Add method to remove finished sync action in FileProviderExt
  * Track sync actions in main FileProviderExt procedures
  * Add conformance to NextcloudFileProviderKit's EnumerationListener protocol in FileProviderExt
  * Set self as listener for Enumerator in FileProviderExt
  * Lock and unlock when accessing sync actions in FileProviderExt to protect against possible races
  * Remove pointless setStatusText in slotComputeOverallStatus
  * Expose socket server in FileProvider class
  * Expose account state in file provider socket controller
  * Store latest sync state in file provider socket controller
  * Expose latest sync state in file provider socket controller
  * Add support for SYNC_PREPARING arg in socket controller reportsyncstate
  * Report sync state after initial connection of socket in socket controller
  * Add file provider socket state struct
  * Add file provider socket state provider method in socket server
  * Connect sync state changed signal in file provider socket server to compute overall sync status slot in owncloudgui
  * Process state of file provider account domains in slotComputeOverallSyncStatus
  * Append macOS vfs environment state strings to tray message when computing sync status
  * Account for file provider states when setting tray icon
  * Do not report account sync state on socket controller if we haven't received account info yet
  * Store and provide latest account's file provider sync state as there is no guarantee (nor should we ensure) the socket with the extension stays alive
  * Modernise problem account handling in slot compute overall sync state
  * Add method to fileproviderxpc to check if the file provider extension is reachable
  * Check if the extension is reachable in owncloudgui compute sync status
  * Ensure all sync result status types are handled for file provider in owncloudgui
  * Provide state message in popup for vfs accounts that synced successfully or had an issue
  * Clean up unused components in file provider socket controller
  * Ensure file provider instance gets initialised at app launch WITHOUT creating a separate instance from expected singleton

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Remove ncAccount usages removed in NCFPK API

  [ Camila Ayres ]
  * Display more details of the sync progress in the settings dialog.
  * Modernize FolderStatusModel::slotSetProgress.
  * Make sync status text easier to understand.
  * Capitalize sync instruction strings returned by Progress::asActionString.
  * List less file names in the sync progress bar text.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix infinite recursion caused by default value call in desktopEnterpriseChannel

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * forward the redirected signal from QNetworkReply to detect them

  [ Claudio Cambra ]
  * Fix final path that app is copied to in mac crafter
  * Only create product path's directory if it doesn't exist already
  * Add default product folder to gitignore
  * Add mac-crafter Package.resolved to gitignore

  [ Camila Ayres ]
  * Fix crash: web flow credential dialog is deleted when closing it.

  [ Matthieu Gallien ]
  * use QByteArray::left to send the newly received data during hydration
  * fix authentication using provider page and web page login flow

  [ rakekniven ]
  * chore(i18n): Changed grammar
  * chore(i18n): Add trailing space to show them separated at Transifex.

  [ Camila Ayres ]
  * Make sure to not repeat the update channels list when loading the settings for a second account.
  * List sync folders in the file explorer with user's username.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * prevent event loop reentrance when handling ENCRYPT socket requests

  [ dependabot[bot] ]
  * Bump platisd/clang-tidy-pr-comments from 1.4.3 to 1.5.0

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * use very coarse timers for network timeout
  * remove deprecated code only usefull for very old Qt releases
  * always enable http2

  [ Claudio Cambra ]
  * Make multiple notifications text translatable

  [ Matthieu Gallien ]
  * remove most usages of transparent background: fix visual regressions
  * avoid transparent background in user menu from main dialog
  * change color used for background to match system window default color
  * fix header buttons background color to match existing colors

  [ Camila Ayres ]
  * Remove systray call to display network errors.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Josh ]
  * fix(settings): Use broken lock icon when not using https

  [ raldone01 ]
  * Fixes cropped thumbnails #6154

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.12.0 to 2.12.1

  [ Josh ]
  * fix: Update bug reporting package list + misc tweaks

  [ Claudio Cambra ]
  * Parse forbidden filename related capability features
  * Check for new forbidden filename-related capabilities during exclusion handling in discovery
  * Add test for new forbidden filename capabilities
  * Provide Windows-compatible forbidden filename character in forbidden filenames test
  * Assign invalid filename on server syncfileitem status to items with forbidden filenames
  * Also provide notification for items that have file name invalid on server
  * Add rename file link/button to invalid filename activities
  * Handle invalid filename activities button verb in activity list model
  * Add invalid mode enum to invalid filename dialog
  * Provide different message and explanation strings in invalid filename dialog depending on invalid mode
  * Set invalid filename dialog mode in activity list model
  * Store forbidden filename match bools outside of if statement
  * When forbidden filename sync warning is encountered, add reason why the filename is forbidden to the item's error string

  [ Matthieu Gallien ]
  * add automated test for deletion of child items in read-only folders
  * make folders read-write when needed when deleting local items

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Josh ]
  * fix bug report breakage

  [ Matthieu Gallien ]
  * ensure the arguments of socket API commands are valid
  * only add encrypt menu entry for top folders
  * only empty top folders offer the menu entry to encrypt

  [ Claudio Cambra ]
  * Fix header underline warnings in docs
  * Fix table warning in troubleshooting doc
  * Fix string warning in account setup commandline doc

  [ Matthieu Gallien ]
  * avoid wrong usage of QStringBuilder via auto type deduction

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * when deciding to create a new folder on server: check permissions
  * enable users to delete unexpected new folders inside a read-only folder
  * prepare 3.14.0 RC1 release (i.e. v3.14.0-rc1)

  [ István Váradi ]
  * Fix release kind detection

  [ Matthieu Gallien ]
  * on windows use QWidget native platform style
  * properly detect and enable Qt6 WebEngine integration
  * add missing logs and checks for database errors
  * also include temporary files from WAL SQLite mode into debug archive

  [ Josh ]
  * docs: conf file option moveToTrash is no longer Linux specific

  [ Matthieu Gallien ]
  * remove the frame around the sync folders settings area

  [ Andy Scherzinger ]
  * style: Update icons to latest Hub 9 style

  [ Matthieu Gallien ]
  * only add Encrypt context menu entry for top folder in settings dialog

  [ alex-z ]
  * Revert "Fix incorrect date parsing."

  [ Camila Ayres ]
  * Change default Qt quick control style depending on the platform.

  [ Matthieu Gallien ]
  * set the windows native qml style on windows systems
  * let's not make the background color of main dialog be transparent
  * remove any use of custom palette: use the style palette

  [ Camila Ayres ]
  * Remove component versions under src/gui/tray.
  * Remove qml component version from import.
  * Remove component import version from Style.qml.

  [ Matthieu Gallien ]
  * let main dialog have a transparent background again
  * add a QQuickStyle fallback: Fusion is fallback style
  * use new QStyleHints::colorScheme feature to use light or dark mode
  * remove broken system paellete detection within our custom style

  [ Camila Ayres ]
  * Change default Qt quick control style depending on the platform.
  * Replace NCToolTip for ToolTip.
  * Fix repeaded call to QQuickStyle::setStyle.
  * Remove custom properties for background and opacity from CustomButton component.
  * Remove custom properties for text color/hover from CustomButton and NCButtonContents components.
  * Fix warning: The current style does not support customization of this control (property: "background").
  * Fix warning: The current style does not support customization of this control (property: "contentItem").
  * Fix warning: The current style does not support customization of this control (property: "background").
  * Fix warning: The current style does not support customization of this control (property: "contextItem").
  * Fix warning: The current style does not support customization of this control (property: "indicator").
  * Fix warning: The current style does not support customization of this control (property: "background").
  * Clean HeaderButton component from customizations.
  * Remove setting contentsFont, not used anymore in CustomButton.
  * Remove customizations from CustomButton.
  * NCRadioButton => RadioButton.
  * Remove backround customization from ShareeSearchField.
  * Remove the component version from import.
  * Remove duplicated header image.
  *  Remove image hover from NCButtonContents and CustomButton.
  * Remove cutomizations for text color and hover from ActivityActionButton.
  * Remove customizaton for placeholder text color from UnifiedSearchInputContainer.
  * Remove customization for text color and hover from TextButtonContents.
  * Remove backround rectangle from NCInputTextEdit.
  * Fix font color light/dark of time in ActivityItemContent.
  * Remove customizations for hover background from the user menu options.
  * Remove customization for font color from EnforcedPlainTextLabel.
  * Remove background hover customization from UserLine.
  * Remove more color customizations from Window and TrayFoldersMenuButton.
  * qrc:/// => image://
  * Fix talk app icon.

  [ Matthieu Gallien ]
  * prepare for 3.14.0 RC2
  * add missing exception handling
  * ensure detection of entry type on windows is reliable
  * do not ignore paths containing 2 "#" characters
  * prepare 3.14.0 rc3 release

  [ Jyrki Gadinger ]
  * gui: add some extra syncing details to the tray tooltips
  * gui: remove Systray::setToolTip

  [ Claudio Cambra ]
  * Fix make_universal.py not taking into account 64-bit bundle dylibs

  [ suiso67 ]
  * Narrow down ReadWrite folder permission to owner

  [ Claudio Cambra ]
  * Fix issue with placing app bundle in product directory if an existing build is there
  * Add convenience method to save the entitlements of a bundle to a file as XML
  * Fix notarisation issues for Sparkle in mac-crafter
  * Remove get-task-allow entitlement when code-signing app extensions
  * Make sure to code-sign all binaries in app bundle
  * Use deep codesigning by default in mac crafter
  * Fix codesigning of qtwebengine related helper app in mac crafter
  * Always move final product to product path in mac crafter
  * Move building into separate subcommand, add subcommand just for codesigning

  [ Matthieu Gallien ]
  * collect remnant read-only folders during discovery
  * let cancel sync and finish sync  lambda be reusable methods
  * detect remnants read-only folders to delete: try to delete them
  * let FileSystem::removeRecursively be able to delete read-only folders
  * delete invalid folders and restart sync automatically
  * add automated tests for complex move scenario
  * avoid wrong tracking of renamed folders during discovery
  * improve some log that are produced during discovery

  [ Claudio Cambra ]
  * Move all sharing components for FileProviderUIExt into a Sharing folder
  * Add basic LockViewController components
  * Add lock/unlock actions in FileProviderUIExt info plist
  * Handle new locking action identifiers in document action view controller of FileProviderUIExt
  * Add basic properties to lock view controller
  * Design lock view in file provider ui
  * Add close action to lock view controller
  * Move service connection fetcher method into a utils file
  * Move item metadata fetch into util file in FileProviderUIExt
  * Add convenience method to present and log errors in lock view controller
  * Add method to simply provide file details in locking view
  * Process target item on init of lock view controller
  * Perform lock/unlock procedure in lock view controller
  * Add convenience function to stop/hide loading indicator in lock view controller
  * Stop loading indicator when presenting error
  * Pull out error handling from completionHandler for nckit lockunlock
  * Once finished locking/unlocking, stop loading indicator
  * Make sure not to check for kit before we should in shares table view data source
  * Fix file lock server url in lockviewcontroller
  * Fix XIB initialisation in LockViewController
  * Fix internal layouting of lock view by simply using a nsview rather than fumbling with a stack view
  * Add warn image to locking view if there is an error
  * Fix NSExtensionFileProviderActionActivationRules for locking menu items
  * Display checkmark when file lock completed
  * Do not provide items if account is not set up correctly
  * Signal enumeration of locked/unlocked file
  * Make sure we do not renotify notifications when we have received the same etag as during the last check
  * Notify even if pre-fetch etag header is empty
  * Wrap all uses of FileSystem::setFolderPermissions in ifdefs for macOS
  * Wrap use of folder permissions restore in mac ifdefs

  [ Jyrki Gadinger ]
  * gui: add some context for translators

  [ Camila Ayres ]
  * Fix tray header light/dark theme.
  * Fix caret-down icon theme, size and alignment.
  * Fix dark/light mode for account menu.
  * Fix display of icons in dark/light theme.
  * Add colored to base colors.
  * Use palette.window as header background color.
  * Add new icon for more apps menu.
  * Use Style.trayFolderStatusIndicatorRadiusFactor in the UserLine.
  * Match the apps menu list look with the user's list look.
  * Use the same radius value, border colors and hover colors in all header menus.
  * Add radius value, border and hover colors in the folder's menus.
  * Add margin space to the right of the 3 dots user menu.
  * Fix the color of the tab icons in the files details page.
  * Fix warning: TypeError: Cannot read property 'height'/'width' of null.
  * Fix unified search input placeholder text alignment and radius.
  * Fix height of text input fields and radius.
  * Remove extra ';'
  * Add the same round background rectangle for the talk reply text field.
  * Adjust radius values: main window and text input uses bigger value, dropdown menus uses half.
  * Fix emoji selector page: transparency made it unusable. Use windows background color.
  * Add todo: fix predefined status list.
  * Add todo: check if we should keep bottomUnifiedSearchInputSeparator.
  * Remove user status hover effect and background color.
  * Fix error: Audio is not a type.
  * Fix wrong Style property.
  * Remove extra ';'

  [ Matthieu Gallien ]
  * prepare 3.14.0 rc4
  * prepare 3.14.0 release

 -- István Váradi <ivaradi@varadiistvan.hu>  Mon, 16 Sep 2024 08:45:55 +0000

nextcloud-desktop (3.13.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * starts the development of version 3.13

  [ alex-z ]
  * Allow event processing between each XML parser run, to improve GUI performance.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * partial move of some checks done with drone to github actions

  [ alex-z ]
  * Bugfix. Random crash in LsColJob after recent changes.

  [ dependabot[bot] ]
  * Build(deps): Bump peter-evans/create-or-update-comment

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * wait longer to get the contextual menu entries: may be necessary

  [ rakekniven ]
  * fix(i18n): uppercase ID
  * fix(i18n): Changed spelling of "public key"

  [ John Molakvoæ ]
  * chore: update workflows from templates

  [ dependabot[bot] ]
  * Build(deps): Bump codecov/codecov-action from 3 to 4

  [ Matthieu Gallien ]
  * suppress deprecated warnings from openssl

  [ Claudio Cambra ]
  * Run swift-format on swift code
  * Add .swift-format.json
  * Clean up file provider extension property declarations and init
  * Cllean up function and method calls in File Provider Extension

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Modernize networkReplyErrorString by using const auto.
  * Modernize extractErrorMessage and AbstractNetworkJob::errorStringParsingBody.
  * Update 'no connection' error text to a more user friendly message.
  * Show systray error message when there is a network error.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila Ayres ]
  * Do not create systray notification if there are no errors.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Josh Richards ]
  * docs(conffile) Update chunk sizes to match v2 chunking PR

  [ Claudio Cambra ]
  * Properly report Undefined sync status when multiple folders syncing
  * Use auto and const auto where possible in trayOverallStatus
  * Use bools rather than unnecessary ints in folderman trayoverallstatus
  * Do an early break of folder state check loop when errors seen

  [ Matthieu Gallien ]
  * fix binding loop with palette assignments
  * ensure role hideDownload from ShareModel has a boolean default value
  * fix QML warnings about accessing undefined parent property
  * fix more issues from qml in share dialog

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Do not upload modified PDF file while it is open in Kofax PowerPDF on Windows. Prevents signature verification failure.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Settings dialog. Nextcloud version label should be visible even if auto-updates are turned off in config.

  [ Matthieu Gallien ]
  * add extra logs to investigate lock type issues
  * do not check lock type if server API is missing it

  [ Claudio Cambra ]
  * Add starter client communication service
  * Keep pointer to FileProviderExtension around in ClientCommunicationService
  * Add ClientCommunicationProtocol
  * Implement ClientCommunicationProtocol in ClientCommunicationService
  * Reimplement ClientCommunicationService in Swift
  * Properly implement listener should accept connection in ClientCommunicationService
  * Add starter FileProviderXPC class on client side
  * Add relative symlink to ClientCommunicationProtocol in srd/gui/macOS
  * Fix logging for fileproviderdomainmanager
  * Implement connection begin in XPC
  * Flatten FileProviderXPC::start()
  * Fix retain issues with domains in FileProviderXPC
  * Ensure FileProvider components instantiated after account setup
  * Add extensionAccountId property to ClientCommunicationProtocol
  * Cache NSXPCConnections when starting FileProviderXPC
  * Ensure the listener is resumed once the endpoint is created in the extension
  * Check for protocol type in fileproviderxpc start
  * Log extension id sent over XPC publicly
  * Retrieve extension account ids over XPC, store client comm service per account
  * Upon acquisition of client communication services, send account configuration
  * Move domain manager acquisition into separate function
  * Move domain url acquisition to separate function
  * Move acquisition of file provider services to different function
  * Moved XPC Utils into separate file
  * Clean up FileProviderXPC code, separate everything into single-responsibility methods
  * Fix clientcommservices datatype
  * Implement NSFileProviderServicing in FileProviderExtension
  * Extract file provider connection configuration into separate util function
  * Extract remote service object acquisistion from connection into separate function
  * Remove redundant static in anonymous fileproviderxpc utils namespace
  * Extract account id acquisition from clientCommService into separate function
  * Cast clientCommServices to NSObject with correct protocol
  * Add method to unauthenticate file provider extension in FileProviderXPC
  * Define NSDictionary types in _clientCommServices
  * Move extension authentication into separate method
  * Implement recognition of account state changing in FileProviderXPC
  * Fix clang-tidy namespace concatenation warning
  * Remove all obj-c classes from fileproviderxpc.h
  * Do not shadow sender()
  * Remove unused extension ID NSString
  * Use accountStateFromFileProviderDomainIdentifier method in authenticateExtension
  * Improve domain discovery logging
  * Get services using better non-url based method if available (macOS 13.0+)
  * Separate starting of domain manager tasks from constructor
  * Separate XPC init from file provider constructor
  * Only start XPC after file provider domains have been configured
  * Simplify and clarify utility of socket system for file provider
  * Clarify utility of xpc system for file provider
  * Add explainer to client interface
  * Simplify xpc service acquisition completion handler
  * Improve socket controller logging
  * Do not reconfigure file provider extension account if we are receiving the same details again
  * Add mac-specific virtual files settings section
  * Add basic, start FileProviderSettings page
  * Add a start fileprovidersettingscontroller
  * Set up QML file provider settings within the FileProviderSettingsController
  * Use file provider settings controller in settings dialog
  * Add basic fitting styling for FileProviderSettings component
  * Expose QML engine in systray
  * Simplify widget creation of file provider settings UI
  * Make settings page use other internal QML components, correct palette
  * Resize settings object to root view
  * Wrap normal folder settings in tab widget
  * Make sure qtabwidget in account settings is unnoticeable when file provider module is disabled
  * Move disguising of tab widget into separate method
  * Remove Virtual files section of settings, move this instead to individual tab in each account page
  * Implement basic layout for file provider configuration UI
  * Make file provider settings controller implementation an Objective-C++ file
  * Add access to FileProviderSettingsController in FileProviderSettings page
  * Add starter FileProviderSettings objective c class
  * Add MacImplementation private class to interface with obj-c settings API
  * Instantiate internal MacImplementation in file provider settings controller
  * Lazily load settings view widget
  * Make the fp settings controller static
  * Treat FileProviderSettingsController::settingsViewWidget as a factory method
  * Make it possible to check whether an account has vfs enabled or not
  * Implement modification of file provider enabled for account
  * Use default constructor for FileProviderSettingsController::MacImplementation
  * Notify when enabled file provider vfs accounts change
  * Expose account user id with host to QML
  * Register file provider settings controller as singleton in qml engine
  * Set account as property of settings view root object rather than context property
  * Move fp settings controller out of ui folder
  * Use [[nodiscard]] for MacImplementation methods
  * Add method to enable file provider vfs for all accounts
  * Run initial check on creation of FileProviderSettingsController
  * Ensure account is file provider vfs enablement is correctly set in NSUserDefaults
  * Init widely-used variables in MacImplementation at declaration, fix nullability warnings
  * Remove ConfigFile().macFileProviderModuleEnabled() config flag
  * Enable file provider domains per the settings in the file provider domain manager
  * Separate file provider domain updating into separate slot
  * Update file provider domain enablement status upon settings change
  * Do not bother trying to add a fp domain if we know it is active
  * Remove fp domain id from registered domains when removal is confirmed
  * Add starter fileproviderstorageuseenumerationobserver
  * Define ompletion block for fileproviderstorageuseenumerationobserver
  * Calculate total storage use from enumerator for materialised files in fileproviderstorageuseenumerationobserver
  * Fetch materialised files storage usage per account on creation of FileProviderSettingsController
  * Expose local storage usage for account in gigabytes to QML
  * Use NSUInteger directly when calculationg usage in FileProviderStorageUseEnumerationObserver
  * Hold a strong reference to UsageEnumerationFinishedHandler
  * Handle edge cases with materialised files enumeration and improve logging
  * Move GB with decimal number calculation to function
  * Fetch and store user info for accounts in file provider settings controller
  * Add property to file provider settings controller displaying remote file storage usage
  * Fix positioning fo elements in FileProviderSettings UI
  * Leave usage as a property of materialised files enumerator
  * Keep track of materialised files in storageuseenumerationobserver
  * Store materialised file metadata in file provider settings controller
  * Add a Qt-based data class for file provider items
  * Add a convenience function to convert from nsnamecomponents to qstring
  * Add convenience function to convert extendedAttributes to QHash
  * Add static convenience method to FileProviderItemMetadata to convert from NSFileProviderItem
  * Add method to get qtified file provider item metadata for account in FileProviderSettingsController
  * Add starter FileProviderMaterialisedItemsModel
  * Add custom equality check to FileProviderItemMetadata
  * Set FileProviderItemMetadata vector in materialised items model
  * Emit signal when materialised items for an account change
  * Add method to generate materialised item models in settings controller
  * Add method to generate eviction of materialised item windows in settings controller
  * Add starter FileProviderEvictionDialog component
  * Add a general actions grid to the settings qml component to enable users to manage storage usage
  * Add additional roles to FileProviderMaterialisedItemsModel
  * Add rolenames for FileProviderMaterialisedItemsModel
  * Ensure correct index is set on hidden tab widget
  * Keep track of item metadata's parent domain identifier
  * Add method to get user visible path for an item metadata
  * Get and set userVisiblePath at item metadata construction time
  * Add UserVisiblePathRole to FileProviderMaterialisedItemsModel
  * Add a user-understandable file type string to itemmetadata
  * Add file type role to FileProviderMaterialisedItemsModel
  * Add basic FileProviderFileDelegate UI component
  * Add method to evict an item in FileProviderMaterialisedItemsModel
  * Expose items' domain identifier in FileProviderMaterialisedItemsModel
  * Enable use of "Delete" button in FileProviderFileDelegate to evict item
  * Fix layout for FileProviderFileDelegate
  * Add fileproviderutils namespace
  * Add convenience function to FileProviderUtils to get manager for a given domain identifier
  * Separate domain finding into separate function in FileProviderUtils
  * Use FileProviderUtils function to get manager for domain id in FileProviderItemMetadata
  * Use FileProviderUtils function to get manager from domain id in FileProviderMaterialisedItemsModel
  * Fix retain crash when calling managerForDomain
  * Display file sizes as nicely formatted string in file provider file delegate
  * Improve visuals of file delegate details UI
  * Have backup for 0 value in itemmetadata documentsize in materialised items model
  * Provide feedback when materialised item eviction fails
  * Update the materialised items model post-file eviction
  * Add function to retrieve log entries in File provider Logger extension
  * Add function to File Provider Logger extension to create debug logs file
  * Add public convenience static method to get domainIdentifier from a given accountState
  * Add convenience method in FileProvider to send a message to a given file provider domain
  * Add createFileProvider slot to FileProviderSettingsController
  * Add button to create debug archive
  * Implement creating debug archive in client communication service
  * Replace old and now broken socket based debug archive command with command over XPC
  * Directly provide text file path to logger for debug archive creation
  * Replace handling of debug archive creation in clientcommunicationservice with simple retrieval of debug string
  * Create debug archive on client side
  * Mark MacImplementation constructor for FileProviderSettingsController as explicit
  * Directly generate file provider item metadatas and cache
  * Remove unused usage property from enumeration observer
  * Always perform fallback document size discovery in fileprovideritemmetadata
  * Add method to signal file provider domain via file provider settings controller
  * Add UI button to signal file provider domain
  * Add starter FileProviderDomainSyncStatus
  * Define basic FileProviderDomainSyncStatus private implementation
  * Add q pointer to MacImplementation for FileProviderDomainSyncStatus
  * Add a starter ProgressObserver Objective-C class
  * Acquire upload/download progress in domain sync status
  * Add ProgressKVOChangeHandler property to ProgressObserver
  * Add observing for important properties of nsprogress in progresshandler
  * Add main properties to FileProviderDomainSyncStatus
  * Update properties via ProgressObserver on FileProviderDomainSyncStatus
  * Fix parameter name shadowing in fraction completed methods of domain sync status
  * Fix unique ptr compile issue in domain sync status
  * Make mac implementation of file provider settings controller a QObject
  * Setup domain sync statuses in settings controller
  * Add method to acquire domain sync status in settings controller
  * Fix crash on state change in file provider domain sync status
  * Enable use of domain sync status class in QML
  * Add current sync status UI to file provider settings view
  * Only load file provider settings items if domain is enabled
  * Extract sync status layout to separate file
  * Extract File Provider storage settings to separate file
  * Fix grid layout for sync status of file provider
  * Add separator to dynamically loaded fp settings
  * Bolden sync state text for fp
  * Provide correct sync state icon in file provider domain sync status
  * Add useful font sizes to Style.qml
  * Use font sizes in Style.qml in FileProviderSettings
  * Adjust alignment and sizing of file provider sync status icon
  * Use NCProgressBar for file provider sync status
  * Limit gigabyte sizing string to two decimal figures in file provider storage info
  * Ensure [[nodiscard]] in new file provider classes
  * Mark MacImplementation for FileProviderSettings destructor as override
  * Temporarily remove eviction dialog button until eviction works on extension side

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Only match file extension not its content for mimetype. Prevents freeze from VFS placeholders.
  * VFS. CfAPI. Provide detailed error message for leading '#' placeholder update failure.
  * E2EE. Allow decryption v1.0 and v1.1 folders.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Fix crash when deleting a local sync folder during sync.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. E2ee misleading log fix.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Client Status Reporting. Only report statuses listed on the server.
  * Bugfix. E2EE V2. Fix incorrect root e2ee folder path search in local db.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Modernise and replace foreach loops with for in loops in folderstatusmodel
  * Fix undecided lists in fodlerstatusmodel comment
  * Avoid excessive single letter variables in FolderStatusModel
  * Const autofy where possible in folderstatusmodel
  * Use braced initialiser where possible for folderstatusmodel
  * Automatically fetch first level of subfolders for root nodes in folder status model
  * Clarify role of idx in slotUpdateDirectories
  * Clean up and add braces for if statements in folderstatusmodel
  * Remove unneeded error variable
  * Check parent variable nullness in folderstatusmodel
  * Ensure there is a return in case FolderPathRole of FolderStatusModel

  [ alex-z ]
  * Bugfix. Federated share activity show 'Decline' action button.
  * Unit tests for federated share activity actions
  * Bugfix. Exclude list. Fix stuck 'excluded' status in Windows Explorer after removing the exclude pattern.
  * Unit tests for ignorelist exclude status stuck.

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.8.0 to 2.9.1

  [ Matthieu Gallien ]
  * when moving a file, checks that it exists at origin or destination
  * add new test to simulate the data loss scenario
  * fix missing tracking for some item rename operations

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Add option to do a fast enumeration of changes which ignores new, unexplored folders
  * Clean up properties and init/invalidate in FileProviderExtension
  * Add a starter FileProviderConfig
  * Add computed property to FileProviderConfig to get and set internal config
  * Add fastEnumerationEnabled property to config
  * Use value from config for fastEnumeration when creating enumerator
  * Add lazy var for whether the fastEnumeration value has actually been set in settings
  * Add method to get state of fast enumeration setting
  * Add method to set fast enumeration in client communication service
  * Mark fileProviderAvailable as nodiscard
  * Make XPC pointer publicly available
  * Remove wrapper method for creating debug archive, directly use FileProviderXPC
  * Add method to get fast enumeration state (if possible) in FileProviderXPC
  * Add method in file provider xpc to set fast enumeration enabled state
  * Add method to acquire fast enumeration enabled status in file provider settings controller
  * Add method to set fast enumeration enabled in file provider settings controller
  * Add method to check if fast enumeration setting has been set in settings controller
  * Make default of fast enumeration enabled method in file provider settings controller to be true
  * Add starter FileProviderFastEnumerationSettings QML component
  * Instantiate and hook up FileProviderFastEnumerationSettings within FileProviderSettings
  * Log setting change for fast enumeration in ClientCommunicationService
  * Add explainer about fast sync to file provider settings

  [ Kevin Ottens ]
  * [dolphin] Clean up includes
  * [dolphin] Don't rely on QByteArray -> const char * implicit conversion
  * [dolphin] Don't rely on const chat * -> QString implicit conversion
  * [dolphin] Don't rely on emit and signals, use the Q_* macros instead
  * [dolphin] Remove the desktop file and go straight to json instead
  * [dolphin] Adjust CMake to handle the presence of KF6

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Reintegrate eviction dialog button
  * Implement eviction capabilities in FileProviderItem
  * Fix header text color property
  * Extract enumeration of materialised files for each domain manager into a separate slot
  * Add slot to file provider settings controller to refresh materialised items for account
  * Add title and reload button to file provider eviction dialog
  * Enable reloading of materialised items model from within file provider eviction dialog
  * Use palette background color for file provider eviction dialog
  * Improve design of materialised file delegates

  [ Kevin Ottens ]
  * [gui] Add KGuiAddons as an optional dependency
  * [socketapi] Replace QClipboard with KSystemClipboard when available

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Change minimun mac OS version to 10.13.

  [ Claudio Cambra ]
  * Create systray_mac_common file for common systray functions
  * macosx: Selectively compile UserNotifications component of systray depending on deployment version
  * Do not try to link UserNotifications framework when building below 10.14
  * Only set BUILD_FILE_PROVIDER_MODULE if deployment target high enough
  * Remove unneeded fallback for undefined cmake_osx_deployment_target

  [ Camila Ayres ]
  * Set min OSX version via cmake.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * always store newly created folders in DB even if it is missing
  * correct category for some log output
  * switch to newer CI images
  * update drone signature
  * adjust AppImage build script to the new build image
  * we require c++-17
  * ensure we get proper logs for permissions automated tests
  * update automated test to work with read only folders
  * gather more information on exceptions that happen when running tests
  * newly created folders will be read-only when needed
  * make folder read-write before deleting it

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. E2EE. Use 'double' for legacy metadata.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. Files-lock. Inorrect readonly state for TokenLock.

  [ Matthieu Gallien ]
  * only display changed network errors during validation of connection
  * switch to ubuntu-latest image for CI github actions
  * sonarcloud CI check with address sanitizer
  * update parts of CI to get tests to be OK

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Allow installation to close shell extension DLLs via the custom action. Disable reboot prompt in case of the version with this change was previously already installed.

  [ Matthieu Gallien ]
  * allow wipe feature to delete data of a wiped user account

  [ alex-z ]
  * E2EE. Fix root metadata fetching path for non-root remote sync folder. Refactoring. Stabilizing paths.
  * E2EE with VFS. Disallow MOVE as it is not supported. Prevent data loss.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.9.1 to 2.10.0

  [ Matthieu Gallien ]
  * if desktop client sent a first reply: wait for the menu data

  [ Camila Ayres ]
  * User 'Connection issue' instead of 'Network error' in systray notification.

  [ Josh ]
  * fix(docs): parameter promptDeleteAllFiles defaults to false not true

  [ Corentin Noël ]
  * libcloudproviders: Use DEFINE_VARIABLES to install in the correct directory

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * use the proper name when reading system exclude config file

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * Revert "Allow installation to close shell extension DLLs via the custom action. Disable reboot prompt in case of the version with this change was previously already installed."
  * partial fix for compilation with QT_NO_KEYWORDS
  * ensure we ignore deprecated warnings from openssl in unity builds
  * context menu: do not recursively check pin and availability states
  * properly compute if a folder is top level or child extern mounted

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Wrap all use of std::filesystem in ifdefs to fix legacy build for <macOS 10.15
  * Also prevent use of std::filesystem in macOS 10.14

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. Remove seen call notifications from the list.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * Bump cpp-linter/cpp-linter-action from 2.10.0 to 2.10.2

  [ Felix Stupp ]
  * Add typical Syncthing files to default exclusion

  [ Matthieu Gallien ]
  * switch CI to python 3.12
  * switch Craft cache to proper location
  * install inkscape via chocolatey after other dependencies
  * install inkscape using same cache as OpenCppCoverage
  * update python for macos and update deployment target
  * disable coverage on windows due to a crash
  * just use the default value for "Packager/RepositoryUrl"

  [ Claudio Cambra ]
  * Fix crash when in debug mode when toggling enabled status of an account's virtual files (macOS)
  * Add new FileProviderUIExt target
  * Build and install FileProviderUIExt via CMake
  * Add FileProviderUIExt entitlements file
  * Add logger extension to FileProviderUIExt
  * Add logging for prepare methods of document action view controller
  * Create ShareViewController
  * Add convenience method to prepare child view controllers in DocumentActionViewController
  * Remove unused IBActions in DocumentActionViewController
  * Properly add share custom action
  * Add proper design for share view in file provider UI
  * Store file provider item identifiers in ShareViewController
  * Make close button work properly in share view
  * Add domain property to document action view controller
  * Set the right filename and icon on share view controller view
  * Extract display updating upon url acquisition to different method in ShareViewController
  * Add starter FPUIExtensionService protocol
  * Implement convenience method to acquire FPUIExtensionService in share view controller
  * Add starter FPUIExtensionServiceSource
  * Add starter ItemSharesController
  * Add fetch method to itemsharescontroller
  * Add table to ShareViewControlelr XIB
  * Add starter ShareTableItemView XIB
  * Add more complete ShareTableItemView design
  * Add starter ShareTableViewDataSource
  * Add outlet for share view table view
  * Add base properties to ShareTableViewDataSource
  * Move serviceConnection method to table view data source
  * Add share fetching routine to FPUIExtensionService
  * Add item shares loading routine to ShareTableViewDataSource
  * Instantiate share data source in share view controller
  * Fix protocol used for FPUIExtensionServiceSource
  * Fix visibility of logging in ItemSharesController
  * Add FPUIExtensionServiceSource to services published by FileProviderExt
  * Fix linking of FileProviderUIExt which was missing NextcloudKit symbols
  * Add method to export NextcloudAccount details to dictionary
  * Add method to convert dictionary to NextcloudAccount
  * Add NextcloudAccount to FileProviderUIExt
  * Add method to FPUIExtensionServiceSource to get extension account details
  * Remove logging from NextcloudAccount
  * Add method to get an item's server path through FPUIExtensionService
  * Add release entitlements fro FileProviderUIExt
  * Add essential table view data source method to ShareTableViewDataSource
  * Implement NSTableViewDelegate viewFor method in sharetableviewdatasource
  * Register shareItemView nib in shareTableView
  * Move all share fetching logic to FileProviderUIExt
  * Remove default item view in ShareViewController table XIB
  * Set delegate for shares table view
  * Add corresponding class for ShareTableItemView
  * Set basic property of sharetableitemview in delegate method of data source
  * Ensure usable rowHeight for shares table view
  * Customise prepareForReuse in ShareTableItemView
  * Add starter NKShare extension
  * Add ShareType enum to NKShare extension
  * Add typeImage property to NKShare extension
  * Add displayString property to NKShare extension
  * Make share property central to display update of share table item view
  * Improve share table style
  * Implement share link copying in share table item view
  * Temporarily change copy share link button image after clicking
  * Add popover and corresponding view controller to sharetableitemview
  * Add starter ShareOptionsView
  * Implement ShareOptionsView design
  * Replace ShareOptionsView with a ShareOptionsWindow
  * Add starter ShareOptionsWindow class
  * Redesign shares to incorporate share options into main share view
  * Extract options view to different XIB
  * Add a shareview ui delegate protocol for datasources
  * Treat bottom view in share view as a target view to inject other views
  * Implement ui delegate in ShareTableViewDataSource
  * Re-integrate share options view into main share view controller XIB
  * Implement hide and show of share options in share view controller
  * Add a loading overlay to table view to indicate fetch in progress
  * Add fetch related handling functions to ui delegate
  * Tell delegate when fetch ongoing in share table view data source
  * Ensure calls are made via main actor to delegate in share table view data source
  * Add a ShareOptionsView class
  * Improve placeholder text for share view password field
  * Handle state of share options view via setting of NKShare
  * Handle optionsview as ShareOptionsView in share view controller
  * Add starter sharecontroller for fileprovider
  * Add convenience property to nkshare extension to get valid expiration date string
  * Add functionality to share controller to save changes
  * Use ShareController in ShareOptionsView
  * Add convenience function to format date to valid server string in nkshare
  * Respond to changes in share of sharecontroller in shareoptionsview
  * Add convenience function to enable or disable all share option fields
  * Correctly handle NKShare's "canEdit" in share options view
  * Add fields as parameters to save in sharecontroller
  * Make save button functional in share view
  * Use a sharecontroller in shareviewcontroller
  * Reload data source on share saving
  * Implement more logging in sharecontroller
  * Fix crash on reloading share table view data source
  * Deselect table view or shares after reload to reset UI
  * Add views to present an error in the share view controller
  * Add method to show error in data source ui delegate
  * Add method to dismiss error in share view controller via dismiss button
  * Present error for updating share in file provider UI
  * Show error in share table view data source if received one in fetch
  * Blend in-window contents in share view loading overlay
  * Add PermissionValues to NKShare extension
  * Add convenience property to nkshare extension to see if sharees can edit share file/folder
  * Properly handle permissions in shareoptionsview
  * Add deletion capability to sharecontroller
  * Improve design of save and delete buttons in share view controller
  * Implement deletion functionality for share options view
  * Remove unused outlets in tableitemview
  * Add button to create new share in share view
  * Add a popupbutton to share options vie to select type of share
  * Add static method to create shares in ShareController
  * Make item's server relative path public in sharetableviewdatasource
  * Nilify itemServerRelativePath upon loading item in table view data source
  * Add additional options to share controller creation method
  * Add "createMode" toggle to share options view, start building for use to create new shares
  * Make create button in share view controller show options view and toggle create mode
  * Connect different share type popup button menu items to outlets in share options view
  * Make share options view capable of creating or updating view upon clicking "save" depending on create status
  * Adjust share options view title depending on create mode
  * Change deleteButton to a cancel button when in creation mode
  * Have specific cancel behaviour in shareoptionsview on delete if in create mode
  * Add a text field for relevant shareWith in ShareOptionsView
  * Correctly treat share recipient text field in the share options view flow
  * Properly handle failure state when creating new share in share options view
  * Reset newly added fields in ShareOptionsView correctly
  * Adapt visibility of password field upon toggling password checkbox
  * Adapt visibility of expiration date field upon toggling checkbox
  * Adapt visibility of note recipient text field upon toggling checkbox
  * Add ShareCapabilities struct
  * Restructure ShareCapabilities
  * Add initialiser from dictionary for EmailCapabilities
  * Add init for public link capabilities
  * Add init for ShareCapabilities
  * Fetch sharing capabilities in ShareTableViewDataSource
  * Do not bother fetching shares if sharing is disabled on server
  * Extract conversion of picked menu item in share type picker into NKShare ShareType into new method
  * Update reset to make sure it also resets min and max dates in date picker, don't affect share type
  * Setup the fields in share options view when creating a new form according to capabilities
  * Update form layout according to picked type when picked type changed
  * Fix password capabilities for public link capabilities
  * Fix ShareCapabilities parsing
  * Fix default states around passwords for share options view
  * Add more debug logging to sharecapabilities
  * Add method to ShareTableViewDataSource to fetch the given item's metadata
  * Check if the given item is shareable before fetching shares
  * Ensure interpolated logging string in share table view data source is public
  * Fix scan path to retrieve item metadata in share table view data source
  * Fix letter used to identify shareability in sharetableviewdatasource
  * Fix options view disappearing when clicking create button in share view controller
  * Deduplicate error presentation in ShareTableViewDataSource
  * Retry getting information from FileProviderExt if doing so has failed (usually due to opening share view before auth details are present)
  * Add package dependency NextcloudCapabilitiesKit to NextcloudIntegration
  * Add SuggestionsTextFieldKit dependency
  * Add basic shareesuggestionsdatasource
  * Add sharee fetcher method to shareesuggestionsdatasource
  * Add converter method fro nksharee to suggestion
  * Update suggestions on inputString change in sharee suggestions data source
  * Post suggestions changed notification in ShareeSuggestionsDataSource
  * Improve logging in ShareeSuggestionsDataSource
  * Use suggestions window controller in share options view
  * Fix suggestion labels for sharees
  * Simplify configuration of text field delegate
  * Fix SuggestionsTextFieldKit import
  * Clean up TODO comments in file provider ui ext
  * Set suggestionstextfieldkit to 1.0.0
  * Pin NextcloudKit version
  * Pin NextcloudCapabilitiesKit version
  * Display shareWith in nkshare displaystring extension
  * Update description label in share view
  * Add a "no shares" label if there are no shares available in share view
  * Upgrade NextcloudCapabilitiesKit version
  * Allow SuggestionsTextFieldKit to use up to next major version
  * Set file provider extension target as a dependency of file provider ui extension target in CMake
  * Add test target for file provider testing
  * Database manager does not need to be an NSObject
  * Allow NextcloudFilesDatabaseManager to take a specific realmconfig in constructor
  * Remove FileProviderExtTests
  * Add NextcloudFileProviderKit dependency
  * Remove use of all code now available in NextcloudFileProviderKit
  * Use Enumerator in NextcloudFileProviderKit
  * Use FileProviderItem from NextcloudFileProviderKit
  * Make use of NextcloudFileProviderKit materialisedenumerationobserver
  * Adapt to new NextcloudFileProviderKit item nomenclature
  * Fix build of ShareTableViewDataSource
  * Use thumbnail fetching procedure from NCFPK
  * Use new convenience method to get Item for root container from NCFPK
  * Greatly simplify item method of FIleProviderExtension by using item storedItem method
  * Simplify FileProviderExtension's deleteItem method by leveraging Item's delete method
  * Use fetchContents from NCFPK item
  * Use NCFPK Item.create in createItem
  * Use NCFPK item modify method
  * Improve logging in delete item procedure of FPExt
  * Fix passing of wrong item into item.modify
  * Remove unused components in FileProviderExt
  * Correctly set up NCKit instance with account string
  * Provide NCFPK enumerator with extension domain
  * Always signal enumerator after errors to try and recover from what the error might have been
  * Add change observer from NCFPK
  * Remove client-side push notification handling for file provider extension in favour of simply using NCFPK remote change observer
  * Set changeobserver as delegate for nkcommon
  * Remove now-unneeded Realm dependency from FileProviderExt
  * Pin NextcloudFileProviderKit version to 0.9.0 (up to next major version)
  * Improve logging across file provider sharing
  * Make sure network error is shown in UI instead of generic error
  * Unify FileProviderUIExt entitlements
  * Explicitly set bundle name and identifiers from env vars in FileProviderUIExt
  * Wrap access of itemUrl in security scoping

  [ alex-z ]
  * Bugfix. Folder case clash conflict. Do not update parent folder record if it contains conflicted subfolers. Also fix crash with local rename.
  *  Bugfix. Folder invalid char conflict. Do not update parent folder record if it contains conflicted subfolders.
  * Also support nested folder scenarios.
  * Unit tests for diverse conflicts in one folder.
  * Fix CI errors.
  * Fix tests failure. Refactoring.

  [ Matthieu Gallien ]
  * create registry keys needed for edit locally in local machine category

  [ Claudio Cambra ]
  * Use davUser instead of direct credentials user in file provider

  [ alex-z ]
  * Detect office files for locking on new upload. Notify FolderWatcher.

  [ Matthieu Gallien ]
  * if a virtual file change but bothing changed: set it as in sync
  * do not cause implicit hydration of virtual files during sync

  [ Claudio Cambra ]
  * Extract syncIsPaused initialisation into new updater slot
  * Make sure to emit relevant signals and set sync is paused to true if relevant
  * Make sure to emit syncIsPausedChanged in syncIsPaused setter
  * Re-run update sync paused state slot when folder list has changed
  * Fix "false" error about bad applying of nodiscard to value type
  * Give debug archive save location dialog a default location
  * Prevent crash on creating debug archive in non-writeable location
  * Only show successful debug archive creation dialog if it has indeed been successful
  * Prevent use of invalid characters for file provider domain names
  * Fetch macOS VFS package in autoupdater if the client is using the file provider module
  * Always correctly set values for all fields in File Provider sharing UI

  [ Camila Ayres ]
  * Bump version to 3.13.0.

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:28:45 +0000

nextcloud-desktop (3.12.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * prepare for 3.12 release
  * fix include order from most specific to less specific
  * avoid modifying a placeholder (virtual files) when not needed
  * extend log to get information about mtime modifications by the client

  [ Claudio Cambra ]
  * Fix build with latest NextcloudKit, caused by search for XCTest and friends

  [ alex-z ]
  * Feature. Do not allow move of external storage mounted folders.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Fix crash on mac OS < 13.

  [ Claudio Cambra ]
  * Only set linker flags needed for macOS on Apple

  [ Camila ]
  * Use a new FindSQLite3 cmake module.

  [ alex-z ]
  * Client status reporting feature. First iteration.
  * Send status report. Improved logic and database columns.
  * Iteration. Use Capabilities to control Client Status Reporting availibility.
  * Iteration. Properly process server reply.
  * Generate client status report records when errors happen.
  * Prevent issues when changing the enum.
  * Allow sending E2EE and Virus_Detected statuses. Also updated tests.
  * Report error Virus Detected. Updated tests.
  * Added error reporting for E2EE issues.

  [ dependabot[bot] ]
  * Build(deps): Bump cpp-linter/cpp-linter-action from 2.7.1 to 2.7.2

  [ dependabot[bot] ]
  * Build(deps): Bump actions/setup-python from 4 to 5

  [ dependabot[bot] ]
  * Build(deps): Bump actions/stale from 8 to 9
  * Bugfix. Fix incorrect size of the folderbutton size and scaling.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Bugfix. Do not treat item type change as metadata update.
  * Unit tests for the type change.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * ensure we do not modify a file that has been just uploaded
  * immediately flush logs in automated test of sync engine

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * add more info before we try to load translations and/or fail
  * get the appimage path to translations instead of looking at the host

  [ John Molakvoæ ]
  * chore: update workflows from templates

  [ dependabot[bot] ]
  * Build(deps): Bump cpp-linter/cpp-linter-action from 2.7.2 to 2.7.5

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Spell-correction for e2e_errors
  * File locking. Manual lock should never be modified without user intervention. Set token lock instead of user lock when locking office files automatically.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Tobias Kaminsky ]
  * full git path

  [ dependabot[bot] ]
  * Build(deps): Bump cpp-linter/cpp-linter-action from 2.7.5 to 2.7.6

  [ Camila ]
  * Utility: Fix the storage string to display terabytes.
  * Modernize Utility::octetsToString function.

  [ Micke Nordin ]
  * GUI/LIBSYNC: force login flow V2 with config setting
  * Apply suggestions from code review
  * OwncloudWizard: Move implementation to cpp-file

  [ Corentin Noël ]
  * Avoid duplicate declarations with latest libcloudproviders

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Autostart does not depend on how many accounts are configured.

  [ Hannah von Reth ]
  * Log if setting up launch on start fails on mac

  [ Erik Verbruggen ]
  * Turn utility_* into stand-alone files
  * Mac: Move launch-on-login to use launchd
  * macOS: Simplify Utility::hasDarkSystray()
  * macOS: Modernise Utility::setupFavLink
  * macOS: Do case-insensitive compare in auto-launch code
  * Mac: do not restart after crash
  * Creaate `LaunchAgents` directory if it doesn't exist
  * macOS: Fix restart-after-quit

  [ Camila Ayres ]
  * Clean up logic when setting up auto start for user.
  * Save the value of 'Launch on system startup' in the config files.
  * Remove if TOKEN_AUTH_ONLY because the build will fail without it in all cases.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * globally enable use of the xcode hardened runtime

  [ Camila Ayres ]
  * Fix: remove failure to import legacy account notification.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * End-to-End Encryption V2. Implemented sharing between users. Automatic migration from 1.0 to 2.0(only for flat folders). Improved secure filedrop.

  [ István Váradi ]
  * Remove Ubuntu Lunar, add Noble

  [ dependabot[bot] ]
  * Build(deps): Bump actions/cache from 3 to 4

  [ dependabot[bot] ]
  * Build(deps): Bump cpp-linter/cpp-linter-action from 2.7.6 to 2.8.0

  [ Matthieu Gallien ]
  * partial build fix when TOKEN_AUTH_ONLY is enabled at configure time

  [ Claudio Cambra ]
  * Add currentAvailableScreenRect convenience method
  * Use available gemoetry measurement rather than whole screen geometry measurement unit to define non-taskbar invading window positions, removing need for calculating taskbar geometry
  * Remove now unused method for calculating taskbar geometry
  * Do not recreate geometry more than is necessary

  [ Matthieu Gallien ]
  * prepare 3.12.0 RC1

  [ alex-z ]
  * Allow event processing between each XML parser run, to improve GUI performance.

  [ Matthieu Gallien ]
  * partial move of some checks done with drone to github actions

  [ alex-z ]
  * Bugfix. Random crash in LsColJob after recent changes.

  [ rakekniven ]
  * fix(i18n): uppercase ID
  * fix(i18n): Changed spelling of "public key"

  [ Matthieu Gallien ]
  * wait longer to get the contextual menu entries: may be necessary

  [ Josh Richards ]
  * docs(conffile) Update chunk sizes to match v2 chunking PR

  [ Matthieu Gallien ]
  * suppress deprecated warnings from openssl

  [ Claudio Cambra ]
  * Properly report Undefined sync status when multiple folders syncing
  * Use auto and const auto where possible in trayOverallStatus
  * Use bools rather than unnecessary ints in folderman trayoverallstatus
  * Do an early break of folder state check loop when errors seen

  [ Camila Ayres ]
  * Modernize networkReplyErrorString by using const auto.
  * Modernize extractErrorMessage and AbstractNetworkJob::errorStringParsingBody.
  * Update 'no connection' error text to a more user friendly message.
  * Show systray error message when there is a network error.
  * Do not create systray notification if there are no errors.

  [ Matthieu Gallien ]
  * prepare 3.12.0 release
  * fix binding loop with palette assignments
  * ensure role hideDownload from ShareModel has a boolean default value
  * fix QML warnings about accessing undefined parent property
  * fix more issues from qml in share dialog

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:26:49 +0000

nextcloud-desktop (3.11.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * prepare 3.11 release

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Ignore upload error items and schedule a new sync in case there are removed items that need to be downsynced.
  * Fix a crash when saving the locked Word document file due to unnecessary spam to the lock state change from folder watcher logic.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Remove locketimeout condition.

  [ Patrick Cernko ]
  * fixed detection of server version in cmd client similar to gui client:

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Corentin Noël ]
  * Add compatibility with the new libcloudproviders integration

  [ Claudio Cambra ]
  * Fix macOS notification talk replies by avoiding early dealloc

  [ alex-z ]
  * Store the new etag into local database when opening with auto-locking/manual locking the file locally.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix visual bug with folder size confirmation combo box in general settings

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Display correct conflict part in multiple conflicts resolution dialog.

  [ Claudio Cambra ]
  * Eliminate wrapper SpinBox for expire date field
  * Extract date field into a separate file
  * Stop reducing date numbers
  * Add starter datefieldbackend class
  * Add dateTime property to datefieldbackend
  * Add datetime msecs property to datefieldbackend
  * Add strig based representation and setting for date in datefieldbackend
  * Add minimum date properties to datefieldbackend
  * Add maximum date properties to datefieldbackend
  * Add validDateTime property to datefieldbackend
  * Register DateFieldBackend in QML engine
  * Vastly simplify NCInputDateField by using the DateFieldBackend
  * Use NCInputDateField in ShareDetailsPage
  * Customise locale default date format to ensure we eliminate issues parsing two-digit year strings
  * Give each property unique signals, fixing QML bugs
  * Do not use QDateTime, use only QDate for datefieldbackend
  * Add date field input method hint
  * Ensure leading zero dates are also correctly parsed
  * Ensure qdatetimes are UTC in datefieldbackend
  * Add date field backend test file
  * Add simple test for basic. default date properties of DateFieldBackend
  * Add test for date field backend boundaries
  * Check that signals were correctly emitted in testDateBoundaries
  * Add a test for the various ways of setting a date on datefieldbackend
  * Do not present NCInputDateField backend as public property
  * More stringently check for min and max date validity in date field backend
  * Use a standardised locale to create log file filenames, fixing issues with certain locales

  [ Camila ]
  * Migrates all legacy accounts.
  * Migrate all legacy folders for each legacy account.

  [ Claudio Cambra ]
  * Remove unused shareuserline ui component

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * once we call done on a sync file item, return is needed

  [ alex-z ]
  * Do not attempt to convert .lnk files to placeholder. Also do not modify folders' metadata.
  * Remove unused function 'revertPlaceholder'.
  * Tests for placeholder file metadata update.

  [ Matthieu Gallien ]
  * do not check every 5 seconds files with infinite timeout (= 0)

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * [FileProvider] Add missing AccountState State case for notifying account state to extension

  [ Dimitri Papadopoulos ]
  * Automatically update GitHub Actions

  [ Claudio Cambra ]
  * Ensure background colour for warn label in folder wizard is the correct colour
  * Also provide remote path folder wizard page with correct warn colour
  * Constexprify yellow warning colours in FolderWizard
  * Move warning yellow palette generation for warn labels to anonymous namespace function

  [ Dimitri Papadopoulos ]
  * Fix residual typos found by codespell

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Dimitri Papadopoulos ]
  * Fix new typos found by codespell

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Add macOS related configs to craftmaster.ini
  * Add macOS workflow
  * Add test run to macOS CI
  * Ensure that full rescan flags in macOS folder watcher reply are properly responded to
  * Make sure to respond to cloned item event flags in mac folder watcher
  * Fix files being skipped in coalesced path traersal in mac folder watcher

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Remove OAuth authentication method as it is now unused
  * Open Nextcloud after installation on macOS

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix Chunk v2 upload headers

  [ alex-z ]
  * Activity list fixes and improvements. Adjusted sorting to show interactive and security activities always on top (after errors). Added button to scroll up when new activity arrives. Improved sync status scrollbar.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Optimize CaseConflictRecords search in local DB during the sync.

  [ Matthieu Gallien ]
  * improve names of CI checks and do not run them on merges to master

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Move restore legacy account logic to a function.
  * Move config creation and restoring of account to new function.
  * Only show message with migration status in the end of the process.
  * Update folder version.
  * Improve text and buttons of notification dialogs used during legacy import.
  * Clean up code, fix comments, remove not needed function...
  * Fix QMessageBox 'skip' button functionality for importing legacy account.
  * Rename FolderMan::setupFolderFromOldConfigFile => FolderMan::setupLegacyFolder
  * Application function and var renames and clean up setupConfigFile function.
  * User "1" instead of "one" in thelegacy import dialogs.
  * Address PR comments.

  [ Matthieu Gallien ]
  * fix build by making unique_ptr not const if we std::move it

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ dependabot[bot] ]
  * Bump actions/github-script from 3 to 6

  [ Claudio Cambra ]
  * Prevent empty password being passed into share creation

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Unhide discovery logs for file deleted on the server and for discovered file.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Use material icon for folders.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Add utility method to remove leading slashes from paths
  * Provide full url for chunked upload destination header
  * Move destination header build to own method
  * Also add destination header to initial chunk folder MKCOL

  [ Matthieu Gallien ]
  * in debug builds, we want immediate log flush and debug output
  * ensure we do not restore unselected folders from selective sync
  * when sync is completed and data fingerprint changed, update it
  * remove deprecated openssl 3.0 warnings
  * signals/slots need to have fully qualified arguments
  * remove duplicated signals overriding the same signal in base class
  * fix mising emit keyword in two places when emitting a signal
  * avoid for loops detaching the container when uneeded

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Show more informative error message when VFS hydration fails. Display a popup and put an error into activity list. More detailed logs.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Improve Settings dialog design.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Do not show failure popul for VFS when hydration finished with code 200 or 204.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Upgrade to Mac OS 12.0.0.

  [ Claudio Cambra ]
  * Update MACOSX_DEPLOYMENT_TARGET in NextcloudIntegration to 12.0

  [ dependabot[bot] ]
  * Bump actions/cache from 2 to 3

  [ dependabot[bot] ]
  * Bump peter-evans/create-or-update-comment from 3.0.1 to 3.0.2

  [ dependabot[bot] ]
  * Bump actions/stale from 3 to 8

  [ dependabot[bot] ]
  * Bump actions/checkout from 2 to 4

  [ dependabot[bot] ]
  * Build(deps): Bump actions/setup-python from 1 to 4

  [ dependabot[bot] ]
  * Build(deps): Bump cpp-linter/cpp-linter-action from 2.1.1 to 2.6.1

  [ alex-z ]
  * Enforce virtual file type when it is falsely marked as non-virtual. Added more logs for scenarios when virtual placeholder gets marked as non-virtual.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * we require version 12.0+ for macOS

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Fix crash when clicking on import legacy account dialog 'Skip' button.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Fix crash. Remove unnecessary dependency injection causing crash.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alkl58 ]
  * Check path validity on Windows will validate NTFS permissions for network drives. Signed-off-by: Alkl58 <alkl58@protonmail.com>

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * VFS. Properly set Folders/WithPlaceholders in config when switching modes. Refactoring.
  * Folders. Fix incorrect alias concatenation. Avoids leading zero.
  * Fix. Bulk upload. Accumulate sent bytes. Fix negative value in UI.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ AJ Jordan ]
  * Don't log notification successes as warnings

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * avoid restore algorithm by setting the data fingerprint from sync DB

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Josh Richards ]
  * docs(troubleshooting) Add warning about sensitive data in logs

  [ dependabot[bot] ]
  * Build(deps): Bump cpp-linter/cpp-linter-action from 2.6.1 to 2.7.1

  [ dependabot[bot] ]
  * Build(deps): Bump peter-evans/create-or-update-comment

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Josh Richards ]
  * Update stale.yml: Unify "needs info" handling

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * add a cmake flag to not build with Qt5 WebEngine

  [ dependabot[bot] ]
  * Build(deps): Bump actions/github-script from 6 to 7

  [ Claudio Cambra ]
  * Change logging for sparkle update to qCInfo

  [ Matthieu Gallien ]
  * maintain lock state if unlock happens during sync
  * prepare 3.11 RC1
  * fix include order from most specific to less specific
  * avoid modifying a placeholder (virtual files) when not needed
  * extend log to get information about mtime modifications by the client

  [ Claudio Cambra ]
  * Fix build with latest NextcloudKit, caused by search for XCTest and friends

  [ Camila ]
  * Fix crash on mac OS < 13.

  [ Claudio Cambra ]
  * Only set linker flags needed for macOS on Apple

  [ Camila ]
  * Use a new FindSQLite3 cmake module.

  [ alex-z ]
  * Client status reporting feature. First iteration.
  * Send status report. Improved logic and database columns.
  * Iteration. Use Capabilities to control Client Status Reporting availibility.
  * Iteration. Properly process server reply.
  * Generate client status report records when errors happen.
  * Prevent issues when changing the enum.
  * Allow sending E2EE and Virus_Detected statuses. Also updated tests.
  * Report error Virus Detected. Updated tests.
  * Added error reporting for E2EE issues.

  [ Matthieu Gallien ]
  * prepare for final release 3.11.0

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:25:38 +0000

nextcloud-desktop (3.10.0) jammy; urgency=medium

  [ Camila ]
  * Bump version to 3.9.50.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix colour of icon for tray folders button
  * Fix colour of downward caret in tray folders button

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * align activity text with "Sync now" text

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * ensure that the file to test monitoring is hidden

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Use custombutton for dismiss button, give hover feedback
  * Fix alignment of main subject line with time line in activity
  * Hide second subject line in activity when nothing is visible
  * Use custombutton with filedetails button to make it not look horrible
  * Fix more button icon when in dark mode
  * Make dismiss button slightly larger
  * Move filedetails button to activity top row
  * Fix text lines, don't leave only one line
  * Use standard size instead of unncessary additional value
  * Simplify and fix activity content layout by going back to using RowLayout instead of Item
  * Limit the max height of images inside CustomButton
  * Respect icon.height and width in custom button contents
  * Respect icon.height and width in custom button contents
  * Add darker hover to make hovering on an item within an item with lightHover visible
  * Reduce minimum size of activity
  * Increase size of dismiss button
  * Fix image sizing and positioning in NCButtonContents
  * Fix large number of warnings related to unavailable property
  * Fix dark mode switching issues with main tray window
  * Unify small icon sizes in file details components
  * Fix checkbox palettes in share details
  * Fix outline for progress bar in fusion
  * Fix dark mode in ResolveConflictsDialog
  * Fix contentwidth of dialogbuttonbox in ShareDetailsPage
  * Define all QML windows as ApplicationWindows, define palettes here
  * Always use palette colours for colouring UI elements
  * Remove unnecessary background components
  * Fix caret colour in basic combo box
  * Fix highlight in activity list
  * Declare hoverEnabled: true explicitly in CustomButton
  * Fix macOS build when file provider module build is disabled
  * Added BUILD_FILE_PROVIDER_MODULE to config.h.in
  * Remove redundant definition addition for BUILD_FILE_PROVIDER_MODULE

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix faulty dark/light mode switching in UnifiedSearchInputContainer
  * Fix switching from dark/light mode for checkboxes in file details window
  * Use Style constants for UnifiedSearchInputContainer measurements

  [ Matthieu Gallien ]
  * fix build on windows by adding missing archive name properties on libs

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Revert "Annotated version of Big Sur icon"

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Don't build file provider module by default (yet)
  * Fix Debug builds of File Provider module
  * Simplify variables for propery build paths for FP
  * Fix progress bar palette

  [ Matthieu Gallien ]
  * by default disable debug log level
  * rotate log files every 3 MBs
  * do not log twice in debug mode

  [ alex-z ]
  * Bugfix. Conflict resolution button not clickable.

  [ Matthieu Gallien ]
  * display subject when we have sync issues like network errors
  * declare ErrorCategory enum class and declare its metatype
  * add more metadata to sync errors to allow filtering
  * use a better user message for network errors
  * disable one definition rule sanitizer check
  * sonarcloud action will run on ubuntu:22.04

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Fix UnifiedSearch text field placeholder text color for light and dark theme.

  [ Matthieu Gallien ]
  * addd a cmake option to enable single account desktop client

  [ Claudio Cambra ]
  * Fix colouring of NCRadioButton

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix reply button visibility after reply field opened and reply text sent

  [ John Molakvoæ ]
  * chore: update workflows from templates

  [ Matthieu Gallien ]
  * rotate the logs less often (around every 3 MB of compressed logs)

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fully hide some logs from release builds
  * downgrade some log lines to be less verbose
  * by default hide most discovery log traces
  * avoid info level for new entries in ActivityListModel
  * enable "Processing" log lines again but with some removed data
  * less info logs during discovery
  * rotate logs based on the lines count instead of teh file size

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix xcodebuild parallel build warning

  [ allexzander ]
  * Correctly handle errors for unsupported filenames on the server. Allow user to rename those via dialog.

  [ alex-z ]
  * Fix clang compile error.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Remove stale caseclash conflicts when one of conflicting files has been removed from server

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ István Váradi ]
  * Build for Debian Bookworm

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Documentation for mass deployment and account wizard override.
  * Implemented a class ChecksumCalculator to allow stopping the checksum calculation thread on parent destruction.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Dimitri Papadopoulos ]
  * Fix typos found by codespell
  * Fix typos found by codespell

  [ Matthieu Gallien ]
  * update docker container based on opensuse leap to cross build to windows

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Dimitri Papadopoulos ]
  * Fix residual typos found by codespell

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix ignored signals due to using old connect syntax
  * declare state property in AccountState
  * ActivityListModel now keeps track of the account connection state
  * add more metadata to sync errors to allow filtering
  * filter out some errors if they are related to network troubles
  * remove wrong code

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Update the documentation with information on how 'Edit locally' works.

  [ Matthieu Gallien ]
  * prevent crash by resetting common pointer after deleting gobject menu
  * backup private key early
  * e2ee init rework
  * solve memory mismanagement of object life time
  * finish local save of keys and upload them to server
  * improvement to be able to retry the e2ee init steps
  * try to resend the public key if it is not on server but on local storage
  * can now generate the CSR again if the first try to upload failed
  * fix upload of private key when initializing the end-to-end encryption
  * if keys are not on server, also delete local keys
  * make sure e2ee init is either fully done or not at all
  * ensure e2ee can be disabled from client
  * tidy code
  * make sure we clean only what is needed if e2ee is disabled
  * make sure to pass shared pointer by const ref when possible
  * improve logs of e2ee such that errors are easy to see
  * fix review comments

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Remove seen Talk notificatios from Tray window.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix bulk upload of empty files
  * do not use a mirror for KDE's Craft binary cache
  * add link in readme to nextcloud-releases correct page with binaries

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * always propagate locked status to read-only or read/write for real file
  * enable debug log for some automated tests
  * fix failing tests by using FileSystem::setFileReadOnlyWeak
  * set read only/read file on the newly downloaded file

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Joas Schilling ]
  * chore(CI): Sign .drone.yml file

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Added new state and new job to check if /index.php/204 is being redirected.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Fix crash in _finalList removal loop. Fix incorrect implementation of seen chat notifications removal. Improved notifications fetch code to avoid multiple calls from different threads.

  [ Matthieu Gallien ]
  * try to force use of python 3.8 for windows as required by craft

  [ tomdereub ]
  * windows reserved word silently excluded - csync exclude.cpp
  * Adapt test to silent exclusion
  * Adapt test 2

  [ Claudio Cambra ]
  * Add sharingAvailable property to FileDetails class
  * Set sharingAvailable property in FileDetails from Folder account capabilities
  * Do not display sharing entry if sharing is not available on server
  * Do not handle setting page to sharing page if sharing not available
  * Fix background of tabbar in file details page
  * Make swipeIndex properties readonly
  * Compress share page tab button width and height when sharing API is disabled
  * Swap folder nullness assert for return

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Dries Mys ]
  * Set VFS PinState to Excluded for ignored files.
  * Remove warning when querying pin state on non-placeholder file
  * Small coding improvements
  * Create placeholder while dehydrating if needed

  [ Claudio Cambra ]
  * Rename "moreMenu" ColumnLayout to "scrollContentsColumn" in ShareView, stop treating like menu which it used to be
  * Make sure to imperatively set text for spinbox textfield after user breaks binding by editing
  * Ensure the text for the expire date spin box is updated even in situations when the expire date is forced back down to the same one being currently held
  * Add ability for NCInputTextField to display red border when invalid input provided
  * Track invalid input in ShareDetailsPage expireDateSpinBoxTextField
  * Generate better passwords for shares
  * Simplify password generation in sharemodel
  * Guarantee that the generated password for share will have all the types of characters needed to pass server check
  * Replace use of std::rand with improved C++11 random
  * Use std::array to store hash bytes
  * Simplify loop to write bytes to password
  * Simplify findSvgFilePath, define result value on definition
  * Extract custom color svg image finding into separate function
  * Remove empty statement, standalone semicolon
  * Replace custom moveToTrash solution with Qt QFile::moveToTrash
  * Add checkbox to general settings to enabling file removal meaning moving files to trash, rather than immediate deletion

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix build of sharemodel.cpp on MSVC

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Use std::unique_ptr in sparkle updater class rather than manual management
  * Name sparkle updater delegate more reasonably
  * Replace private class with an interfacing class to bridge Obj-C delegate class and owner CPP class
  * Add q pointer to SparkleInterface
  * Add ability for sparkle updater to notify UI when state has changed
  * Properly display status string for changes in updater
  * Also record sparkle updater state
  * Implement proper notifying of sparkle updater state changes
  * Only enable check for update button when the sparkle updater is not working
  * Fix qbytearray related clazy warnings in objective-c++ sparkle updater side
  * Only instantiate sparkle updater if autoupdating is available
  * Properly handle skipping auto update checks in the sparkle updater
  * Fix localisation of updater status strings
  * Clean up declaration in SparkleUpdater header
  * Convert directly from QUrl to NSURL

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ István Váradi ]
  * Remove Ubuntu Kinetic, add Mantic

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Clean up FinderSyncExt processInBuffer
  * Fix parsing of in buffer lines in FinderSyncExt
  * Add quotes to processed line in FinderSyncExt to easily demarcate received line start and end
  * Use modern dot notation to access _inBuffer properties
  * Define FinderSync internal data members as private interface extension
  * Correctly initialise internal data members for FinderSync
  * Do not GENERATE_INFOPLIST_FILE for FinderSyncExt
  * Fix BUILD_FILE_PROVIDER_MODULE check in application.cpp
  * Fix optional compile of File Provider module
  * Allocate new unsigned char buffer for processed line in heap, fixing crash
  * Use more informative NSAssert rather than assert for _registeredDirectories
  * Operate directly on NSMutableData for incoming socket data, do not work with raw buffers
  * Constify object pointers in systray.mm
  * Use const auto for C++ variables in systray.mm
  * Modernise property accessing in systray.mm
  * Fix spacing and indentation in systray.mm
  * Use QSharedPointer<T>::create for talk reply in systray.mm
  * Move activity list syncfileitemstatus errors to the top of the list
  * Move activity list SyncResult errors to the top of the list
  * Place all sorts of sync file item status errors near the top
  * Move FakeRemoteActivityStorate to new activitylistmodeltestutils
  * Move TestingALM to activitylistmodeltestutils
  * Replace unnecessary folder include in ActivityData with SyncResult
  * Move activitylistmodel testing QNAM override to dedicated convenience method in ActivityTestUtils
  * Move creation of example activities from testactivitylistmodel to activitylistmodeltestutils
  * Add SortedActivityListModel test
  * Verify sorted model is showing the rows in source activity model
  * Add test to check that the sortedactivitylistmodel correctly gets updated when the sourcemodel does
  * Make TestingALM a friend class of ActivityListModel
  * Expose insert dummy activity method in TestingALM
  * Fix fetch handling in TestingALM
  * Clean up declarations in activitylistmodel header, remove unused methods
  * Add convenience method in TestingALM to fetch more than maximum activities to be displayed in activitylistmodel
  * Expose max activities in TestingALM
  * Expose max activity data from activity list model in TestingALM
  * Test sorted activity list model sort order
  * Fix setting of sourcemodel in sorted activity list test
  * Fix testing of sync result error activities in sorted activity list test
  * Use nodiscard in TestingALM

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * force MSI package to install all files

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Dries Mys ]
  * Convert VFS file to placeholder again if needed
  * Alter testUnexpectedNonPlaceholder to better reflect the actual use case
  * Small coding improvements

  [ alex-z ]
  * Check server's 204 endpoint every minute and restore connection immidiately after successful status code.
  * Iteration.
  * Fix review comments.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Const autofy variables in ProcessDirectoryJob::processFileAnalyzeRemoteInfo
  * Clean up declaration of DiscoveryPhase::checkSelectiveSyncNewFolder by using const auto, renaming single letter variables, more
  * Move active folder size limit check to independent convenience method
  * Extract processServerNew into a proper method instead of large lambda
  * Add DiscoveryPhase::checkSelectiveSyncExistingFolder
  * Check selective sync state directories that have been updated and now have differing size
  * Use single convenience method to handle trailing slash in paths for Folder
  * Add slot for existing folders becoming big in Folder
  * Create and connect specific signal for existing folder now being discovered to be big
  * Make checkFolderSizeLimit more task agnostic
  * Properly check folder size on server
  * Add a checkbox in UI to obey folder size limit for existing folders
  * Add config settings for notifying existing folders going over limit
  * Hook up existing folder notification size checkbox in general settings
  * Do not notify if setting is not enabled for folders going over limit
  * Ensure notify big folders checkbox state is changed when parent checkbox changes
  * Do not notify about folders growing beyond threshold by default
  * Clean up AccountSettings::refreshSelectiveSyncStatus
  * Move findPathInList from discoveryphase to common syncjournaldb
  * Add specific message for existing folders exceeding warning limit in accountsettings
  * Remove redundant "optional" gui log functions which relly just call gui log under the hood
  * Add methods to Folder so that other classes can easily add folder paths to white/blacklists
  * Add convenience methods to folderman so that classes can add and remove paths from folders without needing to know which folder the path belongs to
  * Handle WHITELIST_FOLDER and BLACKLIST_FOLDER verbs in activitylistmodel
  * Add method to get user pointer in UserModel by AccountState pointer
  * Add method to add notification activity in activity list in User
  * Ensure whitelist/blacklist procedure removes activity
  * Create more than one converted activity link, therby respecting maxactionbuttons
  * Do not create dismiss links for notifications as these are not used anyway
  * Add activity for existing folder going over set limit
  * Ensure newly whitelisted or blacklisted paths are removed from undecided list
  * Prevent double notification of folder now big in activities
  * Prevent possible accountsettings crash by sorting blacklist before checking
  * Ensure folder whitelist and blacklist helper methods remove path from other lists
  * Default to adding existing now big folders to whitelist when undecided
  * Const autofy variables in ProcessDirectoryJob::processFile
  * Constify SyncJournalDb::findPathInSelectiveSyncList
  * Remove use of old foreach in SyncJournalDb::setSelectiveSyncList
  * Use simpler sort methods for white and black lists in discoveryphase
  * Fix trailing slash procedure in DiscoveryPhase::checkSelectiveSyncNewFolder Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
  * Move trailingSlashPath convenience function into Utility class
  * Replace all manual isntancesof adding trailing slash with use of utility method
  * Report size for directories in syncenginetestutils propfind response
  * Add test for correct reporting of existing folder overcoming size limit
  * Add config option to stop synchronising existing folders when they grow beyond size
  * Add UI element in general settings to stop syncing existing folders that have now overcome limit
  * Stop current sync when existing folder becomes big and we have enabled disabling sync of folders that become big
  * Do not always re-notify user on existing folder now big if this folder already black or white listed
  * Do not clear the whitelist on sync success
  * Ensure generated activity buttons are within count set by maxActionButtons
  * Fix generation of context menu activity links
  * Fix breakages in testactivitylistmodel caused by recent activitylistmodel changes
  * Declare whitelist and blacklist activity verbs as static constexprs in activitydata, refer to this in usage
  * Extract notifying of existing folder now big to separate static method
  * Extract folder now big activity generation into separate method
  * Deduplicate whitelistFolderPath and blacklistFolderPath
  * Add additional logging for folder size check

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Unify else and if in SyncEngine::slotItemDiscovered for filesystem setmodtime check
  * Return bool from FileSystem::setFileReadOnlyWeak depending on whether permission change was actually made or not
  * Only change modification time if any modifications were actually made on downsynced file
  * Only attempt conversion to placeholder on new file if VFS enabled in SyncEngine::slotItemDiscovered
  * Ensure file modification time is set if item modtime differs from journal modtime
  * Add find method to DiskFileModifier class in SyncEngineTestUtils
  * Add test for unmodified local files not getting mtimes changed upon upload to server
  * Set modificationHappened to also depend on file size change

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix share permission values
  * Add role for resharing allowed in share model
  * Add checkbox in share details page for resharing allowed setting
  * Make busy indicator for share permissions cover all share permission check/radio boxes
  * Add resharing allowed property to ShareModel
  * Hide 'Allow resharing' checkbox when resharing not allowed by server
  * More distinctly name server allowing resharing property

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * test that discovery of file names with UTF-8 is working
  * on windows file names can always be encoded: fix wrong test

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * add an automated test to check that locked files are read-only
  * update read-only status of virtual files when needed for lock state

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Hide password field in share settings when share type does not support passwords
  * Move createRandomPassword to public static Q_INVOKABLE method of ShareModel
  * Suggest a password when password is enforced on server

  [ Matthieu Gallien ]
  * update main CI image to get newer Qt, Java and other dependencies

  [ Joas Schilling ]
  * Sign .drone.yml

  [ Claudio Cambra ]
  * Make accent colour of NCTabButton in file details follow user accent colour
  * Colour coloured elements in share view with user accent colour
  * Also accent ncBlue buttons in ShareDetailsPage with user accent color
  * Fix warning dialog box message when trying to encrypt folders that have not been successfully synced (i.e. error/problem)
  * Add warning prior to folder encryption to prevent unknowing users from creating unrecoverable encrypted folders

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * only flush debug log files when closing them

  [ Claudio Cambra ]
  * Store server color in private member of account when capabilities fetched
  * Only update private colors if received capabilities colors are valid
  * Remember server colors across restarts, enabling correct color before capabilities fetched
  * Use QColorConstants for white instead of manually creating QColor
  * Do not include theme header in account header

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Ignore the USE_OUR_OWN_SQLITE3 flag.

  [ Claudio Cambra ]
  * Const autofy startChunkUpload in propagatuploadng
  * Refactor startChunkUpload, move upload finalisation to separate method
  * Clean up declaration of propagateuploadng
  * Split getting chunk upload folder from chunkUrl as this was previously misleading and unclear
  * Fix http error code uint warning
  * Conform to chunk sizing restrictions introduced in Chunking V2
  * Start numbering chunks from 1 per chunking v2 api
  * Sent destination header per chunking v2 api
  * Assert that chunk num passed to chunkUrl is at least 1
  * Ensure chunkUploadFolder components are QStrings
  * Fix chunk numbering in chunking tests
  * Clarify use of ProgressInfo _chunk
  * Enforce Chunk V2 API chunk size limits at the sync options level
  * Add test for Chunk V2 restrictions in testchunkingng
  * Use [[nodiscard]] for new syncoptions and propagateupload functions
  * Ensure default min and max chunk sizes are multiplied as long longs
  * Replace comments about relevancy of chunk to propagat v1 with variable name change

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Bump client and client-appimage image versions.

  [ tobiasKaminsky ]
  * update signature

  [ alex-z ]
  * Update Word files VFS placeholders each time they get opened by tracking the 'lock' files

  [ Camila ]
  * Migrate http_user to webflow_user and dav_user.
  * Migrate all folders from a legacy config.
  * Migrate selective sync db list.
  * Migrate legacy user defined exclude file.
  * Remove the files under 3rdparty/sqlite3.

  [ Claudio Cambra ]
  * Modernise FolderWatcher::changeDetected
  * Split off lock file pat pattern matching into separate function
  * Define private lock file patterns as const std::array
  * Do not search for matching file pattern in possiblyAddUnlockedFilePath
  * Notify when new lock files are found in folderwatcher
  * Emit lock file target file paths in lock file discovery from folder watcher
  * Lock files when relevant lock files found by folder watcher
  * Fix declaration of lockfilepatterns

  [ Matthieu Gallien ]
  * prepare 3.10-rc1 release

  [ alex-z ]
  * Ignore upload error items and schedule a new sync in case there are removed items that need to be downsynced.
  * Fix a crash when saving the locked Word document file due to unnecessary spam to the lock state change from folder watcher logic.

  [ Matthieu Gallien ]
  * prepare for release 3.10.0 RC2

  [ alex-z ]
  * Remove locketimeout condition.

  [ Patrick Cernko ]
  * fixed detection of server version in cmd client similar to gui client:

  [ Corentin Noël ]
  * Add compatibility with the new libcloudproviders integration

  [ Claudio Cambra ]
  * Fix macOS notification talk replies by avoiding early dealloc

  [ alex-z ]
  * Store the new etag into local database when opening with auto-locking/manual locking the file locally.

  [ Claudio Cambra ]
  * Fix visual bug with folder size confirmation combo box in general settings

  [ alex-z ]
  * Display correct conflict part in multiple conflicts resolution dialog.

  [ Claudio Cambra ]
  * Eliminate wrapper SpinBox for expire date field
  * Extract date field into a separate file
  * Stop reducing date numbers
  * Add starter datefieldbackend class
  * Add dateTime property to datefieldbackend
  * Add datetime msecs property to datefieldbackend
  * Add strig based representation and setting for date in datefieldbackend
  * Add minimum date properties to datefieldbackend
  * Add maximum date properties to datefieldbackend
  * Add validDateTime property to datefieldbackend
  * Register DateFieldBackend in QML engine
  * Vastly simplify NCInputDateField by using the DateFieldBackend
  * Use NCInputDateField in ShareDetailsPage
  * Customise locale default date format to ensure we eliminate issues parsing two-digit year strings
  * Give each property unique signals, fixing QML bugs
  * Do not use QDateTime, use only QDate for datefieldbackend
  * Add date field input method hint
  * Ensure leading zero dates are also correctly parsed
  * Ensure qdatetimes are UTC in datefieldbackend
  * Add date field backend test file
  * Add simple test for basic. default date properties of DateFieldBackend
  * Add test for date field backend boundaries
  * Check that signals were correctly emitted in testDateBoundaries
  * Add a test for the various ways of setting a date on datefieldbackend
  * Do not present NCInputDateField backend as public property
  * More stringently check for min and max date validity in date field backend
  * Use a standardised locale to create log file filenames, fixing issues with certain locales

  [ Camila ]
  * Migrates all legacy accounts.
  * Migrate all legacy folders for each legacy account.

  [ Matthieu Gallien ]
  * once we call done on a sync file item, return is needed

  [ alex-z ]
  * Do not attempt to convert .lnk files to placeholder. Also do not modify folders' metadata.
  * Remove unused function 'revertPlaceholder'.
  * Tests for placeholder file metadata update.

  [ Matthieu Gallien ]
  * do not check every 5 seconds files with infinite timeout (= 0)
  * prepare for 3.10.0-rc3
  * prepare 3.10.0 final release

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:24:57 +0000

nextcloud-desktop (3.9.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * development of 3.9 release is starting
  * compilation fixes for windows

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * sort encrypted files by their id to compute checksum
  * try different permutation to try to recover the broken checksum
  * fix compilation

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ alex-z ]
  * Fix unit tests SecureFileDrop

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ alex-z ]
  * Do not display error status and messages when aborting a sync during hydration request in VFS mode.

  [ Valdnet ]
  * i18n: Add dot
  * i18n: Separate words
  * i18n: Separate words

  [ Matthieu Gallien ]
  * in case server has no private key, let e2ee init fail

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ alex-z ]
  * Edit locally. Restart current folder sync immediately after file opened.

  [ Matthieu Gallien ]
  * fix compilation with clazy and fully-qualified-moc-types checks enabled

  [ Claudio Cambra ]
  * Enter next log file if the current log file is larger than 512 KB when writing log line

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Camila ]
  * Alway add the item at the end of the layout.

  [ Matthieu Gallien ]
  * properly preserve the format of e2ee metadata during DB operations
  * use a better name for encryption status attributes
  * allow to read v1.2 from buggy v3.8.0 client

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Parse sharees 'lookup' key to include federated sharees.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Edit locally. Elide loading dialog filename label middle.

  [ Claudio Cambra ]
  * Ensure we are closing current log file before entering next log file
  * Ensure we are making all file modifications under mutex protection

  [ Matthieu Gallien ]
  * protext all access to _logstream with the existing mutex
  * protect all access to shared data by mutexes

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Remove unnecessary signalling response to start edit locally, just start it within the job
  * Provide error when erasing the blacklist error for an item fails during edit locally
  * Ensure errors are emitted and loading dialog destroyed when fatal errors are met during edit locally
  * Remove unneeded setupFinished signal from EditLocallyJob

  [ mayonezo ]
  * Update nextcloudcmd.rst

  [ xavi-b ]
  * Fix MacOS UTF-8 normalization issue

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Unlock Office files when they are closed.

  [ Matthieu Gallien ]
  * disable by default the use of clang-tidy

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Implement missing share settings

  [ Matthieu Gallien ]
  * no longer override the pixman default version

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Edit locally. Fix crash on _chekTokenJob pointer deref.
  * Remove some SQL debug logs to unclutter the output.

  [ Elsie Hupp ]
  * Annotated version of Big Sur icon

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * E2EE. Fix freeze on metadata checksum validation.

  [ Claudio Cambra ]
  * Fix channel string check in general settings' slotUpdateChannelChanged
  * Handle conversion from input QComboBox index to update channel string more safely
  * Guard against setting bad channels in config
  * Prevent returning a bad update channel from config
  * Remove unused parameter in GeneralSettings slotUpdateChannelChanged
  * Replace validUpdateChannel anonymous namespace function with validUpdateChannels QSet
  * Const auto-fy in FolderStatusDelegate::paint
  * Make FolderStatusDelegate::paint less horrible to read
  * Use backup QCommonStyle to draw progress bar on macOS to avoid bug in QMacStyle
  * Use palatable Fusion backup style to correctly draw progress bar in folder settings instead of QCommonStyle
  * Constify elements for progress bar rect calculation in FolderStatusDelegate::paint
  * Fix setting [undefined] to QFont in 'Sync now' button
  * Attempt sign in when an account state is added in AccountManager
  * Make folder migration in FolderMan::setupFolders() less unreadable, constify
  * Use const auto, rename unreadable variable names in FolderMan::setupFoldersMigration
  * Modernise code in FolderMan::backwardMigrationSettingsKeys
  * Modernise FolderMan::setupFoldersHelper, get rid of more single-letter variables
  * Clean up pointer declaration and use in FolderMan::unescapeAlias
  * Restore a specific enum from AccountsManager::restore rather than vague boolean
  * Remove unused private static members of ConfigFile
  * Add static discoveredLegacyConfigPath member to configfile
  * Make variables in folderman::setupfoldermigration actually match what they are holding
  * Set discovered legacy config file path during account migration
  * Use canonical file paths rather than problematic relative config file paths during folder migration in FolderMan
  * Correctly migrate accounts that have possible webflow but not correct authtype in settings

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ alex-z ]
  * Group folder visibility improvements. Show dropdown in tray window.

  [ Camila San ]
  * Use addLayout to insert the VFS option when setting account.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Camila ]
  * Update CHANGELOG.

  [ Valdnet ]
  * i18n: Word separation

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Add file provider init code
  * Ensure file provider domains appear in finder sidebar
  * Add a file provider domain per account
  * Set connection status for file provider domains
  * Fix faulty quoting in shell integration CMakeLists
  * Move file provider components to macOS folder
  * Fix build with BUILD_TESTING activated
  * Ensure file provider class is correctly deallocated and cleanup routines are run
  * Move file provider domain management to specific class
  * Implement basic local socket server to communicate with file provider extension
  * Rename FileProviderSocketController to FileProviderSocketManager, as it manages the sockets
  * Add basic FileProviderSocketController class to control the socket
  * Make fileprovidersocketmanager keep track of connected sockets
  * Make the socket manager just manage the server, leave the socket controller in charge of controlling the socket
  * Rename OwnCloudFinderSync Xcode projext to NextcloudIntegration
  * Clean up LocalSocketClient code in shell extension
  * Modify FinderSyncExt to move components into shared Framework that can be used in FileProviderExt
  * Added working socket connection between desktop client local socket server and app extension socket client
  * Handle readyRead signal from socket in FileProviderSocketController
  * Add sendMessage to fileprovidersocketcontroller
  * Initialise file provider socket controller by requesting file provder domain data over socket from FileProviderExtension
  * Clean up public API of LocalSocketClient
  * Add sendMessage method to LocalSocketClient public API
  * Add ability for FileProvider app extension to reply to file provider domain identifier request
  * Move FinderSync-specific GET_STRINGS initial call out of LocalSocketClient and into FinderSync
  * Add FileProviderDomainNextcloudAccountData that grabs account info from keychain
  * Add ability for fileprovidersocketcontroller to send keychain account identifier over socket
  * Grab account keychain entry identifier data from socket in FileProviderExt
  * macosx: Add NextcloudKit and Realm dependencies
  * Add URLSession to FileProviderExtension
  * Make localSocketClient of FileProviderExtension a lazy var
  * Make ncAccount in FileProviderExtension an optional, make state of FileProviderDomainAccountData immediately on init
  * Add NextcloudFilesDatabaseTables for FileProvider files database
  * Add basic NextcloudFilesDatabaseManager for FileProvider files
  * Add getFileMetadataFromOcId method to NextcloudFilesDatabaseManager
  * Add getFileMetadataFromFileProviderItemIdentifier method to NextcloudFilesDatabaseManager
  * Add database table for directory from iOS NC
  * Refactor NextclouDFilesDatabaseManager methods slightly for consision
  * Add directoryMetadataForFile method to NextcloudFilesDatabaseManager
  * Complete FileProviderEnumerator init, get correct serverUrl for enumerator item identifier
  * Use server dav files URL in enumerator
  * Add NextcloudFileProviderFilesUtils for file-related utility funcs
  * Use pathForAppGroupContainer func in FileProviderExtension
  * Add pathForFileProviderExtData convenience method to NextcloudFileProviderFilesUtils
  * Use pathForFileProviderExtData in NextcloudFilesDatabaseManager
  * Added convenience functions to create paths for NC files (and create directories and placeholder files if inexistent)
  * Add convenience createFileOrDirectoryLocally func to NextcloudFileProviderFilesUtils
  * Add convenience parentItemIdentifierFromMetadata convenience function to NextcloudFileProviderFilesUtils
  * Add transfer status enum to NextcloudFileMetadataTable
  * Add isFileSynced helper func to FileProviderFilesUtils
  * Rename NextcloudFileMetadataTable to NextcloudItemMetadataTable to more accurately match functionality
  * Add NextcloudLocalFileMetadataTable derived from iOS app
  * Add localFileMetadataFromOcId method to NextcloudFilesDatabaseManager
  * Fill out FileProviderItem
  * Add completeObserver method to FileProviderEnumerator
  * Add ncKitAccount property to NextcloudAccount
  * Add directoryMetadata method to NextcloudFilesDatabaseManager
  * Add itemMetadatas method to NextcloudFilesDatabaseManager
  * Add clarifying comments to NextcloudFilesDatabaseTables
  * Add NKFile to NextcloudItemMetadataTable converter methods to NextcloudFilesDatabaseManager
  * Add itemMetadatas method to NextcloudFilesDatabaseManager with status as parameter
  * Add convenience isInSameRemoteState method for NextcloudItemMetadataTable
  * Add updateItemMetadatas method to NextcloudFilesDatabaseManager
  * Split off deletion process of updateItemMetadatas of NextcloudFilesDatabaseManager to private method
  * Split off update and creation process of updateItemMetadatas of NextcloudFilesDatabaseManager to private method
  * Add updateDirectoryMetadatasFromItemMetadatas to NextcloudFilesDatabaseManager
  * Refactor updateDirectoryMetadatas in the database manager
  * Add parent directory server url data to directory table
  * Add comparison helper to NextcloudDirectoryMetadataTable
  * Make sure to create copies of Realm objects to prevent issues with live-fire objects
  * Add method to get directory tables from database in manager
  * Make record updating methods safer by checking for existing metadatas internally
  * Use more modern Realm @Persisted
  * Use NSLog instead of print in FileProvider
  * Complete basic barebones enumeration
  * Complete item method of FileProviderExtension
  * Send account details over socket and simplify NextcloudAccount members, turn all to Strings
  * Correctly register object schemas in Realm database
  * Fix path handling for file provider database setup
  * Use safer separator for account details socket message
  * Added missing network entitlement to FileProviderExt
  * Improve FileProvider logging
  * Keep track of requested enumerators when account is being configured, notify them as changed once account is set up
  * Improve logging in FileProviderEnumerator
  * Set up NextcloudKit account in FileProviderExtension
  * Fix the webDavUrl for NextcloudAccount
  * Fix NextcloudItemMetadataTable status query type
  * Fix try/catch indentation in NextcloudFileDatabaseManager
  * Fix URL path composition for utility methods in NextcloudFileProviderFilesUtils
  * Improve and fix enumerator signalling after initial account setup in FileProviderExtension
  * Switch to develop branch of NextcloudKit
  * Add ability for FileProviderDomainManager to wipe domains
  * Don't unnecessarily fail to provide parentItemIdentifier in NextcloudFileProviderFilesUtils when we can get the root container straight from the item metadata in question
  * Add convenience method to check if any file metadatas have been stored for account in NextcloudFilesDatabaseManager
  * Only reimport entire file provider domain if there have been no recorded files when ncAccount is configured
  * Don't unnecessarily fail to get serverUrl for enumerated item in FileProviderEnumerator when this can be acquired straight from the itemMetadata
  * Fix scanning of child directories in FileProviderEnumerator
  * Remove setting connection status from fileproviderdomainmanager, this will be handled by the domain
  * Properly handle errors when trying to read server url in FileProviderEnumerator
  * Fix Realm crashes when trying to delete certain objects
  * Switch to NCKit work/unsharedify-nckit branch
  * Stop using NextcloudKit.shared and NKCommon.shared, use specific NextcloudKit instance instead to prevent clashing between different FileProvider domains
  * Add convenience properties to NextcloudItemMetadataTable
  * Add convenience method to update item metadata status
  * Add convenience method to add item metadata status
  * Add convenience method to add local file metadata from item metadata to database
  * Add working file content fetching
  * Add convenience method to add directory metadata to database
  * Unprivate direcotryMetadataFromItemMetadata in database manager
  * Don't unnecessarily fetch item metadata when fetching contents
  * Add ability for extension to create items correctly on the server
  * Extension can now upload modifications to items on the server
  * Add methods to delete metadata types in NextcloudFilesDatabaseManager
  * Add methods to rename directory metadata and propagate modifications to all children in NextcloudFilesDatabaseManager
  * Properly handle renaming folders in FileProviderExtension modifyItem
  * Add convenience method to rename file item metadatas in database
  * Handle renaming of both files and folders correctly in FileProviderExtension
  * Only try upload of modified item in FileProviderExtension if that had its contents changed and we have a valid content url
  * Properly handle several modify item fields at once in FileProviderExtension
  * Support reparenting file provider items correctly
  * Correctly fulfill delete item requests on server
  * Clarify current use of sync anchor in FileProviderEnumerator
  * Handle version item requests in fetchContents of FileProviderExtension per the documentation
  * Prevent creation of symbolic link items in FileProviderExtension
  * Add a Progress extension with convenience methods for copying progress data from one progress object to another
  * Properly report progress for download and upload operations in FileProviderExtension
  * Add convenience method to get all local file metadatas for an account in NextcloudFilesDatabaseManager
  * Add convenience method to get local file metadatas for an account in NextcloudItemMetadataTable form in NextcloudFilesDatabaseManager
  * Enumerate materialised items when system requests working set
  * Keep track of additional details about enumerating item in the FileProviderEnumerator
  * Properly handle readFileOrFolder of file vs folder
  * Report deletedItemMetadatas in processItemMetadatasToDelete in NextcloudFilesDatabaseManager
  * Report new item metadatas and updated item metadatas in processItemMetadatasToUpdate in NextcloudFilesDatabaseManager
  * Also report all new, updated, and deleted metadatas from updateItemMetadatas in NextcloudFilesDatabaseManager
  * Properly delete directory and all children when updating folder metadatas in database manager
  * Refactor readFileOrFolder to be more adaptible to enumerating items or changes
  * Fix accidental purge of all metadatas caused by trying to call updateDirectoryMetadatasFromItemMetadatas when reading the root container
  * Fix the serverUrl used to fetch database item metadatas on enumerateItems
  * Rename completeObserver to completeEnumerationObserver
  * Enumerate changes for normal serverUrls in FileProviderEnumerator
  * Delete new updated items that are now E2EE
  * Refactor change enumeration completion into separate static function
  * Enumerate changed in the working set
  * Improve handling of nil values in CompleteChangesObserver
  * Use ocIds for item metadata deletion in NextcloudFilesDatabaseManager
  * Use ocIds for directory metadata deletion, prevent deletion if no such directory found in NextcloudFilesDatabaseManager
  * Handle 404 errors from readFileOrFolder as special deletion case in FileProviderEnumerator
  * Better handle initial set up of the file provider extension
  * Add method to get all directory metadatas in database manager
  * Add method to get all item metadatas in database manager
  * Rewrite working set handling to make it match the server remote, per Apple recommendation
  * Enumerate all known folders as workingSet enumeration
  * Properly report pagination for working set enumeration
  * Ensure we don't saturate the server with propfind requests
  * Add convenience method to get child directories from database manager
  * Create sortedDirectoryMetadatas convenience method in database manager
  * Ensure metadata handled in FileProviderItem is copy, preventing crashing due to accessing live table from different thread
  * Fix return of updated and deleted metadatas in database manager
  * Fix crash on thread clash with Realm when enumerating changes
  * Further improve/cleanup/simplify file provider extension init
  * Fix erroneous deletion of metadata when updating serverUrl subject directory
  * Fix root cause of threading issues with metadata updates
  * Replace full depth scanning of changes on every enumerate changes request with smarter recursive algorithm
  * Remove workarounds no longer needed for Realm thread crashing
  * Use default constructor for private FileProviderDomainManager implementation class
  * Use std::unique_ptr for private implementation class of FileProviderDomainManager
  * Stop wiping file provider domains on desktop client close/open
  * Add method to private FileProviderDomainManager to signal enumerator
  * Scan for existing file provider domains on FileProviderDomainManager init
  * Ensure no metadatas get deleted when updating metadata for scanned directory in FileProviderEnumerator
  * Use consistent account ID type in fileproviderdomainmanager
  * Use push notifications to notify file provider of changes
  * Be efficient in working set enumeration by only enumerating for new items or changes folders that have been explored already
  * Use const auto in FileProviderDomainManager
  * Fix compatibility with latest NextloudKit version TypeClassFile in NKCommon
  * Sprinkle constness over C++ and Obj-C pointers
  * Don't compare un-persisted properties of NextcloudItemMetadataTable in isInSameRemoteState, fixing constant updating of metadatas
  * Improve reliability of modifyItem in FileProviderExtension
  * Fix variable related warnings in FileProvider
  * Modernise Obj-C property notation in fileproviderdomainmanager
  * Ensure FileProvider gets set up after accountmanager has set up accounts
  * Ensure file provider domain pointers are correctly retained and released in fileproviderdomainmanager
  * Ensure we wait for check for existing file provider domains to finish before rushing into creation of new domains in FileProviderDomainManager
  * Prevent removal of FileProvider domains on app shutdown
  * Use specific functions for creating/converting domain identifiers and account Ids, prevent mismatches
  * Use asserts to check validity of pointers in private impl of fileproviderdomainmanager
  * Disconnect the file provider domains when Nextcloud client is closed
  * Make file provider domain disconnection reason string translatable
  * Do not send account details to File Provider extension through socket controller if account not ready
  * Unauthenticate the file provider extension when account is logged out
  * Allow specifying disconnection of file provider domain message
  * Disconnect and reconnect file provider domains depending on account state
  * Move file provider database files into own folder
  * Move parentItemIdentifierMetadata helper method to the database manager
  * Remove isFileSynced function which does not work as intended
  * Rename misleading FileProviderFilesUtils to LocalFilesUtils
  * Split up the huge NextcloudFilesDatabaseTables file into separate files for each table schema
  * Added FileProviderMaterialisedEnumerationObserver to handle clean up operations after materialisation changes
  * Add completion handler to materialised observer
  * Respond to materializedItemsDidChange in FileProviderExtension
  * Implement better error handling in enumerator changes
  * Add NKError extension to make conversion to FileProviderError easier
  * Use NKError extension method in FileProviderEnumerator enumerate methods
  * Make NKError extension conversion more legible
  * Add no changes error code in NKError extension
  * Properly handle stopping when finding matching etags in readServerUrl of FileProviderEnumerator
  * Improve handling of no changes return in readFileOrFolder throughout FileProviderEnumerator
  * Use NKError extension properties instead of magic numbers in FileProviderEnumerator
  * Fix general error handling in FileProviderEnumerator
  * Provide file provider errors in FileProviderExtension methods
  * Ensure registered domains are added and removed at appropriate times in fileproviderdomainmanager
  * Ensure that wipeAllFileProviderDomains doesn't break on macOS 11
  * Add readdFileProviderDomain convenience method to fileproviderdomainmanager
  * Handle situations where we might not get a manager for our desired domain in fileproviderdomainmanager
  * Add completion handler to readdFileProviderDomain method in fileproviderdomainmanager
  * Submit tasks to do after readding file provider domain as completion blocks
  * Signal enumerator after reconnecting file provider domain
  * Add some additional converters for domain and account identifiers in FileProviderDomainManager
  * Add convenience method to retrieve registered domain ids in private FileProviderDomainManager class
  * Use new convenience method to check if push notifications ready for account in FileProviderDomainManager
  * Run poll timer for enumerator signalling to notify accounts without push notifications in FileProviderDomainManager
  * Properly write item metadata status update to database in NextcloudFilesDatabaseManager
  * Add helper itemMetadataLogString static func for logging in NextcloudFilesDatabaseManager
  * Do not delete "no longer existing files" when doing enumeration of items in FileProviderEnumerator
  * Add directoryMetadataLogString convenience method for logging in NextcloudFilesDatabaseManager
  * Properly respond to errors in working set enumerateItems in FileProviderEnumerator
  * Improve error handling in fetchContents if path is not available FileProviderExtension
  * Remove unnecessary full reimport after initial account configuration in FileProviderExtension
  * Add a logger extensions to use system unified logging in File Provider components
  * Improve logging in files database manager with use of Logger
  * Use enumeration category and logger for FileProviderEnumerator
  * Replace NSLog in FileProviderExtension with use of Logger
  * Use Logger materialisedFileHandling for logging in FileProviderMaterialisedEnumerationObserver
  * Also use logger in FileProviderSocketLineProcessor
  * Finish replacing NSLog with use of Logger in LocalFilesUtils
  * Ensure errors are always publicly displayed in unified logging of File Provider
  * Make privacy level of interpolated strings in FileProviderEnumerator logging more granular
  * Handle different interpolated string types differently in FileProviderExtension logging
  * Do not hide interpolated log strings in FileProviderSocketLineProcessor
  * Properly handle logging interpolation in NextcloudFilesDatabaseManager
  * Use completion handler to retrieve updated metadata after status change, fixing race condition in FileProviderDatabaseManager
  * Ensure existing metadatas being uploaded are set to uploading status in FileProviderExtension
  * Ensure upload errors for modified files are recorded in FileProviderExtension
  * Set deployment target for FileProviderExt to macOS 11.0
  * Add method to detect if File Provider functionality is available or not
  * Do not initialise file provider components if system does not support file provider
  * Do not try to compile code in FileProviderDomainManager requiring FileProvider components on macOS > 11.0
  * Add availability guards around private implementation class of FileProviderDomainManager
  * Make it possible to disable building file provider module
  * Ensure item upload/download states are properly set and reset in FileProviderExtension
  * Warn when retrieved size of file upload is different to the expected size in FileProviderExtension
  * Do not copy pause, cancel, and resuming handlers in Progress extension copyCurrentStateToProgress by default
  * Removed unused tracking of outstanding session and ocID related tasks
  * Add ability to set handlers from AlamoFire request on Progress extension
  * Properly set cancellation, pausing, and resuming handlers on FileProviderExtension task progress
  * Remove unnecessary local file operations in FileProviderExt
  * Simplify temp local file creation while fetching contents, use File Provider volume
  * Log errors in fetching local temporary file provider path
  * Fix blocking main thread when enumerating working set items in FileProviderEnumerator
  * Ensure we are editing realm database on main thread in FileProviderEnumerator
  * Make enumeration of working set changes non-blocking in FileProviderEnumerator
  * Improve initialisation of C++ FileProvider class
  * Clean up FileProviderSocketServer header, remove unnecessary ifdefs
  * Clean up header for FileProviderSocketController
  * Do not emit socketDestroyed twice in FileProviderSocketController
  * Add informative messages after Q_ASSERTs for sockets in FileProviderSocketController for release mode
  * Move accountStateFromFileProviderDomainIdentifier to FileProviderDomainManager where we have methods to guarantee conversion
  * Make CMake BUILD_FILE_PROVIDER_MODULE option only available on Apple
  * Rewrite modifyItem to make it non-blocking on the main thread in FileProviderExtension
  * Ensure we are logging error description itself and not NKError wrapper or any Error type
  * Do not use QSharedPointer to store FileProviderSocketControllers, use QPointer

  [ Ivan Sein ]
  * Use Nextcloud team id.
  * Disable automatically manage signing in FileProviderExt target.
  * Set CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO in FileProviderExt.
  * Only set CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO in FileProviderExt for release configuration.

  [ Claudio Cambra ]
  * Fix FileProviderExt bundle identifier
  * Ensure xcodebuild uses the Info.plist file verbatim
  * Ensure we are not marking items as both updated and deleted in FileProviderEnumerator
  * Change fullRecursiveScan function to enable more than just look for changes, also do proper full scan
  * Prevent premature running of completion handler when modifying folder in FileProviderExtension
  * Remove redundant directory metadata tables in File Provider
  * Do not update etags for child folders acquired in a depth 1 readServerUrl in FileProviderEnumerator
  * Fix renaming directories remotely fixing local sync state in file provider
  * Favour straight return in updateItemMetadatas rather than unnecessary completionHandler in NextcloudFilesDatabaseManager
  * Properly report deleted metadatas in recursive directory delete in FileProviderEnumerator
  * Move remote sync stuff in FileProviderEnumerator to own file
  * Properly report and handle critical errors during recursive enumeration in FileProviderEnumerator
  * Move deleted/updated conflict check to fullRecursiveScan in FileProviderEnumerator+RemoteSync
  * Fix recursive scan when scanChangesOnly is false in FileProviderEnumerator
  * Handle invalidation of enumerator during long recursive scans in FileProviderEnumerator
  * Simplify enumerateItems of working set by using fullRecursiveScan in FileProviderEnumerator
  * Split metadata parsing to complete enumerator into own function
  * Move conversion from NSData to NSFileProviderPage to separate func
  * Progressively enumerate items as we get them for working set
  * Move remote sync functionality out of enumerator and into separate NextcloudSyncEngine class
  * Ensure we do not set etag if we have set updateDirectoryEtags to false in NextcloudFilesDatabaseManager updateItemMetadatas
  * Do not do specific enumeration of items working set in FileProviderEnumerator
  * Fix recursive directory metadata renaming order
  * Fix unsetting of etags on directories (and only) directories on update
  * Make sure to notify when folder moved in FileProviderExtension
  * Make sure to include new metadatas in folders to scan for changes in recursive scan of NextcloudSyncEngine
  * Remove redundant double read of serverUrl when often we always want to do a depth 1 read in NextcloudSyncEngine
  * Fix children serverurl rename in file provider nc files database
  * Perform slow metadata to FileProviderItem conversion concurrently in FileProviderEnumerator
  * Simplify initial item enumeration, no need to fetch from database in FileProviderEnumerator
  * Reintegrate sync engine into FileProviderEnumerator class
  * Prevent multi-thread modification of the same array with serial array modification dispatch queue when enumerating items in FileProviderEnumerator
  * Move NKFile to metadata conversion methods to a new extension for NextcloudItemMetadataTable, where they are better placed
  * Fix recursive metadata delete in NextcloudFilesDatabaseManager
  * Properly handle metadata delete after item deletion in FileProviderExtension
  * Parallelise conversion of NKFiles to NextcloudItemMetadataTables
  * Ensure we return deleted metadata directory copy rather than live fire realm object in recursive delete of NextcloudFilesDatabaseManager
  * Fix unused/unmodified variable definition warnings in FileProviderEnumerator
  * Use specific signalEnumerator method in FileProviderExtension item renaming instead of reinventing wheel
  * Remove readdFileProviderDomain hack in FileProviderDomainManager
  * Make NKError extension code more Swift-like, clean up
  * Split client interfacing code into FileProviderExtension extension
  * Set interpolated log strings in FileProvider logs to public
  * Rename FileProviderDomainManager::Private to FileProviderDomainManager::MacImplementation
  * Use consistent if defined in application.cpp
  * Properly report modification date for FileProviderItem
  * Fix query of childDirectoriesForDirectory in NextcloudFilesDatabaseManager
  * Add convenience method for NextcloudFilesDatabaseManager to get child items of a directory
  * Correctly report child item count for folders in FileProviderItem
  * Split directory item metadata handling in database to new NextcloudFilesDatabaseManager extension
  * Split local file related metadata management into own extension in NextcloudFilesDatabaseManager
  * Add convenience method to get thumbnailUrl in NextcloudItemMetadataTable
  * Add support for thumbnails in FileProviderExtension
  * Add config entry for file provider module enabling
  * Do not initialise file provider module if not enabled in config
  * Build macOS shell extensions with debug configuration in xcodebuild when CMAKE build type set to debug
  * Do not exclude file provider config entries from compile on non-macOS platforms

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Clean up putmultifilejob class definition
  * Don't bother creating a unique ptr for PutMultiFileJob as we never use the guarded ptr
  * Clean up and const autofy BulkPropagatorJob::scheduleSelfOrChild
  * Remove unnecessary double declaration of namespace in bulkpropagatorjob
  * Improve general readability of bulkpropagatorjob.cpp
  * Don't bother creating a unique ptr for computeChecksum as we never use the guarded ptr
  * Increase logging around emission of putmultifilejobs
  * Do not close putmultifilejob devices if not open, log when they are not open
  * Log if PutMultiFileJob oneDevice has error
  * Modernise BandwidthManager::switchingTimerExpired
  * Fix deadlock when using putmultifilejob with rate limits enabled
  * Modernise BandwidthManager::relativeUploadMeasuringTimerExpired with const auto, readability, etc
  * Modernise and improve readability of BandwidthManager::relativeUploadDelayTimerExpired
  * Bring improvements of new cpp to BandwidthManager::relativeDownloadMeasuringTimerExpired
  * Use modern for loop in BandwidthManager::relativeDownloadDelayTimerExpired
  * Modernise BandwidthManager::absoluteLimitTimerExpired

  [ Camila ]
  * Add a dismiss link for notifications without it.

  [ Claudio Cambra ]
  * Add FileTag QML component
  * Add a FileTagModel
  * Get account and relativeserverpath in constructor for FileTagModel
  * Add capability for FileTagModel to fetch tags
  * Implement FileTagModel QAbstractListModel methods
  * Expose account and serverRelativePath of FileTagModel as QPROPERTYs
  * Add ability to limit maximum amount of tags displayed
  * Instantiate FileTagModel in FileDetails
  * Simplify FileTag component
  * Display filetags in file details window
  * Simplify file tag model updating in filedetails, only require folder pointer
  * Fix layout of tags with differing sizes and oversized tags
  * Modernise PropfindJob with new for and const auto
  * Simplify Propfind XML parsing using QDomDocument instead of complex QXmlStreamReader-based parsing
  * Use constexpr in networkjobs notModifiedStatusCode
  * Do not use magic string for propfind prop element tag name
  * Clean up includes in networkjobs
  * Extract propfind result data processing into separate method
  * Properly parse tags in propfind request
  * Extract propfind tag xml node processing into separate method
  * Implement support for system tags in propfindjob
  * Add support for system tags in filetagmodel
  * Add initial testing setup for file tag model
  * Add FakePropfindReply that accepts raw QByteArray as payload
  * Provide different propfind replies depending on request props in testfiletagmode
  * Add test for tags in filetagmodel
  * Notify change in tags when maxTags set in filetagmodel
  * Add test for maxTags in FileTagModel
  * Test important properties in testfiletagmodel
  * Add overflow tag string property to filetagmodel which stringifies omitted tags
  * Display tooltip showing names of overflowing tags in FileDetailsPage's overflow tag

  [ alex-z ]
  * Allow opening a file or folder in the local sync root.

  [ Claudio Cambra ]
  * Add positive colour to Style.qml
  * Upon copying share link, trigger a change in the button to make copy action completed obvious
  * Reset state of copy share link button after 3 seconds
  * Smoothly animate change of state for copy share link button
  * Replace use of magic numbers for animation durations in copy share link button with constants defined in Style.qml
  * Also customise appearance of copy button in sharedelegate when clicked
  * Animate copy share link button in share delegate
  * Ask before attempting to import legacy accounts
  * Notify result of attempted account import with messagebox
  * Place signals and slots for accountmanager in line with how this is done in other classes
  * Declare void setters and methods in accountmanager as slots
  * Add forceLegacyImport property to accountmanager
  * Don't ask user whether to import legacy account configs if forcing legacy import
  * Add application argument to force import of legacy accounts
  * Rename forcelegacyimport option to clearer forcelegacyconfigimport

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix #include header style
  * basic implementation of a dialog to resolve conflicts as a batch
  * feedback from design review
  * more qml feedback
  * replace "OK" button by "Resolve conflicts" to help users
  * model: first step
  * replace "Sync now" button by "Solve all conflicts" for many conflicts
  * do not show many conflicts dialog for a single conflict
  * tune the pipes to really get a dialog to show for many conflicts
  * plug models into the dialog
  * display icons for files when solving many conflicts
  * prevent close of conflicts dialog on focus lost
  * add some margins at bottom of items in conflicts list view
  * fix automated tests
  * allow the conflicts dialog to close
  * ensure the URL to mimetype icons are correct
  * implement more feedback
  * allow selecting conflict resolutions for many conflicts
  * solve multiple conflicts from choose resolution
  * refactor common parts of conflict delegate into a separate component
  * define constants specific for font sizes in conflict dialog
  * define minimum sizes of conflict dialogs in Style component
  * improve translations for strings with placeholder to display numbers
  * model improvements
  * improve reliability of memeory management when creating conflicts dialog
  * improve automated tests
  * small qml cleanup to make code faster to read
  * improve code in activity list model

  [ Camila ]
  * Update CHANGELOG.

  [ Matthieu Gallien ]
  * add missing copyright notices and upgrade qml module imports
  * fix a few debug logs to use proper categorized logging
  * prevent a 0 size to assert when creating icon from svg
  * remove custom property and use standard sourceModel for our proxy model
  * remove custom property to set a source model in a sort proxy model
  * remove scary warning that is a false alarm
  * repay some desbt in ActivityListModel::data
  * to store subjectRichParameters use a QVariantMap that is qml friendly
  * improve qml binding for more element of OCC::Activity
  * expose some properties of OCC::Activity gadget class
  * provide the full OCC::Activity instance to ActivityItemContent
  * make the API easier to read
  * improve again qml bindings to notifications data
  * use standard and existing property to set icon url in buttons
  * use Fusion qml style
  * to dismiss an activity use a round button with hover enabled
  * make highlight indicator in activity list have rounded corners
  * always enable entries in activity list to have consistent look and feel
  * use a more compact format to display date of activities
  * use a much more compact layout for activities
  * do not color file details 3 dots button
  * just use padding to ensure a good width for "Sync now" button

  [ Camila ]
  * Bump version to 3.8.81

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix colour of icon for tray folders button
  * Fix colour of downward caret in tray folders button

  [ Matthieu Gallien ]
  * align activity text with "Sync now" text

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * ensure that the file to test monitoring is hidden

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Use custombutton for dismiss button, give hover feedback
  * Fix alignment of main subject line with time line in activity
  * Hide second subject line in activity when nothing is visible
  * Use custombutton with filedetails button to make it not look horrible
  * Fix more button icon when in dark mode
  * Make dismiss button slightly larger
  * Move filedetails button to activity top row
  * Fix text lines, don't leave only one line
  * Use standard size instead of unncessary additional value
  * Simplify and fix activity content layout by going back to using RowLayout instead of Item
  * Limit the max height of images inside CustomButton
  * Respect icon.height and width in custom button contents
  * Respect icon.height and width in custom button contents
  * Add darker hover to make hovering on an item within an item with lightHover visible
  * Reduce minimum size of activity
  * Increase size of dismiss button
  * Fix image sizing and positioning in NCButtonContents
  * Fix large number of warnings related to unavailable property
  * Fix dark mode switching issues with main tray window
  * Unify small icon sizes in file details components
  * Fix checkbox palettes in share details
  * Fix outline for progress bar in fusion
  * Fix dark mode in ResolveConflictsDialog
  * Fix contentwidth of dialogbuttonbox in ShareDetailsPage
  * Define all QML windows as ApplicationWindows, define palettes here
  * Always use palette colours for colouring UI elements
  * Remove unnecessary background components
  * Fix caret colour in basic combo box
  * Fix highlight in activity list
  * Declare hoverEnabled: true explicitly in CustomButton

  [ Camila ]
  * Bump version for 3.9.0-rc2 release.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Fix macOS build when file provider module build is disabled
  * Added BUILD_FILE_PROVIDER_MODULE to config.h.in
  * Remove redundant definition addition for BUILD_FILE_PROVIDER_MODULE
  * Fix faulty dark/light mode switching in UnifiedSearchInputContainer
  * Fix switching from dark/light mode for checkboxes in file details window
  * Use Style constants for UnifiedSearchInputContainer measurements

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * fix build on windows by adding missing archive name properties on libs

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Claudio Cambra ]
  * Revert "Annotated version of Big Sur icon"

  [ Matthieu Gallien ]
  * by default disable debug log level
  * rotate log files every 3 MBs
  * do not log twice in debug mode

  [ Claudio Cambra ]
  * Revert "Merge pull request #5742 from nextcloud/backport/5707/stable-3.9"
  * Revert "Merge pull request #5527 from nextcloud/feature/file-provider-try-2"

  [ alex-z ]
  * Bugfix. Conflict resolution button not clickable.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * display subject when we have sync issues like network errors
  * declare ErrorCategory enum class and declare its metatype
  * add more metadata to sync errors to allow filtering
  * use a better user message for network errors
  * disable one definition rule sanitizer check
  * sonarcloud action will run on ubuntu:22.04
  * prepare 3.9.0-rc3

  [ alex-z ]
  * Fix UnifiedSearch text field placeholder text color for light and dark theme.

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * addd a cmake option to enable single account desktop client

  [ Claudio Cambra ]
  * Fix colouring of NCRadioButton

  [ John Molakvoæ ]
  * chore: update workflows from templates

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * rotate the logs less often (around every 3 MB of compressed logs)
  * fully hide some logs from release builds
  * downgrade some log lines to be less verbose
  * by default hide most discovery log traces
  * avoid info level for new entries in ActivityListModel
  * enable "Processing" log lines again but with some removed data
  * less info logs during discovery
  * rotate logs based on the lines count instead of teh file size
  * prepare 3.9.0-rc4

  [ Nextcloud bot ]
  * Fix(l10n): Update translations from Transifex

  [ Matthieu Gallien ]
  * prepare for 3.9.0 release

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:23:50 +0000

nextcloud-desktop (3.8.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * prepare 3.8.0 release

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Valdnet ]
  * l10n: Correct word

  [ Claudio Cambra ]
  * Fix displaying of file details button for local syncfileitem activities

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * fix wrong detectiion of current config file as a config migration
  * use QVersionNumber to compare versions and improve upgrade warning

  [ Camila ]
  * Improve warning message code readability.
  * By default do not display warning about backups made of the config file.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Camila ]
  * Only accept folder setup page if overrideLocalDir is set.
  * Do not exit application when overrideserverurl param is a valid url.
  * Fix: if the config did not exist, overrideserverurl had no effect.
  * Update code style.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * prefer member init
  * initialize many attributes that could have been left without init value
  * prefer initialization of attribute inline
  * initialize all variables
  * init attributes
  * more fixes for attributes without init value
  * move init to default value in class declaration

  [ Claudio Cambra ]
  * Create common validCapabilities used by several ShareModel methods checking account capabilities
  * Make ShareModel's accountState and folder pointers QPointers to guard against crashes

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Camila ]
  * Add CHANGELOG for 3.6.2 release.
  * Add CHANGELOG for 3.6.3 release.
  * Add CHANGELOG for 3.6.4 release.
  * Add CHANGELOG for 3.6.5 release.
  * Add CHANGELOG for 3.6.6 release.
  * Add CHANGELOG for 3.7.0 release.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ tobiasKaminsky ]
  * check German translation for wrong wording

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Claudio Cambra ]
  * Fix indentation in logger constructor
  * Log to stdout when in debug mode

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Claudio Cambra ]
  * Make sure to manually call folderwatcher when creating new folder from settings menu in macOS
  * Do not search for folder twice
  * Notify when folder is created with full folder path in FolderCreationDialog
  * Respond to folder creation at specific creation path on macOS
  * Don't early return in sensitive data deletion for clientsideencryption if the entries were never stored in keychain
  * Make sure to return in checkAllSensitiveDataDeleted
  * Add sensitiveDataRemaining convenience method to clientsideencryption
  * Avoid trying to delete keychain encryption data if there is no encryption data configured
  * Remove unused AccountState::writeToSettings
  * Remove unused slotDeleteAccount in AccountSettings
  * More accurately log what happens when deleteAppPassword is complete in Account

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ rakekniven ]
  * l10n: Fixed grammar

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Claudio Cambra ]
  * Simplify check for file record sharing permission
  * Try to initialise share manager again if we receive updated sharing permissions that would have previously prevented sharing

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * fix edit locally job not finding the user account: wrong user id

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * skip e2e encrypted files with empty filename in metadata

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ rakekniven ]
  * l10n: Added dot to end of sentence

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * sets clang-tidy configuration in cmake to get automatic checking
  * modernize use auto
  * do not use static_cast to downcast: can generate runtime issues
  * manually fix some variables without init values
  * fix issues reported by compiling windows code with clang-tidy
  * use of QStringLiteral() is invalid: QString() must be used
  * fix ignored return values in windows specific code

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ alex-z ]
  * Always discover blacklisted folders locally, to avoid data loss of non-uploaded files when modifying selectivesync list.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * use new connect syntax
  * with cfapi when dehydrating files add missing flag

  [ Claudio Cambra ]
  * Set placeholder image always as account action icon, as at app start there will not be a valid avatar to use ever
  * Fetch account avatar info on account action construction, fixing avatar only showing up when action is clicked
  * Fix text labels in Sync Status component

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Claudio Cambra ]
  * Don't block loading if public link shares are disabled
  * Don't display the placeholder link share of public link shares are not available
  * Move sharesChanged signal emission to handlePlaceholderLinkShare rather than repeating each time this method is called

  [ alex-z ]
  * Implement Secure filedrop link share. Move data from 'filedrop' to 'files' when syncing E2EE folders.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ alex-z ]
  * Display 'Search globally' as the last sharees list element

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Axel Lender ]
  * Resize WebView widget once the loginpage rendered

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * add assert to prevent upload of virtual files
  * add a new automated test for virtual files and data restoration
  * add test for windows CfApi
  * prevent restoration of files that are not plain old files

  [ Camila ]
  * Fix display of 2FA notification.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ alkl58 ]
  * Show server name in tray main window Signed-off-by: Alkl58 <alkl58@protonmail.com>

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * add an extension when translating desktop file

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * no longer substitute de_DE to de locale when fetching from transifex

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Camila ]
  * Add changelog for 3.7.1.
  * Add changelog for 3.7.4.

  [ István Váradi ]
  * Add Ubuntu Lunar
  * Debian build classification 'beta' cannot override 'release'.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ alex-z ]
  * E2EE cut extra zeroes from derypted byte array.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * follow shouldNotify flag to hide notifications when needed
  * store in config file that we want to enable vfs when generating config
  * tidy up code in Theme class
  * fix the logic generating the config file

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * when local sync folder is overriden, respect this choice
  * fix indentation style

  [ alex-z ]
  * Migrate E2EE from v1 to v1.1

  [ Matthieu Gallien ]
  * check checksum when getting e2ee metadata
  * when uploading new e2e metadata, adds a checksum
  * when migrating older metadata, do not check missing checksum
  * put sane order over #include
  * display some logs when checksum verification is failed
  * use a getter to query encryption status
  * checksum has to be computer from the encrypted metadataKey
  * optimize the computation of checksum for metadata
  * when uplaoding e2ee metadata add an empty filedrop entry
  * improve logging when receiving metadata for encrypted folder
  * prevent downgrading e2ee metadata format after initial migration
  * better track encrypted item status
  * prevent syncing with downgraded metadata format
  * compatibility with final file drop implementation
  * prepare 3.8.0 release
  * compilation fixes for windows

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:21:41 +0000

nextcloud-desktop (3.7.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * master is now 3.6.50

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Fix wrong estimated time when doing sync.
  * Set '_abortRequested' properly within the propagator so the error is not displayed in UI.
  * Start sync immediately after modifying the selective sync settings.

  [ allexzander ]
  * Do not display error message in the activity list when aborgint the sync.

  [ Claudio Cambra ]
  * Set UnifiedSearchResultNothingFound visibility less messily
  * Clean up QML registration
  * Simplify activity list delegates by making them ItemDelegates, clean up
  * Improve activity list highlighting/keyboard item selection
  * Fix rebase issue with activity list keyboard navigation PR
  * Replace private API QZipWriter with KArchive

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * makes Qt WebEngine optional only on macOS

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Check folder invalidity reson when deciding to enable or disable the 'Finish' button in a Wizard page.
  * Make sure Folder is deleted from the list and the SyncJournalDB is closed for every folder of the account that has been removed.

  [ Claudio Cambra ]
  * Fix fileactivitylistmodel QML registration

  [ BMerz ]
  * Updated link to documentation
  * Update README.md

  [ Claudio Cambra ]
  * Fix menu bar height calculation on macOS
  * Fix ActivityItem activityHover error
  * Fix add account text clipping, enlarge text

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Accept valid lsColJob reply XML content types

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix low-resolution file changed overlay icons in activities
  * Refactor ActivityListModel population mechanisms
  * Make account setup wizard's adjustWizardSize resize to current page size instead of largest wizard page

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Deallocate call notification dialog objects when closed

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Ensure that the file being processed has had its etag properly sanitised, log etag more

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Check return values for SqlQuery.exec().
  * Set CXX Standard 17.
  * Added 'nodiscard' attribute to some of SyncJournalDb methods.
  * Do not ignore return value of getFileRecordsByFileId.
  * Do not ignore return value of SyncJournalDB in syncengine.
  * Do not ignore return value of SyncJournalDB in socket API.
  * Do not ignore return value of SyncJournalDB in propagator jobs

  [ allexzander ]
  * Fix unit tests.
  * Do not ignore return values for SyncJournalDB calls in propagator jobs and discovery.
  * Do not ignore return values for SyncJournalDB in folder, encryptfolderjob, hydrationjob, and vfs_suffix.
  * Do not ignore return values for SyncJournalDB in accountsettings folderstatusmodel activitylistmodel abstractpropagateremotedeleteyncrypted lockgilejobs and propagator jobs
  * Do not ignore return values for SyncJournalDB in unit tests.
  * Fix deprecation warnings.
  * Fix regression in the PropagateDirectory::slotSubJobsFinished.
  * Remove behavior changes.
  * Revert "Remove behavior changes."

  [ Claudio Cambra ]
  * Do not format text in QML components as HTML

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Fix two factor auth notification: activity item was disabled.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Add a placeholder item for empty activity list

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Ensure strings in main window QML are presented as plain text and not HTML
  * Categorise file name clash sync file issues as separate FileNameClash enum treated as warning
  * Clicking on file name clash activities now opens file in web UI were the clash can be resolved
  * Add a sortedactivitylistmodel that automatically handles sorting of activities
  * Remove sorting code in activitylistmodel as not needed with sortedactivitylistmodel

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Bring back .lnk files on Windows and always treat them as non-virtual files.

  [ Camila ]
  * Fix two factor auth notification: 'Approve' link is a primary action.
  * Fix persistent two factor auth notification.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Ensure placeholder message in emoji picker wraps correctly
  * Make activity action button an actual button, clean up contents

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Improve the error box QML component

  [ Camila ]
  * Remove unused property.
  * Fix 'Reply' action primary property.
  * Update tests to follow 'Reply' change of primary action.

  [ Claudio Cambra ]
  * Fix sync progress bar colours in dark mode

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix predefined status text formatting
  * Don't set up tray context menu on macOS, even if not building app bundle

  [ Nextcloud bot ]
  * [tx-robot] Update transifex configuration

  [ Matthieu Gallien ]
  * alway use constexpr for all text constants
  * use auto
  * check our code with clang-tidy
  * check our code with clang-tidy
  * avoid possibly crashing static_cast
  * switch AppImage CI to latest tag: client-appimage-6
  * configure a list of checks for clang-tidy

  [ Claudio Cambra ]
  * Fix link shares default expire date being enforced as maximum expire date even when maximum date enforcement is disabled on the server

  [ Matthieu Gallien ]
  * apply modernize-use-using via clang-tidy
  * fix [[nodiscard]] single warning
  * add [[nodiscard]] attribute via clang-tidy

  [ Claudio Cambra ]
  * Fix files not unlocking after lock time expired
  * More efficiently schedule sync runs for files that need delayed sync runs
  * Unschedule previously scheduled sync runs for locked files if it is found the sync run is no longer needed
  * Check local file locked and unlocked correctly in testlocaldiscovery
  * Ensure we are checking lock state without affecting sync behaviour

  [ Camila ]
  * Update to docker image to client-5.15-11.
  * Remove clang-tidy from .drone.yml.

  [ Matthieu Gallien ]
  * let's check the format via some github action
  * pick up clang-format conf files from KDE community
  * only test format on changed files and changed lines

  [ allexzander ]
  * VFS Windows: Display the sharing state and lock state in the 'Status' column of Windows Explorer

  [ tobiasKaminsky ]
  * Update after tx migrate

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Improve 'Handle local file editing' feature. Add loading popup. Add force sync before opening a file.'

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Command-line client. Do not trust SSL certificates by default, unlss '--trust' option is set.

  [ alex-z ]
  * Fix error in logic.

  [ Matthieu Gallien ]
  * test that files soon to be expired will be synced automatically
  * add extra tests for lock files to better capture desired behavior
  * ensure we do not loose data when syncing locked files
  * do not ignore return value

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * improve logs when adding sync errors in activity list of main dialog

  [ Claudio Cambra ]
  * Fix invisible user status selector button not being checked when user is in Offline mode

  [ Matthieu Gallien ]
  * remove support for skipping an update: hard to understand for users
  * use correct version copmparison on NSIS updater: fix update from rc
  * fix review comments

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * introduce a very simple network job to do API requests
  * makes JsonApiJob share common code with SimpleApiJob
  * edit locally requires a valid token

  [ Camila ]
  * Fix the dismiss button: display it whenever possible.
  * The dismiss button is now a CustomButton component.
  * Update tests.

  [ alex-z ]
  * Fix account not found when doing local file editing.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Improve user-related strings in webflow credentials
  * Save account's display name in config
  * Display the user's 'pretty' name in the webflow credentials
  * Use prettyName more widely, instead of duplicating fallback string code
  * Change unchanging settings strings into constexpr auto in accountmanager

  [ Camila ]
  * Update CHANGELOG with 3.6.1 changes.

  [ Claudio Cambra ]
  * Fix call notification dialog buttons

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * validate certificate for E2EE against private key
  * address review comments from @allexzander
  * fix review comments from sonarcloud static analyzis
  * remove useless lines: fix review comment
  * fix more issues reported by sonarcloud
  * fix more sonarcloud issues
  * fix review comments from @allexzander
  * emit missing signal to update folder sync status icon

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ NeroBurner ]
  * Update CMake usage in README build instructions

  [ Claudio Cambra ]
  * Clean up methods in sync engine
  * Make Systray's void methods slots
  * Remove unneeded parameter from CleanupPollsJob constructor
  * Create commonly accessible properties for current user colours in Style.qml
  * Add forcefoldersync method to folder manager
  * Add a 'Sync now' button to the sync status header in the tray window

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Constexpr settings constant strings, expand use of const and auto, modernise, in accountsmanager

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix macOS autoupdater settings

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Validate edit locally token before sending to server
  * Make sure to encode the relPath
  * Make sure to check relPath and compare to canonical cleaned path
  * Use addQueryParams for checkTokenForEditLocally SimpleApiJob

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Refactor large editFileLocally FolderMan method into smaller, clearer separate methods
  * Refactor edit locally into its own class, rather than bolting onto FolderMan
  * Verify token before checking disk or modifying state
  * Don't show the user any potenitally questionable remote data
  * Refactor edit locally handler management away from application and into own class
  * Show edit locally loading dialog sooner, improve feedback for user
  * Ensure the checkTokenJob object gets deallocated
  * Rename EditLocallyHandler to EditLocallyJob
  * Expand use of const and auto, improve readability of accountsettings
  * Add braces to all if statements missing them
  * Modernise QString-related construction

  [ Nathan Pratta Teodosio ]
  * Fix compatibility with newer python3-nautilus

  [ Claudio Cambra ]
  * Only show Sync Now button if account is connected

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * use new public API to open an edit locally URL
  * add mising namespace

  [ Claudio Cambra ]
  * Add a file details window/page, QMLify file sharing
  * Improve flat buttons in share delegates
  * Change 'Link share' to 'Share link', matching server
  * Improve share view tab buttons
  * Show password set errors in the popup where passwords are set rather than in the main dialog
  * Use [[nodiscard]] more broadly in methods returning values, and respect it elsewhere
  * Remove Q_REQUIRED_RESULT from method with side-effect where result not always required, and viceversa
  * Refactor generation of dialogs, remove need for QSharedPointer and reduce use of pointers
  * Add early return checks for setter methods
  * Eliminate unneeded parent Item in FileActivityView
  * Remove default cases in switches, rely on compiler warnings for missed cases
  * Add minimum size to file details window
  * Use auto where possible
  * Perform inactive qquickwindow garbage collection when generating new file detail dialogs, raise existing dialog instead of always deleting
  * Replace manual index bound checks with calls to checkIndex
  * Add trailing comma to shareemodel enum
  * Renamed _userStoppedTypingTimer to searchRateLimitingTimer
  * Fix default date parser handling of timezones
  * Check for state of file record retrieval in fileactivitylistmodel
  * Improve server error handling in the ShareModel
  * Filter out sharees that already have active shares
  * Add a suite of tests for ShareModel
  * Add testing for ShareeModel
  * Moved all server mocking code for share model test to independent ShareTestUtils file
  * Add testing for SortedShareModel
  * Update Kirigami WheelHandler to upstream v5.99.0
  * Change liveDialog to nullDialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * E2EE. Do not generate keypair without user request.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Fix incorrect current user index when removing and adding an account.

  [ allexzander ]
  * Fix accounts avatar issue when it becomes completely white due to non-changing account id member with changing account index in the list.

  [ Claudio Cambra ]
  * Remove unused internal link widget from old share dialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Revert "[tx-robot] updated from transifex"

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Use separate variable for cfg file name in CMAKE.

  [ Matthieu Gallien ]
  * remove dead code related to item renaming
  * logs from discovery are now namespaced by nextcloud to show debug logs
  * improve logs of E2EE API to not pollute logs
  * new autotest to ensure that we delete folders despite blacklist errors
  * do not skip folder deletion if BlacklistedError during propagation

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Remove unused app pointer in CocoaInitializer
  * Ensure 'Sync now' button doesn't have its text elided
  * Fix share delegate button icon colors in dark mode

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Do not use copy-assignment of QDialog.

  [ Claudio Cambra ]
  * Remove unused remotePath in User::processCompletedSyncItem
  * Make user status selector modal, show user header

  [ Matthieu Gallien ]
  * properly escape a path when creating a test file during tests
  * do not run tests in parallel as we may get side effects

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ tnixeu ]
  * add #pragma once
  * add guards around string constants and into an anonymous namespace
  * skip unity build for files which fail to compile
  * exclude kmessagewidget.cpp and wheelhandler.cpp from unity build
  * enable unity build for appimage

  [ hefee ]
  * Fix typo of connector

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * fully qualify types in signals and slots

  [ Claudio Cambra ]
  * Remove reference to inexistent property in NCCustomButton
  * Fix ActivityList delegate warnings·
  * Ensure forcing a folder to be synced unpauses syncing on said folder

  [ Matthieu Gallien ]
  * switch back to upstream craft
  * no need to install python that is already installed

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * improve logging of the discovery policy when scanning a folder
  * improve logging of discovery policy decisions when scanning folders
  * test for proper renaming of folder parent of a deep hierarchy
  * fix behavior of folder rename with deep hierarchy inside it
  * tidy code by fixing one clazy reported warning
  * tidy code to fix review comments
  * remove a few warnings reported by sonarcloud to tidy the code
  * fix instances of: c++11 range-loop might detach Qt container warnings
  * tidy some loop related code: avoid one letter variable names

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Implement 'Leave this share' context menu entry. Fix incorrect sharing state for incoming and my shares in custom state icons and local database.

  [ Matthieu Gallien ]
  * check that we update local file mtime on changes from server
  * update mtime on modified metdata of non virtual files
  * set mtime when building local sync folder state in automated tests
  * when renaming a virtual file, manage pin state for the target name
  * fix many errors when querying/setting pin state of virtual files

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Add server service to drone manifest
  * Add an end to end test utils file
  * Add a test to check e2e server test setup
  * Add a file transfer e2e test
  * Always build E2E tests, but only add to test suite if enabled

  [ István Váradi ]
  * Modernize the Dolphin action plugin

  [ Matthieu Gallien ]
  * prevents modifying real user config file
  * fix code format

  [ Marvin Schmidt ]
  * cmake: Use FindPkgConfig's pkg_get_variable instead of custom macro

  [ Claudio Cambra ]
  * Fix tray window margins, stop cutting into window border

  [ Matthieu Gallien ]
  * fix regressions on pinState management when doing renames

  [ Claudio Cambra ]
  * Fix bad custom button alignments, sizings, etc.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * avoid modifying real configuration file: use temp folder
  * fix include style to always use "" for files from the project

  [ Claudio Cambra ]
  * Clearly tell user that E2EE has been enabled for an account
  * Show tick icon when encryption is enabled for account
  * Add info icon when encryption not yet enabled
  * Change the colour of the encryption message box when encryption enabled
  * Use material icons for lock and state-info
  * Fix capitalisation of End-to-end
  * Rename 'Enable encryption' button to 'Setup encryption'

  [ alex-z ]
  * Fix CfApiShellExtensionsIPCTest.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * l10n: Fixed grammar

  [ Claudio Cambra ]
  * Prevent bad encrypting of folder if E2EE has not been correctly set up
  * Remove close/dismiss button from encryption message

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Update macOS shell integration deployment targets

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * case clash should not prevent full propagation
  * fix test and code to not stop on case clash errors
  * a case clash error is a case clash error

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Differentiate between E2EE not being enabled at all vs. E2EE being enabled already through another device in account settings message
  * Address capitalisation of End-to-end
  * Ensure more QML text components are rendering things as plain text

  [ Valdnet ]
  * l10n: Correct spelling

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Introduce EnforcedPlainTextLabel, convert all Label or Text labels to use this
  * Remove now redundant use of textFormat
  * Add QML label check to CI
  * Only perform Label check on QML files

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Edit locally job will only sync a specific file by modifying the state of the Sync Engine. All other running syncs will get terminated. Syncing is now optimized to run faster and it checks if the file has changed on the server before syncing it.
  * Fix CI errors for Edit Locally.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Lock file when editing locally
  * Notify user when file is locked when local editing begins
  * Ensure we are checking lock state once file has been synced after setting lock
  * Ensure we are using folder relative paths for synced folders that are not root to work correctly
  * Ensure we are using up-to-date item ptr instead of potentially un-update file record when checking lock state in fileLockSuccess, separate case with lock already pre-existing
  * Run locking procedure on main thread, open file after file has been locked remotely
  * Make fileLockTimeRemainingMinutes a static method
  * Fix loss of integer precision in parameters for fileLockTimeRemainingMinutes
  * Remove redundant openUrl variable
  * Format some QLabels as plain text

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * do not create GUI from a random thread and show error on real error

  [ Claudio Cambra ]
  * Fix BasicComboBox internal layout, take proper account of insets
  * Explicitly size and align user status selector text input to avoid bugs with alternate QtQuick styles

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * do not use bulk upload for e2ee files

  [ Claudio Cambra ]
  * Only request mnemonic when user explicitly wants to enable E2EE
  * Register askUserForMneominc in property system
  * Add stackview to file details view
  * Convert share details menu into a page pushed onto stackview
  * Improve layout of share details page
  * Match design of expire date spinbox to other text fields
  * Set main file details page as initial item of stack view
  * Make unshare button less prominent, move out of bottom button box
  * Make 'Add another link' button less prominent
  * Add copy share link button to share details page footer, remove unneeded columnlayout in contentitem
  * Use EnforcedPlainTextLabel in new ShareDetailsPage
  * Add Talk message type of notifications to native macOS notifications
  * Differentiate between normal normal and Talk notifications, invoke macOS text reply notifications
  * Remove semicolons from Q_UNUSED macros
  * Show file details within the tray dialog, rather than in a separate dialog
  * Make drawer modal, reduce width
  * Replace drawer 'Done' button at bottom-right with close button at top-right
  * Replace share button with file details button
  * Adapt changes from share details page changes

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Silence sync termination errors when running EditLocallyJob.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Christian Göttsche ]
  * Fix typo

  [ Claudio Cambra ]
  * Add context menu entry to encrypt folders
  * Don't allow encryption if account is not correctly configured for it
  * Move encrypt menu entry declaration to own method
  * Add encryption success message box
  * Make encryption job errors provide descriptive error messages
  * Improve folder encryption dialog info boxes
  * Don't show Encrypt menu entry if server does not support E2EE
  * Check socketlistener is valid before trying to send encryption menu item message
  * Add nix flake for desktop client
  * Add support for macOS to flake
  * Add an internal link share to the share dialog
  * Incorporate internal link share into tests
  * Fix bad remote path in sharetestutils fakefolder, which led to failed FakePropfindReply being provided in tests
  * Remove unneeded property from ShareDetailsPage
  * Fix copy link button
  * Clean up data section for internal link in model
  * Avoid the Get-Task-Allow Entitlement (macOS Notarization)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * sets a fixed version for pixman when buildign desktop client via Craft
  * tell OpenCppCoverage that we run an optimized build

  [ alex-z ]
  * Fix SyncEngineTest failure when localstate is destroyed.

  [ Matthieu Gallien ]
  * use .nextcloudsync.log to perform file monitoring test at start
  * use nextcloud.log suffix for log files of desktop client

  [ Claudio Cambra ]
  * Remove unused headerbanner component

  [ alex-z ]
  * Do not sync encrypted folders if the E2EE mnemonic is not entered. Automatically blacklist them. Remove from blacklist once the E2EE mnemonic is provided.

  [ Matthieu Gallien ]
  * fix migration from old settings configuration files

  [ Claudio Cambra ]
  * Add full list of possible legacy config locations
  * Replace QDesktopServices datalocation with emulated version of it
  * Fix includes in accountmanager.cpp
  * Constify config file QFileInfo, create directly in if statement
  * Make checks for config file more concise, warn when file not readable
  * Use std::make_unique rather than manually build unique_ptr for oCSettings
  * Constify groups variable
  * Fix conflicting definitions in anonymous namespace in Unity build

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Use QFileInfo::exists where we are only creating a QFileInfo to check if file exists, as it is faster
  * Add 'emit' keyword to signal emissions that were missing them
  * Remove use of emit keyword where used for non signals
  * Fix bad signal emissions
  * Remove unused variables in folderstatusdelegate
  * Remove HACK for Windows Vista as this OS is no longer supported
  * Remove unused QStrings from remotewipe
  * Remove unused supportedTransmissionChecksums from bulkpropagatorjob
  * Remove unused targetFile QString in propagateremotemove
  * Declare all QRegularExpressions statically

  [ Valdnet ]
  * l10n: Remove space

  [ alex-z ]
  * Move Windows shell extension DLLs to a root installation directory.

  [ Claudio Cambra ]
  * Improve backup dark mode palette for Windows

  [ alex-z ]
  * Allow setting up an account with apppasword and folder via command-line arguments. For deployment.
  * Fix review comments from Claudio. Refactoring.
  * Fix review comments from Claudio II.
  * Fix review comments from Claudio III.
  * Update file's metadata in the local database when the etag changes while file remains unchanged. Fix subsequent conflict when locking and unlocking.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Claudio Cambra ]
  * Fix interval QPROPERTY missing NOTIFY in slideshow class
  * Fix currentPage QPROPERTY missing NOTIFY in settingsdialog class
  * Fix serverURL QPROPERTYes missing CONSTANT in theme class
  * Replace now deprecated FSEventStreamScheduleWithRunLoop with FSEventStreamSetDispatchQueue

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Claudio Cambra ]
  * Correctly init LineProcessor in macosx shell integration
  * Don't bother doing init procedure on FinderSync in macosx shell integration of invalid self

  [ Florian Schmaus ]
  * Drop dependency on Qt Quick Controls 1

  [ Claudio Cambra ]
  * Fix existing check and completion for relative resource URLs
  * Simplify makeResourceUrl
  * Extract makeResourceUrl lambda into separate static openableUrl method

  [ alex-z ]
  * Allow specifying the server force override URL and local sync folder path via command line.
  * Fix security vulnerability when receiving empty metadataKeys from the server.
  * Fix memory leak.
  * remove unrelated changes
  * remove unrelated changes
  * Always generate random initialization vector when uploading encrypted file.
  * Fix bad string for translation.

  [ Claudio Cambra ]
  * Update Windows shell integration rc copyright strings
  * Update legal notice text
  * More concisely clean paths of trailing slash URLs in restore old config migration method of AccountManager
  * Stop checking config to migrate at current path if could not read file
  * Correctly parse account server url when migration from legacy config
  * Don't try to lock folders when editing locally
  * Fix fetch more unified search result item not being clickable
  * Clean up declarations in ClientSideEncryption
  * Clean up declarations in AccountSettings
  * Properly handle sensitive data deletion in ClientSideEncryption
  * Add ability to remove local encryption keys through settings
  * Delete E2EE files/folders for accounts that have had E2EE disabled
  * Make accountstate fakeable for tests
  * Add test for deleting encrypted files
  * Use e2ee folder blacklist instead of deleting folders directly
  * Only shedule affected paths for remote discovery after disabling e2ee
  * Make sure to add e2ee files to normal blacklist too
  * Only add root-most encrypted folder to the blacklist
  * Clean up sync termination and restart procedure after file blacklisting done
  * Ensure blacklisted e2ee files get deleted

  [ alex-z ]
  * Fix issue of e2ee folders not disappearing when disabling the e2e. Properly process blacklisted e2ee folders instead of ignoring them.

  [ Claudio Cambra ]
  * Split if statement conditions in enqueueDirectoryToDelete into separate lines
  * Don't use foreach in Folder::removeLocalE2eFiles
  * Ensure blacklists get updated when removing folder sync
  * Replace use of deprecated QSet::toList() with QSet::values()
  * Fix folderman delete encrypted files test
  * Make encrypted folder paths to delete non-relative when checking if they are encrypted
  * Ensure mocked database entries are correct in TestFolderMan
  * Remove faulty else statement from TestFolderman that would erroneously cause failure
  * Don't shadow rec variable in removeLocalE2eFiles

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Claudio Cambra ]
  * Remove 'Use monochrome icons' checkbox from settings UI
  * Remove mono icons setting from generalsettings
  * Remove monoIcons-related functionality from theme
  * Remove monoIcons related things from configfile

  [ Matthieu Gallien ]
  * handle case clash conflicts in a similar way to content conflicts

  [ Claudio Cambra ]
  * Display action button for conflict files in activity
  * Clarify letter casing message in case clash conflict dialog
  * Fix case clash dialog sizing issues
  * Display both files and some metadata in the case clash conflict resolution dialog
  * Improve wording in the case clash resolution dialog

  [ Matthieu Gallien ]
  * move some void returning methods to be slots
  * simplify code
  * remove some not needed debug logs
  * simplify code
  * fix wrong code style
  * fix copyright notice of new files
  * use #pragma once instead of include guards
  * use auto

  [ alex-z ]
  * Edit locally. Do not lock if locking is disabled on the server.

  [ Claudio Cambra ]
  * Revert "Merge pull request #5366 from nextcloud/bugfix/remove-mono-icons-setting"

  [ Camila ]
  * Open calendar notifications in the browser.
  * Update tests for ActivityData.
  * Remove obsolete QDesktopServices::storageLocation.
  * Update code style.
  * Look for a previous config file with a different name.
  * Extend config backup method to make a copy of any given config file.
  * Backup all config files in the config folder if there was a version change of the client.
  * Fix rename.
  * Address PR comments.

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ alex-z ]
  * Always unlock E2EE folders, even when network failure or crash.

  [ Matthieu Gallien ]
  * prepare for 3.7.0-rc1 release

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Claudio Cambra ]
  * Fix displaying of file details button for local syncfileitem activities

  [ Nextcloud bot ]
  * Fix(l10n): 🔠 Update translations from Transifex
  * Fix(l10n): 🔠 Update translations from Transifex

  [ Matthieu Gallien ]
  * fix wrong detectiion of current config file as a config migration
  * use QVersionNumber to compare versions and improve upgrade warning

  [ Camila ]
  * Improve warning message code readability.
  * By default do not display warning about backups made of the config file.
  * Only accept folder setup page if overrideLocalDir is set.
  * Do not exit application when overrideserverurl param is a valid url.
  * Fix: if the config did not exist, overrideserverurl had no effect.
  * Update code style.

  [ Matthieu Gallien ]
  * prepare for 3.7.0 release

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:19:50 +0000

nextcloud-desktop (3.6.0) jammy; urgency=medium

  [ Matthieu Gallien ]
  * future 3.6.0 version development begins

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * Updating command-rebase.yml workflow from template

  [ rakekniven ]
  * l10n: Changed triple dot to ellipsis

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Stop dumping cache data in home dir, cache in default cache location
  * Add new and correct sparkle update signature

  [ Philip Allgaier ]
  * Remove "…" from "Create Debug Archive" button

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * l10n: Remove string from translation

  [ Carl Csaposs ]
  * docs: Replace "preceded" with "followed"

  [ Elsie Hupp ]
  * Use full-bleed Start Tile

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * only add OCS-APIREQUEST header for 1st request of webflow v1

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Git'Fellow ]
  * Ask for Desktop Client version

  [ Claudio Cambra ]
  * Make the make_universal.py script more verbose, make it easier to understand what is happening
  * Reimplement notifications for macOS and add support for actionable update notifications

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Do not replace strings in action links coming from the notification api.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Use proper online status for user ('dnd', 'online', 'invisible', etc.) to enable or disable desktop notifications.

  [ Claudio Cambra ]
  * Fix crashing of finder sync extension caused by dispatch_source_cancel of nullptr
  * Fix notifications not being shown when they should be

  [ alex-z ]
  * Bugfix. Take root folder's files size into account when displaying the total size in selective sync dialog.

  [ Claudio Cambra ]
  * Actually reset menu when user accounts are added or removed
  * Fixed several issues with activity items relating to icon colouration and activity item sizing + layout

  [ alex-z ]
  * Allow manual renaming of files and folders with spaces. Allow uploading invalid file name via the InvalidFileName dialog.

  [ Claudio Cambra ]
  * Fixed share link expiration box being ineditable and always reloading invalid date

  [ Matthieu Gallien ]
  * if an exclude file is deleted, skip it and remove it from internal list

  [ Camila ]
  * Do not add a second DELETE to the list of actions in one notification.
  * Convert primary, WEB and DELETE notification links to action buttons.

  [ Claudio Cambra ]
  * Fix label borking and wrong icon colours in the share dialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * i18n: Change three dots to an ellipsis
  * i18n: Add a space

  [ Matthieu Gallien ]
  * add explicit capture for lambda

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Stretch WebView to fit dialog's height.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Explicitly ask user for notification authorisation on launch

  [ alex-z ]
  * Add and use DO_NOT_REBOOT_IN_SILENT=1 parameter for MSI to not reboot automatically when running from the updater.

  [ Claudio Cambra ]
  * Fix possible overflow on lineWritten

  [ Matthieu Gallien ]
  * add new fixup workflow from nextcloud org

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Bump up minimum macOS version

  [ alex-z ]
  * Display chat message inside the OS notification.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Fix 'TypeError: Cannot readproperty 'messageSent' of undefined'.

  [ Claudio Cambra ]
  * Update autoupdater doc with info about the macOS autoupdater

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Reduce spacing above the notification buttons.
  * Add a transparent background to the send reply button.
  * Change color of text field to ncTextColor instead of ncSecondaryTextColor.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * l10n: Fixed grammar

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix builds on macOS versions pre-11

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Ignore Office temp folders on Mac ('.sb-' in folder name).

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Generate state icons from SVG in CMake.
  * Delete .png state icons.
  * Git ignore state icons PNG.

  [ Claudio Cambra ]
  * Do not compile things that require the app bundle when building the client without the app bundle on macOS
  * Prevent call dialogs from being presented when do not disturb is set as the user status

  [ alex-z ]
  * Fail build when Windows tests fail. Use GH Actions to build and run Windows tests. Create coverage and uppload it to codecov.io.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Rephrase button text to be in line with clients on other platforms

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Remove assert, it is no longer useful.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Fix segfault when _transferDataSocket is nullptr.
  * Add contrast to the text/icon of buttons if the server defined color is light.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Ensure call notification stays on top of other windows

  [ Jos Poortvliet ]
  * Update documentation.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Remove tooltip because it is only repeating the label of the link.
  * absolutePath was undefined.
  * Remove unused signal fileActivityButtonClicked.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * set OpenGL software rendering and set similar options for webview

  [ Claudio Cambra ]
  * Redesign local folder information in the account adding wizard
  * Fix crashing when selecting user status
  * Remove Q_ASSERTs for userstatusconnector
  * Share dialog is now resizeable
  * Make client language gender-neutral and more clear

  [ Elsie Hupp ]
  * Add SVG icon styled for macOS Big Sur

  [ Claudio Cambra ]
  * User dialog now looks in line with the rest of the desktop client tray
  * Fix the system tray menu not being correctly replaced in setupContextMenu

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * Updating command-rebase.yml workflow from template
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * i18n: Fix for "end-to-end"
  * i18n: Fix for "end-to-end"
  * i18n: Add dot

  [ Camila ]
  * Talk reply field should now have the same height as the 'Reply' button.
  * Clean up code, move values to Style.qml.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Windows CI. Use forked Craft repository.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ szaimen ]
  * use an en-dash for the userstatus panel

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Close call notifications when the call has been joined by the user, or the call has ended
  * Ensure the dispatch source only gets deallocated after the dispatch_source_cancel is done
  * Increase the call state checking interval to not overload the server

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Work around issues with window positioning on Linux DEs, hardcode tray window to screen center when new account added

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add 'db/local/remote' reference to log string.

  [ Claudio Cambra ]
  * Add a custom back button to the account wizard's advanced setup page
  * Clean up systray methods, make more QML-friendly

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Add a placeholder message for the recents tab of the emoji picker
  * Use macOS-specific application icon
  * Fix bad quote in PNG generation message
  * Only set _FORTIFY_SOURCE when a higher level of this flag has not been set
  * Limit concurrent notifications
  * Properly adapt the userstatusselectormodel, eliminate hacks, make code more declarative
  * Refactor tray window opening code for clarity and efficiency

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Take ints by value rather than reference in UserModel methods
  * Respect skipAutoUpdateCheck in nextcloud.cfg with Sparkle on macOS
  * Use preprocessor directive rather than normal 'if' for UNNotification types
  * QMLify the UserModel, use properties rather than setter methods

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix ActivityItemContent QML paintedWidth errors

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * print sync direction in SyncFileStatusTracker::slotAboutToPropagate
  * improve logs of OwncloudPropagator::localFileNameClash

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Stop clearing notifications when new notifications are received
  * Ensure debug archive contents are readable by any user
  * Update macOS Info.plist
  * Stop styling QML unified search items hierarchically, use global Style constants

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Remove Ubuntu Impish, add Kinetic

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Ensure that throttled notifications still appear in tray activity model

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Make apps menu scrollable when content taller than available vertical space, preventing borking of layout

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Clean up TalkReplyTextField, remove unnecessary parent Item

  [ alex-z ]
  * Implement COM Dll for CfApi shell extensins. Implement Thumbnail Provider.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Do not reboot PC when running an MSI via autoupdate.

  [ Claudio Cambra ]
  * Replace unified search text field busy indicator with custom indicator

  [ alex-z ]
  * Always run MSI with full UI.

  [ Matthieu Gallien ]
  * switch to using the main client CI image based on ubuntu 22.04
  * remove variables set but never read
  * mark unused variable as bein unused to avoid clang warning
  * use latest CI images for general CI and AppImage CI
  * modern OpenSSL may install files in /usr/local/lib64
  * add explicit OpenSSL path when calling cmake to be able to find it

  [ Claudio Cambra ]
  * Clicking on an activity list item for a file opens the local file if available
  * Double-clicking tray icon opens currently-selected user's local folder (if available)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Implement URI handler for local file editing
  * Move CFAPI shell extensions variables to root CMakeLists.

  [ István Váradi ]
  * Add Debian Bullseye build

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Move URI scheme variable from Nextcloud.cmake to root CmakeListst.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * i18n: Spelling unification
  * i18n: Spelling unification
  * i18n: Spelling unification
  * i18n: Spelling unification
  * i18n: Spelling unification

  [ allexzander ]
  * Fix crash: 'Failed to create OpenGL context'.

  [ Claudio Cambra ]
  * Restyle unified search skeleton items animation and simplify their code

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * ensure SyncEngine use an initialized instance of SyncOptions

  [ Claudio Cambra ]
  * Eliminate padding around the menu separator in the account menu
  * Fix bugs with setting 'Away' user status

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix QML warnings

  [ Camila ]
  * Remove libglib-2.0.so.0 and libgobject-2.0.so.0 from Appimage.

  [ George Vlahavas ]
  * Fix greek translation for application name in menu

  [ Camila ]
  * Bump version and year.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Make UserStatusSelector a dismissible page pushed onto the tray window
  * Refactor user line
  * Fix unified seach item placeholder image source

  [ Matthieu Gallien ]
  * use -Wall -Wextra -Wpedantic when compiling with current gcc versions
  * fix warnings reported by Qt

  [ Claudio Cambra ]
  * Fix account switching and hover issues with UserLine component

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Ensure file activity dialog is centered on screen and appears at top of window stack
  * Prevent crashing when trying to create error-ing QML component in systray.cpp, output error to log
  * Fix alignment of predefined status contents regardless of emoji fonts
  * Ensure that clear status message combo box is at least implicit width
  * Prevent the 'Cancel' button of the user status selector getting squashed

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Bump version to 3.5.82

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add CHANGELOG.md.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * build script for AppImage should not assume Nextcloud is the name

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Fix File Activities dialog not showing up.
  * Change Activities dialog show and Systray.forceWindowInit call sequence to fix the issue of Activities dialog not being shown.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * reads and store fileId and remote permissions during bulk upload

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * do not build qt keychain already included in the CI images
  * use the new CI images

  [ István Váradi ]
  * Remove Ubuntu Focal

  [ Camila ]
  * Update CHANGELOG for the 3.6.0 release.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * sets special configuration to webengine to work around bugs
  * let Qt use OpenGLES instead of desktop OpenGL to workaround bugs

  [ James Horsley ]
  * Fix crash in cldapi.dll Fixes #3349

  [ Matthieu Gallien ]
  * fix build of windows virtual files automated tests

  [ Claudio Cambra ]
  * Add a ScrollView to the predefined statuses area of the UserStatusSelector

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * fix script that upload AppImage to go in correct path
  * debug output for upload of AppImage builts for PRs
  * gives enough information to allow upload of AppImage

  [ Claudio Cambra ]
  * Use same tooltip component everywhere
  * Align, resize, and layout everything uniformly in the unified search view

  [ Matthieu Gallien ]
  * prepare for 3.6.0 release

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:18:17 +0000

nextcloud-desktop (3.5.0) jammy; urgency=medium

  [ Camila ]
  * Bump version to 3.4.50.

  [ Matthieu Gallien ]
  * fix random error when updating CfApi metadata

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * l10n: Changed case of word

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Always prefill username from Windows login name based on server version

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * test files that should be renamed in sub-directory
  * do not forget the path when renaming files with invalid names

  [ alex-z ]
  * Use different icon for a sync folder on Windows depending on zoom level.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * assert on invalid modtime
  * prevent invalid modified time from being propagated
  * avoid downloading a file from server when modified time is invalid
  * do not consider that a file has changed if its mtime is invalid
  * prevent injecting invalid modified time through CfApi calls
  * prevent cases where desktop client would store invalid modified time
  * recover from local invalid modifie time: force download from server
  * add log statements for each new assert about invalid modified time

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * remove files which gets downloaded with an invalid modified time

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * do not get stuck forever in sync in case of errors

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * force download from server for local files that have invalid dates

  [ alex-z ]
  * Enforce VFS. Disable 'Make always available locally'.
  * Save folder settings to config when force-switching VFS.

  [ Matthieu Gallien ]
  * ensure bulk upload jobs finished after an error
  * fix review comment

  [ alex-z ]
  * Fix CMake error in ECMAddAppIcon for mac.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Do not crash on findAndCancelDeletedJob.
  * Added sync stop when failed to cancel delete jobs.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * ensure any errors after calling FileSystem::getModTime are handled

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * Remove parenthesis

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Hide share button for deleted and ignored files in tray activity

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Antonio Rojas ]
  * Unbreak loading translations

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Try to sign-in after being signed-out due to SslHandshakeFailedError

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Do not display 'Conflict when uploading some files to a folder
  * Windows. MSI. Unregister Nextcloud folders in SyncRootManager on uninstall.

  [ Claudio Cambra ]
  * Add option of enabling QtQuick compiler
  * Remove AUTORCC
  * Make compiler required when option is on, removed unused def
  * Add QUICK_COMPILER option to drone builds, set quick compiler on by default
  * Fix space

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ nextch ]
  * Check for dbus-1 when building with cloudproviders

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * check modified time sent by upload jobs in automated tests

  [ Camila ]
  * Add screenshots of the latest features.

  [ alex-z ]
  * Ask server to recalculate checksum on validatin failure.
  * Fix typo in usernamePrefillServerVersionMinSupportedMajor.
  * Checksum validator unit tests.
  * Checksum validation PropagateDownload unit tests.
  * Refactor DeleteJob and DeleteApiJob to use SimpleFileJob.

  [ Claudio Cambra ]
  * Add macOS *.textClipping files to ignore list

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Removed server versions as they are mostly outdated.

  [ Dmytro Korchynskyi ]
  * write logs to Output window of Visual Studio

  [ alex-z ]
  * Display error message when creating a link share with compromised password.
  * Fix review comments.
  * Fix review comments.
  * Fix review comments.

  [ Matthieu Gallien ]
  * do not activate quick compiler by default

  [ rakekniven ]
  * l10n: Fixed grammar

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Bugfix. Re-init sharing manager to enable link sharing UI when receiving sharing permissions.

  [ rakekniven ]
  * l10n: Fixed grammar

  [ Camila ]
  * Add scroll area for share links.
  * Remove unused slots.
  * Just trying to make the sahre dialog look nicer.
  * ShareDialog: group links and users in one scrollbar.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Show only filenames in tray activity items, with full path in tooltip

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Use the font size that Qt suggest
  * Remove commented out code
  * Replace Text with Label

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Add ability to copy internal link from share dialog

  [ Matthieu Gallien ]
  * use proper API to dehydrate a placeholder file

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Account menu can now scroll

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Remove Hirsute, add Jammy

  [ Claudio Cambra ]
  * Add testing for ActivityListModel

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Cmake option to disable proxy
  * Always build with updater. Use 'beta/stable' channel seletor in 'General Settins' dialog with default 'stable'.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Adjust icons for activity entries in main dialog. Refactor the dialog by splitting it to separate components.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Pierre Ozoux ]
  * Generates pot files automatically.

  [ Matthieu Gallien ]
  * ensure we emit a rename command for renamed files
  * clean transition when files with spaces exist already
  * simplify sync folder in some automated local discovery tests

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * ensure that bulk upload network job errors are handled
  * add headers in cmake files to get them properly detected

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * l10n: Change to lowercase

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Rollback local move when server move has failed.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Do not remove a folder that has files that were not uploaded yet during propagation.
  * Unit tests for new files restore logic when the parent folder is removed on the server.
  * Fix review comments.
  * Fix review comments from Matthieu. Using curent reverse iterator when searching for parent.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * l10n: Changed spelling

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * No longer assume status bar height, calculate, fixing notch borking
  * Simplify currentScreen

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add 'Help' action back.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Do not remove files from a Group folder and its nested folders whe it is renamed or removed while not allowed.

  [ Matthieu Gallien ]
  * require cmake 3.16

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * properly ask Qt to create qml opengl surface with proper options

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Ensure file activity dialog appears in centre of screen

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Increase max line of text in activity item text to two

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * File activity dialog now works for all file actions activities (e.g. deleted files)
  * Add support for server color theming by using server color as accent color

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ tobiasKaminsky ]
  * old submodule url does not work anylonger see https://github.blog/2021-09-01-improving-git-protocol-security-github/

  [ Claudio Cambra ]
  * Add thumbnails for files in the activity view
  * Implement local socket to communicate with finder extension

  [ Camila ]
  * Add TalkReply class and tests.

  [ Matthieu Gallien ]
  * remove wrong assert that is blocing the run of debug client
  * remove all usage of QDateTime::toTime_t() to avoid overflow
  * let error during update of metadata of virtual files propagate to users
  * prevent updating files when that would result in invalid mtime
  * add new tests dedicated for recovery scenario of wrong mtime on server
  * ensure discovery phase will not try to upload files with invalid mtime

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix warn colour in dark mode

  [ tobiasKaminsky ]
  * old submodule url does not work anylonger see https://github.blog/2021-09-01-improving-git-protocol-security-github/

  [ Claudio Cambra ]
  * Added dark mode

  [ Matthieu Gallien ]
  * prepare for 3.5.0-rc1

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix for VFS crashes
  * Fixes to UI issues

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add a new yml github issue template for bug reports.

  [ Matthieu Gallien ]
  * ensure we only store update channel not localized in settings
  * try to fix path inside appimage packages

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix dark mode stuff relating to unified search, fix macOS auto dark/light theme switching not always working, fix Windows detection of dark/light theme switching

  [ Camila ]
  * Rename data role.
  * Let qml know the message reply was sent.
  * Display input once user clicked on Reply.
  * Fix background color so it switches with light/dark theme.
  * Rename functions.
  * Address PR comments.

  [ Matthieu Gallien ]
  * prepare for 3.5.0-rc2

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Darkmode. Fix crash on exit.
  * Remove redundant  _guiAppInstance

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * ensure we do properly failed hydration jobs

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix broken activity icon and loading entries colour in unified search

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * avoid deleting renamed file with spaces in name

  [ Camila ]
  * Add 'Reply' as activity link instead of changing the 'View chat' link.
  * Windows fix: activityIndex was not being passed to the lambda slot function.
  * Do not hide'View chat' link.
  * Adress design issues.
  * Update ActivityListModel tests.
  * Remove unused function parameter.

  [ Matthieu Gallien ]
  * fix build of appimage for branded clients

  [ alex-z ]
  * prepare for 3.5.0-rc3

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Use header text color to improve contrast with header colours when hovering on themed elements

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Fix thumbnails for new files made while client open

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Removed spacing between activies, labels now centre-aligned

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Realigned and resized thumbnails

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Claudio Cambra ]
  * Add an incoming talk call notification to the desktop client

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * increase time between connection tries
  * improve readability of computation of currentDelay recoonect time
  * obsolete and no longer needed
  * adjust API of retry count to have everything private and simpler

  [ alex-z ]
  * Optimize activities fetch requests. Do not fetch when the Tray is not open. Fetch next subset only when scrolling. Fix duplicate notifications.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * reformat SyncJournalDb::setFileRecord to decrease complexity
  * detect capabilities for lock/unlock of files
  * fetch and store in sync database information abot lock state of files
  * introduce new jobs to handle lock/unlock of files
  * add automated tests for LockFileJob to validate proper behavior
  * allow lock/unlock of files from files explorer integration
  * show errors on lock/unlock actions
  * display lock info in share dialog

  [ Claudio Cambra ]
  * Fix macOS autoupdater
  * Add some logging
  * Add user avatars in talk notifications in activity list

  [ Matthieu Gallien ]
  * prepare 3.5.0-rc4
  * prepare final 3.5.0 release

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:17:31 +0000

nextcloud-desktop (3.4.0) jammy; urgency=medium

  [ Felix Weilbach ]
  * Bump version to 3.3.50
  * Update supported server versions

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * l10n: Replace apostrophe with double quotation

  [ allexzander ]
  * Fix tests.
  * Fix clang-tidy errors.

  [ szaimen ]
  * Set default maxChunkSize to 1000MB

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Changed grammar

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * l10n: Replace apostrophe with double quotation. Remove double space and sort sentence.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Delete apptoken after account removal.
  * Fix incorrect activity message on invalid char in the file name.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * no longer produce installers that would be stored by appveyor

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Ensure that the users id is used for accessing webdav
  * Enforce fetching of user id

  [ Hannah von Reth ]
  * Fix httplogger in unittests with lambdas
  * Allow to add and remove log rules
  * Enable httplogger on unittests
  * Fix testblacklist.cpp
  * Remove unused computation
  * Use QKeychain:: explicitly
  * Also prepend appName if id is empty
  * Finish is already called in the destructor
  * Make findBestChecksum case insensitive
  * Don't shadow
  * Small cleanup
  * Fix clash detection with virtual files
  * Always reset prepared sql statements
  * Add workaround for issue discovered in https://github.com/owncloud/core/pull/38304

  [ Felix Weilbach ]
  * Check result of setPinState()
  * Remove unused functions and variables
  * Don't compare integers with different signs

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Return the login name instead of user id

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * put VFS plugins into the correct path

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ znerol ]
  * Fix macOS app bundle name in packaging scripts

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Don't use variables for CMake target identifiers

  [ Felix Weilbach ]
  * Brand name of vfs plugins
  * Update to Qt 5.15

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Use separate arguments for a remote root and do not use dav or webdav in the server's URL
  * VFS + E2EE VFS implicit hydration of E2EE files.
  * VFS + E2EE placeholder size migration from old versions.
  * VFS + E2EE. Handle scenario of sync journal deleted.
  * VFS + E2EE. Improved data alignment and unit tests for StreamingDecryptor. Refactoring and renaming for readability.

  [ Felix Weilbach ]
  * Color compile ouput when using Ninja build file generator

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Hannah von Reth ]
  * Move Prepared sql queries to seperate class to manage access
  * Align type used for getPHash
  * Include os version 'windows-10.0.19042' in about dialog
  * Cleanup
  * Correctly use indexOf

  [ Klaas Freitag ]
  * Ignore the desktop.ini file in every directory, not only in top dir. (#8299)

  [ Hannah von Reth ]
  * Simplify uuid handling
  * Set permissions for new folder
  * Fix unittests
  * Fix Windows long path issue introduced in dd641fae997d71c8396b77def2fa25ad96fdf47f
  * Add test for csync_vio_local_stat with long path
  * Log invocation, useful for debugging startup issues
  * Add missing Q_EMIT
  * Minor cleanup of socket api
  * Align MkColJob finish signal with the other jobs
  * testlockedfiles use long file path
  * Use byte array for etag
  * Fix another url for etag request
  * Add assert to ensure we used _remotePath as base
  * Ensure unit test are using absolute paths
  * Log fallback result
  * Dump the last 20 lines of logs to a file when we crash
  * Remove dead code
  * Cleanup members
  * Remove anchient debug msg that mutated to a warning over the year
  * Send crash log as comment
  * Always call doLog to ensure we get a crash log
  * Don't create QStringList copy first

  [ Christian Kamm ]
  * owncloudcmd: Use env vars for chunk sizes #7078

  [ Hannah von Reth ]
  * Remove dead code
  * Add socket command to upload a selection of files based on a regex
  * Ensure the socket listener still exists

  [ Matthieu Gallien ]
  * fix clang-tidy check for usage of =default

  [ Nextcloud bot ]
  * Updating command-rebase.yml workflow from template

  [ Matthieu Gallien ]
  * remove broken assert that is not needed and break account setup

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * support server versions for one year after it is end of life

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * l10n: Remove line break

  [ Matthieu Gallien ]
  * fix build socket api Mac specific file is now in a subdirectory

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Update nextcloudcmd documentation.

  [ Matthieu Gallien ]
  * remove a tr call where translator cannot do anything meaningful

  [ Felix Weilbach ]
  * Fix warnings related to wrong ordering of ctor init
  * Add parens around && in || statement
  * Handle every enum value in switch statement

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * fix name of one clang-tidy check
  * let clang-tidy add missing override after enabling again the check
  * switch from Q_DECL_OVERRIDE to plain override

  [ Heinz Wiesinger ]
  * Allow using rsvg-convert to generate pngs instead of inkscape

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Remove copy of GNUInstallDirs
  * Use CMAKE_INSTALL_DATADIR instead of custom DATADIR
  * Remove unneeded include_directories
  * Remove unneeded target_link_libraries

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Only set dav user after login.
  * Implicitly defined onFoo properties in Connections are deprecated
  * Don't create binding loop

  [ Hannah von Reth ]
  * Remove wizard page that has been dead for 4 years

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * macOS client is not able to do auto updates

  [ allexzander ]
  * Enable share to Talk and Email. Display correct icon. Added unit tests.

  [ alex-z ]
  * Enable Xvfb for graphical tests on Linux.

  [ Felix Weilbach ]
  * Remove assert that caues crashes

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Close wizard if done

  [ Matthieu Gallien ]
  * prevent infinte recursion when closing a websocket in case of SSL errors

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * endl has been deprecated
  * Use QRandomGenerator instead of qrand
  * Replace deprecated use of QProcess::start()
  * Use QDateTime::startOfDay()
  * Use QRecursiveMutex
  * Replace deprecated use of QProcess::execute()
  * Fix various deprecated warnings

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Prompt reboot when runing the auto update.

  [ Felix Weilbach ]
  * Add dialog to set user status

  [ Dmytro Korchynskyi ]
  * remove theme.qrc as it will be generated during build

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * l10n: Correct two typo

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dmytro Korchynskyi ]
  * Fixed warnings by using static_cast
  * Fixed warnings in RemotePathChecker on Windows
  * Fixed warnings from ntstatus.h on Windows
  * Fixed warning: extra ';' in Q_ENUM_NS(PinState);

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Remove unnecessary logging statements
  * Emit user status changed after clear user status
  * Accept nc scheme in provider page

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Fix indentation sharelinkwidget.h.
  * Display share note when there is one associated with a share link.

  [ Felix Weilbach ]
  * Add documentation for user status selector dialog
  * Fix warnings
  * Disable Qt deprecation warnings
  * Enable warnings as errors when compiling with Clang and GCC

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Fixed placeholder numbering

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * TextInput by default do not allow selecting text by mouse

  [ Camila ]
  * Add option to create label for share link.
  * Refactor OcsShareJob creation.

  [ alex-z ]
  * General Settings window. Allow opening the update URL via mouse.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * set default format for QSurface to handle NVidia context loss events

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add dialog to resolve invalid filenames

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Fixed grammar
  * Fixed context

  [ alex-z ]
  * Fix incorrect db name for nextcloud command line client.
  * Fix review comments + also check against trailing bakslash.

  [ Camila ]
  * Check server capabilities for file sharing default permissions.
  * Apply server default permissions for federated file sharing too.
  * Extend TestCapabilities with shareDefaultPermissions tests.

  [ Felix Weilbach ]
  * Use C++11 brace style in clang-format
  * Set maximum line length in clang-format
  * Don't log encryption data in release mode
  * Make virtual files feature documentation more understandable

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Mathias Eggert ]
  * add ContextMenuOptIn to COM registration, to allow Placeholder support. Issue #3584

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Guido Falsi ]
  * Add -largp on non linux systems.
  * Check for argp library before depending on it.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Remove Temporary solution for file restoration issue due to failing to set the data-fingerprint.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Use build-appimage.sh from Brander

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add file activity dialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * ensure DLL are generated with branded names
  * use alias target for internal libraries

  [ Kevin Ottens ]
  * Display the right endpoint in the warning in case of error

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Brandon Philips ]
  * sync-exclude: add .Spotlight-V100

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add missing copyright headers

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * fix macOs build after targets name are not changed by branding

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Guido Falsi ]
  * Fix BUILD_TESTING on non Linux unices

  [ Felix Weilbach ]
  * Show sync progress in main dialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Check if current user exists before getting it's account state

  [ Matthieu Gallien ]
  * provide logs of SSL errors including the certificate chain

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Enable Sonarcloud
  * Trim trailing spaces before uploading files
  * Add .sync-exclude.lst to exclude files
  * Set dialog max and min width and height before width and height
  * Remove unnecessary braces

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * i18n: Correct typo and remove apostrophe

  [ Matthieu Gallien ]
  * target names are not changed in branded builds only the output filenames

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Give the user a more descriptive error message when syncing is aborted.

  [ Felix Weilbach ]
  * Only use basic authentication if needed

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Windows. Remove CWD from DLL search paths.

  [ Felix Weilbach ]
  * Sonarcloud: Ignore 3rdparty folder
  * Sonarcloud: Enable caching
  * SonarCloud: Change workflow name
  * Log file name and line number

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * let sonarcloud takes automated tests into account and report coverage

  [ Felix Weilbach ]
  * Also update sync state summary based on connectivity

  [ Thatoo ]
  * To allow auto update of AppImage package

  [ alex-z ]
  * Fix folder creation issues.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Thatoo ]
  * upload-appimage.sh correction

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Changed wording of status message
  * Changed wording to suggestion

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Unified Search via Tray window
  * Fix JsonApiJob incorrect 'statuscode' parsing.

  [ Matthieu Gallien ]
  * our source code files have lower case names

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Changed triple dot to ellipsis
  * Update UnifiedSearchInputContainer.qml

  [ Matthieu Gallien ]
  * no oneliner if: a bug waiting to happen
  * add missing Q_ENUM macro to improve logging
  * add test to check the order of actions when uploading new files
  * schedule files upload after all other jobs have been completed

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Request OCSP validation data from the server during the SSL handshake.
  * Forbid trusting the untrusted certificate.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Skip sync exclude file from list of exclude files if it doesn't exist.
  * Expand ExcludedFiles tests.
  * Refactor ShareLinkWidget show/hide widgets functions.
  * Fix display of deleted note.
  * Refactor toggleButtonAnimation function.

  [ Matthieu Gallien ]
  * by default we produce debug logs because we need them

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * properly extract the file id when querying server

  [ alex-z ]
  * Replace deprecated QRegExp with QRegularExpression.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Implement expiration date for federated shares
  * ShareLinkWidget. Fix incorrect calendar mindate.

  [ Matthieu Gallien ]
  * on switch to VFS real plugin, convert existing files to placeholders
  * improve logs when place holder info cannot be read

  [ Felix Weilbach ]
  * Don't convert exclude file to placeholder file
  * Don't do a connection checks when using push notifications

  [ alex-z ]
  * Clear Unified Search Input Field in a proper way
  * Use SvgRenderer for Unified Search input icons. Refactor IconUtils. Extend unit tests.
  * Fix review comments. Use QImage for QML and QPixmap for rest of code. Do not cache images for QML. Fix tests. Use signal in QML.

  [ rakekniven ]
  * Make argument singular to fix i18n issue

  [ Matthieu Gallien ]
  * add an option to enforce use of virtual files sync folder

  [ Felix Weilbach ]
  * Add profile page
  * IconJob: Send request through the accounts NAS
  * Take branding for vfs plugins into account
  * Add a script to create a universal app package
  * Bump to version 3.4.0-rc1
  * Let the macOS installer know that the application can run on Arm64

  [ Alexander Batischev ]
  * CMake: fail if `Qt5::GuiPrivate` is not found

  [ Matthieu Gallien ]
  * we run on Windows 8.1+

  [ Felix Weilbach ]
  * Check if the server has user status app enabled
  * Compile finder extensions for arm and x86

  [ Carl Schwan ]
  * Fix focus indicator
  * More fixes to the menu implementation

  [ Matthieu Gallien ]
  * avoid adding icon data in a cache we never use

  [ Felix Weilbach ]
  * Correct virtual files placeholder files if needed
  * Refactor key-value store query code

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Use QUrl::fromLocalFile to open local files in Unified Search results.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Added more logs to 'postProcessLocalNew'.

  [ Matthieu Gallien ]
  * properly query sync journal DB to know when to run fix for VFS

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Quick fix! Disable VFS folders removal for non-Windows VFS.

  [ Carl Schwan ]
  * [tray] Makes scrolling with a touchpad in activiy list more natural
  * Add WheelHandler to the Search result list too

  [ Matthieu Gallien ]
  * add a network access factory to qml engine
  * fix button that should be disabled when force VFS

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ alex-z ]
  * Cleanup system bindings from Windows when removing a local sync folder

  [ Felix Weilbach ]
  * Only build app bundle if requested

  [ Matthieu Gallien ]
  * remove too noisy log print
  * fix OCC::CfApiWrapper::handleForPath when path does not exist
  * gracefully handle one case of invalid handles
  * improve logging for CfApi

  [ alex-z ]
  * Pass username from Windows to login page.

  [ Matthieu Gallien ]
  * make AbstractNetworkJob::errorString virtual: it is already overriden
  * read capabilities for bulk upload from server
  * implement bulk upload
  * release 3.4.0 RC2

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * if BulkPropagatorJob abort after an error emit finished signal
  * use a proper constant for the size of batch
  * make sure we do not start a new batch when the previous one is not sent
  * let auto tests of batch upload return proper file paths
  * batch upload: only handle file that are in the reply
  * really check that this is a valid answer when receiving batch upload
  * allow sending parallel batch of files: curretly disabled
  * use the error message sent by the server for bulk upload

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Bump VERSION.cmake to 3.4.0.

  [ Matthieu Gallien ]
  * fix random error when updating CfApi metadata

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:16:42 +0000

nextcloud-desktop (3.3.0) jammy; urgency=medium

  [ allexzander ]
  * Bump version to 3.2.50.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Embed version and icon into windows executable

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Use FindPkgConfig to find libcloudproviders and related libs

  [ Elsie Hupp ]
  * Remove non-functional default CMAKE_BUILD_TYPE

  [ Nicolas Fella ]
  * [dolphin] Clean up CMake code

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Improve Inotify cmake code

  [ allexzander ]
  * Added documentation for VFS and Status Feature.

  [ Valdnet ]
  * l10n: Unify spelling

  [ Nicolas Fella ]
  * [shellintegration] Simplify cmake code
  * Only include libcloudproviders dir when cloudproviders is found

  [ Felix Weilbach ]
  * Refactor push notification test utils
  * Ping websocket server
  * Add notification cache
  * Display invalid filenames as warning

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Temporary solution for file restoration issue due to failing the dataFingerprint on client.
  * Do not schedule reboot when installing MSI in silent mode unless 'SCHEDULE_REBOOT' is set.

  [ castillo92 ]
  * Update sharedialog.cpp

  [ Felix Weilbach ]
  * Add feature summary to CMake

  [ Nicolas Fella ]
  * Use imported target for Threads

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * CMake: Use own SQLite3 on macOS and Windows

  [ allexzander ]
  * Minimum supported Windows 10, build 1709.

  [ Nicolas Fella ]
  * Remove redundant CMake code
  * Copy FindSharedMimeInfo from ECM

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Display VFS sync folder within the navigation panel on Windows.

  [ Felix Weilbach ]
  * Documentation: Correct option to enable virtual files on Linux/macOS

  [ allexzander ]
  * Documentation. Fix incorrect image elements.
  * Documentation. Fix incorrect subheader format.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Jos Poortvliet ]
  * Documentation: E2EE and VFS

  [ allexzander ]
  * Documentation. Fix incorrect syntax warnings and incorrect indentation before image elements.

  [ Felix Weilbach ]
  * Add CMake option to enable address sanitizers

  [ Matthieu Gallien ]
  * Revert "Add CMake option to enable address sanitizers"

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add note to user and group share
  * Add expire date to user and group share
  * Show user/group note on share if already set
  * Don't use unnecessary layout element
  * Don't delete note and expiration date on toggle
  * Show progess indicator

  [ Matthieu Gallien ]
  * avoid an assert by delaying access to response timestamp when in error

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * l10n: Change to an ellipsis

  [ Felix Weilbach ]
  * Add pull request template

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Elsie Hupp ]
  * Use concise display name

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Clemens Sonnleitner ]
  * Updated the description on file manager integration on Linux

  [ Matthieu Gallien ]
  * fix errors when calling CfRegisterSyncRoot by setting more fields
  * add info in the installation page about the supported server versions
  * prevent progress bar to appear after a download is finished with CfApi
  * when files get hydrated indirectly through pinning, sets correct state

  [ Felix Weilbach ]
  * Call finish() if going to remove all files

  [ yopito ]
  * clang's variadic macro warnings: only for clang

  [ Matthieu Gallien ]
  * update the news part of documentation with improvements from 3.2 release
  * update the versions and date used in the doc generation

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Improve public link sharing UI. Fix UX issues.

  [ HouraisanNEET ]
  * Update installing.rst

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add separate GitHub templates for features and issues

  [ Valdnet ]
  * l10n: Delete space and change capital letter

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Obey enforced password for share by email.
  * Fix review comments.
  * Use separate progress indicator for password and replace a button with it while running.
  * Fix review comments.
  * Only show password option for email shares.
  * Final corrections and refactoring.
  * Fix Felix's comments.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * update version of documentation to the latest release (v3.2.1)

  [ Valdnet ]
  * l10n: Change to an ellipsis

  [ rakekniven ]
  * No need to translate ellipsis

  [ Valdnet ]
  * l10n: Translation of ellipse

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add missing copyright headers for push notifications
  * Refactor push notification tests
  * Push Notifications: Reconnect forever if capabilities allow it

  [ Matthieu Gallien ]
  * add missing call to tr to get a translated string

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * increase number of operations per run to go through old issues

  [ Felix Weilbach ]
  * Fallback to primary screen if screen under pointer not found

  [ rakekniven ]
  * Changed copyright year to 2021

  [ allexzander ]
  * VFS. Display local file name clash error when syncing in VFS mode.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * VFS. Allow dehydartion of readonly files. Preserve 'readonly' flag when creating a placeholder.
  * Fix review comments.

  [ Hannah von Reth ]
  * GetLastError() needs to be called when the error happens
  * Fix placeholder detection for cfapi
  * Fix warning by using QByteArrayLiteral
  * Fix warning by using qsizetype instead of size_t
  * Fix int uint warning
  * Use the http logger with the unittests

  [ Matthieu Gallien ]
  * send OS name and version to auto updater to allow selective upgrades

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Git ignore convert.exe and .dir-locals.el

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * run every 8 hours the stale bot to provide faster reaction to changes
  * add a message when bot close a staled issue
  * also update ownCloud years interval in copyright notice

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Temporary! Windows. VFS. Block Virtual Files for partition root sync folders.

  [ Matthieu Gallien ]
  * add a stale bot to help manage needs info issues

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Remove unnecessary cfapi logging statements

  [ Valdnet ]
  * l10n: Replace apostrophe with double quotation
  * One more apostrophe change

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * upgrade SQLite3 to 3.35.5

  [ Felix Weilbach ]
  * Add CMake option to enable address sanitizers

  [ allexzander ]
  * Add remote folder prefix for renaming in a non-root local folder.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dmytro Korchynskyi ]
  * use folders in CMake

  [ Felix Weilbach ]
  * Warn user if using e2ee and vfs together

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add a key value store to the sync journal

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Fix user status message alignment.
  * Move stringToEnum and enumToString to an anonymous namespace.
  * Check if the user is connected and if the server supports user status.
  * Remove unused methods in UserModel.
  * Use DesktopNotificationsAllowedRole to check if user is online.
  * Always display the server url in the drop down account menu.
  * Do not display the user status if there is no pre defined message.
  * Rename isDesktopNotificationsAllowed property to desktopNotificationsAllowed.
  * Check if new value is different from the current one.
  * Fix code style.
  * Fix margins and sizes to align both avatar + user status displays.
  * Do not display the folder status if there are no folders being synced.
  * Rename ServerUserStatusRole to ServerHasUserStatusRole.
  * Add Q_UNREACHABLE() after switch statements in UserStatus.
  * serverUserStatus => serverHasUserStatus.
  * User property isConnected instead of a invokable.
  * Remove signal refreshCurrentUserGui.
  * Display the user status emoji separated from the message.
  * Fix aligment emoji + message on Windows.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * update most docker images to use Qt 5.12.10 in Drone

  [ Felix Weilbach ]
  * Remove obsolete AddAppIconMacro

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * check e2ee public key against private one

  [ Felix Weilbach ]
  * Set button on QMessageBox before changing the text

  [ Matthieu Gallien ]
  * use a specific stale label for needs info handling to solve conflict
  * automate removal of needs info labels when the issue is commented
  * remove use of checkout action as per review comments
  * ensure we do not remove needs info label when stale bot comment

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * fix needs info label remover action by providing github token

  [ allexzander ]
  * Bugfix. Crash when printing OpenSSL decryption errors with no e2ee mnemonic.
  * Fix review comments.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Added unit tests for Utility::isPathWindowsDrivePartitionRoot.

  [ Jani Uusitalo ]
  * Document --background

  [ AJ Jordan ]
  * Improve error message

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Check compiler against CMAKE_CXX_COMPILER_ID

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * really fix the actions to remove needsinfo when someone comment
  * use upper case name for the github token access

  [ allexzander ]
  * VFS freeze fix. Treat .sync-exclude.lst as a non-virtual file always.
  * Fix review comments. Also consider exclude.lst.
  * Fix review comments.
  * Fix review comments.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Allow download with mismatched checksum if a config option is set.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Remove conditional logic for OEM.cmake
  * Generate application png icons from svg icons
  * Mark placeholder in sync after updating the placeholder

  [ allexzander ]
  * Wipe empty folder when moving a VFS placeholder. Keep a folder if there are hydrated items inside.
  * Add error message to GUI.

  [ Felix Weilbach ]
  * Start macOS app bundle name with uppercase letter

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Fix QML warning: Accessible must be attached to an Item.
  * Fix QML warning: Detected anchors on an item that is managed by a layout.
  * Fix QML warning: Cannot specify left, right... anchors for items inside Row.
  * Fix compiling warning: multiple definitions of stateOnlineImageSource in theme.h.
  * Fix QML Warning: ReferenceError: PopupMenu is not defined.
  * Remove extra RowLayout.

  [ Hannah von Reth ]
  * Ensure pathtoUNC is called with an absolute path
  * Use longWinPath in more places
  * Run expansive assert only in dev builds

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Enable clazy in drone
  * Cfapi: Make sure no data is transfered after cancellation
  * Remove unused function declaration

  [ Valdnet ]
  * l10n: Spelling unification
  * l10n: Spelling unification

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Prevent crash in dialog that warns user about vfs and e2ee
  * Fix review comments
  * Fix review comment

  [ István Váradi ]
  * Add building for Ubuntu Impish

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Use the full GPG key ID for signing Debian packages

  [ Felix Weilbach ]
  * Remove dead code
  * Allow to compile without QWebEngine
  * Open provider page in browser when compiling without webengine
  * Disable QtWebEngine automatic if not found

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add unit test for move custom remote root
  * Update system requirements in documentation
  * Update visual tour in documentation
  * Update navigating section in documentation
  * Use Material icons for general and network settings
  * Don't display account name in italic

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Check if first is not empty

  [ Matthieu Gallien ]
  * directly send the icon url for activities to teh qml component
  * use fallback icons for activities without icons

  [ allexzander ]
  * Run legacy uninstall exe in a secure way.
  * Fix VFS crash and false conflict on local new.
  * Refactoring.
  * Do not process non-directories and non-virtual files. Wipe empty online-only folder based on its pinState.
  * Fix review comments.
  * Fix review comments.

  [ Matthieu Gallien ]
  * download server public key and check user certificate against it
  * fix review comments

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * fix all usage of _com_error(cfExecuteresult).ErrorMessage()
  * improve error message in case of trailing space in directory name

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Hannah von Reth ]
  * Improve the error message returned by updateMetadata

  [ Matthieu Gallien ]
  * avoid error when doing hydration when data socket is closed too early
  * address review comments

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * bring back dynamic load of VFS plugins

  [ Felix Weilbach ]
  * Allow installation on Windows version < 1709

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * avoid being stuck trying to create placeholder for existing file

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Remove unnecessary png files

  [ Matthieu Gallien ]
  * only compile xattr virtual files backend for linux platform (not unices)
  * fix review comments

  [ Felix Weilbach ]
  * Show main dialog as normal window if tray icons not available

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Windows. Nextcloud Overlay Identifiers. Set 16 spaces before each identifier's name.

  [ Felix Weilbach ]
  * Position main dialog on at tray icon if not a regular window

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Bump version to 3.3.0-rc1

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Remove unused screenshots
  * Update screenshot in README.md

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Remove request to config for userVisibleURL.

  [ Felix Weilbach ]
  * Use dav instead of webdav

  [ Matthieu Gallien ]
  * fix size of the Label with user status
  * clean indentation in UserLine.qml
  * fix width of user status message to not overlap other elements

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Remove unused pushNotifications variable
  * Remove unnused variable
  * Remove Q_INVOKABLE from signals because it's not needed
  * Call setClosed() on correct Object

  [ Matthieu Gallien ]
  * print the real permissions string instead of its address

  [ allexzander ]
  * Create QMessageBox on heap when the update is ready. Do not return true from OCUpdater to allow for a proper app::quit

  [ Matthieu Gallien ]
  * upgrade appveyor support to MSVC 2019
  * update CraftMaster git repository
  * build the nextcloud client and not something else
  * execute automated tests but do not fail if there are errors
  * only run the pipeline for master branch and pull requests
  * do not block account menu: availability checking can be slow

  [ Camila ]
  * Fix QML warning: Unable to assign [undefined] to QFont.
  * Add custom component ActivityItem.

  [ Felix Weilbach ]
  * Enforce https in flow1 and flow2 for https connections
  * Fix review comments
  * Use QStringLiteral instead of plain strings
  * Use Q_UNUSED instead of commenting out arg names

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Bump version to 3.3.0-rc2

  [ Felix Weilbach ]
  * Make main dialog normal window when displayed as regular window

  [ Valdnet ]
  * l10n: Change to uppercase
  * l10n: Change to uppercase

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ John Molakvoæ ]
  * Create command-rebase.yml
  * Delete rebase.yml

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Revert Added config parameter that allows to bypass checksum validation failure.
  * Fix crash in Folder::isSyncRunning()
  * Invoke 'bool Folder::isSyncRunning() const' from tests.

  [ Matthieu Gallien ]
  * takes ECMCoverageOption from ECM to enable code coverage analysis
  * in wizard always use the correct way to get dav path
  * remove dead code around overriding dav path in URL
  * fix review comments

  [ Felix Weilbach ]
  * Don't constrain size of hover background
  * Update improvements and news in the documentation

  [ István Váradi ]
  * Do not build for Groovy

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * prevent crash in Accont::davPath without credentials
  * fix review comment

  [ Felix Weilbach ]
  * Bump version 3.3.0

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:15:43 +0000

nextcloud-desktop (3.2.0) jammy; urgency=medium

  [ allexzander ]
  * Bump master version to 3.1.5
  * Bump master version to 3.1.5

  [ Camila ]
  * Use the icon color property to color the icons in the tray window header.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Handle the warning message when unchecking folders for syncing.

  [ Kevin Ottens ]
  * Have the new account wizard open again

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * UserModel: check indices are inside the user list
  * Ensure a sync happens after a conflict resolution

  [ Christian Kamm ]
  * On-demand downloading: Placeholder-file based prototype

  [ Olivier Goffart ]
  * PlaceHolders: Trigger a download of the placeholder and open it
  * Placeholders: Move the placeholder option from the account to the folder
  * Placeholders: Add an checkbox in the FolderWizard to enable the placeholder feature
  * Placeholders: install mimetype on linux

  [ Christian Kamm ]
  * Placeholders: Deal with conflicts when a placeholder exists
  * Placeholders: Safe migration to older client versions

  [ Olivier Goffart ]
  * Placeholders: Fixup clicking on placeholder after previous change
  * Placeholder: The extension is now a branding option

  [ Christian Kamm ]
  * Placeholders: Download from shell integration
  * Placeholders: Ignore placeholder files in older clients
  * SyncOptions: Add default placeholder suffix
  * Placeholders: Fix migration issues
  * NSIS: Register placeholder extension
  * Wizards: Add placeholder option and warning to account wizard
  * Wizards: Show placeholder option only if showExperimentalOptions is set
  * Doc: Add showExperimentalOptions to conffile.rst

  [ Olivier Goffart ]
  * Add a test for resuming downloads
  * Download: Use the <s:message> from the reply in the error message if any
  * Download: Remove useless code and add a test

  [ Kevin Ottens ]
  * Get TestDownload to pass

  [ Olivier Goffart ]
  * Logger: Guard zlib usage by ZLIB_FOUND

  [ Christian Kamm ]
  * LocalDiscoveryTracker: Separate from Folder and move to libsync

  [ Olivier Goffart ]
  * Fix test: QTemporaryDir::filePath was added in Qt 5.9

  [ Markus Goetz ]
  * Placeholders: Support for macOS #6290

  [ Christian Kamm ]
  * CMake: Add a default placeholder_suffix

  [ Markus Goetz ]
  * Share Dialog: Disable workaround for macOS too #6185

  [ Matthew Setter ]
  * Correct incorrect reference to OSX Menu bar

  [ Olivier Goffart ]
  * FolderWizard: fix crash when experimental feature are disabled

  [ Christian Kamm ]
  * Placeholders: Save to key that's invisible to <2.5 clients #6504
  * Placeholder: Don't contain "stub"
  * Placeholder: Stop adding ignore pattern
  * Rename "placeholder" feature
  * Wizard: Add a "(recommended)" to the main option #6470

  [ Olivier Goffart ]
  * Blacklist: remember the X-Request-ID
  * SyncRunFileLog: Add the requestid

  [ Christian Kamm ]
  * Rename Placeholders to Virtual Files in code #6531
  * Config: Add version flags to accounts and folders
  * Settings migration: Preserve future settings where possible
  * Virtual files: Only remove virtual file once on download

  [ Olivier Goffart ]
  * Share dialog: use the original name and not the virtual file name
  * Rename SocketApi::FileData::accountRelativePath to serverRelativePath

  [ Christian Kamm ]
  * Virtual files: Wipe virtual after download completes, not before

  [ Olivier Goffart ]
  * Virtual Files: Allow to download a folder recursively from the socket API
  * .desktop file: the MimeType entry must ends with a semi colon
  * PropagateDownload: Don't discard the body of error message
  * csync: refactor csync_s::error_string to avoid valgrind error
  * FolderStatusModel: Fix crash when there is an error while expanding folders
  * FindSql3.cmake: Add the input variable in the search path
  * Wizard + OAuth: Make opening a new browser after clicking back works again
  * nautilus shell integration: Fix when there are several branded client installed

  [ Dominik Schmidt ]
  * Install libocsync to lib/ without subfolder.
  * Rename ocsync library to ${APPLICATION_EXECUTABLE}_csync

  [ Kevin Ottens ]
  * Revert "Merge pull request #1454 from nextcloud/syncjournal-del-prio"

  [ Olivier Goffart ]
  * New discovery algorithm: Initial work.
  * New discovery algorithm
  * New discovery: TestSyncEngine::testEmlLocalChecksum
  * New discovery algo
  * More progress
  * Port the invalid napme regexp
  * Ignore Hidden Files
  * Handle Encoding Problems
  * New discovery algo: Remote move
  * New discovery algorithm: Local rename
  * New disco algorithm: Fix some moving
  * New Discovery algorithm: Check that the original file is still on the server while renaming
  * New discovery algoritmh: more on Renames
  * New Discovery algorithm: Handle of move within a moved directory
  * New Discovery algorithm
  * New discovery algorithm: Fix directory deletion
  * New discovery algorithm: Virtual files
  * New Disco algorithm: Type change (file to dir)
  * New discovery algorithm: More work on virtual files
  * New disco algo: Fix TestSyncFileStatusTracker
  * New Disco algortihm: Fix TestChunkingNG::connectionDroppedBeforeEtagRecieved
  * New Discovery Algo: Support the DatabaseAndFilesystem mode for local discovery
  * Convert p7.pl to a C++ test
  * Added test that checks what happens when there is an error in the remote discovery
  * Backport 64014dd374dc81cef24898b51830703a527e923f
  * New Discovery Algorithm: handle server errors
  * Remove the check_csync_update test
  * Remove csync_update and csync_reconcile
  * New Discovery Algo: Permsission check
  * More cleanup of csync remains
  * New discovery phase: read the direct download URL and Cookie
  * Skip failing test
  * New discovery algo: Handle Database error
  * New discovery algorithm: handle symlinks
  * New Discovery Phase: fix a few FIXME
  * Fix TestDownload: _ignore_hidden_files was not properly initialized
  * New Discovery algorithm: Refactor a bit the way the signal are emited
  * New discovery algorithm: Call FolderDiscovered

  [ Christian Kamm ]
  * Do not require server replies to contain an mtime

  [ Olivier Goffart ]
  * SyncEngine: Fix the "direction" of the "all file delted" message when the server is reset
  * FolderStatusModel: Do not abort applying selective sync if one folder has an error

  [ Christian Kamm ]
  * RemotePermissions: Fix empty vs null

  [ Olivier Goffart ]
  * SyncEngine: Fix renames making hierarchy inversion

  [ Christian Kamm ]
  * Virtual files: Renaming to virtual doesn't delete data #6718

  [ Olivier Goffart ]
  * Virtual Files Mime Type: use "vnd." prefix instead of "x-"
  * Virtual Files: Set the mtime of the virtual file to that of the server
  * Account Settings: Add a text for folder using vierual files
  * Conflict handling: add the OC-ConflictBasePath header
  * Fix test link with older Qt
  * New Disco Algo: Handle spurious virtual files
  * New discovery algo: data finger print
  * New Discovery Algo: readability improvements
  * Fix a compilation error on windows
  * Move the checksum related routine from FileSystem to checksum, where they belong
  * Checksum: Add support for SHA256 and SHA3

  [ Christian Kamm ]
  * Conflicts: Rename BasePath to InitialBasePath #6709

  [ Markus Goetz ]
  * CMakeLists.txt: Log the Qt version in compile

  [ Olivier Goffart ]
  * Update the minimum supported version
  * Socket API: add an option to replace existing files with virtual files
  * Virtual files: Don't show selective sync
  * Virtual files: don't check for new big folders
  * AccountSettings: Force sync should wipe the blacklist
  * Fix tx.pl
  * AccountSetting: Fix Small Memoy leak
  * Folder Wizard: Disable the 'choose what to sync' treeview if virtual files are selected

  [ Christian Kamm ]
  * Virtual files: Renames propagate #6718

  [ Olivier Goffart ]
  * New Discovery Algorithm: Handle rename of virtual files
  * New Discovery Algo: Refactor by splitting the processFile in two
  * New Discovery algorithm: Split the process function even further
  * New Discovery Algorithm: Ge tthe size of new folders
  * New Propagation algorithm: Fetch, and emit, the root etag
  * New discovery algorithm: Set the originalFile for ignored files
  * New Discovery algorithm: Remove the sync cleanup phase
  * New discovery algorithm: Parallel PROPFIND
  * Move Result to its own header
  * New discovery algorithm: fixups
  * Fixup commit 835c9163374f42003aa2f7795ade3f4ff62c8877
  * New Discovery Algorithm: more cleanups
  * Discovery phase: refactor some code in DiscoveryPhase::findAndCancelDeletedJob
  * ProcessDirectoryJob: always set _childModified to true, regardless the direction
  * Discovery: Adjust the instruction in case of resolved conflict
  * Discovery: move checkMovePermissions to its own function
  * Discovery: cleanups and comments

  [ Christian Kamm ]
  * Discovery: Comments and visibility adjustments

  [ Olivier Goffart ]
  * Discovery: Remove stale DB entries
  * Remove the backup deteciton code which was used for server < 9.1
  * Discovery: make sure finished is not called twice, even in case of errors

  [ Christian Kamm ]
  * Discovery: Add comments
  * Discovery: easy conditions first in processFileAnalyzeRemoteInfo
  * Discovery: restructure processFileAnalyzeLocalInfo

  [ Olivier Goffart ]
  * Fix leaks in tests

  [ Christian Kamm ]
  * PropagateUpload: Avoid crash due to cascading aborts

  [ Olivier Goffart ]
  * Local discovery: always recurse within touched directory
  * OAuth2: Store 'Account::davUser' in the config, and use that user for connecting

  [ Dominik Schmidt ]
  * Do not select ownCloud in Finder after installation to fix #6781

  [ Olivier Goffart ]
  * Upload: Do not error out if the server do not send the X-OC-MTime: accepted header
  * Account Settings: Add a context menu entry to enable or disable virtual files

  [ Christian Kamm ]
  * Virtual files: Use theme to check for option availability
  * virtual files: show option only when branding allows it
  * Virtual files: Wipe selective sync settings when enabled

  [ Olivier Goffart ]
  * Account Settings: fix progress being written in white when there are errors
  * Fix windows build

  [ Christian Kamm ]
  * Discovery: Add back virtual file instruction checks
  * Excludes: drop csyncTraversalMatchFun()
  * Discovery: Introduce smaller functions
  * Discovery: Don't rebuild invalidFilname regex each call
  * Discovery: Fix log output for instructions

  [ Olivier Goffart ]
  * Add missing export
  * Database: Add an index on the parent path

  [ Christian Kamm ]
  * Discovery: Virtual file handling adjustments

  [ Dominik Schmidt ]
  * Disable autostartCheckBox if autostart is configured system wide

  [ Olivier Goffart ]
  * HttpCredentials: initialize all member inline
  * OAuth2: Refresh the token without aborting the sync
  * Fix compiler warning
  * Wizard: Reset the QSslConfiguration before checking the server
  * Move: Fix too many starting slashes in the destination header
  * Migration from 2.4: fallback to move file by file if directory move failled (#6807)
  * Sharing: add the `shareWithAdditionalInfo` string in autocompletion results
  * owncloudcmd: fetch the dav user
  * owncloudcmd: Read the server version from the capabilities

  [ Christian Kamm ]
  * Settings: Make FoldersWithPlaceholders group sticky

  [ Olivier Goffart ]
  * Folder: update the folder version
  * New Discovery: Fix trailing slash causing failure on windows
  * Discovery: Fix renaming on windows

  [ Markus Goetz ]
  * gitignore: XCode userdata

  [ Christian Kamm ]
  * Test: Check for folder in error message #6826

  [ Olivier Goffart ]
  * RemoteDiscoveryTest: Fix after the merge from 2.5

  [ Christian Kamm ]
  * Propagator: Add assert against duplicate done() calls
  * Folder: Treat file unlock similar to external change #6822
  * Test: Add test for locked file tracking and propagation
  * Add Ctrl-L as log window shortcut

  [ Olivier Goffart ]
  * Remove csync.cpp: It's only dead code
  * Discovery: Fix downloading files when database is used for local discovery
  * Discovery: fix double emission of finished in case of error
  * Test that the sync behave well if there are errors while reading the database

  [ Kevin Ottens ]
  * Get DatabaseErrorTest to pass

  [ Gerhard Gappmeier ]
  * Add CMake option to disable GUI build
  * Disable stack protector features when cross compiling
  * libsync: Fix build error with TOKEN_AUTH_ONLY
  * owncloudcmd: fix compiliation with TOKEN_AUTH_ONLY

  [ Olivier Goffart ]
  * OwnSql: Speedup by avoiding allocating an error string on success
  * Test System: Optimisations so the benchmark is significant
  * Sync: optimize by removing setFileRecordMetadata
  * Optimisation: Add a cache SyncJournalDb::mapChecksumType
  * PropagateUpload:  Avoid many allocations by using QByteArrayLiteral
  * ProcessDirectoryJob::process: optimize so there is only one map
  * Exclude: do everything with QString wiuthout converting to char*
  * Remove csync_misc: The code no longer use fnmatch
  * csync_vio_locale: use QString for the path in opendir
  * CMakeLists.txt: increment sqlite version

  [ Kevin Ottens ]
  * Excludes: switch all the path handling to QString

  [ Olivier Goffart ]
  * cjhash: use Q_FALLTHROUGH

  [ Christian Kamm ]
  * cjhash: Fix build fix
  * LockWatcher: Add chrono header

  [ Olivier Goffart ]
  * Account: Fix crash when deleting an account
  * IgnoreListEditor: increase a bit the size

  [ Christian Kamm ]
  * Checksums: Work on QIODevice*s
  * FolderMan: Remove assumption of unique running sync
  * winvfs: initial work
  * Fixes after rebase to master
  * winvfs: Better error reporting
  * vfs: Fix suffix detection and handling
  * vfs: Implement dehydration tagging
  * Fix big-folder detection when vfs is disabled
  * vfs: Allow folders without vfs
  * vfs: Allow remote renames to propagate as such
  * vfs: Make some behaviors suffix-vfs specific
  * vfs: Reenable local metadata updating of vfs files
  * vfs: Fix plugin decision in wizards, sanitize loading
  * vfs: Make switching vfs on/off work again
  * vfs: Add check for presence of win plugin

  [ Dominik Schmidt ]
  * Cleanup CMake (output)
  * Fix export of vfs functions

  [ Christian Kamm ]
  * vfs: Fix dealing with missing vfs instance

  [ Dominik Schmidt ]
  * Remove unused include directories

  [ Christian Kamm ]
  * vfs: Add API docs
  * Generalize Result<> class, add Optional<>
  * vfs: Improve modeFromString() signature
  * Checksums: Make file ownership more explicit
  * Plugin: style fixes
  * Plugin: Drop PluginLoader
  * vfs: Document ignored return value.
  * vfs: Remove VfsSuffixPrivate
  * vfs: Be more careful about Vfs instance ownership
  * Folder settings: Keep "usePlaceholders" to be backwards compatible
  * vfs: Ensure local discovery is done on dehydration request
  * vfs: Update outdated comment
  * vfs: Switch order of deletion and journal removal in dehydration
  * vfs: Ensure SyncOptions::_vfs is never null
  * vfs: ensure backwards-compatible settings value is always set
  * vfs: Don't always load plugins, check metadata
  * vfs: Separate vfs availability from new-files-virtual
  * vfs: Make Vfs ctor explicit

  [ Olivier Goffart ]
  * Fix compilation warning
  * VFS: Plugin needs to be installed, otherwise it can't be loaded

  [ Dominik Schmidt ]
  * Fix installation of vfs suffix plugin

  [ Olivier Goffart ]
  * Allow to open log window via command line to already running client
  * Propagator: Don't abort sync on error 503
  * SyncEngine: Ensure that the paths passed to the discovery ends with slashes

  [ Christian Kamm ]
  * Vfs plugins: Available plugins must load
  * Vfs: Ensure older versions gracefully ignore winvfs folders
  * Vfs: Have a static list of potential plugins for now
  * Database: Change path for new dbs to .sync_* #5904

  [ Olivier Goffart ]
  * Remove check_csync_util
  * Test: Move the test for Utility::normalizeEtag to testutility.cpp
  * Port the exclude test to the QTest Framework
  * Discovery: Set right direction when restoring deleted discovery because it has modified files
  * Move test for issue #1329 from t1.pl to new test system

  [ Christian Kamm ]
  * vfs: Introduce PinState db storage #6815
  * vfs: Use PinState in sync algorithm #6815
  * vfs: SocketAPI actions adjust pin state of directories #6815
  * vfs: Show "new files are virtual" option only with vfs
  * Progress: Virtual file creation needs no transfer progress #6933

  [ Olivier Goffart ]
  * Discovery: Handle the blacklistFiles from the server capabilities

  [ Christian Kamm ]
  * vfs: Remove newFilesAreVirtual - use root PinState instead
  * Db: Add wiping of pin state for subtrees
  * SocketAPI: Overhaul ui for 'available locally' vs 'online only'

  [ Olivier Goffart ]
  * Gui: do not show the settings when opening a virtual file
  * Chunking Move: Fix too many starting slashes in the destination header
  * HttpCredentials: Do not re-enter the event loop
  * sqlite: Update bundled version to 3.26.0

  [ Dominik Schmidt ]
  * Fix lookup of system wide settings

  [ Christian Kamm ]
  * sqlite: Set exclusive locking_mode to avoid WAL issues #6881

  [ Markus Goetz ]
  * Sync: Display theme in debug log

  [ Christian Kamm ]
  * Wizard: Drop unused function
  * Wizard: Ensure client cert doesn't get lost #6911
  * vfs: Disable selective sync if vfs support is available
  * vfs: Don't assume suffix mode for old folders
  * vfs: Allow (de-)hydrating the full sync folder
  * vfs: Change per-folder message on vfs support
  * Result: Add copy/move ctor/op=
  * vfs: Allow retrieving of pin state paths and flags
  * vfs: Add vfs migration options to folder context menu
  * Discovery: Ensure selective sync lists are sorted #6958
  * vfs suffix: Ignore server files or synced files with the suffix #6953
  * Discovery: Fix aborting during discovery #6972
  * SyncEngine: Rename phase finishing slots
  * Folder: Add selective sync / ui related flags
  * Vfs: Switch on/off only when sync isn't running #6936
  * vfs: Update pinning context menu to be less confusing

  [ Olivier Goffart ]
  * Rename: fix renamed folder moved into renamed folder issue
  * Move: add more test and fix move within moves
  * Move: add comments and tests
  * Move: Fix move detection in directory move on the other side

  [ Christian Kamm ]
  * SocketAPI OSX: Forbid further sends on connectionDidDie
  * SocketAPI: Remove listener immediately on lost connection
  * Download: Ignore content-length for compressed HTTP2/SPDY replies #6885
  * HttpCreds: Warn in log if keychain-write jobs fail #6776

  [ Dominik Schmidt ]
  * Switch to standard opt-out BUILD_TESTING instead of opt-in UNIT_TESTING

  [ Christian Kamm ]
  * File watcher: Reduce touch ignore duration
  * Build fix for mingw64 7.3 (Qt 5.12.0)
  * Move SyncFileStatus to libcommon
  * Propagator: Helper for updating db
  * Vfs: Make files that end up in db placeholders
  * Vfs: Send SyncFileStatusTracker data to vfs plugins
  * Discovery: Add signal for silentlyExcluded files
  * Discovery: Files can have dehydrate/download actions
  * Vfs: Clarify SyncEngine::wipeVirtualFiles()
  * Vfs: Shell integration is enabled optionally
  * Pin state updates
  * SyncFileStatusTracker: Distinguish Warning and Excluded
  * Vfs: Enable propagating attributes on download
  * Vfs: Call unregisterFolder() when folder is removed
  * Folder: Add remoteFolderTrailingSlash()
  * PinStates cleanup
  * File watcher: Pin state attribute changes are valid notifications
  * Vfs: dehydration is separate action
  * PropagateDownload: Conflict-rename later
  * Vfs: Add option to hide socketapi pin actions
  * Vfs: Remove VfsDefaults
  * Vfs: Ensure VfsOff works without start() being called
  * Vfs suffix: Fix dehydration creating the wrong db entry
  * PropagateDownload: Create conflict even if local file changed
  * Vfs: Make dehydration a SYNC and not a NEW action
  * Vfs: Improve sync protocol entries for actions
  * Tests: Add db checks to rename/move tests
  * Test: Add check for permission propagation
  * Tests: Fix permission propagation check
  * Fix warnings about signedness
  * Ensure local discovery on selective sync changes
  * Discovery win: Fix detection of case-only renames
  * Folder wizard: Fix infinite loop for bad paths #7041
  * Wizard: Avoid cert dialog multiple connection
  * SocketApi: Fix crash with readyRead() after disconnected() #7044
  * Selective sync: Don't collapse tree when entering mode #7055
  * Windows: Forbid chars 0-31 in filenames #6987

  [ Olivier Goffart ]
  * AccountManager: load the cookies

  [ Christian Kamm ]
  * Add PLUGINDIR cmake setting and define #7027
  * Client certs: Store pkcs12 in config, password in keychain
  * OwnSql: Distinguish no-data from error #6677
  * Tray: Try to establish tray after 10s if failed initially #6518

  [ Markus Goetz ]
  * SocketApi: Fix owncloud/enterprise#2938

  [ Christian Kamm ]
  * Linux: Add autostart delay to avoid tray issues #6518

  [ Markus Goetz ]
  * macOS: Fix vfs suffix plugin paths #7090

  [ Olivier Goffart ]
  * Upload: asynchronious operations
  * Async Poll: keep the size in the database

  [ Christian Kamm ]
  * VFS: Unbreak behavior for rename+hydrate #7001

  [ Olivier Goffart ]
  * Test: fix compilation with GCC 4.9

  [ Christian Kamm ]
  * Fix and test _file and _renameTarget
  * Protocol, Notifications: Show destination() instead of _file
  * Local discovery tracking: On success, also wipe _renameTarget
  * Notifications: Don't say "downloaded" for new files #7101
  * Vfs: Hydrating a virtual is SYNC not NEW #7101
  * Vfs suffix: Require suffix when creating placeholder files
  * Vfs: Better handling and more tests for suffix file renames
  * Detect missing server data during discovery #7112
  * PropagateDirectory: Remove dead code
  * PropagateDirectory: Set initial dir mtime to server mtime #7119
  * Sqlite: Update to 3.27.2
  * Vfs: Clear up relationship between _type and pin state
  * Vfs: Add 'availability', a simplified, user-facing pin state #7111
  * LogWindow: Remove output, add "go to log folder" button #6475
  * Fix windows build
  * About: Add remark about vfs plugin that's in use #7137
  * PropagateIgnore: Default to NormalError for INSTRUCTION_ERROR
  * Discovery: 403 and 503 on root cause error
  * Discovery: Query data-fingerprint on root item
  * Discovery: Improvements to doc comments
  * Mention selective sync when switching on vfs
  * Log: Start logging immediately when "permanent logs" enabled #7146
  * Sqlite: Use FULL synchronous mode with non-WAL journal
  * SyncEngine: Don't close db when done #7141
  * FolderWizard: Don't crash when typing invalid drive #7041
  * Vfs: Adjust and centralise action text #7143
  * Vfs: "free space" only shows when it has an effect #7143
  * Fix logic for duration that an etag reply indicates connectivity
  * Vfs: Distinguish availability error kinds #7143
  * Vfs: Mark sqlite temporaries excluded on db-open #7141
  * Tests: fix vfs availability test case
  * Tests: Fix DB locking issue in permissions test
  * Chunked upload: Fix percent encoding in If header #7176
  * owncloudcmd: log sync errors

  [ Markus Goetz ]
  * Log Window: Create and open folder properly #7166

  [ Olivier Goffart ]
  * SocketAPI: Fix string claiming a folder is a file
  * SyncEngine: Fix renaming a single file cause the "delete all file" popup
  * Discovery: Do not abort the sync in case of error 404 (or 500)

  [ Christian Kamm ]
  * Http2: Resend requests on ContentReSend error #7174
  * Upload: Read file chunks gradually #7226

  [ Markus Goetz ]
  * OAuth2: Better error logging

  [ Christian Kamm ]
  * Vfs: Don't let new local files start out unpinned #7250
  * Vfs: Move pin state if files move #7250
  * UploadDevice: Fix windows issues #7264
  * RequestEtagJob: Consistently parse etags #7271
  * VfsSuffix: Wipe stale pin states #7273
  * Vfs: Make test pass with different suffix #7279

  [ Dominik Schmidt ]
  * Add missing OWNCLOUDSYNC_EXPORT

  [ Christian Kamm ]
  * Vfs: Retain existing data when enabling vfs #7302
  * Vfs: Preserve pin state on hydration
  * Vfs: Improve strings for availability states
  * Vfs: Add hook to allow update-metadata for unchanged files
  * Vfs: Ensure pins change with (de-)hydration
  * Vfs: Make move detection work with virtual files #7001
  * Vfs: Remove old db record when dehydrating via rename
  * Vfs: Require local discovery after disabling vfs
  * Discovery: Parse etag to be consistent with RequestEtagJob
  * SyncEngine: Don't duplicate fatal errors
  * AccountSettings: Fetch subitems after wiping them
  * Checksums: Fix crash due to threading issue
  * Fix 'unused parameter name' warnings
  * Download: Don't trigger too many concurrent hash computations
  * Remove maxLogLines config option
  * Checksums: Add back QIODevice api

  [ Hannah von Reth ]
  * AccountSettings: Use switch, case to ensure we handle all cases
  * Don't use mutable lambdas as they hide where we modify work on a copy

  [ Dominik Schmidt ]
  * Add GUI testing SocketApi extension
  * Fix build with recent Clang (on Linux)
  * Switch GUI Testing SocketApi to Utf8
  * Add Q_PROPERTYs for gui testing
  * Make findWidget more powerful
  * Add ASYNC_ASSERT_ICON_IS_EQUAL command to SocketApi
  * SocketApi: cleanup debug output
  * SocketApi: Avoid unneccessary conversions

  [ Hannah von Reth ]
  * CMake VFS: Enable us to provided vfs plugins from an external directory
  * OwncloudWizard: Mark vfs as tech preview instead of experimental

  [ Christian Kamm ]
  * Don't fatal on "Storage temporarily unavailable"

  [ Hannah von Reth ]
  * Change Windows virtual files description to tech preview

  [ Christian Kamm ]
  * PropagateDownload: Don't try to open readonly temporaries

  [ Markus Goetz ]
  * Propagator: Make sure we schedule only one job #7439

  [ Christian Kamm ]
  * Propagation: Fix delete-before-rename bug #7441
  * Discovery: If a move is forbidden, restore the source
  * Discovery: Remove level of indent around moves

  [ Markus Goetz ]
  * Propagator: Delay job execution a bit #7439

  [ Christian Kamm ]
  * ConnectionValidator: increase timeout to 57s #7456

  [ Markus Goetz ]
  * Reconcile: Sort already during discovery #7445
  * Discovery: List local directories from thread #7456 #7439

  [ Christian Kamm ]
  * Don't store pointer to local job
  * Discovery: local job shouldn't be parented
  * Discovery: Change local job signal signatures
  * Test: Disable local discovery parallelism in permission test
  * Checksums: Explicitly close file before reporting result

  [ Hannah von Reth ]
  * Ensure the url is complete before we validate it

  [ Christian Kamm ]
  * Propagate dir: Never write the etag on remote mkdir #7481

  [ Olivier Goffart ]
  * Fix warning about serverJob not being used
  * Tests: introduce ItemCompletedSpy to avoid a bit of code duplication

  [ Christian Kamm ]
  * Discovery: Distinguish readdir and closedir errors
  * Tests: Fail if the initial sync fails

  [ Olivier Goffart ]
  * Fix Upload of large (> 2GiB) files
  * Restoration items should appear in the sync protocol
  * When moving is allowed but deleting is not, do not restore moved items
  * SyncEngine: Save a bit of memory by not keeping a set of all filename
  * Wizard: fix compilation warnings about unused variables
  * Account Settings: change the color of info message from green to blue
  * Discovery: Attempt to fix issue with windows VFS and new files

  [ Christian Kamm ]
  * Vfs: Lots of tests and corrections for suffix edge cases

  [ Olivier Goffart ]
  * Fix build of tests.
  * Test: Fix testsyncvirtualfiles test
  * Discovery: fix TestSyncVirtualFiles::testExtraFilesLocalDehydrated on windows

  [ Hannah von Reth ]
  * [Gui] Set proper hdpi attributes

  [ Olivier Goffart ]
  * VFS: Do not overwrite existing files by placeholder

  [ Hannah von Reth ]
  * [libsync] Export verifyFileUnchanged

  [ Olivier Goffart ]
  * Discovery: Allow more HTTP error code to be treated as ignored dir
  * Network Settings: Show a warning that proxy settings do not apply to localhost
  * AccountSettings: limit the clickable region of the 'add folder' button
  * Don't show the "All files deleted" popup when unselecting everything with selective sync

  [ Hannah von Reth ]
  * Disable http2 support for now
  * Cleanup
  * Application: Allow to quit running instances by commandline
  * Add Actions to the Desktop file
  * Use Q_ENUM on AuthType to get the name printed in the log
  * Prepend PLUGINDIR else its pointless
  * Don't ignore file sync notification after an unlock
  * [Core] Include more information about the OS in the user agent
  * Remove old test scripts

  [ Olivier Goffart ]
  * ProxyAuthHandler Use QPointer instead of QWeakPointer
  * SyncEngine: no need to use QAtomicInt
  * Make PluginFactory virtual to silent -Wnon-virtual-dtor warning

  [ Hannah von Reth ]
  * Don't hardcode PLUGINDIR
  * Fix saving of cookies
  * [Sanity] Remove old ifdef
  * [SSL] Properly restore user accepted certificats
  * [SSL] Print warning only if something changed

  [ Olivier Goffart ]
  * Tests: add a couple of move tests
  * fixup test

  [ Hannah von Reth ]
  * [Wizard] Make vfs dialog blocking
  * Fix expansion of tree view on newly added accounts

  [ Olivier Goffart ]
  * Folder Wizard: warn when adding a folder which is the parent of a sync'ed folder

  [ Hannah von Reth ]
  * Fix potential null pointer access
  * Use Q_ENUM_NS to pretty print csync enums
  * Remove unused defines
  * [Gui] Fix vfs dialog not showing on Windows
  * Make sure all cases are handled
  * Don't insert items into the folder model if selectiveSync is not supported
  * Improve logging of issues during plugin loading
  * [SocketApi] Ensure listener still exists
  * [Gui] Implement raiseDialog on Windows
  * Test: Add test for vfs failed move crash
  * Sync: Fix handling of virtual files in error state
  * Test: Fix testMovedWithError for vfs mode

  [ Olivier Goffart ]
  * SocketAPI: fix status after a failure to move

  [ Hannah von Reth ]
  * Cookies: Don't override cookies with outdated values
  * Cookies: Do set cookies in DetermineAuthTypeJob too
  * Test: Disable parallelism to ensure serial execution
  * Use Q_ENUM_NS for PinState
  * Make bit flags better readable
  * Remove now unneede csync_instruction_str
  * Rename csync_instructions_e -> SyncInsturctions
  * Cleanup moc_csync.cpp include
  * Remvoe now unneeded SyncRunFileLog::instructionToStr
  * Remvoe now unneeded SyncRunFileLog::directionToStr
  * Remove unused struct
  * VFS Dialog: Don't enable on close button clicked
  * Wizard: Raise own window
  * Use separate loggin category for upload v1 and ng
  * Fix order of pluginkit commands and modernise
  * Fix usage of QMessageBox
  * Fix crash on settings migration
  * Fix 150a5b4d06600d140ddf05383fb74cda6ae6e941
  * Fix  warning C4715: 'OCC::Utility::vfsCurrentAvailabilityText': not all control paths return a value
  * Fix 3aeca58b316363dc12ad4b392750fc57e7a2965a
  * Beautify flags
  * Log HTTP requests and responses
  * VFS: Prevent duplicated navigation panel icon
  * CMake: Remove krazy2 support, we now use clazy
  * UnitTests: Set a CookiesJar in FakeQNAM
  * VFS: Tell the vfs plugin whether we have multiple accounts
  * A pedantic .desktop parser want's a list to end with ;
  * Remove ifdef(Q_OS_X11) code, there never was such a define.
  * Make ownCloud accassible on the Application object
  * Remove dead code
  * Gui: Don't try to display the wizard during shutdown
  * Log: Improve log message [ info gui.folder ]:	Folder sync result:  4...
  * Log: Only print 'Saved account settings' in debug mode
  * Fix warning
  * Logging: Print enum before cast in SqlQuer::bindValue
  * Remove custome string functions
  * Tests: Port check_vio_ext to Windows
  * Remove more legacy C code
  * Win: Move hresultToQString from vfs plugin to Utility::formatWinError
  * Win: Use full Windows paths in file watcher and improve logging
  * Log state before specific assertion
  * Use the servers checksum type by default
  * VFS: remove now unused parameter
  * csync: apply strict QString handling
  * Use const access where possible
  * Fix assertion introduced by e1ca612c5d3087e02f6b7f8e454224e0b88e82ad
  * Ui: Hide selective sync settings if vfs is active
  * Clazy: Fix some warnigns
  * csync: apply strict QString handling
  * Remove pointless warning
  * Clazy: Fix some warnings
  * Print checksum on mismatch
  * Return empty string instead of 1 as adler32 checksum for empty files
  * Windows VFS: Enable Windows VFS by default
  * Improve log message
  * Crashreporter: Apply the same hdpi settings as to the main gui
  * Fix placeholders are reverted to OnlineOnly
  * Log http status
  * Remove the use of goto from src/csync/csync_exclude.cpp
  * Remove the use of goto from test/csync/std_tests/check_std_c_jhash.c
  * Clear cookies on logout
  * Use winvfs by default when adding folder sync connection
  * Don't show 404 errors when manually creating folder sync pair.
  * Use verbose function names instead of direct member access
  * Remove vfs warning in the delegate, indicate them in the description instead
  * Fix: Log chunked messages
  * Log error code as hex
  * VirtualFiles: Ensure the target location supports vfs

  [ Kevin Ottens ]
  * Repair the Windows Build
  * Start hooking up E2EE to the new discovery algorithm
  * Repair E2EE uploads
  * Make sure the encrypted flag gets all the way to the journal db
  * Repair E2EE deletions
  * Don't use getFileRecordByE2eMangledName in jobs anymore
  * Have the folder token inside the EncryptFolderJob
  * Change EncryptFolderJob path convention
  * Set the encrypted flag in the database when EncryptFolderJob succeeds
  * Stop using e2e()->isFolderEncrypted() in the jobs
  * FolderStatusModel LSCOL job now gets the is-encrypted property
  * FolderStatusModel now uses the LSCOL job result for encryption status
  * Stop using e2e()->isFolderEncrypted() in the folder wizard
  * Remove unused methods on ClientSideEncryption
  * No need to fetch encryption data separately before discovery
  * Remove encrypt status job fetching from ClientSideEncryption
  * Remove the encryption flag check from encrypted propagation code
  * Get rid of now unused GetFolderEncryptStatusJob
  * Fix typo and style
  * Remove empty action in the settings toolbar
  * Set the account state after E2EE is setup in the GUI
  * Update the FolderStatusModel when a folder encryption ends
  * Resurrect the display of subfolders for VFS sync folders
  * Allow to control availability of folders in the settings dialog
  * Remove the plugin loader mechanism for VFS backends

  [ Hannah von Reth ]
  * Draw active progressbar
  * Update libcrashreporter-qt
  * Don't use exec() on dialogs
  * Don`t block main thread when displaying all files removed dialog
  * Ensure the callback is triggered
  * Append .exe to crashreporter path so it is better located
  * Fix condition
  * Fix folder permission check on NTFS
  * Fix vfs experimental text
  * Remove junk files
  * Fix usePlaceholders migration
  * Don't recurse the whole tree looking for a git dir, use PROJECT_SOURCE_DIR
  * Fix test on systems where C:\ is not writeable
  * Use enum instead of int
  * Pause sync when remove all dialog is displayed
  * Owncloud - virtual files smaller <1KB - problems with syncing
  * Speedup test build by compile the fake server just once
  * Use time the request was send,..
  * Fix unit tests by setting Date header
  * Replace custome date parser QDateTime::fromString(value, Qt::RFC2822Date)
  * Remove now unneeded cmake test and define
  * Don't warn if everything is fine

  [ Kevin Ottens ]
  * Please the clang-tidy overlord
  * Get the excluded files test to pass again on Windows
  * Workaround bug in older GCC used for the AppImage toolchain
  * Adjust the appimage script to the buildsystem changes

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Make monochrome icons the default on Linux and Mac OS.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * General settings: move buttons to the bottom left of their group boxes.
  * Update the settings dialog window title.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Changed triple dot to ellipsis

  [ Hannah Rittich ]
  * Fixed the autostart for AppImages. See #2504.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Add support for Hirsute

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Removed translation for "etag" and changed spelling
  * Changed spelling of "etag".

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Don't consider CfApi backend as experimental
  * One byte placeholders assumption only holds for the suffix backend
  * Add initial version of the CfApi backend
  * Split the CfAPI lower level code in a wrapper
  * Port the tests to the CfApiWrapper
  * Improve test readability with a bunch of macros
  * Implement callback between wrapper and vfs object for hydration requests
  * Don't look at virtual files data for the mimetype matches
  * Ensure we properly cancel hydration on server errors

  [ Hannah von Reth ]
  * Log the final http request
  * Include auth type in http log
  * Simplify file comparison
  * Clarify comment
  * Cleanup pathtoUNC and its test
  * Add todo for Qt 5.15

  [ Dominik Schmidt ]
  * Fix style
  * Use owncloudcmd in testVersionOfInstalledBinary
  * Fix testVersionOfInstalledBinary for brandings

  [ Hannah von Reth ]
  * Update windows launch on start binary location
  * Handle errors in convertToPlaceholder
  * Mark vfs functions as OC_REQUIRED_RESULT

  [ Kevin Ottens ]
  * Use Q_REQUIRED_RESULT directly like in other places

  [ Hannah von Reth ]
  * Fix a possible crash with the remove all files dialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Remove NO_SHIBBOLETH flag and dead code

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Fix CfAPI wrapper build in Win32 mode

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Revert "Fix CfAPI wrapper build in Win32 mode"
  * Second attempt at fixing CfAPI wrapper build in Win32 mode

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Implement nested items removal when removing root encrypted folder.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Update Github issue template with the new 3.1 option to "Create Debug Archive".
  * Fix documentation path in instruction of doc/README.
  * Update documentation with the new 3.1 option to "Create Debug Archive".

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Repair chunked uploads

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * E2EE fix upload parallelism issue.

  [ Kevin Ottens ]
  * Add the plumbing for a new extended attributes backend
  * Provide the path to the current folder to statTypeVirtualFile on unix
  * Don't detect file changes during hydration for virtual files
  * Add the XAttr backend prototype with its test suite

  [ allexzander ]
  * Fix e2ee folder move issue

  [ Felix Weilbach ]
  * Reference coding style wiki page from CONTRIBIUTING.md

  [ Kevin Ottens ]
  * Integrate the version suffix to the MSI filename

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Reference the wizard_logo.svg file from the resources
  * Add the APPLICATION_ICON_SET option
  * Use the SVG wizard logo when APPLICATION_ICON_SET says so
  * Use APPLICATION_ICON_SET for themed icons

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Revert "Make monochrome icons the default on Linux and Mac OS."
  * Fix the branding detection for monochrome icons on Mac

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Removed blank before colon

  [ Nicolas Fella ]
  * Fix build against Qt 5.15.3

  [ allexzander ]
  * Fix E2EE root folder rename issue.
  * Fix folder upload issue due to wrong Lock/Unlock order
  * E2EE Fix incorrect name of a nested encrypted item in the Settings dialog when the root folder is non-encrypted and it is renamed.

  [ Kevin Ottens ]
  * It's not really recommended anymore at least not on Windows
  * Ensure the right radio is selected when selective sync is picked

  [ Felix Weilbach ]
  * Add push notifications for file changes

  [ Valdnet ]
  * Change the quotation marks
  * Move space in "folderwizard.cpp"

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Be a bit more resilient with errors
  * Don't crash when the same request is filled twice
  * Avoid keeping Account alive via a shared ptr in ClientSideEncryption
  * Remove unused method

  [ Valdnet ]
  * Move space in "owncloudadvancedsetuppage.cpp"

  [ Kevin Ottens ]
  * Don't treat new folders in unpinned folders as files to dehydrate

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * Replace dots with ellipses and add spaces.

  [ Felix Weilbach ]
  * Start file conflict resolve dialog asynchronous

  [ Kevin Ottens ]
  * Specify PUBLIC for the link targets to make them visible to windeployqt

  [ allexzander ]
  * Use push notifications for Tray activities/notifications fetch trigger.

  [ Kevin Ottens ]
  * Revert "Specify PUBLIC for the link targets to make them visible to windeployqt"
  * Reduce exempt labels list to give a chance to stale bot to do something

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Documentation: break line in config example.

  [ Felix Weilbach ]
  * Compile nextcoud gui as separate library
  * Add test utils library
  * Add automoc property to updater

  [ Kevin Ottens ]
  * Load the theme resource explictly

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Win tests compilation fix. For Windows, the build was failing because of not being able to locate #include <sqlite3.h> in tests.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Allow creation of new folders from the Settings Dialog.

  [ Kevin Ottens ]
  * The e2eMangledName was relative to the remote folder, repair it
  * Make sure we pass a full remote path to LSCOL jobs

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Put FolderCreationDialog into the OCC namespace.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Default parameter nullptr widget for openBrowser.
  * Validate sensitive URLs to onle allow http(s) schemes.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Validate the providers ssl certificate

  [ Marco Hald ]
  * Configuration Options for Windows Registry

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Add missing override specifer to WebFlowCredentials

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Fix incorrect logger output for non-latin strings.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ tobiasKaminsky ]
  * Stale: issue must have bug and must not have approved label

  [ allexzander ]
  * Do not add debug build to startup programs.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ tobiasKaminsky ]
  * Move from stale bot to stale action

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Log error message from CFAPI

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Elsie Hupp ]
  * Update OSX build instructions

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * VFS Windows: Fix download of large files

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Fix crashes with conflict dialog
  * Iteration

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Do no include glib.h with extern C

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Do not include glib.h with extern C (2)

  [ Felix Weilbach ]
  * Add new wizard icons and remove obsolete ones
  * Split out wizard welcome page
  * Restyle wizard
  * Restyle wizard pages
  * Bump version to 3.1.81

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Split content of User::isValueableActivity()
  * Rename isActivityIgnored() to isUnsolvableconflict()
  * Add missing error handling for downloads of client side encryption

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Fix incorrect type when reading the 'logExpire' property from config.

  [ Felix Weilbach ]
  * Don't customize settings dialog palette

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Finish cleaning up shibboleth
  * Introduce an empty auth type
  * Force basic auth on get authentication required error

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Display the content of the login dialog correct
  * Don't check against product name if checking server version

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Fix crash when trying to open the folder creation dialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Fix for Windows long path issue.
  * Fix warnings in CfApiWrapper.

  [ Felix Weilbach ]
  * CFAPI: Handle cancelation of hydration requests

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Increase logging around file removal events

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Enable high dpi scaling on all platforms

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Check reading from journal was successful before remove placeholder

  [ allexzander ]
  * Refresh Windows download dialog progress when hydrating a placeholder

  [ Valdnet ]
  * l10n: Change sync message #3027

  [ Camila ]
  * Add UserStatus class to retrieve the user status.
  * Do not display notifications when user status is do not disturb.
  * Add UserStatus enum with the pre defined status.
  * Add checks in case userStatus is not available/fails on the server side.
  * Bump version to 3.1.82.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Temp fix for vfs failure.
  * Revert "Merge pull request #3042 from nextcloud/temp-fix-vfs-failure-wow6432"
  * Fix VFS CfAPI Syncroot Register Error.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Update documentation for the account wizard
  * Don't deploy bearer plugin on MacOS

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Bump version to 3.1.83.

  [ Felix Weilbach ]
  * Remove html tags from strings that may appear in notifications

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Reduce Socket API logging.
  * Create std::wstrings out of const wchar_t* so a copy is created every time.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Matthieu Gallien ]
  * use QFileInfo to check if path is absolute to avoid assert on windows

  [ allexzander ]
  * Fix VFS freeze when syncing '.lnk' files on Windows.
  * Added .lnk file placeholder creation fix.
  * Another way to fix this.
  * Treat .lnk files as normal files without hydrating them or creating a placeholder.
  * Ignore *.lnk files on Windows.
  * Address review comments.
  * Fix review comments.
  * Fix review comments.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Remove const and reference of base types.
  * Move curly brackets to the correct line.
  * Refactor UserStatus.
  * Align status text with server url.
  * Fix #3067: missing apps icon.
  * Undo unnecessary removal of lines.
  * Use enum class instead of enum.
  * Rename enumToUserString => enumToString.
  * Reposition qml elements for the folder status icon.
  * Remove unnecessary local variable.

  [ allexzander ]
  * Bump version to 3.2.0.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Weilbach ]
  * Embed version and icon into windows executable

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:14:48 +0000

nextcloud-desktop (3.1.0) jammy; urgency=medium

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Master is now what will become 3.1

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Add unit tests for the encryption helpers
  * Restore the symmetry between *StringSymmetric functions
  * Ignore the salt part of the key during decryption
  * Move the private key salt handling in its own function
  * Add support for BASE64 encoded '|' when decrypting

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Keep the E2EE info message around to allow displaying mnemonic

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Parallelize the CI build
  * Switch to the newer base CI image
  * Remove unneeded environment variables
  * Move the build in a volume to be reused between steps
  * Now make sure we're not picking up generated headers
  * Split the CI pipelines into proper steps
  * Switch to actual commands inside of the steps
  * Split cmake and compile into separate pipeline steps
  * Parallelize the clang-tidy runs
  * Switch to Ninja for the clang build
  * Make sure wget looks for the certificates at the right place
  * Add more raw string literals missed previously
  * We don't really need two \ here
  * Enable "trivial" modernize clang-tidy checks
  * Enable the modernize-use-using check on clang-tidy
  * Make QTokenizer use simpler by having optional second parameter
  * Get rid of useless using constructs
  * Enable the modernize-user-nullptr check on clang-tidy

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Enable the modernize-use-equals-default check on clang-tidy
  * Enable the modernize-deprecated-headers check on clang-tidy
  * Remove unused method
  * Enable the modernize-loop-convert check on clang-tidy

  [ Christian Kamm ]
  * Upload: Add more chunk resuming unit tests #6405

  [ Olivier Goffart ]
  * TestChunkingNG: Make it faster
  * Upload: Store the size in the UploadInfo, and compare it when resolving potential conflict

  [ Kevin Ottens ]
  * Size cleanups in TestChunkingNG

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Include cstdint only when compiling C++ code

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Make sure we don't assert when calling fileStatus

  [ Camila ]
  * Minor fix in text of warning and debug message.

  [ Kevin Ottens ]
  * Show the "Display mnemonic" button only when we know e2e is supported

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Disable context menu actions for E2EE files and folders
  * Present sharing of E2EE files from the main dialog too

  [ Christian Kamm ]
  * Windows shellext: Add rc for OCUtil #6554

  [ Olivier Goffart ]
  * windows shell extension: add OCUtil/resource.h

  [ Christian Kamm ]
  * Windows shellext: Update copyrights and company name

  [ Olivier Goffart ]
  * Windows Shell Integration: Don't limit the size of the buffer

  [ Dominik Schmidt ]
  * Make OCUtil helper lib static and link it statically against crt
  * Avoid warning because /MT overrides /MD flag

  [ Hannah von Reth ]
  * Remove outdated visual studio projects, we now use cmake
  * Cleanup Windows shell extensions
  * 2.7 has less automatic includes on Windows
  * Remove dead code

  [ Michael Schuster ]
  * Windows shell extensions: Use custom GUIDs via CMake and prepare MSI reg
  * Windows shell extensions: Rename all files and classes from OC* to NC*, update version info
  * Windows shell extensions: Change NCUtil Pipe name from ownCloud to APPLICATION_EXECUTABLE
  * Windows shell extensions: Add WiX (MSI) fragment
  * Fix spacing

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Do not build for Eoan

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add --logdebug parameter to instructions in issue_template for Github.
  * Update issue_template with information about logs, e2ee versions and code of conduct.
  * Update copyright date and version displayed in the page title.

  [ V.C ]
  * Support client builds on VS2019
  * Code review changes implemented

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Adapt code style in addition to #2300
  * Remove remaining QLinkedList includes in addition to #2300

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Jos Poortvliet ]
  * Some changes to the template...

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Enable all the misc clang-tidy check except one
  * Use httpd/unix-directory mimetype for E2EE folders

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Enable the bugprone-argument-comment clang-tidy check
  * Enable the bugprone-branch-clone clang-tidy check
  * Enable bugprone-forward-declaration-namespace clang-tidy check
  * Enable bugprone-macro-parentheses clang-tidy check
  * Enable bugprone-narrowing-conversions clang-tidy check
  * Enable bugprone-too-small-loop-variable clang-tidy check
  * Enable bugprone-terminating-continue clang-tidy check
  * Enable all the other bugprone clang-tidy checks

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Fix modernize-deprecated-headers errors in csync tests
  * Fix modernize-use-auto errors in csync tests
  * Fix modernize-use-nullptr errors in csync tests
  * Fix bugprone-narrowing-conversion errors in csync tests
  * Switch to newer CI image to build csync tests

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Jan Schmidt ]
  * syncjournaldb: index e2eMangledName column in metadata

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Update troubleshooting instructions with the newly added config file options.
  * Add README with instructions on how to build the documentation.

  [ Kevin Ottens ]
  * Leave the implicit uint to int cast

  [ Valdnet ]
  * l10n: Corrected translation
  * l10n: Word correction
  * l10n: A few more fixes
  * l10n: Delete unnecessary sentence
  * l10n: Extract the button name

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * l10n: Add a period

  [ Camila ]
  * Fix tooltip for activity info.
  * Click on activity list in systray open file in the file manager.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Don't use a confusing "royal you" in the sync messages

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Use QGuiApplication::primaryScreen() as fallback for Systray::currentScreen()
  * Remove pre-QQC2.3 workaround
  * Delay binding on the menu width
  * Make sure menu are closed when button is clicked again

  [ Jeremy Plsek ]
  * Include list info in tooltip

  [ Kevin Ottens ]
  * Disable bugprone-forward-declaration-namespace check
  * Try to enable the CI on stable branches as well

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Windows: Fix NSIS language encoding (use UTF-8 instead of Win code pages)
  * Windows: Remove unused and outdated NSIS Transifex settings

  [ Dominique Fuchs ]
  * Do not break out of outer loop when upgrading folders, continue instead

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fix missing subdirectory discovery on move operations in macOS.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila San ]
  * Entitlement to sign the QtWebEngineProcess with an exception.

  [ Kevin Ottens ]
  * If there's no description just say nothing

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Jeremy Plsek ]
  * Remove "This includes" due to tooltip order

  [ Michael Schuster ]
  * Windows MSI: Add Upgrade Code and migration tool build options to NEXTCLOUD.cmake
  * Windows MSI: Let CMake install Shell Extensions WiX fragment to "msi/"
  * Windows MSI: Add helper DLL and shared migration tools code
  * Windows: Add Win32 stand-alone migration tool NCNavRemove
  * Windows MSI: Add MSI scripts and UI resources
  * Windows: Win32 migration tools code review

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Allow server URL to be pre-defined without enforcing it to be used unmodified

  [ Jeremy Plsek ]
  * Use native text rendering for qml windows

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Force tooltip wrap mode because it's not enabled in Qt 5.12...

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dan Griffin ]
  * Free IconJob after use

  [ Dominique Fuchs ]
  * Initial accessibility declarations for tray window qml src
  * Re-add wrongly delete action
  * Typo fixes, minor additions
  * Fix typo
  * Added missing qsTr() calls
  * Added missing qsTr() calls - again
  * KISS. Removed description for now, instead clarified some Accessible.name
  * emitting signals from Qts Accessibility interaction invocations instead of duplicating actions

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * l10n: Remove space from string text

  [ Camila ]
  * Connect signal guiLog to slot to display systray message.
  * Correct the object name returned by the api.

  [ Harald Eilertsen ]
  * cmd: Replace foreach with range base for (#2219)
  * gui/accountmanager: Replace foreach/Q_FOREACH (#2219)
  * gui/accountstate: Replace foreach (#2219)
  * gui/accountstate: Replace foreach (#2219)
  * gui/application: replace foreach (#2219)
  * gui/folder: Replace foreach (#2219)
  * gui/folderman: Replace foreach (#2219)
  * gui/accountmanager: Make isAccountIdAvailable a bit clearer.
  * Don't hold ref to value returned from function.
  * Replace find_if with none_of where appropriate.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add a clickable icon for Talk notifications.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ kesselb ]
  * Delete FUNDING.yml

  [ Aldaris1985 ]
  * Update propagateupload.cpp

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * macOS: Fix memory leak in FolderWatcherPrivate::startWatching
  * Fix source file access modes

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Docs: Update macOS version info

  [ Dominik Schmidt ]
  * Docs: Adopt upstream commit fe04300 for MSI installation

  [ Michael Schuster ]
  * Docs: Adopt latest MSI doc enhancements from upstream master
  * Windows MSI: Stay compatible with the upstream "StartMenuShortcuts" feature
  * Docs: Use our app name in the MSI docs
  * Windows MSI: Add SKIPAUTOUPDATE property for the skipUpdateCheck setting
  * Docs: Be slightly more modern and use 64-bit examples

  [ Kevin Ottens ]
  * Handle redirects when downloading updates

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Add sharePublicLinkAskOptionalPassword to Capabilities
  * Since we must ask for a password this can't be a default public link
  * If askForOptionalPassword is enabled preset a random password
  * Change the defaults for logging
  * Make sure --logfile has precedence on config
  * Expose more of the logger state
  * Add dependency on QtGuiPrivate
  * Add a button to create a debug archive
  * Also add the command line arguments in the archive
  * Also add build infos in the archive

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Don't force user agent if one is already set on the request
  * Add a function for a more friendly user agent string
  * Use friendly user agent during webflow2 auth
  * Use setHeader instead of setRawHeader for the user agent
  * Export the WordList functions

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Make QML code more declarative by using properties
  * Don't use nullptr for QFlags
  * Avoid string translation puzzle

  [ renyhp ]
  * Update bookmarks location

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Improve wording on the wizard buttons
  * Add a label explaining the server address field
  * Hide the slideshow when going to the login page
  * Fix the secure lock label aspect
  * Ensure we use the app name in the GUI

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Update comments

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Emit last to avoid use after delete crash
  * Inform _emptyShareLinkWidget of linkShareRequiresPassword signals
  * Stop the animation if we got an error message

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila San ]
  * Fix crash when clicking on folder with status 403 in the main dialog.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Add a way to know which folder was listed for encrypted status
  * Start managing a list of GetFolderEncryptStatusJob
  * Change the way we store the job result
  * Mention the folder we listed in the debug logs
  * Factor out the logic to start a new e2ee status job
  * Make sure jobs don't outlive ClientSideEncryption
  * Don't use depth infinity anymore to get the folders e2ee status
  * Get rid of ncBlueHover
  * Don't hardcode the color of text in the header
  * Expose the branding related members of Theme as properties
  * Expose Theme on the QML side
  * Use the Theme colors for the header part of the window

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Delay initialization of SettingsDialog
  * Fix crash in SettingsDialog with delayed initialization

  [ Christian Kamm ]
  * FileSystem: Fix bad indentation
  * FileSystem: make removeRecursively() reusable
  * SocketAPI: Introduce conflict resolution actions #6252

  [ Kevin Ottens ]
  * Repair the canAddToDir logic
  * Move some of the SocketApi conflict handling in a ConflictSolver class
  * Add KeepBothVersions as a possible solution to ConflictSolver
  * Add a conflict dialog to help the user solve them
  * In the case of conflicts, have the socket api propose the config dialog
  * Add a function to know the user id matching a given account
  * Repair SettingsDialog::showIssuesList
  * Move the activity action behavior on the C++ side
  * Use the ConflictDialog directly from the activity list
  * Ensure we quickly show/hide the systray window on startup

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Triple dot to ellipsis

  [ Kevin Ottens ]
  * Also output the event flags in the debug logs

  [ Valdnet ]
  * l10n: Add a space in generalsettings.ui
  * l10n: Change the ellipsis

  [ Kevin Ottens ]
  * Remove last left over of the "remote" wording

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Sergey Zolotarev ]
  * Misc fixes for Windows 7

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Get rid of FindQt5Keychain.cmake
  * Adjust AppImage build of QtKeychain to be found by cmake

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Fetch apps when we get connected only

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Sascha Wiswedel ]
  * [documentation] upload chunks config

  [ Kevin Ottens ]
  * Make sure the settings dialog exist before hiding it
  * Move pause/unpause helpers to Systray
  * Bring back the pause/resume action in the systray menu
  * Revert "Adjust to makeDbName returning an absolute path"
  * Partial Revert "Adapted for cmd version and added migration step for config file"
  * Revert "moved default db sync file to Qt standard path AppDataLocation"
  * Migrate journal dbs files back to the sync folder

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Master is now 3.0.81

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Issue a warning for Debian pipeline failures but don't fail the CI

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Use dynamic path for account online/offline state icon. Refresh GUI on connection state change.

  [ Kevin Ottens ]
  * Enable the QML debugger on debug builds

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Fix QML debugging by removing incorrect dependency
  * Fix Windows compilation broken after QML debugging fix.

  [ Christian Kamm ]
  * Folderwatcher: On linux, fix paths after dir renames #6808
  * FolderWatcher: Always notify about conflict files #7073
  * FolderWatcher linux: Make automatically recursive #7068
  * FolderWatcher: Become unreliable if test notification fails #7241
  * FolderWatcher: Wait for ready before testing #7305

  [ Olivier Goffart ]
  * FolderWatcher: Usage of QTime for elapsed time is deprecated

  [ Christian Kamm ]
  * FolderWatcher: Disable test on OSX #7305

  [ Markus Goetz ]
  * Sparkle: Delegate calls work now with 1.18.1 (maybe even before)

  [ Christian Kamm ]
  * Settings: Add update channel combobox #6259

  [ Markus Goetz ]
  * Auto Updater: Show UI element also on macOS

  [ Christian Kamm ]
  * Updater: Make sparkle updater respect release channel

  [ Markus Goetz ]
  * Updater: Comments

  [ Dominik Schmidt ]
  * Implement basic .msi support in updater
  * Run msi properly and restart client after update
  * Escape msi and owncloud.exe path (who knows...)
  * Extract filename of updateFile without leading slash

  [ Markus Goetz ]
  * MSI: Always with logfile #6609

  [ Olivier Goffart ]
  * MSI: Fix crash in the auto updater

  [ Dominik Schmidt ]
  * Remove unused installers before copying new ones into the appdata dir

  [ Olivier Goffart ]
  * Updater: remove unused function
  * Updater: show the human readable version in the settings

  [ Christian Kamm ]
  * WinUpdater: More useful options on update failure #7217
  * Updater: Make "Update manually" not also "skip this version"
  * Updater: Preserve target version string

  [ Markus Goetz ]
  * Autoupdater: Log the URL #3475

  [ Hannah von Reth ]
  * Updater: Log parsing issues in autoupdatLog parsing issues in autoupdatee
  * NSISUpdater: Improve logging for version comparison

  [ Christian Kamm ]
  * Updater: Improved logging output #7388

  [ Olivier Goffart ]
  * Updater: Fix Version numer not shown in the user visible string
  * Updater: Fix crash when there is an XML error

  [ Hannah von Reth ]
  * Cleanup stirngs
  * Include architecture in updater query
  * Don't scare users with critical parser log messages

  [ Kevin Ottens ]
  * Please the clang-tidy overlord

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Christian Kamm ]
  * Settings: Add warning when switching update channel

  [ Chih-Hsuan Yen ]
  * Fix build without Sparkle.framework

  [ Dominik Schmidt ]
  * Simplify Sparkle handling in CMake

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add last / to exclude list file path.
  * Check if there are patterns associated with a sync exclude file.
  * Master is now 3.0.82.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * fix AppImage build by using v0.10.0 for qtkeychain

  [ István Váradi ]
  * Handle the case when the release version differs from that in VERSION.cmake

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Brian Kendall ]
  * Fix macOS bug where tray window causes spaces to switch

  [ allexzander ]
  * Implemented notification action buttons and context menu for confirm/dismiss and other actions.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add debug log to check which folders are being skipped during syncing.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Update documentation on how to generate debug logs.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Added sharing via email.
  * Fixed slow sharee search in the share dialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ allexzander ]
  * Bump master version to 3.1.0

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:11:11 +0000

nextcloud-desktop (3.0.0) jammy; urgency=medium

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Always show Settings in the context menu (amends #2164)
  * Windows: Enable CFG and SafeSEH linker security flags

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Make sure we always have a CLSID when Explorer integration is used

  [ Camila ]
  * Fix #2243: use server url instead of hard coded string.
  * Remove extra check for talk app on server in AccountState.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * There won't be a 2.7, this is called 3.0 instead

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Add unit tests for the encryption helpers
  * Restore the symmetry between *StringSymmetric functions
  * Ignore the salt part of the key during decryption
  * Move the private key salt handling in its own function
  * Add support for BASE64 encoded '|' when decrypting

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Keep the E2EE info message around to allow displaying mnemonic

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:04:45 +0000

nextcloud-desktop (2.7.0) jammy; urgency=medium

  [ tuxmaster5000 ]
  * Rename owncloud tests to nextcloud
  * Fix include file

  [ Jan-Christoph Borchardt ]
  * Remove outdated icons

  [ kilian.pfeiffer ]
  * changed max GUI bandwith limits

  [ Javier Llorente ]
  * Add sync date next to "Synchronized with local folder"

  [ Izabela Bakollari ]
  * Add files via upload
  * Modified slideshow buttons and edited "Host your own server" link

  [ Björn Bidar ]
  * fix qt warning about registering a URL sheme first.

  [ Ivan Čukić ]
  * Race condition in the remote size loading logic

  [ Sebastian Grund ]
  * issue1216: added sync-exclude entry for emacs recovery files

  [ Camila San ]
  * Bump master version to 2.7.

  [ Michael Schuster ]
  * Replace old NSI Windows setup wizard graphics
  * Fix double slashes in WebDAV URLs (account setup wizard)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Updated WINVER/_WIN32_WINNT from 0x0600 to 0x0601 (e.g. Server 2008/Vista to 7) as 7 is reasonable and noted everywhere as requirement
  * Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
  * Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
  * Removed redundant (and wrong in terms of it's value) definitions for WINVER/_WIN32_WINNT
  * usage of UINT as iterator here because comparing with UINT retval from DragQueryFile
  * Fixed broken overloading mechanism of variadic templates. See code comment for further information.
  * Implemented Utility::convert function to convert size_t -> uint safely and on the fly. Often necessary for Qt and WIN32 functions. Using this will not generate compiler warnings of possible truncation. First call implemented in ownsql.cpp
  * Selectively and temporary disabled warning about unknown preprocessor declarative for msvc when using specific GCC instruction.
  * Renamed conversion function to make intention more clear. Also defaulted to 'controlled truncation' to not stupidly crash. TBD/TODO: Better handling for such things.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Corrected namespace when calling convertSizetoUint
  * Numoerous safe conversions implemented. Added additional Utility::convertSizeToDWORD for windows builds.
  * Use existing fct for RegKeyQuery instead of redundant subroutine
  * Added cmake preprocessor definitions when using msvc regarding the 'safe' versions of CRT functions
  * Qt: Fixed numerous deprecated calls by adapting newer ones
  * Fixed missing braces
  * Fixed wrongly formatted args for win32 linker flags resulting in 'unrecognized option' for all of them. Remark: /WL is for VS only, useless (and not necessary for msvc cmd)
  * Indeed, DWORD is a special snowflake - only when on _WIN32
  * Added macro definition and compile-time condition to support Qt < 5.9
  * Fixed logic error in QTLEGACY macro and added forgottin #if clause for header file
  * Fixed another logic error -> logical to bitwise OR for QTLEGACY
  * Further testing of cond. include of Qt library > 5.9. Utilized different macro.
  * commit 222b2d did the trick. now streamlined use of https://doc.qt.io/qt-5/qtglobal.html#QT_VERSION_CHECK
  * Conditional (based on Qt version) use of 'horizontalAdvance' to provide better UI experience. See https://doc.qt.io/qt-5/qfontmetrics-obsolete.html#width
  * Moved macro definition due to timing issues while compiling when relying on header inheritance

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Removed disabling of msvc warning to prevent generating a unknown option for other compilers in turn. Now detect specifically GCC in ifdef
  * Use return type to prevent warning and determine chown success. Added TODO
  * initialize _modtime to prevent undefined usage
  * Added forgotten case when parsing log through gui. LockedFiles were not communicated.
  * Prevent use of uninitialized folder pointer.
  * Remove unnecessary argument
  * removed reduntant /* within a comment
  * Prevented warning regarding operator precedence - enhanced clarity by adding parentheses
  * Declared Q_UNUSED for as-of-now unused parameters.
  * Q_UNUSED for atm unused parameters
  * Use -Wno-gnu-zero-variadic-macro-arguments only for Clang
  * fixed wrongly assigned pointer, didn't recognize class

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * fix comment typo

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Added newly created next/prev svg's and fixed reduntant layout parts in wizard
  * Fixed wrong resource paths
  * Restructured layout, as the initial change were too broken (after additions through the last months)
  * fix naming for slide navigation, adapted everywhere to be consistent
  * Layout optimizations and tab access for self-hosting link

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * [WIP] Resource file and include changes as well as new control icons for wizard slide buttons
  * [WIP] themed button implementation
  * (Maybe) finished implementation of themed wizard buttons and accessibility refinements and thus implementation of helper fct. to retrieve themed QIcons.
  * Added slight svg transparency as requested in ref issue, fixed bg detection logic
  * Fixed unused var

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fixed e2e key transmission issue after generation (forgotten content type on sendrequest())

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Add warning for failed chown in libsync/propagatedownload.cpp

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Finishing PR #1154 adding note when sharing
  * Correcting autoraise for widget w/ background fill

  [ Mariusz Wasak ]
  * Fix for #1382 "linux client crashes for no discernable reason" There in no "return" in PropagateUploadFileCommon::slotStartUpload in if (prevModtime != _item- >_modtime) {... }

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Color corrections and sharer=self case implementation

  [ Camila Ayres ]
  * Add configuration file for stale bot.
  * Add configuration file for funding.
  * Update exempt labels config for stale bot.
  * Finish adding tags to the the exemptLabels list for the stale bot.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * UI improvement: Message box: Delete / Keep all files

  [ Dominique Fuchs ]
  * show only 'shared with you by...' if it's not the current user itself

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila San ]
  * Changes wording in the share context menu.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fixed some missing 'translatable' exclusions, added missing window titles in flow dialogs

  [ Camila San ]
  * Improve wording of the context menu in the file manager extension.

  [ Michael Schuster ]
  * Fix White Window issue on Windows after Qt 5.12.4 upgrade

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fixed wrongly formatted define statement
  * Updated .desktop file naming scheme
  * moved default db sync file to Qt standard path AppDataLocation
  * Adapted for cmd version and added migration step for config file
  * cleanup and migration for location change
  * Corrected new .desktop file location in forgotten function
  * Updated AppImage instructions w/ new desktop file name

  [ Michael Schuster ]
  * Revert "Fix White Window issue on Windows after Qt 5.12.4 upgrade"

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Implemented second sorting step for SyncFileVector (merged trees) to prioritize DELETEs
  * Fix logic for DELETE prio, now (hopefully) in harmony with destination sorting

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Harmonizing sorting algorithm (again)

  [ Andreas Wunderlich ]
  * Revert default remote poll interval back from 5 seconds to 30 seconds

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Created wrapper variable LINUX_APPLICATION_ID to clean up code
  * Fixed typo / double suffix

  [ Felix Eckhofer ]
  * Use user-provided username in `displayName()`

  [ Camila San ]
  * Checks if exclude file is empty before creating the regular expressions.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Felix Eckhofer ]
  * Fix typo

  [ Daniel Kesselberg ]
  * Add server info to menu

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Remove kdelibs5-dev from the build dependencies for Eoan

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Corentin Noël ]
  * Build with libcloudproviders on debian and in the AppImage

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * Fixed grammar

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Sergey Zolotarev ]
  * Prevent jumping of tray menu
  * Don't run connection wizard when quitting the application

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ asapelkin ]
  * little loops optimization

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fixed typo preventing successful path rename on Win and modified ASSERT for Window path styles
  * Don't need a second if for non-Windows, using Qt macro for platform check

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Sergey Zolotarev ]
  * Replace isQuitting flag with disconnect()

  [ Michael Schuster ]
  * Fix outdated link to server admin docs
  * Add a 'Content-Length: 0' header to initial POST requests

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Add new "styles" plugin to macOS deployment script for Qt 5.12.5

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Pick from upstream: Update qtmacgoodies for an OSX crash fix #6930

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Adrian Brzezinski ]
  *  * fix for issue no. 1351

  [ Camila San ]
  * Merge the list of ignored files/symlinks into one Activity notification.
  * Once client gets 401/403 from the server, check if remote wipe was requested.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Johannes Lorenz ]
  * Fix clang's variadic macro warnings

  [ Adrian Brzezinski ]
  *   * fix for issue no. 1351

  [ Michael Schuster ]
  * Update submodules for Qt 5.12.5 (qtmacgoodies)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ samu-workopen ]
  * Update building instructions
  * Replace command line Step 5 Install Homebrew
  * Update Step 11

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Add libdbus-1-dev to the build dependencies

  [ Michael Schuster ]
  * MSVC Fix for PR #1526: Fix clang's variadic macro warnings

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Roeland Jago Douma ]
  * Bump Qt5.12 image

  [ asapelkin ]
  * enabled address sanitizing for tests

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Jos Poortvliet ]
  * Update ChangeLog

  [ Sergey Zolotarev ]
  * Fix duplicate items in Apps menu (a bug introduced in #1477)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Added basic UI [WIP] for new tray window
  * tab formatting

  [ Michael Schuster ]
  * tab formatting (just a little more ;p)
  * fix tab spacing

  [ Camila San ]
  * Add new qml tray icon.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Added new vector graphics for tray window header icons

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Updated vecto icons and names, disabled init position (breaks on multiple monitors on windows), integrated new icons in qml
  * resolving conflict with current master
  * Finished (static) header design and hover effects

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Initial ListView design/modeling for activity list

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ XNG ]
  * Apply http2 patch from owncloud Signed-off-by: XNG <Milokita@users.noreply.github.com>
  * Apply http2 patch from owncloud Signed-off-by: XNG <Milokita@users.noreply.github.com>

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Smoother deletions: Added animation for removeDisplaced including sequential opacity change and displacement animation

  [ Camila San ]
  * Fix remote wipe when a proxy is configured.

  [ Michael Schuster ]
  * Fix updater message: Download link instead of "use the system's update tool"

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Remove HTTP/2 support from Xenial

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * l10n: Remove string from Transifex resource

  [ Michael Schuster ]
  * Revert "Remove HTTP/2 support from Xenial"
  * Fix: Apply http2 patch from owncloud #1573 - only with Qt >= 5.8

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Upgrade for Qt 5.12.5 in docker-ci
  * Move .desktop file path to new env var to avoid duplicates
  * Make AppImage upload optional and add timeout
  * Fix dir in upload script
  * Bump Qt 5.12.5 image
  * Fix: escape env vars
  * Fix: add /usr/local/lib to LD_LIBRARY_PATH for OpenSSL 1.1.1

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Add timestamp to Mac installer code signing
  * macOS build: Avoid the Get-Task-Allow Entitlement (Notarization)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Christoph Wurst ]
  * Fix legal notice year

  [ István Váradi ]
  * Build for Debian stable and oldstable

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Fix remote wipe keychain storage (issue #1592)
  * Use ReadPasswordJob::finished for ReadPasswordJob

  [ Dominique Fuchs ]
  * Minor preps for c++ ActivityListModel impl. in QML

  [ Michael Schuster ]
  * Fix copyright year in MacOSXBundleInfo.plist.in for 2019

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * WIP: Extending systray class, transitioning towas independent ActivityModel inclusion
  * Restructures and refactorings: New systray class, handling of current user selection, integration of user information in tray window header
  * Clean up test variable
  * Avatar, full user name and server address now reflected in QML gui, provided by C++ backend

  [ Joas Schilling ]
  * Improve the translation of "Share via …"
  * Fix some translations
  * Use … instead of 3 dots

  [ Dominique Fuchs ]
  * WIP: Building User/MenuModel backend for tray menu
  * More stuff regarding tray/UserModel.cpp
  * WIP: working UserModel.cpp and account menu

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Minor fixes and enhancements

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * connected UserModel login/logout signals, minor fixes
  * Minor preps for c++ ActivityListModel impl. in QML
  * Connected AccountWizard with new account action in tray menu, minor fixes
  * Working on account switching

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Account swtich logic and UI updates
  * Finished account switch back- and frontend in tray menuwindow

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Added frontend invokation to open local folder

  [ David Kahles ]
  * Compare QDateTime objects more efficient

  [ Roeland Jago Douma ]
  * Fall back to old login flow on GS as this is not yet ready

  [ Michael Schuster ]
  * Fall back to old login flow on GS as this is not yet ready (#2: re-auth)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Windows: Workaround for storing >= 4k (4096 bit) client-cert SSL keys
  * Refactoring: Windows workaround for >= 4k (4096 bit) client-cert SSL keys
  * Remote Wipe: Implement hack to allow deleting all keychain entries (SSL certs & keys)
  * Fix Remote Wipe keychain storage
  * Fix member variable name from last refactoring (Windows code)
  * Fix Windows key-chunk deletion (too paranoid)
  * Fix deleteKeychainEntries: Stay consistent with job->setInsecureFallback(false)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fixed inconsistent module import versions (based on Qt 5.9)
  * Replaced .engine() by pointer access b/c of backward compatibility
  * Removal of init.qml plus minor fixes

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Remove init.qml from CMakeLists and resource file

  [ Michael Schuster ]
  * Remove submodule qtmacgoodies and the MacSettingsDialog class
  * Fix SSL-button's info background color for Dark Mode
  * Pick from upstream: Fix too low contrast when tab is selected
  * Implement and move some colour-aware helper methods into the Theme class
  * Make SettingsDialog background-aware (Dark-/Light-Mode switching)
  * Make the ShareDialog background-aware (Dark-/Light-Mode switching)
  * macOS: Rename 'Explorer' appropriately on non-Windows

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Fix Activity List: Add check to avoid first empty entry

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Change Dark Mode link colour
  * Add new Theme helper method to custom-colourize links
  * Change error link colour in AccountSettings::showConnectionLabel
  * Make AccountSettings and ActivitySettings background-aware (Dark-/Light-Mode switching)
  * Refactor ActivitySettings: Rename member variable ui to _ui
  * Make ActivityItemDelegate background- and selection-aware (Dark-/Light-Mode switching)
  * Remove unnecessary breaks in ActivityListModel
  * Remove unnecessary string translation and copy in ActivityItemDelegate
  * Make OwncloudWizard and its pages background-aware (Dark-/Light-Mode switching)
  * Make all ProgressIndicator's background-aware (Dark-/Light-Mode switching)
  * Mac and high-dpi displays: Add workaround in ActivityItemDelegate to show full uncropped activity's actionText and timeText
  * Fix build (missing refactoring)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Show date and time in activity log (fixes issue #1683)
  * Fix crash in ActivityListModel (fixes #1693)
  * Fix folder opening in ActivityListModel
  * Fix issue #1237: White text on almost-white background
  * Flow2: Bring account setup wizard to top (raise) on auth result
  * Flow2: Poll for auth result upon account setup wizard window activation
  * Flow2: Use ownCloudGui::raiseDialog to bring account setup wizard to top (raise) on auth result
  * Add helper slots and signals to catch SettingsDialog's window activation events
  * WebFlowCredentialsDialog: Bring re-auth dialog to top (raise) upon showing SettingsDialog
  * Flow2: Poll for re-auth result upon WebFlowCredentialsDialog window activation
  * Small fixes and code cleanup
  * Flow2: Add poll status text, ProgressIndicator and countdown timer
  * Flow2: Make ProgressIndicator's background-aware (Dark-/Light-Mode switching)
  * WebFlowCredentialsDialog: Bring re-auth dialog to top (raise) on error
  * Make WebFlowCredentialsDialog cancellation- and deletion-safe
  * Add new HeaderBanner class for WebFlowCredentialsDialog
  * Flow2: Refactor UI into Flow2AuthWidget only and improve Flow2Auth
  * Flow2AuthWidget: Minor fixes and improvements
  * Heavy refactoring: Windows workaround for >= 4k (4096 bit) client-cert SSL keys and large certs
  * Fix date in ActivityWidget and remove unnecessary string conversion
  * KeychainChunk: Fix error handling in ReadJob::slotReadJobDone

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ XNG ]
  * apply http2 qt resend patch from owncloud
  * apply http2 qt resend patch from owncloud
  * apply http2 qt resend patch from owncloud

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Added popup show/hide logic
  * Backend code separation & structure cleanup
  * Implemented platform agnostic tray window positioning logic

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fall back to primary screen on QT version < 5.10 instead of icon position detection
  * Added folder search for User instance, added open folder button connection
  * Added ActivityModel in new tray backend, implemented as delegate in UI
  * Gigantic ton of changes and deletions: ActivityListModel, tray GUI, Account logic.
  * Fix git not recognizing case sensitive changes
  * Fixed client.qrc
  * Has function for ActivityModel, typos
  * More typo fix
  * Fix server adress retreival in tray window buttons
  * First real activity connection

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Tray account menu wording/positioning
  * Fix macOS popup y position, neglecting unneccesary calculations
  * Fix wrong macro clause
  * Fix blurry caret svg due to https://bugreports.qt.io/browse/QTBUG-44863
  * Quit/settings button in tray menu, disable context menu, font size fixes

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Focus and popup improvements for macOS
  * Code cleanup regarding context menu. Pause/resume logic implemented. Halfway through remodeling account menu.
  * Preps for UserLine submenu

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ JanDragon ]
  * Updated year in legalnotice.cpp

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Roeland Jago Douma ]
  * Ask for password on password protected link shares

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * UserLine drafting, bugfixes, restuctures

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * More UserLine, avatar fixes
  * Tray creation timing, account menu reinstantiating on visible change
  * Implemented account removal
  * Detect newly added user and rebuild account menu automatically
  * Fix crash on startup when no users configured
  * Added confirmation dialog for account removal
  * Fix comment
  * Systray now a singleton with instance(), show tray on finished wizard
  * Fix local folder URL
  * Streamlined 'Add account' button with account entries

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Generalized connection check, now working for every user in account menu
  * Connection status indicators as avatar overlay
  * call resetRejectedCertificates on fresh login
  * emit signal for current user GUI refresh on login/logout
  * More fixes to login/logout logic
  * Model/View improvements, also fixes crash on account removal
  * Bunch of fixes and optimizations for activityList
  * Removed old account toolbox
  * Show activitylist on initial tray opening when logged in
  * Temperarily disabling animations due to lags - FIXME

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fix local folder not opening on windows, add extra slash
  * Add populate transition
  * Show ListView delegate only when model is populated (prevent dummy delegate)

  [ Michael Schuster ]
  * Fix Explorer integration on Windows and the crash on other systems

  [ JanDragon ]
  * Welcome to 2020

  [ Dominique Fuchs ]
  * Icon selection, svg path transfers, scrollbar
  * Minor improvements
  * Integrated local sync activities in activitymodel
  * Integrated local error messages in activitymodel
  * Added progressInfo / cleanup to acitivtymodel
  * Activity refresh in background
  * Made tray window positioning HighDPI aware

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Make qml UI strings translatable
  * Fix missing trayScreen init in non-OSX clause
  * Font and icon size improvements, svg transfer to new folder

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Resized add account icon, adapted layout for new size

  [ Michael Schuster ]
  * Fetch server Apps in AccountState (moved from ownCloudGui)
  * Remove setTalkCapability() from AccountState and filter for Talk upon App list building
  * Add App list menu to Tray UI

  [ Corentin Noël ]
  * Install libcloudproviders files by default on debian

  [ Michael Schuster ]
  * Remove debug output
  * App menu: Filter out Talk because we have a dedicated button for it

  [ Dominique Fuchs ]
  * Layout adjustments & also show remote path in activitylist
  * Allow text to expand further if one or both buttons aren't visible
  * Preserve a 2px distance from tray border (streamlining with acount menu)
  * Add visual separation between accountStateIndicator and avatar

  [ ritsute ]
  * Handle broken shared file error gracefully

  [ Brandon ]
  * Correct wrong variable
  * Correct wrong variable

  [ Roeland Jago Douma ]
  * Windows 7 is out of support

  [ Michael Schuster ]
  * Fix font sizes for "Log out" and "Remove account" and the Apps menu
  * Double the width of the Apps menu (x starts at the Talk button)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * 1px border #0082c9 around tray window
  * append the correct folderwatcher (platform specific)
  * Fix failing of several tests by including ocsjob source (after its inclusion in accountstate in a previous commit)
  * Add check if applist rowCount() already empty to prevent assert exception
  * Upgrade of NC server API usage + corresponding activity queries and properties including icon ref
  * Retreive and svg data from icon property url for activity entries
  * Minor layout adjustments
  * Streamlining local sync notification/activity icons with server ones. Added fileAction logic for local sync activities
  * Disabled animations until population glitches are fixed
  * Minor property hierarchy fix
  * Fixed bug regarding additional but empty delegate at end of activitylist

  [ Michael Schuster ]
  * Add initial support for Apps menu icon display (show remote SVGs)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Refresh immediately on showWindow, regardless of the timer
  * Refresh visibility of ListView based on presence of items on showWindow
  * Set sourceSize to prevent blurry rerendering of svg source in activityIcon
  * Removed visibility workaround
  * Adapted currentId logic for activity fetching to new API (should fix endless fetch bug)
  * Inclusion of possible 'notification' type descriptions in activity
  * Fix hover property wrongly placed in button, not MouseArea

  [ Michael Schuster ]
  * Add Activity date and time
  * Notifications bug fix: Don't init ETag response header with *
  * AccountState: Add helper to find navigation App
  * Limit fetching Activities to 100 or max. 30 days old
  * Add grey hint Activity entry if limit is reached

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Code maintenance - correct some syntax, fix some warnings.

  [ Michael Schuster ]
  * More code maintenance
  * JsonApiJob: Add method usePOST to allow anonymous POST requests
  * Add support for the directEditing capability
  * Share context menu: Use directEditing capability in SocketApi
  * Linux AppImage build script: Use QtKeyChain master
  * Linux AppImage build script: Add QML dir for new 2.7 Tray menu
  * Bump version year to 2020

  [ Dominique Fuchs ]
  * Cleanup/Removal/Adaption/Update to resource files and crresponding code, esp. regarding svg usage
  * Re-add unintentionaly deleted files
  * add missing resource include for add.svg

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Testing fix for qmldir import with linuxdeployqt AppImage by correcting source path

  [ István Váradi ]
  * Qt 5.5 compatibility ifdef

  [ Dominique Fuchs ]
  * Fix crash on start without any accounts

  [ Michael Schuster ]
  * Tray menu: Only show time ago (view too noisy)

  [ Dominique Fuchs ]
  * Introduced Style module
  * Module styling also for UserLine.qml

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fix wrong window position on some linux DEs - worked around invalid geometry() returned by QT

  [ Julius Härtl ]
  * Use system proxy by default if no config file is present

  [ Dominique Fuchs ]
  * Fix also screen selection for different Qt versions and for buggy linux DEs
  * Rewrite of screen selection logic, plus synamic screen selection Window.qml

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Roeland Jago Douma ]
  * Do not save notes on text change
  * Am empty note is not a valid note

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Andre-Schuiki ]
  * Update autoupdate.rst

  [ rakekniven ]
  * Changed product name to Nextcloud

  [ Corentin Noël ]
  * Make sure that the libcloudprovider integration is using a valid D-Bus path

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Do not install files related to cloud providers under Xenial

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Corentin Noël ]
  * Start the client in background if activated by D-Bus

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Fix wrong encoding when specifying extra header with if-match path

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * l10n: Changed spelling of "user name" to "username"

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ rakekniven ]
  * l10n: Triple dot to ellipsis
  * Triple dot to ellipsis
  * l10n: Triple dot to ellipsis
  * l10n: Triple dot to ellipsis
  * l10n: Changed grammar

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Add UserInfo class and fetch quota via API instead of PropfindJob
  * Code cleanup
  * Fix Tests linkage (missed UserInfo.cpp in CMakeLists.txt)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Updater: Add query-parameter 'updatesegment' to the update check

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Max Rees ]
  * Fix cmake inclusion of Qml and Quick

  [ rakekniven ]
  * l10n: Change case of one word
  * l10n: Removed blank before colon
  * l10n: Removed colon from translation
  * l10n: Change spelling of "webdav"

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Fix Explorer integration re-save (fixes issue #1807)
  * Fix Explorer integration: Hide option on non-Windows

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * owncloudsetuppage.cpp: also rename client/theme/lock-http(s) PNGs to SVG
  * owncloudsetuppage.cpp: adapt to string change from master: url -> URL
  * further resource cleanup: remove theme/settings@2x.png

  [ XNG ]
  * Disable http2 for now due to Qt bug

  [ Michael Schuster ]
  * Fix build with older Qt: Disable http2 for now due to Qt bug, add env var (upstream)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Bruno Perel ]
  * Fix git merge hiccup

  [ Michael Schuster ]
  * Fix MSVC warnings: Missing return value, cast type

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * WebFlowCredentials: Make username comparison case-insensitive (fix #1741)
  * Fix Explorer pinning: Add fallbacks for Shell commands (fixes #1599)

  [ Christian Kamm ]
  * Windows: Fix context menu handling only own verbs #7004

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Added build for Focal

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Roeland Jago Douma ]
  * Allow sharing to circles

  [ cclauss ]
  * Use print() function in both Python 2 and Python 3

  [ István Váradi ]
  * Added Focal-specific files

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Add missing --version parameter to help screen
  * Version parameter: Show Qt platform plugin, OS and CPU arch
  * Settings dialog About section: Show minimal version info
  * Settings dialog: Move detailed version info from About section to Legal notice dialog

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Fix Legal notice dialog: Correct title and header font
  * Updater UI: Implement auto-update option and update button
  * Fix OCUpdater: Also change status on network error or invalid XML
  * Updater: Add CMake option BUILD_UPDATER to make the updater optional

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Updater: Fix Tests build (failed with BUILD_UPDATER=NO)
  * WebView: Add missing Q_OBJECT macros

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Provide specific install file for Debian oldstable

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Add desktop-entry hint to notifications
  * Remove timeout parameter from showMessage
  * Use qEnvironmentVariableIsEmpty
  * Fix container detaching
  * [dolphin] Add icon to context menu
  * [dolphin] Don't manually create menuAction

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * [dolphin] Fix overlays when filename has a colon

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Use QQmlApplicationEngine
  * Use override

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Generate more unique and ordered version numbers for Debian builds
  * Generate alpha, beta and stable versions

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Tim Klocke ]
  * CloudProviders: Don't clear the _recentMenu pointer
  * CloudProviders: Use absolute path in dbus file

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Use LINUX_APPLICATION_ID

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * [dolphin] Use CMake env vars for App Name and Icon strings

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Fix build of Dolphin integration

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Qt 5.5 compatibility #ifdef

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Implemented share functionality in tray window and changed actions / button logic.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Remove Ubuntu Disco, add Groovy
  * Add Groovy-specific files

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Added share icon from nc server repo, changed corresp. btn icon

  [ István Váradi ]
  * Change Debian build to the new more Debian-y way
  * Allow specifying the base commit and version in the configuration file
  * Add Groovy build

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Daniel Vedder ]
  * Resolve symlinks when checking for registered paths.
  * Fixed symlink resolution for menu items.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Remove unnecessary Debian build files

  [ Camila San ]
  * Update ChangeLog with 2.6 series.

  [ Sandro Knauß ]
  * Fix typos.

  [ Michael Schuster ]
  * Drone: Remove CI builds for Qt 5.7 and 5.8

  [ Kevin Ottens ]
  * Force the default QQC2 style

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Indicate this is a dialog and not a regular window

  [ István Váradi ]
  * Do not build for Xenial anymore.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Fix leak in FileUtil::IsChildFile
  * Don't silently kill debug messages

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Stop supporting Qt older than 5.12

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Properly handle denormalized href
  * Remove useless virtual, better use override only

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Make sanitizer options more fine-grained
  * Add -fno-sanitize=vptr for SANITIZE_UNDEFINED=ON

  [ Kevin Ottens ]
  * Remove now unused files

  [ Reinhold Gschweicher ]
  * Update github links to desktop repository

  [ Dominique Fuchs ]
  * Code cleanup and this-> removals.
  * Removed publiclink param and corresponding if branch.
  * More code cleanupand style-preference adjustments.

  [ Kevin Ottens ]
  * Use nullptr when appropriate

  [ Michael Schuster ]
  * Use the default parameter: QUrl::path(QUrl::PrettyDecoded = 0x000000)

  [ Kevin Ottens ]
  * Use auto to avoiding repeating type names

  [ Michael Schuster ]
  * Fix spacing

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Don't use int literals for bools

  [ Stephan Beyer ]
  * Remove unused member in OCC::FolderDefinition
  * Use default member initializers in OCC::FolderDefinition
  * Fix leak in CloudProviderWrapper
  * Fix leak in CloudProviderManager
  * Fix leak in Systray
  * Fix leak in OCC::AccountManager stub for FolderManTest
  * Use default member initializers in OCC::SyncJournalDb sub-structs
  * Use default member initializers in OCC::SyncJournalErrorBlacklistRecord
  * Use default member initializers in OCC::FolderStatusModel sub-structs

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Do not build master for distributions without Qt 5.12

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Change vertical size policy of URL input field in wizard
  * Show URL placeholder hint in wizard
  * Replace "https://..." hint by "https://host:port"

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Get rid of redundant parentheses
  * Remove redundant initializer
  * Use using instead of typedef
  * Remove redundant void argument list
  * Use make_unique when appropriate
  * Use = default for trivial ctors and dtors
  * Use raw string literals when appropriate

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Use the return braced init list pattern
  * testLaunchOnStartup shouldn't fail on dev setup
  * Upgrade to the latest client image
  * Run clang-tidy from the 5.12-clang pipeline

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Add a GitHub Action to easily rebase PRs
  * Remove the last redundant void arg I left behind
  * Try to fix the rebase action

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * ShareDialog: Fix crash, properly init member pointers
  * ShareDialog: Add further checks for the _manager member ptr
  * ShareDialog: Pointer cosmetics

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Remove Submodule binary (old upstream binaries)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Ivan Čukić ]
  * Fixing memory leaks in the encryption module
  * Introduced RAII classes for other OpenSSL resources
  * Show a broken lock icon for unencrypted subdirectory

  [ Kevin Ottens ]
  * Show broken encryption icon only in non-empty folders

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila San ]
  * Do not declare local variables without an initial value.

  [ Kevin Ottens ]
  * Add missing auto opportunities
  * Use default member init when applicable

  [ shile ]
  * Add install instructions for nextcloudcmd

  [ Kevin Ottens ]
  * Cleanup the missing braced init list returns

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Add some more make_unique calls

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Rename rebase.yaml to rebase.yml for consistency

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Fix Qt 5.15.0 build error (missing include)

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Improve command line version info and help display to streamline gui and cmd
  * macOS: Use macdeployqt instead of the old admin/osx/macdeployqt.py

  [ Dominique Fuchs ]
  * Copy nextcloudcmd post-build instead of macdeployqt when building macOS bundle

  [ Michael Schuster ]
  * macOS: Build nextcloudcmd after gui and run macdeployqt with the -executable option
  * macOS: Opt In to Dark Mode for building against older macOS SDKs < 10.14

  [ Roeland Jago Douma ]
  * Don't show a message box if the entered url returned an error

  [ Nicolas Fella ]
  * Use APPLICATION_ICON_NAME for autostart icon

  [ Stephan Beyer ]
  * Replace NULL by nullptr in all C++ files

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Change width of app menu
  * Fix crash on opening unconfigured local folder
  * Hide openLocalFolderButton if no local folder is configured
  * Replace prefixing of paths with file:// by QUrl::fromLocalFile()

  [ Rick van der Zwet ]
  * Change default autostart to hide gui

  [ Michael Schuster ]
  * Fix nullptr regression in RegistryUtil::ReadRegistry

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Simplify nullptr comparisons where appropriate

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Marcin Wilk ]
  * Add photothumb.db to sync-exclude.lst

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Major multi monitor improvements and rewrite of tray window positioning
  * More simplifications, also transfer of more tray positioning logic to C++ backend.

  [ Kevin Ottens ]
  * Use TaskBarPosition enum on the QML side
  * Introduce a screenRect as coordinate space
  * Rename tbOrientation into taskbarOrientation
  * Move all the position computation on the C++ side
  * Get rid of screenIndex
  * Make the reference point independent of the window
  * Try make taskbar position heuristic more readable

  [ Michael Schuster ]
  * Remove Submodule qtmacgoodies again
  * Fix crash caused by setting Tray window screen pointer on the QML side

  [ Kevin Ottens ]
  * Add some debug output for the window placement

  [ Nicolas Fella ]
  * Create HeaderButton QML component

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Nicolas Fella ]
  * Port from context properties to singletons
  * Use properties to get user details

  [ Kevin Ottens ]
  * Close all menus on window show
  * Don't duplicate file name in the info line
  * Don't use a weirdly truncated icon size for header buttons
  * Don't use a bright blue color for menus
  * Make activity items with a link clickable
  * Don't call method on potentially null object

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Also show the window on right click
  * Bring forward the main systray dialog on second execution

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Roeland Jago Douma ]
  * Move the proxyfiles to libsync where they make more sense

  [ Michael Schuster ]
  * Improve proxy logging: Log type string instead of abstract ID
  * Fix libsync exports for proxy changes in #1886

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Darken menu border color
  * Make sure the menu separator uses Style.menuBorder color

  [ Michael Schuster ]
  * Fix issue #2108: Default system proxy not working with Account Wizard

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Let Systray constructor call its base class constructor
  * Fix SEGV (by circular ownership) at exit
  * Make Systray's _trayEngine a QPointer

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Fix crash in UserModel::currentUser() and add more sanity checks

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Simplify tray window positioning
  * Hide Systray's auxiliary positioning methods from public and Qml

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Capture the pointer to info by value
  * Fix typo
  * Don't show the encrypt action in subfolders of encrypted folders
  * Fix typo
  * Fix typo
  * Get ClientSideEncryption to notify when folder info fetch is done
  * Use the propagator to trigger the e2e info fetch
  * Move the encrypt folder logic in a reusable job class
  * Mark user strings for translation
  * Make PropagateUploadEncrypted reusable in a directory context
  * Finally encrypt subdirectories during sync
  * Ensure GetFolderEncryptStatusJob gets all the folders
  * Use QHash instead of QMap
  * Assume that folder paths can be mangled
  * Display folder names demangled in the settings
  * Stop leaking PropagateDownloadEncrypted objects
  * Update the item even if we don't call decryptFile()
  * Take care of mangled paths on download as well
  * Fix parenting issues of PropagateUploadEncrypted

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Valdnet ]
  * Delete a space character
  * Change the space character to a dot

  [ Dominik Schmidt ]
  * Make qFatal() trigger the crash reporter on Windows
  * Make -logfile - work on Windows

  [ Kevin Ottens ]
  * Properly guard io.h since it is Windows only

  [ Christian Kamm ]
  * LogDir: Compress last logfile on restart

  [ Hannah von Reth ]
  * Print critical and fatal messages to stderr
  * [Logger] Correctly handle message priority

  [ Olivier Goffart ]
  * Logger: Remove the thread pointer from the log.

  [ Hannah von Reth ]
  * [Logger] Ensure errors are also printed to an attached console
  * [Logger] Ensure log file is flushed before crash

  [ Kevin Ottens ]
  * Repair the log message pattern
  * Make sure all our logging categories start with nextcloud.
  * Have a filter rule capturing all of nextcloud debug
  * Allow to control log debug from the config file
  * Allow to control logExpire from the config file
  * Allow to control logDir from the config file
  * Allow to control logFlush from the config file
  * Always use an absolute remote path for GetFolderEncryptStatusJob
  * Better separate between absolute and relative paths on downloads
  * Better separate between absolute and relative paths on uploads
  * Also check on mangled names when cleaning up the journal
  * Also use mangled paths when looking for entries below a path
  * Deal properly with encrypted item updates accross connections
  * Properly display encryption status for non root folder connection
  * Reduce interaction with e2ee folders when in the wizard
  * Move PropagateUpload ctor impl to the cpp file
  * Override parallelism() for uploads
  * Avoid job parallelism when uploading to an encrypted folder

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Camila ]
  * Fix #2085 new tray menu.
  * Don't display quota information when the user has no quota.

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Split the discovery phase out of startSync()
  * Move the e2e information fetch even earlier
  * Also deliver the encrypted status via the ClientEncryption signal
  * Add isE2eEncrypted column in the metadata table
  * Update the metadata table with encryption info before discovery
  * Make sure moves involving e2e are delete + upload

  [ asemmar ]
  * fixed bad spelling of word 'retreive' except in sqlite dependancy
  * forgot some indent

  [ Dominique Fuchs ]
  * Fix hover cutoff in apps menu

  [ Kevin Ottens ]
  * Fix the hover for the other menu items

  [ Michael Schuster ]
  * Move QKeychain::NoBackendAvailable error handling to KeychainChunk class
  * Move KeychainChunk class from gui to libsync
  * KeychainChunk: Add synchronous method startAwait()
  * ConfigFile security: Migrate Proxy password to keychain
  * Refactor ProxyAuthHandler to use QEventLoop
  * Refactor KeychainChunk to use QEventLoop and add DeleteJob class
  * Keychain: Use auto deletion in WebFlowCredentials and ConfigFile
  * ProxyAuthHandler: Add template member function execAwait to avoid code duplication
  * Cleanup auto pointers and qobject casts, refactor KeychainChunk

  [ Kevin Ottens ]
  * Reach out to the contentItem inside of the ListView to find the width

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Set maximum height of account and app menu

  [ Kevin Ottens ]
  * No need to compute base at each loop run
  * Decode the href from the XML payload
  * Handle properly null avatar

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Adjust to makeDbName returning an absolute path

  [ Stephan Beyer ]
  * Simplify clang-tidy invocation for Drone
  * Filter clang-tidy output on Drone for errors
  * Use more auto in folderstatusdelegate.cpp
  * Use default member init for PKeyCtx::_ctx and PKey::_pkey
  * Remove redundant initialization of SyncFileStatus::_shared attribute
  * Remove redundant initialization of HttpCredentials::_keychainMigration
  * Remove redundant initialization of ElidedLabel::_elideMode
  * Make csync_file_stat_s::isE2eEncrypted a bitfield
  * Use braced initializer list for returns in Systray::taskbarGeometry()

  [ Camila ]
  * Display the correct default permissions when creating a share.
  * Share link display the correct permissions for files and folders.
  * Fix text in the permissions menu for share link.

  [ Kevin Ottens ]
  * E2EE RFC has been updated to use e2e-token instead of token
  * Allow to pass extraHeaders to a path based MkColJob
  * Pass the e2e-token for encrypted MKCOL
  * Pass e2e-token to PropagateUpload subjobs
  * Use the encrypted path for collection listing
  * Compare the unencrypted filename with the originalName
  * Stop unlocking from within PropagateRemoteDeleteEncrypted
  * Allow to specify the e2e-token on DeleteJob
  * Unlock the folder only after we actually deleted the file
  * Prevent parallelism when deleting encrypted files
  * Change the separator in the private key
  * Recover from missing metadata on uploads
  * Properly register folder as encrypted during sync

  [ Dominique Fuchs ]
  * Prevent empty FileMap in local csync to be processed if folder not empty
  * Remove debug variable

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ István Váradi ]
  * Fetch tags for Debian build

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Move existing syncjournal db files from client ver <2.7
  * Only attempt to move if file exist
  * Fix typo, use compound assignment op

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Kevin Ottens ]
  * Make sure the tray icon point is in screen coordinates
  * Move PropagateRemoteMkdir ctor to the cpp file
  * Allow to override the parallelism
  * Disable parallelism if we think the parent is e2e
  * Update our E2E API requirement

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Update logo for 2.7
  * Update Windows installer graphics with 2.7 logo

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Jacob Neplokh ]
  * Change ownCloud reference to Nextcloud

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Dominique Fuchs ]
  * Add -no-strip cmd line arg to macdeployqt if when building with Debug profile

  [ Michael Schuster ]
  * Drone: Upload AppImage to GitHub using nextcloud-desktop-bot
  * Drone Upload: Fix if condition for master, in addition to #2213

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Fix Windows installer graphics files for 2.7

  [ Dominique Fuchs ]
  * Fixed copy/paste bug, resulting in a wrong signal ::pauseSync used instead of ::resumeSync
  * Properly set syncPause state on Systray creation when account init is done
  * Replaced Qt foreach by C++11 ranged for loop
  * Get a const auto for the FolderMap to iterate over
  * sigh, too

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Michael Schuster ]
  * Update CI for Qt 5.12.9

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

  [ Stephan Beyer ]
  * Let context menu open wizard if there are no accounts

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex
  * [tx-robot] updated from transifex

  [ Camila ]
  * Add OpacityMask to fix mouse hover on round corner.

  [ Kevin Ottens ]
  * Let Theme tell us if we're branded or not
  * Switch to for range loop
  * Branded clients have more size variety for their icons
  * Extract the svg renderer from the loop
  * Move the svg rendering part in a lambda
  * Use PNGs for branded clients

  [ Nextcloud bot ]
  * [tx-robot] updated from transifex

 -- István Váradi <ivaradi@varadiistvan.hu>  Wed, 10 Jul 2024 17:04:23 +0000

nextcloud-desktop (2.6.2-1) groovy; urgency=medium

  * New upstream release.
  * Remove upstream applied patches.
  * Update patch hunks.
  * Update 0004-sane-cmake.patch for 2.6.2.
  * Upstream actually ships gz and not xz tarballs.
  * Add Rules-Requires-Root: no.
  * Add upstream metadata file.

 -- Sandro Knauß <hefee@debian.org>  Sun, 12 Jan 2020 12:28:23 +0100

nextcloud-desktop (2.6.1-3) groovy; urgency=medium

  * Use python3-caja instead of python-caja (Closes: #945674).

 -- Sandro Knauß <hefee@debian.org>  Tue, 17 Dec 2019 22:28:22 +0100

nextcloud-desktop (2.6.1-2) groovy; urgency=medium

  [ Norbert Preining ]
  * Add upstream patch upstream_Fix_remote_wipe_keychain_storage.patch
    (Closes: #946220):
    Fix gnome-keyring-daemon swamping due to permanent rewrite of remote
    wipe password.

 -- Sandro Knauß <hefee@debian.org>  Sat, 07 Dec 2019 17:10:33 +0100

nextcloud-desktop (2.6.1-1) groovy; urgency=medium

  [ Sandro Knauß ]
  * Update depdends from python-natuilus -> python3-nautilus. (Closes: #942776)

  [ Alf Gaida ]
  * New upstream version 2.6.1
  * removed 0004-disable-git-hash-display.patch - will be superseeded
  * Make upstream cmake a bit more sane, introducing external version number
  * Fixed FTBFS in tests because of a wrong include
  * Fixed debian/rules - use newly instroduced EXTERNAL_VERSION
  * Fixed debian/watch - replaced template with package name

 -- Alf Gaida <agaida@siduction.org>  Sun, 17 Nov 2019 20:35:13 +0100

nextcloud-desktop (2.6.0-1) groovy; urgency=medium

  [ Alf Gaida ]
  * New upstream release
  * Added myself as uploader
  * Added build dependency libcloudproviders-dev (Closes: #941577)
  * Added some build dependencies for libcloudproviders:
    - appstream, needed for libcloudproviders tests
    - libdbus-1-dev
    - pkg-config
  * Added build dependency texlive-latex-base to silence cmake a bit more
  * Added gbp.conf and some comments in README.source
  * Switched dh_missing to --fail-missing and installed or removed the
    missed files

  [ Sandro Knauß ]
  * Update copyright file
  * Bump Standards version to 4.4.1 (no changes needed).

 -- Alf Gaida <agaida@siduction.org>  Thu, 03 Oct 2019 15:12:56 +0200

nextcloud-desktop (2.5.3-1) groovy; urgency=medium

  [ Sandro Knauß ]
  * New upstream release.
  * Make nextcloud-desktop-cmd depend on nextcloud-desktop-common.
    Thanks to Calogero Lo Leggio (Closes: #932108)
  * Remove upstream applied patches.
  * Update copyright file.
  * Bump to Debhelper-compat 12.
  * Bump Standards_Version to 4.4.0.
  * Remove useless comment
  * Fix wrong path in copyright file.

 -- Sandro Knauß <hefee@debian.org>  Thu, 29 Aug 2019 20:15:33 +0200

nextcloud-desktop (2.5.1-3) groovy; urgency=medium

  * Fix "Subfolders of moved folders not synced" (Closes: #929079)
    Added 0005-Fixed-Issue-1000-Subfolders-of-moved-folders-not-syn.patch

 -- Sandro Knauß <hefee@debian.org>  Thu, 16 May 2019 16:14:50 +0200

nextcloud-desktop (2.5.1-2) groovy; urgency=medium

  [ Adrian Heine ]
  * Fix VCS urls

  [ Louis-Philippe Véronneau ]
  * Add man page (Closes: #921344)

 -- Sandro Knauß <hefee@debian.org>  Tue, 12 Feb 2019 23:54:02 +0100

nextcloud-desktop (2.5.1-1) groovy; urgency=medium

  * Initial release (Closes: #847613)

 -- Sandro Knauß <hefee@debian.org>  Tue, 15 Jan 2019 22:32:03 +0100
