Dragonfly

Latest version: v0.6.5

Safety actively analyzes 714860 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 10

0.19.1

--------------------

Fixed
~~~~~
* Change the Key action to accept all escaped or encoded characters as key
names on Windows.
* Fix a bug where the Key/Text 'use_hardware' argument is ignored.

0.19.0

--------------------

Added
~~~~~
* Add FocusWindow constructor arguments to select by index or filter by
passed function (thanks `daanzu`_).
* Add extra FocusWindow arguments to BringApp action to use for window
matching.
* Add Natlink engine support for retaining recognition data (thanks
`daanzu`_).
* Add RunCommand 'hide_window' argument for using the action class with GUI
applications.
* Add StartApp and BringApp 'focus_after_start' argument for raising started
applications.
* Add unified 'engine.do_recognition()' method for recognising in a loop
from any engine.

Changed
~~~~~~~
* Add much faster `Lark-based`_ parser for compound specs (thanks
`mrob95`_).
* Allow retaining Kaldi engine recognition metadata without audio data
(thanks `daanzu`_).
* Change Key action to allow typing Unicode on Windows.
* Change StartApp and BringApp to allow a single list/tuple constructor
argument.
* Change dragonfly's test suite to use *pytest* instead.
* Change engine recognition loops to exit on engine.disconnect().
* Change the base Rule class's default 'exported' value to True (thanks
`daanzu`_).
* Implement the PlaySound action for other platforms using pyaudio.
* Make other various optimisations and changes (thanks `mrob95`_).
* Various improvements to the Kaldi engine (thanks `daanzu`_).

Fixed
~~~~~
* Change Key and Text actions to handle multiple keyboard layouts on
Windows.
* Change NatlinkEngine.mimic() to handle string arguments.
* Change X11Window class to handle xdotool/xprop errors gracefully instead
of panicking.
* Fix Win32Window.get_matching_windows() and the FocusWindow action for
recent Dragon versions.
* Fix a few bugs with the RunCommand, StartApp and BringApp actions.
* Fix bug with Kaldi retain audio support where the last dictation wasn't
retained (thanks `comodoro`_).
* Fix engine bugs where grammars could not be loaded/unloaded during
Grammar.process_begin() (thanks `mrob95`_).
* Fix various bugs related to grammar exclusivity.

Removed
~~~~~~~
* Remove no longer used EngineTestSuite class.
* Remove unfinished command family app sub-package (dragonfly.apps.family).
* Remove unused Win32 dialog and control classes.

0.18.0

--------------------

Added
~~~~~
* Add grammar/rule weights support for the Kaldi backend
(thanks `daanzu`_).
* Add new functions for recognition state change callbacks.
* Add optional --delay argument to Dragonfly's test command (CLI).
* Allow the passing of window attributes to text engine mimic
(thanks `mrob95`_).

Changed
~~~~~~~
* Add magic repr methods for debugging (thanks `mrob95`_).
* Add pyobjc as a required package on Mac OS (for AppKit).
* Improve Kaldi backend performance by parsing directly on the FST instead
of with pyparsing (thanks `daanzu`_).
* Make Kaldi backend work with Python 3 (thanks `daanzu`_).
* Make other various improvements to the Kaldi backend (thanks `daanzu`_).
* Make the Monitor class and list work on X11 (Linux) & Mac OS.
* Make the Mouse action work on X11 (Linux) & Mac OS.
* Move 3 monitor-related methods from Win32Window to BaseWindow.

Fixed
~~~~~
* Change Sphinx and text engines to not accept mimicking of non-exported
rules (expected behaviour).
* Fix CompoundRule bug where the 'exported' parameter was effectively
ignored.
* Fix Natlink engine bug where Canadian English isn't recognised
(thanks `dusty-phillips`_).
* Fix Natlink engine for all variants of supported languages.
* Fix case sensitivity bug with AppContext keyword arguments.
* Fix quite a few bugs with the Kaldi backend (thanks `daanzu`_).
* Fix two bugs with the text engine's mimic method (thanks `mrob95`_).

0.17.0

--------------------

Added
~~~~~
* Add alpha support for the accessibility API on Linux
(thanks `wolfmanstout`_).
* Add keywords argument handling to AppContext class for matching window
attributes other than titles and executables.
* Add the ability to set formatting flags for natlink dictation containers
(thanks `alexboche`_).

