Repository navigation
Releases: the-beper/KuickShare
Release list
1.3.2
What's Changed
- When an update is installed while KuickShare is running (Flatpak or AppImage) and its window is open, a banner now offers a Restart button that opens the new version. The button is disabled during a transfer.
- Device discovery uses mdns-sd from crates.io instead of a fork, and dependencies are updated.
- The AppImage build uses a newer quick-sharun (sharun 3.7.1).
Full Changelog: v1.3.1...1.3.2
1.3.1
What's Changed
- After an update is installed under a running instance (Flatpak or AppImage), the new version now replaces the old one when the window closes, every 30 seconds while waiting, and when you open the window from the tray icon or its "Open KuickShare" entry. The tray open starts the new version with its window instead of reopening the old one. No update is applied while a transfer is running.
- The window is released when the app exits.
- The log now says when a Flatpak update or a replaced AppImage is detected and when the new version is started.
- Translations load through the KDE localization module.
- The AppImage includes the qt6ct, Kvantum and LXQt theme plugins. The tarball and AppImage are built in separate CI jobs, and the CI build is about 40% shorter.
- Warnings removed from the CMake, qmllint, cargo-deny, Flatpak and AppImage builds.
- License metadata. The vendored rqs_lib now declares GPL-3.0-only.
Full Changelog: v1.3.0...v1.3.1
1.3.0
What's Changed
- A search field (
Ctrl+F) matches the device name, received text and file names. Two menus show only received or sent transfers, and only transfers in progress, completed or not completed. Reset filters brings the whole list back. The filters are not saved and never change the history. - The message boxes show their icon centered, and their texts no longer end with a period.
- The default name is read from the system hostname and falls back to "Unknown device" when the hostname is empty.
- Update translations
Dependencies
KuickShare no longer uses the sys_metrics library, nor the unmaintained gcc and mach crates.
Notes
Wi-Fi Direct remains experimental and off by default
Full Changelog: v1.2.2...v1.3.0
1.2.2
What's Changed
- Starting a different version or using --replace quits the running shell, and a Flatpak or AppImage updated under itself restarts when idle (untested on a real desktop)
- The pairing dialog enables a computer only while its pairing window is open, reported by a new byte in the probe reply
- Preferences: an info box says pairing works only on the same local network
- Page changes fade in with OutCubic and without the stack's slide
Full Changelog: v1.2.1...v1.2.2
1.2.1
What's Changed
- Everything in 1.2.0
- The Send list no longer keeps stale entries of a computer whose KuickShare was restarted: a new announcement with the same address, name and type replaces the old one.
- With Wi-Fi Direct on, the refresh button of the Send list also drops the devices on the network that no longer answer, such as a phone whose Wi-Fi was turned off, instead of waiting for their announcements to expire.
- Notifications: text and links get Copy, Open link (links only) and View (opens the transfer's details); files get Open file (one file only) and Open folder. Text is detected via payload_kind, since the preview can be empty.
- rqs_lib/daemon: new saved_paths (real destination of inbound files).
- Details dialog: wider, max 3/5 of the window high, selectable text, Copy and Open link buttons.
- Toasts: no close button, click to dismiss, slide-out mirrors the entrance.
Full Changelog: v1.2.0...v1.2.1
1.2.0
What's Changed
- [EXPERIMENTAL] Send to and receive from a phone that shares no network with the computer. The new Wi-Fi Direct section of Preferences finds the phone over Bluetooth and moves the transfer to a temporary Wi-Fi link: when receiving, the computer hosts a hotspot; when sending, it joins the group the phone offers. Phones found over Bluetooth appear in the Send list with a refresh button; a phone seen on both the network and Bluetooth is listed once. Phones that offer no Bluetooth L2CAP channel are sent to over GATT. The route is checked when you pick a device. A device that left the network is dropped from the list and the send says "The device is not reachable", or goes over Bluetooth if the phone is seen there; a phone chosen over Bluetooth that is now on the network is sent to over the network.
Important
Wi-Fi Direct support is highly experimental and off by default It has been tested only on my personal devices (Google Pixel 7, Samsung Galaxy A55).
In order to work, it needs NetworkManager, its dnsmasq package and Bluetooth. The requirements and limits are in docs/wifi-direct.md; a Help section explains it in the app.
More testing is being conducted and more will be required to consider this feature "stable".
- Connecting no longer waits for ever: 8 s to connect and 20 s for the first answers, then the transfer fails. A send can be cancelled while it connects, from the Transfers page and from Plasma's job.
- The Transfers page shows the transfer as soon as you pick a device. Short messages (completed, failed, declined, cancelled) slide up from the bottom of the window and stack. The Send page does not start another transfer while one is running.
- Cancelling a send tells the phone before the link is closed, and a cancel from the phone in the middle of a file is noticed at once.
- Preferences: new "Application menu entry" switch in the AppImage, to add or remove the menu entry at any time.
- The first-start dialog is skipped when
XDG_CURRENT_DESKTOPis not set (Xvfb, containers), so it no longer covers the main window there. - Add the Turkish translation (thanks @basdoas). See #7.
Full Changelog: v1.1.2...v1.2.0
1.1.2
What's Changed
Warning
If you update from a version prior to 1.1.0 refer to 1.1.0 release notes for information about the update process.
New Contributors
Full Changelog: v1.1.1...v1.1.2
1.1.1
What's Changed
Warning
If you update from a version prior to 1.1.0 refer to 1.1.0 release notes for information about the update process.
- Lower memory use while the window is hidden: closing it now destroys the window and its QML engine, and opening it creates them again. Started with
--backgroundthe shell takes about 60 MB instead of about 150 MB (RSS, measured with the host build). Files queued but not yet sent, the current page and open dialogs are lost when the window closes. - Quit from the tray menu exits at once, without flashing the window, unless a transfer is running (then the window opens to ask).
Full Changelog: v1.1.0...v1.1.1
1.1.0
What's Changed
Warning
PACKAGING UPDATE - READ THIS BEFORE UPDATING
If you installed KuickShare 1.0.x with the AppImage, DO NOT just run the new AppImage and expect an update. It will not update anything.
In 1.0.x the AppImage was an installer: running it copied KuickShare into ~/.local and you could delete the file. In 1.1.0 the AppImage is a normal, self-contained AppImage: it just runs and installs nothing. The old installer behaviour now lives in a separate tarball. #5
What happens if you ignore this:
- Your menu entry, Dolphin entry and autostart keep starting the old copy in
~/.local/share/kuickshare. You stay on the old version without noticing. - Only one KuickShare can run at a time. If the old one is running, launching the new AppImage just hands over to the old one and nothing seems to change.
Your data is safe. Settings, history, paired devices and the identity key stay in ~/.config/kuickshare and ~/.local/share/kuickshare, whichever package you choose. Nothing here deletes them.
How to migrate
| You want | Do this |
|---|---|
Keep things as they were (installed into ~/.local, updated by re-running an installer) |
Quit KuickShare (tray → Quit), download KuickShare-1.1.0-x86_64.tar.gz, extract it and run ./install.sh. It updates your existing installation in place. It needs the system's Qt 6 and KDE Frameworks 6, like 1.0.x. |
| Switch to the new AppImage | Quit KuickShare (tray → Quit). Run ~/.local/share/kuickshare/uninstall.sh (it keeps your data). Then run the new AppImage. On its first start it asks once whether to add itself to the application menu and to Dolphin. |
| Use the Flatpak | Quit KuickShare, then flatpak remote-add --user kuickshare https://the-beper.github.io/KuickShare/kuickshare.flatpakrepo and flatpak install --user kuickshare io.github.the_beper.KuickShare (Flathub must be set up for the KDE runtime). The Flatpak keeps its own data in ~/.var/app/io.github.the_beper.KuickShare, so it starts empty. |
Switching to the AppImage or the Flatpak without uninstalling the old copy first leaves two installations side by side, with menu entries pointing at different programs. Uninstall the old one.
Moving your data to the Flatpak (optional, not tested): with KuickShare closed, copy ~/.config/kuickshare to ~/.var/app/io.github.the_beper.KuickShare/config/kuickshare, and ~/.local/share/kuickshare (without its bin/ folder) to ~/.var/app/io.github.the_beper.KuickShare/data/kuickshare.
Entries the new AppImage writes (menu, Dolphin, autostart) point at the .AppImage file itself. If you move or rename the file, turn the Dolphin entry off and on again in Preferences.
Packaging
- Flatpak (KDE runtime 6.11): manifest, build, test and publish scripts under
build/flatpak. The app writes the Dolphin and autostart entries itself
(flatpak run as Exec) into the host's folders, found through
/proc/self/mountinfo, and refuses a download folder the sandbox cannot
share. Released as a bundle and as a GPG-signed OSTree repository on GitHub
Pages (kuickshare.flatpakrepo). - The AppImage is now a normal, self-contained AppImage built the Anylinux
way (quick-sharun in an Arch image): it brings Qt, KDE Frameworks, ld.so and
libc, runs on any distribution including NixOS and musl ones, follows the
host's Breeze theme, installs nothing and embeds zsync update information.
It is tested in bare Debian, Alpine and nixos/nix containers. - New tarball with an install.sh (the former installer, using the system's
Qt 6 and KDE Frameworks 6) for people who want neither of the two. - The installer quotes paths that need it in Exec lines and shell words.
App
- AppImage mode: Dolphin, autostart and menu entries point at $APPIMAGE and
are never written without asking. The first start asks once whether to add
KuickShare to the application menu and Dolphin (IntegrationDialog). - Fix transfer cards overlapping or staying half transparent when a transfer
changes state while the list is animating: the ListView transitions are
replaced by per-card animations. - About opens with the same animation as Shortcuts (no binding loop, no
stretching); the header of both dialogs has the same room on every side. - Italian translations for the new texts.
Full Changelog: v1.0.1...v1.1.0
1.0.1
What's Changed
- Disable QML AOT cachegen: it pinned the binary to Qt 6.11 private API.
- Build with -mno-direct-extern-access: Qt 6.12 rejects copy relocations.
- Installer check now shows the real ldd errors and an Arch install hint.
Full Changelog: v1.0.0...v1.0.1