Date 24.04.2024
- allow matching against a list of values in config rules (
device_config
) [thanks @dajt1725] - fix
--terminal
command line option (was not doing anything) [@dajt1725] - fix AttributeError when python-keyring-keyutils is installed instead of keyutils [thanks @bubbleguuum]
Date: 27.01.2024
- drop external dependency on distutils (#278)
- rename
--notify-command
to--event-hook
to prevent misunderstandings (#279)
Date: 23.11.2023
- fix default install location for bash completion scripts (#275)
- fix zsh completion for device names with spaces (#253)
Date: 03.10.2023
- add bash completions for CLI options (thanks @oersen)
- updates for translations
- added German translation
- add bright outlines for wayland icons in dark themes
- ignore snap loop devices by default
- maintenance on CI workflows
- fix KeyError when properties are invalidated multiple times (#272)
Date: 01.03.2022
- add support for AyatanaAppIndicator3
- update Turkish translation
- fix some documentation typos and errors
Date: 02.02.2022
- setup loop devices in read-write mode if sufficient permissions are available
Date: 30.11.2021
- add icon name that is specifically designed for tray panel
- add Turkish translations (thanks @ersen0!)
- try to detect installed translation files also in non-system installations
- make it possible to override localedir manually using the
TEXTDOMAINDIR
environment variable - add guide on how to contribute translations and improve the Makefile
Date: 05.03.2021
- fix: buttons in "device-added" notifications always mounting the last partition instead of the selected one
Date: 27.01.2021
- fix incorrect use of wayland settings (appindicator+workarounds) within X session, if a wayland session is or was active under the same user (even if that was in a different login session)
- fix incorrect display of image menu items under X due to caching
Date: 27.01.2021
- add workaround for missing menu checkboxes on sway/wayland
- add workaround for menu not showing up with proper size on sway/wayland
- distribute icons within udiskie package (allows displaying icons in local/venv installations)
- fix ignored coroutine return values, fixes e.g. program exit code
Date: 22.01.2021
- don't swallow STDOUT for notify-commands
- default to appindicator if tray is requested under wayland
- don't auto-disable tray when running in "pure" wayland session
- set window role on the password dialog
Date: 07.05.2020
- add Italian translation
- remove unneeded
xdg
from optional dependencies - fix a typo in Spanish translation and update russian translation files
Date: 17.04.2020
- handle XDG_CONFIG_HOME variable without external pyxdg dependency
- silence warning when using AppIndicator
- make
--appindicator
sufficient to show icon (previously additionally required--tray
) - improve wording in password dialog "Remember" -> "Cache"
- make some of the logging more concise
- fix recursive adding/removing of some child devices:
- fix incorrect root device detection for devices without Drive property (e.g. children of loop devices)
- fix
--detach
option when applied to partitions of loop devices
Date: 02.02.2020
- fix some typos (thanks @torstehu, #197)
- change how device rules are evaluated: lookup undecided rules on parent device (fixes issue with filters not applying to subdevices of a matched device, see #198)
- change builtin rules to not show loop devices with
HintIgnore
, see #181 - change how is_external attribute is compute: use the value from udisks directly (fixes issue with is_external property not behaving as expected, see #185)
- add 'skip' keyword for rules to skip evaluation of further rules on this device, and continue directly on the parent
Date: 21.01.2020
- fix user commands that output non-utf8 data
Date: 20.01.2020
- fix exception when using non-device parameters with DeviceCommand (e.g. in --notify-command)
Date: 30.12.2019
- hotfix for automounting being broken since 2.0.0
Date: 28.12.2019
- use
importlib.resources
directly on py3.7 and above, rather than requiringimportlib_resources
as additional dependency
Date: 26.12.2019
- require python >= 3.5
- drop python2 support
- drop udisks1 support
- drop command line options corresponding to udisks version selection (-1, -2)
- use py35's
async def
functions -- improving stack traces upon exception - internal refactoring and simplifications
- add "show password" checkbox in password dialog
Date: 17.02.2019
- keep password dialog always on top
- fix stdin-based password prompts
Date: 17.02.2019
- add russian translations (thanks @mr-GreyWolf)
- fixed deprecation warnings in setup.py (thanks @sealj553)
Date: 24.05.2018
- fix "NameError: 'Async' is not defined" when starting without tray icon
Date: 17.05.2018
- fix attribute error when using options in udiskie-mount (#159)
- fix tray in appindicator mode (#156)
- possibly fix non-deterministic bugs (due to garbage collection) by keeping global reference to all active asyncs
Date: 13.12.2017
- temporary workaround for udisks2.7 requiring
filesystem-mount-system
when trying to mount a LUKS cleartext device diretcly after unlocking
Date: 18.10.2017
- officially deprecate udisks1
- officially deprecate python2 (want python >= 3.5)
- fix startup crash on py2
- fix exception when inserting LUKS device if
--password-prompt
or udisks1 is used - fix minor problem with zsh autocompletion
Date: 02.10.2017
- add an "open keyfile" button to the password dialog
- add warning if mounting device without ntfs-3g (#143)
- fix problem with LVM devices
Date: 26.03.2017
- add joined
device_config
list in the config file - deprecate
mount_options
andignore_device
in favor ofdevice_config
- can configure
automount
per device using the newdevice_config
[#107] - can configure keyfiles (requires udisks 2.6.4) [#66]
- remove mailing list
Date: 06.03.2017
- Show losetup/quit actions only in ex-menu
- Show note in menu if no devices are found
Date: 24.02.2017
- add format strings for the undocumented
udiskie-info
utility - speed up autocompletion times, for
udiskie-mount
by about a factor three, forudiskie-umount
by about a factor 10
Date: 22.02.2017
- fix crash on startup if config file is empty
- add
--notify-command
to notify external programs (@jgraef) [#127] - can enable/disable automounting via special right-click menu [#98]
- do not explicitly specify filesystem when mounting [#131]
Date: 03.06.2016
- fix unicode issue that occurs on python2 when stdout is redirected (in particular for zsh autocompletion)
Date: 03.06.2016
- make systray menu flat (use
udiskie --tray --menu smart
to request the old menu) [#119] - extend support for loop devices (requires UDisks2) [#101]
- support ubuntu/unity AppIndicator backend for status icon [#59]
- add basic utility to obtain info on block devices [#122]
- add zsh completions [#26]
- improve UI menu labels for devices
- fix error when force-ejecting device [#121]
- respect configured ignore-rules in
udiskie-umount
- fix error message for empty task lists [#123]
Date: 15.05.2016
- log INFO events to STDOUT (#112)
- fix exception in notifications when action is not available. This concerns
the retry button in the
job_failed
notification, as well as the browse action in thedevice_mounted
notification (#117) - don't show 'browse' action in tray menu if unavailable
Date: 13.05.2016
- protect password dialog against garbage collection (which makes the invoking coroutine hang up and not unlock the device)
- fix add_all/remove_all operations: only consider leaf/root devices within the handleable devices hierarchy:
- avoid considering the same device twice (#114)
- makes sure every handleable device is considered at all in remove_all
Date: 11.05.2016
- signal failing mount/unmount operations with non-zero exit codes (#110)
- suppress notifications for unhandled devices
- add rules for docker devices marking them unhandled to avoid excessive notifications (#113)
- allow mounting/unmounting using UUID (#90)
- prevent warning when starting without X session (#102)
- can now match against wildcards in config rules (#49)
Date: 02.04.2016
- add is_loop and loop_file properties for devices
- fix recursive mounting of crypto devices (udiskie-mount)
- prevent empty submenus from showing
Date: 09.02.2016
- fix problem with setupscript if utf8 is not the default encoding
- fix crash when starting without X
- basic support for loop devices (must be enabled explicitly at this time)
- fix handling of 2 more error cases
Date: 04.01.2016
- fix typo that prevents the yaml config file from being used
- fix problem with glib/gio gir API on slackware (olders versions?)
- fix bug when changing device state (e.g. when formatting existing device or burning ISO file to device)
- improve handling of race conditions with udisks1 backend
- fix notifications for devices without labels
Date: 28.12.2015
- cleanup recent bugfixes
- close some gates for more py2/unicode related bugs
Date: 24.12.2015
- fix another bug with unicode data on command line (py2)
- slightly improve stack traces in async code
- further decrease verbosity while removing devices
Date: 24.12.2015
- fix too narrow dependency enforcement
- make udiskie slightly less verbose in default mode
Date: 24.12.2015
- fix bug with unicode data on python2
- fix bug due to event ordering in udisks1
- fix bug due to inavailability of device data at specific time
Date: 22.12.2015
- fix regression in get_password_tty
Date: 19.12.2015
- fix problem in SmartTray due to recent transition to async
Date: 19.12.2015
- go async (with self-made async module for now, until gbulb becomes ready)
- specify GTK/Notify versions to be imported (hence fix warnings and a problem for the tray icon resulting from accidentally importing GTK2)
- add optional password caching
- revert "respect the automount flag for devices"
- make dependency on Gtk optional
- use icon hints from udev settings in notifications
- respect the automount flag for devices
- don't fail if libnotify is not available
- add actions to "Device added" notification
- allow to configure which actions should be added to notifications
- fix unicode issue in setup script
- update license/copyright notices
- use UDisks2 by default
- add --password-prompt command line argument and config file entry
- fix password prompt for GTK2 (tray is still broken for GTK2)
- fix minor documentation issues
- add key
device_id
for matching devices rather than only file systems - improve documentation regarding dependencies
- fix careless error in man page
- implemented internationalization
- added spanish translation
- allow to choose icons from a configurable list
- compatibility with older version of pygobject (e.g. in Slackware 14.1)
- handle exception if no notification service is installed
- fix crash when calling udiskie mount/unmount utilites without udisks1 installed
- fix crash when calling udiskie without having udisks1 installed (regression)
- port to PyGObject, removing dependencies on pygtk, zenity, dbus-python, python-notify
- use a PyGObject based password dialog
- remove --password-prompt parameter
- rename command line parameters
- add negations for all command line parameters
- remove the '--filters' parameter for good
- change config format to YAML
- change default config path to $XDG_CONFIG_HOME/udiskie/config.yml
- separate ignore filters from mount option filters
- allow to match multiple attributes against a device (AND-wise)
- allow to overwrite udiskies default handleability settings
- raise exception if --config file doesn't exist
- add --options parameter for udiskie-mount
- simplify local installations
There are some backward incompatible changes, hence the version break:
- command line parameter '-f'/'--filters' renamed to '-C'/'--config'
- add sections in config file to disable individual mount notifications and set defaults for some program options (udisks version, prompt, etc)
- refactor
udiskie.cli
,udiskie.config
andudiskie.tray
- revert 'make udiskie a namespace package'
- add 'Browse folder' action to tray menu
- add 'Browse folder' action button to mount notifications
- add '--no-automounter' command line option to disable automounting
- add '--auto-tray' command line option to use a tray icon that automatically disappears when no actions are available
- show notifications when devices dis-/appear (can be disabled via config file)
- show 'id_label' in tray menu, if available (instead of mount path or device path)
- add 'Job failed' notifications
- add 'Retry' button to failed notifications
- remove automatic retries to unlock LUKS partitions
- pass only device name to external password prompt
- add '--quiet' command line option
- ignore devices ignored by udev rules
- fix logging in setup.py
- more verbose log messages (with time) when having -v on
- fix mounting devices that are added as 'external' and later changed to 'internal' [udisks1] (applies to LUKS devices that are opened by an udev rule for example)
- fix exception in Mounter.detach_device if unable to detach
- fix force-detach for UDisks2 backend
- automatically use UDisks2 if UDisks1 is not available
- mount unlocked devices only once, removes error message on UDisks2
- mention __ignore__ in man page
- add custom icons for the context menu of the system tray widget
- fix udisks2 external device detection bug: all devices were considered
external when using
Sniffer
(as done in the udiskie-mount and udiskie-umount tools)
- cache device states to avoid some race conditions
- show filesystem label in mount/unmount notifications
- retry to unlock LUKS devices when wrong password was entered twice
- show 'eject' only if media is available (udisks1 ejects only in this case)
- (un-) mount/lock notifications shown even when operations failed
- refactor internal API
- experimental support for udisks2
- add '__ignore__' config file option to prevent handling specific devices
- delay notifications until termination of long operations
- add tray icon (pygtk based)
- eject / detach drives from command line
- use setuptools entry points to create the executables
- make udiskie a namespace package
- support for LUKS devices (using zenity for password prompt)
- major refactoring
- use setuptools as installer