Skip to content

Commit a62041d

Browse files
committed
Release 0.17.0
1 parent d64a63f commit a62041d

File tree

6 files changed

+369
-247
lines changed

6 files changed

+369
-247
lines changed

CHANGES.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,68 @@
11
# CHANGES
22

3+
## 0.17.0 Velma (2026-01-21)
4+
5+
Happy new year! This release brings support for Guide and Control Center
6+
buttons (@henrikwidlund), per-device volume control (@albaintor), and modernized
7+
packaging (@cdce8p). There is also official upport for Python 3.14. As a final
8+
housekeeping item, support for pydantic v1 has been dropped—make sure to have
9+
pydantic 2.x installed.
10+
11+
**Changes:**
12+
13+
*Other:*
14+
15+
```
16+
0b643bec Add support for Guide and Control Center (#2699)
17+
1ce4dbc9 Modernize packaging (#2734)
18+
dfed887f Added ability to set volume per (connected) device (#2673)
19+
a722f9c3 fix link for `c4-pyatv-remote`
20+
67508775 Add Python 3.14 (#2800)
21+
410d415c Use asyncio.timeout for Python 3.11+ (#2735)
22+
504ddf4c Update stringify_model for Python 3.14
23+
2a6d8ead Drop support for pydantic v1
24+
```
25+
26+
**All changes:**
27+
28+
```
29+
d64a63f4 build(deps): Bump types-protobuf in /requirements
30+
0b643bec Add support for Guide and Control Center (#2699)
31+
1ce4dbc9 Modernize packaging (#2734)
32+
dfed887f Added ability to set volume per (connected) device (#2673)
33+
e418960e build(deps): Bump pylint from 3.3.7 to 4.0.4 in /requirements
34+
9dd16dc7 build(deps): Bump types-requests in /requirements
35+
a722f9c3 fix link for `c4-pyatv-remote`
36+
faf313ff build(deps): Bump mypy-protobuf from 3.6.0 to 3.7.0 in /requirements
37+
5432ae37 build(deps): Bump python from 3.15.0a2-alpine to 3.15.0a5-alpine (#2811)
38+
667c6a7f build(deps): Bump aiohttp from 3.13.2 to 3.13.3 in /requirements
39+
2514da5f build(deps): Bump protobuf from 6.33.0 to 6.33.2 in /requirements
40+
6b9a6324 build(deps): Bump requests from 2.32.4 to 2.32.5 in /requirements
41+
487b1136 build(deps): Bump pytest from 8.4.1 to 9.0.2 in /requirements (#2797)
42+
67508775 Add Python 3.14 (#2800)
43+
410d415c Use asyncio.timeout for Python 3.11+ (#2735)
44+
504ddf4c Update stringify_model for Python 3.14
45+
2a6d8ead Drop support for pydantic v1
46+
299f2c03 build(deps): Bump mypy from 1.18.2 to 1.19.0 in /requirements
47+
d205d5b7 build(deps): Bump python from 3.14.1-alpine to 3.15.0a2-alpine
48+
ef434437 build(deps): Bump pydantic from 2.11.7 to 2.12.5 in /requirements
49+
9c1f65f4 build(deps): Bump pyfakefs from 5.10.1 to 5.10.2 in /requirements
50+
965fe67a build(deps): Bump zeroconf from 0.147.0 to 0.148.0 in /requirements
51+
40e84e91 build(deps): Bump python from 3.14.0-alpine to 3.14.1-alpine
52+
fda09e0a build(deps): Bump black from 25.1.0 to 25.11.0 in /requirements
53+
ffcf348b build(deps): Bump tinytag from 2.1.1 to 2.1.2 in /requirements
54+
c6a9b363 build(deps): Bump types-protobuf in /requirements
55+
98fd8145 build(deps): Bump pytest-cov from 6.2.1 to 7.0.0 in /requirements
56+
d06069ac build(deps): Bump protobuf from 6.31.1 to 6.33.0 in /requirements
57+
1aec1c07 build(deps): Bump aiohttp from 3.12.13 to 3.13.2 in /requirements
58+
03a5b901 build(deps): Bump pyfakefs from 5.9.1 to 5.10.1 in /requirements
59+
82cee18f build(deps): Bump cryptography from 45.0.5 to 46.0.3 in /requirements
60+
abe575d0 build(deps): Bump python from 3.13.5-alpine to 3.14.0-alpine
61+
3ad82779 build(deps): Bump mypy from 1.16.1 to 1.18.2 in /requirements
62+
9afe19e2 build(deps): Bump types-protobuf in /requirements
63+
dcbb4d57 build(deps): Bump deepdiff from 8.5.0 to 8.6.1 in /requirements
64+
```
65+
366
## 0.16.1 Uter (2025-07-12)
467

568
Hey-ho, minor release (finally) that should fix:

