forked from abcminiuser/python-elgato-streamdeck
-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathCHANGELOG
More file actions
149 lines (117 loc) · 6.95 KB
/
Copy pathCHANGELOG
File metadata and controls
149 lines (117 loc) · 6.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
Fork version 0.2.0:
- Merged upstream up to the 0.10.0 changes listed below.
- Added RotatedDeck, a wrapper presenting a deck as if it had been turned by
a multiple of 90 degrees. Moved here from StreamController, where it was
called BetterDeck.
- Fixed RotatedDeck's three async callback setters recursing into themselves,
and its dial variant not remapping the dial index.
- LibUSBHIDAPI.Device.connected() now filters the enumeration by the device's
own vid/pid. An unfiltered enumeration makes the libusb backend open every
HID device on the system, which resets devices with sloppy firmware over
and over (StreamController issue #396).
- _read_with_resume_from_suspend() now reopens the deck after any transport
error, not only on a resume from suspend, with a timeout and a cap on
consecutive attempts. A transient USB hiccup used to kill the read thread
for good, leaving a deck that looked connected but ignored every key press.
- Fixed Transport.Device.read_input being declared twice, and Dummy.Device
never implementing it - which made the whole dummy transport uninstantiable.
Version 0.10.0:
- Fix Dummy Streamdeck backend when calling `read_feature()`.
- Add support for the StreamDeck Studio.
- Minimum Python version bumped to 3.10, as 3.9 is now EOL.
- Fix error in animated deck example, wheh the example is closed.
- Added support for the StreamDeck Mini (Discord edition).
- Added support for the StreamDeck Plus XL.
- Fixed missing retrieval of installed asyncio callbacks, which were causing exceptions raised in the callback to be silently discarded.
Version 0.9.8:
- Documentation fixes (StreamDeck 6 key module is also supported since 0.9.7).
Version 0.9.7:
- Added type hints to public APIs.
- Fixed leading whitespace in StreamDeck Plus serial number strings.
- Added support for new PID variant of the StreamDeck MK2.
- Added support for new StreamDeck 16-key, 32-key and scissor modules.
Version 0.9.6:
- Fixed StreamDeck+ returning 10 key states instead of the expected 8.
- Fixed StreamDeck+ dial push event not being detected correctly.
- Fixed old key states and dial states returned if requested from inside a key or dial callback function.
- Added support for FreeBSD platforms.
- Added support for the StreamDeck Neo.
Version 0.9.5:
- Added support for the StreamDeck Plus.
Version 0.9.4:
- Updated Windows HIDAPI backend to attempt to load from the local working directory.
- Added detection for MacOS Homebrew installations of the libhidapi back-end library.
Version 0.9.3:
- Added support for a new sub-variant of the StreamDeck XL.
Version 0.9.2:
- Added support for a new sub-variant of the StreamDeck Mini.
Version 0.9.1:
- Transport errors now trigger a closing of the underlying StreamDeck device, so further API calls will throw correctly (and ``is_open()`` will return ``False``).
- Updated animated example script to use separate cycle generators for each key, so the animations play at the correct rate regardless of key count.
- Added support for the StreamDeck pedal.
- Added new `is_visual()` function.
Version 0.9.0:
- Added new `set_poll_frequency()` function.
- Added new `is_open()` function.
- Fixed a possible internal thread join error when a deck object was closed.
Version 0.8.5:
- Add support for the new StreamDeck MK2.
Version 0.8.4:
- Updated animated example script to attempt to maintain a constant FPS, regardless of rendering time.
- Fixed a race condition in the LibUSB HIDAPI transport backend that could cause crashes when a device was closed.
Version 0.8.3:
- Altered LibUSB transport workaround to only apply on Mac.
- Fixed internal _extract_string() method to discard all data after the first NUL byte, fixing corrupt serial number strings being returned in some cases.
- Set minimum Python version to 3.8, as some of the library uses newer syntax/core library features.
Version 0.8.2:
- Added new ``PILHelper.create_scaled_image()`` function to easily generate scaled/padded key images for a given deck.
- Updated LibUSB transport backend so that device paths are returned as UTF-8 strings, not raw bytes.
- Updated version/serial number string extraction from StreamDecks so that invalid characters are substituted, rather than raising a ``UnicodeDecodeError`` error.
- Added LibUSB transport workaround for a bug on Mac platforms when using older versions of the library.
Version 0.8.1:
- Fixed memory leak in LibUSB HIDAPI transport backend.
Version 0.8.0:
- Fix random crashes in LibUSB HIDAPI transport backend on Windows, as the API is not thread safe.
- Added support for atomic updates of StreamDeck instances via the Python ``with`` scope syntax.
Version 0.7.3:
- Fix crash in new LibUSB HIDAPI transport backend on systems with multiple connected StreamDeck devices.
- Fix crash in new LibUSB HIDAPI transport backend when ``connected()`` was called on a StreamDeck instance.
Version 0.7.2:
- Documentation restructuring to move installation out of the readme and into the library documentation.
Version 0.7.1:
- Cleaned up new LibUSB HIDAPI transport backend, so that it only searches for OS-specific library files.
- Fixed minor typo in the libUSB HIDAPI transport backend probe failure message.
Version 0.7.0:
- Removed old HID and HIDAPI backends, added new ``ctypes`` based LibUSB-HIDAPI backend replacement.
Version 0.6.3:
- Added support for the new V2 hardware revision of the StreamDeck Original.
Version 0.6.2:
- Fixed broken StreamDeck XL communications on Linux.
- Added blacklist for the ``libhidapi-hidraw`` system library which breaks StreamDeck Original communications.
Version 0.6.1:
- Fixed broken HIDAPI backend probing.
- Fixed double-open of HID backend devices causing connection issues on some platforms.
Version 0.6.0:
- Added support for the ``HID`` Python package. This new HID backend is strongly recommended over the old HIDAPI backend.
- Added auto-probing of installed backends, if no specific transport is supplied when constructing a DeviceManager instance.
Version 0.5.1:
- Fixed StreamDeck XL reporting swapped rows/columns count.
- Fixed StreamDeck XL failing to report correct serial number and firmware version.
Version 0.5.0:
- Fixed StreamDeck devices occasionally showing partial old frames on initial connection.
- Removed support for RAW pixel images, StreamDeck Mini and Original take BMP images.
- Removed ``width`` and ``height`` information from Deck key image dict, now returned as ``size`` tuple entry.
Version 0.4.0:
- Added StreamDeck XL support.
Version 0.3.2:
- Fixed StreamDeck Mini key images not updating under some circumstances.
Version 0.3.1:
- Added animated image example script.
Version 0.3:
- Remapped StreamDeck key indexes so that key 0 is located on the physical
top-left of all supported devices.
Version 0.2.4:
- Added new ``StreamDeck.get_serial_number()`` function.
- Added new ``StreamDeck.get_firmware_version()`` function.
Version 0.2.3:
- Added new ``StreamDeck.ImageHelpers modules`` for easier key image generation.