Changed
~~~~~~~
* Add Python 3 compatible natlink compiler test (thanks `mrob95`_).
* Add a note about installing the `xdotool` program in the Kaldi engine
documentation (thanks `JasoonS`_).
* Change the Sphinx engine to allow grammars with the same name (again).
* Move dependency adding code from engine classes into Grammar methods
(thanks `mrob95`_).
* Remove extraneous trailing whitespace from 116 files (thanks `mrob95`_).
* Remove redundant 'grammar.engine = self' lines from engine classes
(thanks `mrob95`_).
* Lots of Kaldi engine backend improvements & bug fixes
(thanks `daanzu`_).
* Remove keyboard-related messages sometimes printed at import time because
similar messages are printed later anyway.
* Update documentation sections on running dragonfly's test suite.
* Update documentation section on logging and logging handlers.

Fixed
~~~~~
* Add check to avoid preparing expensive debug logs when they will be
discarded (thanks `wolfmanstout`_).
* Add missing is_maximized property for Win32Window class.
* Fix Python 3 support in a few places.
* Fix a few problems with the Sphinx engine.
* Fix case sensitivity bug with Window.get_matching_windows().
* Fix minor bug with Win32.get_all_windows().
* Fix various character encoding issues with dragonfly and its unit tests.
* Log 'Is X installed?' messages in X11Window if xprop or xdotool are
missing.
* Re-raise errors due to missing xprop or xdotool programs instead of
suppressing them.

0.16.1

--------------------

Added
~~~~~

* Add Dictation string formatting examples into documentation.
* Add Kaldi informational messages during grammar loading pauses.

Changed
~~~~~~~

* Clean up code style in engines/base/dictation.py.
* Bump required kaldi-active-grammar version to 0.6.0.
* Update Kaldi engine documentation (thanks `daanzu`_ and `LexiconCode`_).

Fixed
~~~~~

* Fix Win32Window.set_foreground() failures by forcing the interpreter's
main thread to "receive" the last input event (press & release control).
* Fix quite a few bugs with the Kaldi engine. (thanks `daanzu`_).
* Make the Sphinx engine ignore unknown words in grammars instead of raising
errors.

0.16.0

--------------------

Added
~~~~~
* Add FakeWindow class imported as 'Window' on unsupported platforms.
* Add RPC methods for getting speech state & recognition history.
* Add Window.get_matching_windows() and Window.get_window class methods.
* Add X11Window class for interacting with windows on X11 (adapted from
`Aenea`_).
* Add alternative dragonfly module loader for natlink.
* Add documentation for X11 keyboard and window support.
* Add enhancements to Dictation and DictationContainer objects (thanks `mrob95`_).
* Add missing Integer Repeat factor example into documentation.
* Add optional '--language' argument to dragonfly's 'test' command (CLI).
* Add xdotool & libxdo keyboard implementations to replace pynput on X11
(adapted from `Aenea`_).

Changed
~~~~~~~
* Change the dragonfly.windows.window module to import the current
platform's Window class.
* Improve Kaldi documentation and add an example demo script
(thanks `daanzu`_).
* Make test_actions.py and test_window.py files run with all test suites and
on all platforms.
* Move some code from FocusWindow into Window classes.
* Rename dragonfly's Window class to Win32Window and move it into
win32_window.py.
* Swap Repeat class's constructor arguments so that 'extra' is first
(backwards-compatible) (thanks `mrob95`_).
* Unmock the Window, WaitWindow, FocusWindow, BringApp and StartApp classes
for all platforms.
* Update Kaldi engine backend with user lexicon support, microphone listing,
other improvements and bug fixes (thanks `daanzu`_).

Fixed
~~~~~
* Fix DragonflyError raised if importing ShortIntegerContent whilst using a
speaker language that isn't English.
* Fix Thread.isAlive() deprecation warnings in Python 3.7.
* Fix import error in SAPI5 engine file (specific to Python 3).
* Fix incorrect file names in the 'plus' module loaders.
* Fix problem with building documentation when kaldi_active_grammar is
installed.
* Fix spec string decoding in the Text action class.

Page 6 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.