History:

<see Git checking messages for history>

6.0.0   2020/06/30
      - removed usage of deprecated "license_file" option for "license_files"
      - fixed flake8 usage in pre-commit
      - the module is now available on conda (closes #170)
      - MSS: the implementation is now thread-safe on all OSes (fixes #169)
      - Linux: better handling of the Xrandr extension (fixes #168)
      - tests: fixed a random bug on test_grab_with_tuple_percents() (fixes #142)
      - :heart: contributors: @

5.1.0   2020/04/30
      - produce wheels for Python 3 only
      - MSS: renamed again MSSMixin to MSSBase, now derived from abc.ABCMeta
      - tools: force write of file when saving a PNG file
      - tests: fix tests on macOS with Retina display
      - Windows: fixed multi-thread safety (fixes #150)
      - :heart: contributors: @narumishi

5.0.0   2019/12/31
      - removed support for Python 2.7
      - MSS: improve type annotations and add CI check
      - MSS: use __slots__ for better performances
      - MSS: better handle resources to prevent leaks
      - MSS: improve monitors finding
      - Windows: use our own instances of GDI32 and User32 DLLs
      - doc: add project_urls to setup.cfg
      - doc: add an example using the multiprocessing module (closes #82)
      - tests: added regression tests for #128 and #135
      - tests: move tests files into the package
      - :heart: contributors: @hugovk, @foone, @SergeyKalutsky

4.0.2   2019/02/23
      - new contributor: foone
      - Windows: ignore missing SetProcessDPIAware() on Window XP (fixes #109)

4.0.1   2019/01/26
      - Linux: fix several XLib functions signature (fixes #92)
      - Linux: improve monitors finding by a factor of 44

4.0.0   2019/01/11
      - MSS: remove use of setup.py for setup.cfg
      - MSS: renamed MSSBase to MSSMixin in base.py
      - MSS: refactor ctypes argtype, restype and errcheck setup (fixes #84)
      - Linux: ensure resources are freed in grab()
      - Windows: avoid unnecessary class attributes
      - MSS: ensure calls without context manager will not leak resources or document them (fixes #72 and #85)
      - MSS: fix Flake8 C408: Unnecessary dict call - rewrite as a literal, in exceptions.py
      - MSS: fix Flake8 I100: Import statements are in the wrong order
      - MSS: fix Flake8 I201: Missing newline before sections or imports
      - MSS: fix PyLint bad-super-call: Bad first argument 'Exception' given to super()
      - tests: use tox, enable PyPy and PyPy3, add macOS and Windows CI

3.3.2   2018/11/20
      - new contributors: hugovk, Andreas Buhr
      - MSS: do monitor detection in MSS constructor (fixes #79)
      - MSS: specify compliant Python versions for pip install
      - tests: enable Python 3.7
      - tests: fix test_entry_point() with multiple monitors

3.3.1   2018/09/22
      - Linux: fix a memory leak introduced with 7e8ae5703f0669f40532c2be917df4328bc3985e (fixes #72)
      - doc: add the download statistics badge

3.3.0   2018/09/04
      - Linux: add an error handler for the XServer to prevent interpreter crash (fix #61)
      - MSS: fix a ResourceWarning: unclosed file in setup.py
      - tests: fix a ResourceWarning: unclosed file
      - doc: fix a typo in Screenshot.pixel() method (thanks to @mchlnix)
      - big code clean-up using black

3.2.1   2018/05/21
      - new contributor: Ryan Fox
      - Windows: enable Hi-DPI awareness

3.2.0   2018/03/22
      - removed support for Python 3.4
      - MSS: add the Screenshot.bgra attribute
      - MSS: speed-up grabbing on the 3 platforms
      - tools: add PNG compression level control to to_png()
      - tests: add leaks.py and benchmarks.py for manual testing
      - doc: add an example about capturing part of the monitor 2
      - doc: add an example about computing BGRA values to RGB

3.1.2   2018/01/05
      - removed support for Python 3.3
      - MSS: possibility to get the whole PNG raw bytes
      - Windows: capture all visible windows
      - doc: improvements and fixes (fix #37)
      - CI: build the documentation

3.1.1   2017/11/27
      - MSS: add the 'mss' entry point

3.1.0   2017/11/16
      - new contributor: Karan Lyons
      - MSS: add more way of customization to the output argument of save()
      - MSS: possibility to use custom class to handle screen shot data
      - Mac: properly support all display scaling and resolutions (fix #14, #19, #21, #23)
      - Mac: fix memory leaks (fix #24)
      - Linux: handle bad display value
      - Windows: take into account zoom factor for high-DPI displays (fix #20)
      - doc: several fixes (fix #22)
      - tests: a lot of tests added for better coverage
      - add the 'Say Thanks' button

3.0.1   2017/07/06
      - fix examples links

3.0.0   2017/07/06
      - big refactor, introducing the ScreenShot class
      - MSS: add Numpy array interface support to the Screenshot class
      - docs: add OpenCV/Numpy, PIL pixels, FPS

2.0.22  2017/04/29
      - new contributors: David Becker, redodo
      - MSS: better use of exception mechanism
      - Linux: use of hasattr to prevent Exception on early exit
      - Mac: take into account extra black pixels added when screen with is not divisible by 16 (fix #14)
      - docs: add an example to capture only a part of the screen

2.0.18  2016/12/03
      - change license to MIT
      - new contributor: Jochen 'cycomanic' Schroeder
      - MSS: add type hints
      - MSS: remove unused code (reported by Vulture)
      - Linux: remove MSS library
      - Linux: insanely fast using only ctypes
      - Linux: skip unused monitors
      - Linux: use errcheck instead of deprecated restype with callable (fix #11)
      - Linux: fix security issue (reported by Bandit)
      - docs: add documentation (fix #10)
      - tests: add tests and use Travis CI (fix #9)

2.0.0   2016/06/04
      - split the module into several files
      - MSS: a lot of code refactor and optimizations
      - MSS: rename save_img() to to_png()
      - MSS: save(): replace 'screen' argument by 'mon'
      - Mac: get rid of the PyObjc module, 100% ctypes
      - Linux: prevent segfault when DISPLAY is set but no X server started
      - Linux: prevent segfault when Xrandr is not loaded
      - Linux: get_pixels() insanely fast, use of MSS library (C code)
      - Windows: fix #6, screen shot not correct on Windows 8
      - add issue and pull request templates

1.0.2   2016/04/22
      - MSS: fix non existent alias

1.0.1   2016/04/22
      - MSS: fix #7, libpng warning (ignoring bad filter type)

1.0.0   2015/04/16
      - Python 2.6 to 3.5 ready
      - MSS: code purgation and review, no more debug information
      - MSS: fix #5, add a shortcut to take automatically use the proper MSS class
      - MSS: few optimizations into save_img()
      - Darwin: remove rotation from information returned by enum_display_monitors()
      - Linux: fix object has no attribute 'display' into __del__
      - Linux: use of XDestroyImage() instead of XFree()
      - Linux: optimizations of get_pixels()
      - Windows: huge optimization of get_pixels()
      - CLI: delete --debug argument

0.1.1   2015/04/10
      - MSS: little code review
      - Linux: fix monitor count
      - tests: remove test-linux binary
      - docs: add doc/TESTING
      - docs: remove Bonus section from README.rst

0.1.0   2015/04/10
      - MSS: fix code with YAPF tool
      - Linux: fully functional using Xrandr library
      - Linux: code purgation (no more XML files to parse)
      - docs: better tests and examples

0.0.8   2015/02/04
      - new contributors: sergey-vin, Alexander 'thehesiod' Mohr
      - MSS: fix #3, filename's dir is not used when saving
      - MSS: fix "E713 test for membership should be 'not in'"
      - MSS: raise an exception for unimplemented methods
      - Windows: fix #4, robustness to MSSWindows.get_pixels

0.0.7   2014/03/20
      - MSS: fix path where screenshots are saved

0.0.6   2014/03/19
      - new contributor: Sam from sametmax.com
      - Python 3.4 ready
      - PEP8 compliant
      - MSS: review module structure to fit the "Code Like a Pythonista: Idiomatic Python"
      - MSS: refactoring of all enum_display_monitors() methods
      - MSS: fix misspellings using 'codespell' tool
      - MSS: better way to manage output filenames (callback)
      - MSS: several fixes here and there, code refactoring
      - MSS: moved into a MSS:save_img() method
      - Linux: add XFCE4 support
      - CLI: possibility to append '--debug' to the command line

0.0.5   2013/11/01
      - MSS: code simplified
      - Windows: few optimizations into _arrange()

0.0.4   2013/10/31
      - Linux: use of memoization => huge time/operations gains

0.0.3   2013/10/30
      - MSS: remove PNG filters
      - MSS: remove 'ext' argument, using only PNG
      - MSS: do not overwrite existing image files
      - MSS: few optimizations into png()
      - Linux: few optimizations into get_pixels()

0.0.2   2013/10/21
      - new contributors: Oros, Eownis
      - add support for python 3 on Windows and GNU/Linux

0.0.1   2013/07/01
      - first release
