All notable changes to this project will be documented in this file, as of 2.1.1 when I started keeping a changelog in the first place (sorry).
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning, as of version 2.1.1.
4.1.1 - 2025-05-29
- Fixed AttributeError exceptions when passing an int with
--set-input-source.
4.1.0 - 2025-05-26
- Added support a numerical input source with
--set-input-source.
- Changed minimum setuptools version from 61 to 77.
- Fixed missing format placeholder in a Linux debug print.
4.0.1 - 2025-05-26
- Fixed packaging bugs introduced when changing the build system.
4.0.0 - 2025-05-26
- Added additional logging for Windows API calls.
- Changed the build system from poetry-core to setuptools.
- Changed the
VCPCodetype to use class attributes instead of property functions. - Changed
get_input_sourceto return anintinstead of anInputSource.- This simplifies code for users with USB Type-C monitors.
- Changed enums from
enum.Enumtoenum.IntEnum:ColorPresetPowerModeInputSource
- Fixed usability issues with mirrored displays in Windows.
- Removed support for end-of-life python version 3.8.
- Removed
InputSourceValueError.
3.1.0 - 2023-10-10
- Added
get_color_presetandset_color_preset. - Added a
descriptionattribute with the physical monitors description toWindowsVCP. - Added support for python 3.12.
- Fixed parsing of nested capability groups.
- Fixed
TypeErrorraised from incorrectly catchingctypes.WinErrorinstead ofOSError. - Fixed the VCP backend ignoring return codes on Windows.
Return codes are now checked and
VCPErroris raised when the API call fails.
3.0.3 - 2023-04-22
- Fixed dangling file descriptors on linux platforms after calling
get_monitors().
3.0.2 - 2022-11-05
- Added support for pyudev version 0.24.0.
3.0.1 - 2022-05-11
- Fixed checksum calculation on Linux.
3.0.0 - 2022-04-09
- Added support for python 3.10.
- Updated pyudev from 0.22 to 0.23.
- Changed
get_vcp_capabilities()["inputs"]fromList[str]toList[Union[InputSource, int]].
- Removed support for python 3.6 and 3.7.
- Increased the length limit for the capabilities string on Linux.
- This fixes some occurrences of the "Capabilities string incomplete or too long" error.
2.5.1 - 2021-08-25
- Fixed a bug in capabilities parsing.
2.5.0 - 2021-06-26
- Added support for selecting input sources outside of the MCCS specification.
- Changed the changelog format to keep a changelog.
2.4.2 - 2021-04-27
- Fixed an exception that occurred when getting the input source from a powered off monitor.
2.4.1 - 2021-04-10
- Fixed
get_input_sourcefailing for monitors that set the reserved byte. - Fixed
get_input_sourcereturning astrinstead of aInputSourceas the type hint indicated.
2.4.0 - 2021-03-14
- Added
--monitoroptional argument to select a specific monitor for the command - Added
--set-input-sourceand--get-input-sourceto change monitor input source
2.3.0 - 2020-10-07
- Added
-v/--verboseargument to the CLI.
- Fixed
AttributeError: 'LinuxVCP' object has no attribute 'logger'
2.2.0 - 2020-10-04
- Added python 3.9 support.
- Disabled
VCPIOErrorsby default on Linux.
2.1.1 - 2020-09-12
- Fixed the
--versioncommand in the CLI.
- Added a changelog.