For details and minor changes, please see the version control log messages.
Changes:
- Modernized project setup (#23).
- Converted to PEP-517 compliant build using hatchling.
- Removed Python 2 compatibility code and syntax.
- Converted readme and changelog to markdown format.
- Updated Arch
PKGBUILD
file. - Dropped official support for Python 3.6/3.7 and declared support for Python 3.10/3.11. Incremented the minor version accordingly.
- Replaced included
jacklib
module with dependency on pyjacklib (#24). - Added dependency on cachetools.
Enhancements:
- Added monitoring of input ports (#20, thanks to Peter Fabinski).
- Evaluate connection patterns when new connections (not made by jack-matchmaker) appear, allowing pattern pairs, where the first part matches input ports, to trigger when new connections to these input ports are made (#22).
Enhancement:
- Added support for filtering against port name patterns when listing
connections with option
-c
.
Changes:
- Dropped official support for Python 3.5 and declared support for Python 3.9. Incremented the minor version accordingly.
Enhancement:
- Added support for the
reload
action to the jack-matchmaker systemd service, which triggers re-reading of the pattern file (thanks to BlueMax).
Changes:
- Max. connection attempt is always set to 1 when any of the
-c
,-i
or-o
options are used.
Enhancement:
- Log JACK client name after connection (if verbosity is
DEBUG
). - Only log connection error traceback when verbosity is
DEBUG
. - Improve warning logging of non-fatal connection error status.
Fixes:
- Correctly check for valid JACK client when connecting (thanks to Filipe Coelho for reporting).
Fixes:
- Fixed not connecting to JACK when an instance of jack-matchmaker was already running and no unique JACK client name set (#11, thanks to Nils Hilbricht for reporting).
Changes:
- Removed Python 3.4 support, added 3.8.
Enhancements:
- Added optional systemd unit along with environment file (thanks to Térence Clastres).
- Added Arch Linux
PKGBUILD
file. - Added
--verbosity
command line option for setting a specific log level (thanks to Térence Clastres).
Fixes:
- Added graceful handling of
Ctrl-C
when connecting. - Added handling of error reading pattern file on startup.
- Changed
__main__.py
to import from the package it is in. - Fixed wrong argument name of
jacklib.remove_client_property
.
Fixes:
-
Fix incompatibility with Python < 3.7, due to use of
re.Pattern
andre.Match
, which were only added in Python 3.7.Python 3.4 is still supported, but will be dropped in next major release.
New features:
- Added support for listing and matching port meta data pretty-names (supported only with JACK1 or JACK2 >= 1.9.13).
- Added command line option
-e
,--exact-matching
for exact port name matching mode. - Added command line option
-N
,--client-name
to set JACK client name.
Enhancements:
- Expanded documentation in README to explain pattern matching and match group substitution and with more and better examples.
- Added badge images & links to README.
- Improved handling of port name decoding.
- Added a couple of example scripts for
jacklib
usage to repo. - Updated Python versions in
setup.py
classifiers.
Fixes:
- Re-compile input port pattern for each output port as it may have changed due to match group substitution.
- Fixed probable memory leak from not freeing
jack_get_ports
results. - Fixed wrong return type of JACK port rename callback function declaration.
- Removed unused
alsainfo
module.
- Automatically tries to re-connect to JACK if the server not available
on start-up or shuts down while
jack-matchmaker
is running. - Added sections to README on installation, license and jack server connection.
- Reorganized command line options:
-l
,--list-ports
was replaced by-o
/--list-outputs
and-i
,--list-inputs
, which can be given on their own or together and in combination with the-a
,--list-aliases
option. - Removed prefixes and separators from port and connection listings (so
the output can be more easily parsed in shell scripts or the output of
jack-matchmaker -c
can be piped into a file and directly used with the-p
,--pattern-file
option). - Added
--version
command line option. - Excluded currently unused
alsainfo
module from distribution. - Re-formatted some code for PEP-8 conformity.
- Added support for -c command line option to list existing JACK port connections.
- Added command line option to read port patterns from file.
- Re-read pattern file on HUP signal (not supported on Windows).
- Check if ports are already connected before making a connection.
- Cache port look-ups.
- List outputs before inputs.
- Changed amount and formatting of debug logging output.
- Added example patterns file.
- Updated README with new features.
- Fixed missing exception variable binding.
- Moved package version from
setup.py
to newversion
module. - Minor README improvements.
- Added command line options to list ports and aliases.
- Input port patters can contain placeholders which are filled in with matches from named regular expression groups in output port patterns.
- Call on-connection callback once at startup to connect existing clients.
- Updated and improve README.
- Improved error handling.
First public release.