Releases: ehstbr/PyNextCloud-Sync
Release list
v0.1.17
PyNextCloud Sync 0.1.17
This release fixes the positioning of automatic update notifications and simplifies the actions displayed when a mandatory update is available.
Released: August 9, 2026 at 02:50 UTC
Release type: Optional update
Main Fixes
- Fixed automatic update notifications that could open on another monitor at the upper-left corner of the desktop.
- The notification now waits until the main window has been fully mapped before being created.
- The update window is created with the main window already assigned as its transient parent, ensuring correct centering under GNOME and Wayland.
- Removed the late window reassignment that caused incorrect positioning in multi-monitor environments.
- Notifications initially created during tray-only startup are recreated correctly when the main window is opened.
- The correctly centered behavior of manual checks from the About window remains unchanged.
- Primary update actions remain visible above the scrollable release details.
Mandatory Updates
The mandatory-update interface has been simplified.
When a release is marked as mandatory, only the following actions are displayed:
- Download New Version
- Close Application
The Not Now action is available exclusively for optional updates. A version blocked because of a critical problem cannot continue running its synchronization services.
The download action opens the newest release directly:
https://github.com/ehstbr/PyNextCloud-Sync/releases/latest
Updated Documentation
The project documentation now includes screenshots of both update modes:
- optional update notification;
- mandatory update notification.
The screenshots are included in the English and Brazilian Portuguese README galleries.
Download and Installation
Download the .deb package attached to this release and run:
sudo apt install ./pynextcloud-sync_0.1.17_all.debThe installer safely closes an older running instance and reopens the updated application when required.
Release Files
pynextcloud-sync_0.1.17_all.deb— installation package for Debian, Ubuntu, and compatible distributions.PyNextCloud-Sync-0.1.17.zip— complete source code, including the update-window screenshots.PyNextCloud-Sync-0.1.17-changed-files.zip— the 26 files added or modified since version0.1.16.
Validation
- 111 automated tests passed.
- Added behavioral tests for unmapped, already mapped, replaced, and temporarily unmapped parent windows.
- The content installed by the Debian package was inspected and verified.
- The complete ZIP was tested after extraction into a clean directory.
- The two documentation screenshots were verified for integrity.
- Reproducible builds were confirmed for the complete and changed-files ZIP packages.
SHA-256
DEB:
5d687cb3bb9a81f09f26a265bf4023af4c16495a955f00f41254a4773f90a208
Full source ZIP:
8491bdfec4f97a75dde926e4bc76a26ca514d4472fe8d71f170d5a16e3a9951e
Changed-files ZIP:
1aa4ec74624296f79de209a1350ae43e4911e48a2b38921ca186fac23906c01e
v0.1.15
PyNextCloud Sync 0.1.15
This release introduces a centralized update-checking system that can notify users about new versions and block releases marked as critical or unsafe.
Released: August 9, 2026 at 01:51 UTC
Release type: Optional update
Main Features
- Automatic update check whenever the application starts.
- Optional updates are displayed without interrupting normal application use.
- Mandatory updates prevent the synchronization runtime from starting.
- Added a Check for Updates action to the About window.
- Correct version comparison using Semantic Versioning.
- Added a centralized
version.jsonmanifest to the repository root. - Release date and time are displayed in UTC.
- Safe handling of connection failures, unavailable GitHub services, and invalid manifests.
New Update Window
Update notifications now use a dedicated GTK 4 and Libadwaita window consistent with the GNOME interface.
The window displays:
- the currently installed version;
- the newest available version;
- the release date and time;
- whether the update is optional or mandatory;
- a summary of the main changes;
- a complete changelog inside an expandable section;
- direct access to the official GitHub Releases page.
All remote content is handled as plain text. Remote HTML or markup is not interpreted or executed.
Mandatory Updates
A release can be marked as mandatory when an older version is affected by issues such as:
- possible data loss;
- critical synchronization failures;
- security vulnerabilities;
- serious Nextcloud integration problems.
When a mandatory update is detected, the synchronization runtime, inotify, timers, and notify_push remain disabled. The user can access the official Releases page or close the application.
If GitHub is unavailable or the update check fails because of a connection problem, the application continues its normal startup.
Version Manifest
The new version.json manifest includes:
- the latest available version;
- the mandatory-update indicator;
- the publication date and time in UTC;
- a short release summary;
- the complete changelog;
- the manifest schema version.
Before being used, the manifest is validated for structure, required fields, Semantic Versioning, maximum size, and ISO 8601 UTC date format.
Update requests use a bounded download size, an eight-second timeout, and no-cache headers.
Download and Installation
Download the .deb package attached to this release and run:
sudo apt install ./pynextcloud-sync_0.1.15_all.debRelease Files
pynextcloud-sync_0.1.15_all.deb— installation package for Debian, Ubuntu, and compatible distributions.PyNextCloud-Sync-0.1.15.zip— complete source code.PyNextCloud-Sync-0.1.15-changed-files.zip— the 28 files added or modified since version0.1.14.
Validation
- 104 automated tests passed.
- Automatic and manual update-checking flows were validated.
- Semantic Versioning and manifest-validation scenarios are covered by automated tests.
- The Debian package and complete source ZIP were built reproducibly.
- Internal Debian package checksums were verified.
- The version manifest is included in both the source package and installed application.
SHA-256
DEB:
f04ee7a1935b826deddae9d65f1bbb3de0792538d1f95da030277a2fb798c961
Full source ZIP:
a7dc9edb283e3949c71cccbebd6288d2eae6a77ebc2a6a1ad9fa535af7894710
Changed-files ZIP:
df4f9c01fd61611c44df7eec2b4070d344772222ef88715671851043f87101a4
v0.1.14
PyNextCloud Sync 0.1.14
This release introduces a protected first-synchronization workflow and a persistent safety system designed to prevent unexpected local problems from propagating destructive changes to Nextcloud.
Released: August 8, 2026
Release type: Safety-focused update
Protected First Synchronization
The application no longer starts normal bidirectional synchronization immediately after connecting an account.
Instead, it creates a new private staging folder and downloads a fresh snapshot of the server tree. This prevents an old or unrelated .sync_*.db database in the selected local folder from being silently reused.
Before normal synchronization is enabled, the application analyzes and presents:
- files available only on the computer;
- files available only on Nextcloud;
- identical files;
- files with different contents;
- file-versus-folder conflicts.
The user can review the result before any final merge is performed.
Conflict Handling
Four conflict-handling policies are now available:
- preserve both versions, keeping the newest version at the original path;
- give priority to the Nextcloud version;
- give priority to the computer version;
- review every conflict individually.
When one version is not selected as the primary file, it is preserved under a clearly identified dated filename instead of being silently discarded.
Safe Upgrade from Version 0.1.13
Existing installations upgraded from version 0.1.13 start in a paused state.
Automatic triggers, timers, inotify, notify_push, and nextcloudcmd remain disabled until the protected review is completed and a new verified safety baseline has been created.
This pause is intentional and prevents an existing installation from resuming bidirectional synchronization before its local and remote trees have been reviewed.
Existing synchronization databases are archived outside the synchronized tree. They are never silently deleted or reused during initialization.
Deletion Safety Guard
The application now maintains a persistent manifest of the last verified synchronization state.
Synchronization is blocked before nextcloudcmd starts when the configured local folder:
- disappears;
- becomes unreadable;
- appears to have been replaced or remounted;
- unexpectedly becomes empty;
- loses its synchronization database;
- suddenly loses too many previously synchronized files.
The user can then:
- remain paused and investigate the problem;
- restore the local tree from Nextcloud;
- explicitly approve intentional deletions for one synchronization.
File-count and percentage thresholds can be configured in the application settings. Missing, replaced, empty, or unreadable folders always require review regardless of those thresholds.
Additional Improvements
- Added warning states to the main window and tray menu.
- Added desktop notifications for blocked synchronization.
- Preserved the credential, GNOME integration, translation, low-memory interface, and Debian upgrade improvements from version
0.1.13.
Download and Installation
Download the .deb package attached to this release and run:
sudo apt install ./pynextcloud-sync_0.1.14_all.debAfter upgrading from 0.1.13, open the application and complete the protected initialization review before automatic synchronization can resume.
Release Files
pynextcloud-sync_0.1.14_all.deb— installation package for Debian, Ubuntu, and compatible distributions.PyNextCloud-Sync-0.1.14.zip— complete source code.PyNextCloud-Sync-0.1.14-changed-files.zip— the 34 files added or modified since version0.1.13.
Validation
- 89 automated tests passed.
- First synchronization remains paused until the protected review is completed.
- Existing synchronization databases are archived rather than reused or silently removed.
- Safety conditions are evaluated before the bidirectional synchronization engine starts.
SHA-256
DEB:
89035f38697cea9f5b9f893ac6874573e9bf3a86497cf98d6426751fe35bffc3
Full source ZIP:
44ea61de72cb32ea531b54b3ec33d5e63d3d9faf5c535cbab73ac13ec2eceaaa
Changed-files ZIP:
9f5cac8cb81899956dd52de48638ed1a2e0c0d0b09c0629e7b074cd1ee2ba272
v0.1.13
PyNextCloud Sync 0.1.13
Version 0.1.13 fixes credential access when the GNOME session is started using fingerprint authentication.
Fixed: GNOME Keyring after biometric login
When signing in using a fingerprint, GNOME may leave the default Login keyring locked because the login password was not entered. Previous versions attempted to find the Nextcloud credential before explicitly unlocking this collection. In this situation, the Secret Service could return no matching items, causing the application to incorrectly report that no credential was stored.
PyNextCloud Sync now:
- locates the default GNOME password collection;
- checks whether the collection is locked;
- requests the native GNOME unlock dialog;
- waits for the collection to be unlocked;
- searches for the stored Nextcloud credential only after the unlock operation;
- starts synchronization and
notify_pushautomatically.
The keyring password is handled exclusively by GNOME. It is never received, processed, or stored by PyNextCloud Sync.
If the unlock dialog is canceled, the application remains in the Password keyring locked state instead of incorrectly reporting an account error.
Improved diagnostics
The application log now records the relevant stages of password-collection access, including:
- whether the default collection was found;
- whether it was locked;
- whether an unlock request was initiated;
- whether the collection was successfully unlocked;
- whether the credential search returned a matching item.
Passwords and other sensitive credential data are never written to the log.
Other updates
- Updated changelog and version information.
- Updated About window, AppStream data, Debian metadata, documentation, and translations.
- Retained the safe Debian upgrade process introduced in previous releases, which closes the running application before replacing its files and restarts it afterward.
Installation
Download pynextcloud-sync_0.1.13_all.deb and run:
sudo apt install ./pynextcloud-sync_0.1.13_all.debTo verify the biometric-login fix, restart the computer, sign in using your fingerprint, and allow PyNextCloud Sync to start automatically. The native GNOME dialog should request the keyring password before synchronization begins.
The complete source package is available as PyNextCloud-Sync-0.1.13.zip.
Verification
This release passed 75 automated tests, including the scenario in which an initial credential search returns no items while the default collection is locked.
The final artifacts were also checked for:
- correct
for_alias_sync → unlock_sync → search_syncexecution order; - Debian package metadata and internal checksums;
- maintainer-script permissions;
- AppStream XML validity;
- reproducible builds;
- tests executed again from the extracted source ZIP.
SHA-256
DEB:
f51bdeb33438b90347f11b0126fc10b19ae0fb8d018a3270aa44022727e07617
Complete source ZIP:
cf1ebbc535bd8cf641cef27a765c3f8cf38c1eaab9816699d6a0c68445c94112
Changed files ZIP:
3c8d8b5f5560e188c6f53c6d12e89a2df48270e1bfb3285fc2b4dd138eb7956e
Important notice
PyNextCloud Sync performs bidirectional synchronization. Changes and deletions may be propagated between the computer and the Nextcloud server.
Always maintain an independent backup of important data. See the complete [Terms of Use](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/TERMS.md).
Links
- [Website](https://eduhcommerce.com.br)
- [Source code](https://github.com/ehstbr/PyNextCloud-Sync)
- [Report an issue](https://github.com/ehstbr/PyNextCloud-Sync/issues)
- [Changelog](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/CHANGELOG.md)
- [Third-party projects and licenses](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/THIRD-PARTY.md)
PyNextCloud Sync is distributed under the [MIT License](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/LICENSE).
Nextcloud is a trademark of Nextcloud GmbH. PyNextCloud Sync is an independent, unofficial project and is not affiliated with, endorsed by, or sponsored by Nextcloud GmbH.
v0.1.12
PyNextCloud Sync 0.1.12
Version 0.1.12 improves GNOME Keyring handling after biometric login and introduces a safer Debian upgrade process that can close and restart the application automatically.
What’s new
GNOME Keyring and biometric login
- The application now displays the native GNOME Keyring unlock prompt when the desktop session was opened using fingerprint authentication.
- A locked keyring is no longer incorrectly reported as a Nextcloud account problem.
- Canceling the unlock prompt keeps the account in the Password keyring locked state without repeatedly displaying the dialog.
- Automatic synchronization events remain queued while the keyring is locked.
- The Unlock password keyring action now performs an actual unlock request.
- Synchronization and
notify_pushresume automatically after the keyring is unlocked. - The keyring password remains handled exclusively by GNOME and is never received by PyNextCloud Sync.
Safer Debian upgrades
When upgrading with the application running, the Debian package now:
- detects the active PyNextCloud Sync instance directly in the user’s D-Bus session;
- requests a normal application shutdown;
- waits for any synchronization currently in progress to finish;
- confirms that the previous instance has actually exited;
- stops the upgrade with a visible error if a safe shutdown cannot be completed;
- installs the updated files;
- restarts the application automatically in the same user session.
No forced process termination is used.
This release also updates the changelog, About window, Debian metadata, AppStream information, documentation, and translations.
Installation
Download pynextcloud-sync_0.1.12_all.deb and run:
sudo apt install ./pynextcloud-sync_0.1.12_all.debThe application may remain open during the upgrade. The installer will safely close and restart it when a supported graphical user session is available.
The complete source package is available as PyNextCloud-Sync-0.1.12.zip.
Verification
This release passed 73 automated tests, including tests executed again from the extracted source ZIP.
The final artifacts were also validated for:
- Debian package metadata and internal checksums;
- maintainer-script permissions and behavior;
- AppStream XML validity;
- exact contents of the complete and changed-files ZIP packages;
- reproducible builds across two independent package runs.
SHA-256:
DEB: 20e7032d2e203e957db52783b2098ec891decfd0f68eb59b39c64fe48555d72a
ZIP: eb15e8fc4480b09bdb692607e877bfd887031a412c343774cc1b1a7924697100
Changed files ZIP: 15c4748141718a381d8372e199279c2eb76430c489e026f3f90396bda4d75b71
Important notice
PyNextCloud Sync performs bidirectional synchronization. Changes and deletions may be propagated between the computer and the Nextcloud server.
Always maintain an independent backup of important data. See the complete [Terms of Use](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/TERMS.md).
Links
- [Website](https://eduhcommerce.com.br)
- [Source code](https://github.com/ehstbr/PyNextCloud-Sync)
- [Report an issue](https://github.com/ehstbr/PyNextCloud-Sync/issues)
- [Changelog](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/CHANGELOG.md)
- [Third-party projects and licenses](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/THIRD-PARTY.md)
PyNextCloud Sync is distributed under the [MIT License](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/LICENSE).
Nextcloud is a trademark of Nextcloud GmbH. PyNextCloud Sync is an independent, unofficial project and is not affiliated with, endorsed by, or sponsored by Nextcloud GmbH.
v0.1.9
PyNextCloud Sync 0.1.9
A lightweight, GNOME-focused desktop client for synchronizing an entire Nextcloud account with a local folder using the official nextcloudcmd client.
Version 0.1.9 improves native integration with GNOME Files, updates all official project links, and delivers a clean, documented package ready for public distribution.
What’s new
- Native bookmark in the GNOME Files (Nautilus) sidebar.
- Optional shortcut on the Desktop.
- Custom folder icon identifying the synchronized directory.
- Independent settings for the Nautilus bookmark, Desktop shortcut, and custom icon.
- Removing the bookmark directly in Nautilus is automatically reflected in the application settings.
- Existing Nautilus bookmarks and Desktop files are preserved.
- Removing an account cleans up its shortcuts without deleting the synchronized folder or its contents.
- Updated website, source code, issue tracker, and changelog links.
- New bilingual documentation in English and Brazilian Portuguese.
- Added Terms of Use and third-party project acknowledgements.
- Added screenshots and improved GitHub presentation.
Core features
- Browser-based authentication or manual server credentials.
- Full-account bidirectional synchronization.
- Local change detection using
inotify. - Periodic safety synchronization for remote changes.
- Optional support for Nextcloud
notify_push. - Pause, resume, synchronize now, and activity log.
- System tray integration.
- Native GNOME interface built with GTK and Libadwaita.
- Interface available in English, Brazilian Portuguese, and Spanish.
- Passwords stored securely through the system keyring.
Installation
Download pynextcloud-sync_0.1.9_all.deb and run:
sudo apt install ./pynextcloud-sync_0.1.9_all.debIf a previous version is running, quit it from the system tray before installing the update.
The source package is available as PyNextCloud-Sync-0.1.9.zip.
Compatibility
Currently tested with [Nextcloud Hub 26 Spring](https://nextcloud.com/) (34.0.1) using a Nextcloud AIO deployment.
Compatibility with future Nextcloud, GNOME, GTK, or Linux distribution releases is not guaranteed.
Verification
SHA-256:
DEB: 20de53876a9b2749d24d98b57ed0990d4f17e78ba99a960c3c68301b31b7e5d2
ZIP: 44089114bd0f0ce748d47cdba516e1ae5cf88838ec6097339bf7843e9f70301a
This release passed 63 automated tests, including validation of the final DEB and extracted source ZIP. The packages were also verified for reproducible builds.
Important notice
PyNextCloud Sync performs bidirectional synchronization. Changes and deletions may be propagated between the computer and the server.
Use this software at your own risk and always maintain an independent backup of important data. The authors and contributors are not responsible for lost, deleted, overwritten, or corrupted files, service interruptions, or any other direct or indirect damages resulting from its use.
See [TERMS.md](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/TERMS.md) for the complete Terms of Use.
Links
- [Website](https://eduhcommerce.com.br)
- [Source code](https://github.com/ehstbr/PyNextCloud-Sync)
- [Report an issue](https://github.com/ehstbr/PyNextCloud-Sync/issues)
- [Changelog](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/CHANGELOG.md)
- [Third-party projects and licenses](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/THIRD-PARTY.md)
PyNextCloud Sync is distributed under the [MIT License](https://github.com/ehstbr/PyNextCloud-Sync/blob/main/LICENSE).
Nextcloud is a trademark of Nextcloud GmbH. PyNextCloud Sync is an independent, unofficial project and is not affiliated with, endorsed by, or sponsored by Nextcloud GmbH.