Skip to content

Commit 1309717

Browse files
authored
feat: prepare the next release (#490)
* chore: update dates * feat: update dependencies * feat: automatic "pragma: nocover" setup * feat: minor refactorings proposed by Sourcery * chore: conditional typing imports * fix: absolute imports everywhere * chore: ignore MP4 files generated by demos * chore: remove superfluous list() calls * docs: tweak * feat: include the changelog in the documentation * fix: tests * fix: py39
1 parent 20cee13 commit 1309717

26 files changed

Lines changed: 183 additions & 124 deletions

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
.DS_Store
55
*.orig
66
*.jpg
7+
*.mp4
78
/*.png
89
*.png.old
910
*.pickle
@@ -13,6 +14,7 @@
1314
build/
1415
.cache/
1516
dist/
17+
docs/__intersphinx_cache__/
1618
docs_out/
1719
*.egg-info/
1820
.idea/

CHANGELOG.md

Lines changed: 90 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
See Git commit messages for full history.
44

5-
## 10.2.0.dev0 (2026-xx-xx)
5+
## v10.2.0.dev0
6+
(2026-xx-xx)
67
- Add `is_primary`, `name`, and `unique_id` keys to Monitor dicts for primary monitor detection, device names, and stable per-monitor identification (#153)
78
- Add `primary_monitor` property to MSS base class for easy access to the primary monitor (#153)
89
- Windows: add primary monitor detection using `GetMonitorInfoW` API (#153)
@@ -20,19 +21,22 @@ See Git commit messages for full history.
2021
- Add full demos for different ways to use MSS (#444, #456, #465)
2122
- :heart: contributors: @jholveck, @halldorfannar
2223

23-
## 10.1.0 (2025-08-16)
24+
## v10.1.0
25+
(2025-08-16)
2426
- Mac: up to 60% performances improvement by taking screenshots at nominal resolution (e.g. scaling is off by default). To enable back scaling, set `mss.darwin.IMAGE_OPTIONS = 0`. (#257)
2527
- docs: use the [shibuya](https://shibuya.lepture.com) theme
2628
- :heart: contributors: @brycedrennan
2729

28-
## 10.0.0 (2024-11-14)
30+
## v10.0.0
31+
(2024-11-14)
2932
- removed support for Python 3.8
3033
- added support for Python 3.14
3134
- Linux: fixed a threading issue in `.close()` when calling `XCloseDisplay()` (#251)
3235
- Linux: minor optimization when checking for a X extension status (#251)
3336
- :heart: contributors: @kianmeng, @shravanasati, @mgorny
3437

35-
## 9.0.2 (2024-09-01)
38+
## v9.0.2
39+
(2024-09-01)
3640
- added support for Python 3.13
3741
- leveled up the packaging using `hatchling`
3842
- used `ruff` to lint the code base (#275)
@@ -41,10 +45,12 @@ See Git commit messages for full history.
4145
- CI: automated release publishing on tag creation
4246
- :heart: contributors: @Andon-Li
4347

44-
## 9.0.1 (2023-04-20)
48+
## v9.0.1
49+
(2023-04-20)
4550
- CLI: fixed entry point not taking into account arguments
4651

47-
## 9.0.0 (2023-04-18)
52+
## v9.0.0
53+
(2023-04-18)
4854
- Linux: add failure handling to `XOpenDisplay()` call (fixes #246)
4955
- Mac: tiny improvement in monitors finding
5056
- Windows: refactored how internal handles are stored (fixes #198)
@@ -55,7 +61,8 @@ See Git commit messages for full history.
5561
- tests: automatic rerun in case of failure (related to #251)
5662
- :heart: contributors: @mgorny, @CTPaHHuK-HEbA
5763

58-
## 8.0.3 (2023-04-15)
64+
## v8.0.3
65+
(2023-04-15)
5966
- added support for Python 3.12
6067
- MSS: added PEP 561 compatibility
6168
- MSS: include more files in the sdist package (#240)
@@ -66,16 +73,19 @@ See Git commit messages for full history.
6673
- dev: review the structure of the repository to fix/improve packaging issues (#243)
6774
- :heart: contributors: @mgorny, @relent95
6875

69-
## 8.0.2 (2023-04-09)
76+
## v8.0.2
77+
(2023-04-09)
7078
- fixed `SetuptoolsDeprecationWarning`: Installing 'XXX' as data is deprecated, please list it in packages
7179
- CLI: fixed arguments handling
7280

73-
## 8.0.1 (2023-04-09)
81+
## v8.0.1
82+
(2023-04-09)
7483
- MSS: ensure `--with-cursor`, and `with_cursor` argument & attribute, are simple NOOP on platforms not supporting the feature
7584
- CLI: do not raise a `ScreenShotError` when `-q`, or `--quiet`, is used but return `
7685
- tests: fixed `test_entry_point()` with multiple monitors having the same resolution
7786

78-
## 8.0.0 (2023-04-09)
87+
## v8.0.0
88+
(2023-04-09)
7989
- removed support for Python 3.6
8090
- removed support for Python 3.7
8191
- MSS: fixed PEP 484 prohibits implicit Optional
@@ -88,10 +98,12 @@ See Git commit messages for full history.
8898
- tests: added PyPy 3.9, removed `tox`, and improved GNU/Linux coverage
8999
- :heart: contributors: @zorvios
90100

91-
## 7.0.1 (2022-10-27)
101+
## v7.0.1
102+
(2022-10-27)
92103
- fixed the wheel package
93104

94-
## 7.0.0 (2022-10-27)
105+
## v7.0.0
106+
(2022-10-27)
95107
- added support for Python 3.11
96108
- added support for Python 3.10
97109
- removed support for Python 3.5
@@ -100,31 +112,35 @@ See Git commit messages for full history.
100112
- MSS: fixed typos here, and there
101113
- docs: fixed an error when building the documentation
102114

103-
## 6.1.0 (2020-10-31)
115+
## v6.1.0
116+
(2020-10-31)
104117
- MSS: reworked how C functions are initialized
105118
- Mac: reduce the number of function calls
106119
- Mac: support macOS Big Sur (fixes #178)
107120
- tests: expand Python versions to 3.9 and 3.10
108121
- tests: fixed macOS interpreter not found on Travis-CI
109122
- tests: fixed `test_entry_point()` when there are several monitors
110123

111-
## 6.0.0 (2020-06-30)
124+
## v6.0.0
125+
(2020-06-30)
112126
- removed usage of deprecated `license_file` option for `license_files`
113127
- fixed flake8 usage in pre-commit
114128
- the module is now available on Conda (closes #170)
115129
- MSS: the implementation is now thread-safe on all OSes (fixes #169)
116130
- Linux: better handling of the Xrandr extension (fixes #168)
117131
- tests: fixed a random bug on `test_grab_with_tuple_percents()` (fixes #142)
118132

119-
## 5.1.0 (2020-04-30)
133+
## v5.1.0
134+
(2020-04-30)
120135
- produce wheels for Python 3 only
121136
- MSS: renamed again `MSSMixin` to `MSSBase`, now derived from `abc.ABCMeta`
122137
- tools: force write of file when saving a PNG file
123138
- tests: fixed tests on macOS with Retina display
124139
- Windows: fixed multi-thread safety (fixes #150)
125140
- :heart: contributors: @narumishi
126141

127-
## 5.0.0 (2019-12-31)
142+
## v5.0.0
143+
(2019-12-31)
128144
- removed support for Python 2.7
129145
- MSS: improve type annotations and add CI check
130146
- MSS: use `__slots__` for better performances
@@ -137,15 +153,18 @@ See Git commit messages for full history.
137153
- tests: move tests files into the package
138154
- :heart: contributors: @hugovk, @foone, @SergeyKalutsky
139155

140-
## 4.0.2 (2019-02-23)
156+
## v4.0.2
157+
(2019-02-23)
141158
- Windows: ignore missing `SetProcessDPIAware()` on Window XP (fixes #109)
142159
- :heart: contributors: @foone
143160

144-
## 4.0.1 (2019-01-26)
161+
## v4.0.1
162+
(2019-01-26)
145163
- Linux: fixed several Xlib functions signature (fixes #92)
146164
- Linux: improve monitors finding by a factor of 44
147165

148-
## 4.0.0 (2019-01-11)
166+
## v4.0.0
167+
(2019-01-11)
149168
- MSS: remove use of `setup.py` for `setup.cfg`
150169
- MSS: renamed `MSSBase` to `MSSMixin` in `base.py`
151170
- MSS: refactor ctypes `argtype`, `restype` and `errcheck` setup (fixes #84)
@@ -158,29 +177,34 @@ See Git commit messages for full history.
158177
- MSS: fixed PyLint bad-super-call: Bad first argument 'Exception' given to `super()`
159178
- tests: use `tox`, enable PyPy and PyPy3, add macOS and Windows CI
160179

161-
## 3.3.2 (2018-11-20)
180+
## v3.3.2
181+
(2018-11-20)
162182
- MSS: do monitor detection in MSS constructor (fixes #79)
163183
- MSS: specify compliant Python versions for pip install
164184
- tests: enable Python 3.7
165185
- tests: fixed `test_entry_point()` with multiple monitors
166186
- :heart: contributors: @hugovk, @andreasbuhr
167187

168-
## 3.3.1 (2018-09-22)
188+
## v3.3.1
189+
(2018-09-22)
169190
- Linux: fixed a memory leak introduced with 7e8ae5703f0669f40532c2be917df4328bc3985e (fixes #72)
170191
- docs: add the download statistics badge
171192

172-
## 3.3.0 (2018-09-04)
193+
## v3.3.0
194+
(2018-09-04)
173195
- Linux: add an error handler for the XServer to prevent interpreter crash (fixes #61)
174196
- MSS: fixed a `ResourceWarning`: unclosed file in `setup.py`
175197
- tests: fixed a `ResourceWarning`: unclosed file
176198
- docs: fixed a typo in `Screenshot.pixel()` method (thanks to @mchlnix)
177199
- big code clean-up using `black`
178200

179-
## 3.2.1 (2018-05-21)
201+
## v3.2.1
202+
(2018-05-21)
180203
- Windows: enable Hi-DPI awareness
181204
- :heart: contributors: @ryanfox
182205

183-
## 3.2.0 (2018-03-22)
206+
## v3.2.0
207+
(2018-03-22)
184208
- removed support for Python 3.4
185209
- MSS: add the `Screenshot.bgra` attribute
186210
- MSS: speed-up grabbing on the 3 platforms
@@ -189,17 +213,20 @@ See Git commit messages for full history.
189213
- docs: add an example about capturing part of the monitor 2
190214
- docs: add an example about computing BGRA values to RGB
191215

192-
## 3.1.2 (2018-01-05)
216+
## v3.1.2
217+
(2018-01-05)
193218
- removed support for Python 3.3
194219
- MSS: possibility to get the whole PNG raw bytes
195220
- Windows: capture all visible window
196221
- docs: improvements and fixes (fixes #37)
197222
- CI: build the documentation
198223

199-
## 3.1.1 (2017-11-27)
224+
## v3.1.1
225+
(2017-11-27)
200226
- MSS: add the `mss` entry point
201227

202-
## 3.1.0 (2017-11-16)
228+
## v3.1.0
229+
(2017-11-16)
203230
- MSS: add more way of customization to the output argument of `save()`
204231
- MSS: possibility to use custom class to handle screenshot data
205232
- Mac: properly support all display scaling and resolutions (fixes #14, #19, #21, #23)
@@ -211,22 +238,26 @@ See Git commit messages for full history.
211238
- add the 'Say Thanks' button
212239
- :heart: contributors: @karanlyons
213240

214-
## 3.0.1 (2017-07-06)
241+
## v3.0.1
242+
(2017-07-06)
215243
- fixed examples links
216244

217-
## 3.0.0 (2017-07-06)
245+
## v3.0.0
246+
(2017-07-06)
218247
- big refactor, introducing the `ScreenShot` class
219248
- MSS: add Numpy array interface support to the `Screenshot` class
220249
- docs: add OpenCV/Numpy, PIL pixels, FPS
221250

222-
## 2.0.22 (2017-04-29)
251+
## v2.0.22
252+
(2017-04-29)
223253
- MSS: better use of exception mechanism
224254
- Linux: use of `hasattr()` to prevent Exception on early exit
225255
- Mac: take into account extra black pixels added when screen with is not divisible by 16 (fixes #14)
226256
- docs: add an example to capture only a part of the screen
227257
- :heart: contributors: David Becker, @redodo
228258

229-
## 2.0.18 (2016-12-03)
259+
## v2.0.18
260+
(2016-12-03)
230261
- change license to MIT
231262
- MSS: add type hints
232263
- MSS: remove unused code (reported by `Vulture`)
@@ -239,7 +270,8 @@ See Git commit messages for full history.
239270
- tests: add tests and use Travis CI (fixes #9)
240271
- :heart: contributors: @cycomanic
241272

242-
## 2.0.0 (2016-06-04)
273+
## v2.0.0
274+
(2016-06-04)
243275
- add issue and pull request templates
244276
- split the module into several files
245277
- MSS: a lot of code refactor and optimizations
@@ -251,13 +283,16 @@ See Git commit messages for full history.
251283
- Linux: `get_pixels()` insanely fast, use of MSS library (C code)
252284
- Windows: screenshot not correct on Windows 8 (fixes #6)
253285

254-
## 1.0.2 (2016-04-22)
286+
## v1.0.2
287+
(2016-04-22)
255288
- MSS: fixed non-existent alias
256289

257-
## 1.0.1 (2016-04-22)
290+
## v1.0.1
291+
(2016-04-22)
258292
- MSS: `libpng` warning (ignoring bad filter type) (fixes #7)
259293

260-
## 1.0.0 (2015-04-16)
294+
## v1.0.0
295+
(2015-04-16)
261296
- Python 2.6 to 3.5 ready
262297
- MSS: code clean-up and review, no more debug information
263298
- MSS: add a shortcut to take automatically use the proper `MSS` class (fixes #5)
@@ -269,30 +304,35 @@ See Git commit messages for full history.
269304
- Windows: huge optimization of `get_pixels()`
270305
- CLI: delete `--debug` argument
271306

272-
## 0.1.1 (2015-04-10)
307+
## v0.1.1
308+
(2015-04-10)
273309
- MSS: little code review
274310
- Linux: fixed monitor count
275311
- tests: remove `test-linux` binary
276312
- docs: add `doc/TESTING`
277313
- docs: remove Bonus section from README
278314

279-
## 0.1.0 (2015-04-10)
315+
## v0.1.0
316+
(2015-04-10)
280317
- MSS: fixed code with `YAPF` tool
281318
- Linux: fully functional using Xrandr library
282319
- Linux: code clean-up (no more XML files to parse)
283320
- docs: better tests and examples
284321

285-
## 0.0.8 (2015-02-04)
322+
## v0.0.8
323+
(2015-02-04)
286324
- MSS: filename's directory is not used when saving (fixes #3)
287325
- MSS: fixed flake8 error: E713 test for membership should be 'not in'
288326
- MSS: raise an exception for unimplemented methods
289327
- Windows: robustness to `MSSWindows.get_pixels` (fixes #4)
290328
- :heart: contributors: @sergey-vin, @thehesiod
291329

292-
## 0.0.7 (2014-03-20)
330+
## v0.0.7
331+
(2014-03-20)
293332
- MSS: fixed path where screenshots are saved
294333

295-
## 0.0.6 (2014-03-19)
334+
## v0.0.6
335+
(2014-03-19)
296336
- Python 3.4 ready
297337
- PEP8 compliant
298338
- MSS: review module structure to fit the "Code Like a Pythonista: Idiomatic Python"
@@ -304,23 +344,28 @@ See Git commit messages for full history.
304344
- CLI: possibility to append `--debug` to the command line
305345
- :heart: contributors: @sametmax
306346

307-
## 0.0.5 (2013-11-01)
347+
## v0.0.5
348+
(2013-11-01)
308349
- MSS: code simplified
309350
- Windows: few optimizations into `_arrange()`
310351

311-
## 0.0.4 (2013-10-31)
352+
## v0.0.4
353+
(2013-10-31)
312354
- Linux: use of memoization → huge time/operations gains
313355

314-
## 0.0.3 (2013-10-30)
356+
## v0.0.3
357+
(2013-10-30)
315358
- MSS: removed PNG filters
316359
- MSS: removed `ext` argument, using only PNG
317360
- MSS: do not overwrite existing image files
318361
- MSS: few optimizations into `png()`
319362
- Linux: few optimizations into `get_pixels()`
320363

321-
## 0.0.2 (2013-10-21)
364+
## v0.0.2
365+
(2013-10-21)
322366
- added support for python 3 on Windows and GNU/Linux
323367
- :heart: contributors: Oros, Eownis
324368

325-
## 0.0.1 (2013-07-01)
369+
## v0.0.1
370+
(2013-07-01)
326371
- first release

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
MIT License
2-
Copyright (c) 2013-2025, Mickaël 'Tiger-222' Schoentgen
2+
Copyright (c) 2013-2026, Mickaël 'Tiger-222' Schoentgen
33

44
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
55

docs/source/changelog.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.. include:: ../../CHANGELOG.md
2+
:parser: myst_parser.sphinx_

0 commit comments

Comments
 (0)