docs/api/pyatv.const.html

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,11 @@ <h4><code><a title="pyatv.const.FeatureName" href="#pyatv.const.FeatureName">Fea
6262
<li><code><a title="pyatv.const.FeatureName.ChannelUp" href="#pyatv.const.FeatureName.ChannelUp">ChannelUp</a></code></li>
6363
<li><code><a title="pyatv.const.FeatureName.Click" href="#pyatv.const.FeatureName.Click">Click</a></code></li>
6464
<li><code><a title="pyatv.const.FeatureName.ContentIdentifier" href="#pyatv.const.FeatureName.ContentIdentifier">ContentIdentifier</a></code></li>
65+
<li><code><a title="pyatv.const.FeatureName.ControlCenter" href="#pyatv.const.FeatureName.ControlCenter">ControlCenter</a></code></li>
6566
<li><code><a title="pyatv.const.FeatureName.Down" href="#pyatv.const.FeatureName.Down">Down</a></code></li>
6667
<li><code><a title="pyatv.const.FeatureName.EpisodeNumber" href="#pyatv.const.FeatureName.EpisodeNumber">EpisodeNumber</a></code></li>
6768
<li><code><a title="pyatv.const.FeatureName.Genre" href="#pyatv.const.FeatureName.Genre">Genre</a></code></li>
69+
<li><code><a title="pyatv.const.FeatureName.Guide" href="#pyatv.const.FeatureName.Guide">Guide</a></code></li>
6870
<li><code><a title="pyatv.const.FeatureName.Home" href="#pyatv.const.FeatureName.Home">Home</a></code></li>
6971
<li><code><a title="pyatv.const.FeatureName.HomeHold" href="#pyatv.const.FeatureName.HomeHold">HomeHold</a></code></li>
7072
<li><code><a title="pyatv.const.FeatureName.LaunchApp" href="#pyatv.const.FeatureName.LaunchApp">LaunchApp</a></code></li>
@@ -225,7 +227,7 @@ <h1 class="title">Module <code>pyatv.const</code></h1>
225227
</header>
226228
<section id="section-intro">
227229
<p>Constants used in the public API.</p>
228-
<div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/const.py#L1-L460" class="git-link">Browse git</a></div>
230+
<div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/const.py#L1-L466" class="git-link">Browse git</a></div>
229231
</section>
230232
<section>
231233
</section>
@@ -354,7 +356,7 @@ <h3>Class variables</h3>
354356
</code></dt>
355357
<dd>
356358
<section class="desc"><p>All supported features.</p></section>
357-
<div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/const.py#L252-L451" class="git-link">Browse git</a></div>
359+
<div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/const.py#L252-L457" class="git-link">Browse git</a></div>
358360
<h3>Ancestors</h3>
359361
<ul class="hlist">
360362
<li>enum.Enum</li>
@@ -409,6 +411,10 @@ <h3>Class variables</h3>
409411
<dd>
410412
<section class="desc"><p>Identifier for Content</p></section>
411413
</dd>
414+
<dt id="pyatv.const.FeatureName.ControlCenter"><code class="name">var <span class="ident">ControlCenter</span> = 68</code></dt>
415+
<dd>
416+
<section class="desc"><p>Open the Control Center.</p></section>
417+
</dd>
412418
<dt id="pyatv.const.FeatureName.Down"><code class="name">var <span class="ident">Down</span> = 1</code></dt>
413419
<dd>
414420
<section class="desc"><p>Down button on remote.</p></section>
@@ -421,6 +427,10 @@ <h3>Class variables</h3>
421427
<dd>
422428
<section class="desc"><p>Genre of playing song.</p></section>
423429
</dd>
430+
<dt id="pyatv.const.FeatureName.Guide"><code class="name">var <span class="ident">Guide</span> = 66</code></dt>
431+
<dd>
432+
<section class="desc"><p>Show EPG.</p></section>
433+
</dd>
424434
<dt id="pyatv.const.FeatureName.Home"><code class="name">var <span class="ident">Home</span> = 14</code></dt>
425435
<dd>
426436
<section class="desc"><p>Home/TV button.</p></section>
@@ -941,7 +951,7 @@ <h3>Class variables</h3>
941951
</code></dt>
942952
<dd>
943953
<section class="desc"><p>Touch action constants.</p></section>
944-
<div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/const.py#L454-L460" class="git-link">Browse git</a></div>
954+
<div class="git-link-div"><a href="https://github.com/postlund/pyatv/blob/master/pyatv/const.py#L460-L466" class="git-link">Browse git</a></div>
945955
<h3>Ancestors</h3>
946956
<ul class="hlist">
947957
<li>enum.Enum</li>
@@ -950,19 +960,19 @@ <h3>Class variables</h3>
950960
<dl>
951961
<dt id="pyatv.const.TouchAction.Click"><code class="name">var <span class="ident">Click</span> = 5</code></dt>
952962
<dd>
953-
<section class="desc"></section>
963+
<section class="desc"><p>The type of the None singleton.</p></section>
954964
</dd>
955965
<dt id="pyatv.const.TouchAction.Hold"><code class="name">var <span class="ident">Hold</span> = 3</code></dt>
956966
<dd>
957-
<section class="desc"></section>
967+
<section class="desc"><p>The type of the None singleton.</p></section>
958968
</dd>
959969
<dt id="pyatv.const.TouchAction.Press"><code class="name">var <span class="ident">Press</span> = 1</code></dt>
960970
<dd>
961-
<section class="desc"></section>
971+
<section class="desc"><p>The type of the None singleton.</p></section>
962972
</dd>
963973
<dt id="pyatv.const.TouchAction.Release"><code class="name">var <span class="ident">Release</span> = 4</code></dt>
964974
<dd>
965-
<section class="desc"></section>
975+
<section class="desc"><p>The type of the None singleton.</p></section>
966976
</dd>
967977
</dl>
968978
</dd>

0 commit comments

Comments
 (0)