Version 2.7.7

Version 2.7.7 (build 168) - not yet released

There will be a rc in a few days. All changes in code since version 2.7.6 can be viewed here - xxx commits to main since this release.

The release is scheduled for late November or early December. I personally utilize this version daily and frequently compile new versions when there are code updates. Additionally, I employ AI tools such as Claude Code and GitHub Copilot to assist me in coding. While these tools are valuable resources, they occasionally encounter challenges in producing code that functions as intended.

The development of the next version has commenced. While there are no new features yet, the internal code is undergoing refactoring. Two minor, but crucial objects are being refactored as Swift Package Manager (SPM) objects. Refactoring to SPM isolates the code, making it easier to test. The two final objects to be refactored are responsible for executing tasks, such as the actual rsync command with arguments outside of RsyncUI. Both objects listen for output from the tasks and the termination signal. If they fail, RsyncUI also fails.

Continue concealing distractions

I am currently working on concealing even more distractions, and the next one will be located on the main toolbar. By utilizing the shortcut ⌘S (for displaying or concealing) or by accessing the Task main menu, the Charts and Quick task will be presented. It is concealed by default. To reveal it, simply toggle the show or hide option using the shortcut.

Internal refactor

A few internal refactors have been implemented. One notable refactor involves converting critical code to Swift Package Manager (SPM). This refactor offers several significant benefits, including the isolation and utilization of Swift Testing for testing the isolated code. Additionally, there are other refactors and ideas that have emerged from reading blogs about Swift, which I follow.

Bugs

I have also fixed a bug in the Charts. The bug may cause RsyncUI to crash.

Swift Packages

The two last SPM are RsyncProcess and ProcessCommand. The test cases for the last two SPM are in development.

Main Repository

Local RsyncUI packages (by SPM)

SPM makes it easy to create local packages. And each package containes their own tests by Swift Testing, the new framwork for creating tests. All packages are created by me.