Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2022-09-21 19:39:08 +12:00
commit 455d28e595
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
8 changed files with 230 additions and 10 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

167
changelog/2022.9.0.rst Normal file
View File

@ -0,0 +1,167 @@
ESPHome 2022.9.0 - 21st September 2022
======================================
.. seo::
:description: Changelog for ESPHome 2022.9.0.
:image: /_static/changelog-2022.9.0.png
:author: Jesse Hills
:author_twitter: @jesserockz
.. imgtable::
:columns: 4
DPS310, components/sensor/dps310, dps310.jpg
MCP9600, components/sensor/mcp9600, mcp9600.jpg
TM1621, components/display/tm1621, tm1621.jpg
MPL3115A2, components/sensor/mpl3115a2, mpl3115a2.jpg
uFire EC sensor, components/sensor/ufire_ec, ufire_ec.png
uFire ISE sensor, components/sensor/ufire_ise, ufire_ise.png
Factory Reset Switch, components/switch/factory_reset, restart-alert.svg
Factory Reset Button, components/button/factory_reset, restart-alert.svg
TM1638, components/display/tm1638, tm1638.jpg
BL0942, components/sensor/bl0942, bl0942.png
ESPHome Editor
--------------
The editor used in ESPHome has been swapped out for Monaco thanks to :ghuser:`glmnet`. He has
been working hard to make the experience of writing your YAML configurations easier and it now
supports auto completion with popups to show you more information.
Factory Reset
-------------
A new Factory Reset switch and button has been added this release, allowing resetting of information such
as counters, restored values, and more importantly, the wifi credentials of a device that has been set up
using the captive portal such as pre-flashed devices you would have purchased.
Full list of changes
--------------------
New Components
^^^^^^^^^^^^^^
- Add dps310 sensor support :esphomepr:`3704` by :ghuser:`kbx81` (new-integration)
- Support for MCP9600 Thermocouple Amplifier :esphomepr:`3700` by :ghuser:`MrEditor97` (new-integration)
- Add support to tm1621 display :esphomepr:`3737` by :ghuser:`Philippe12` (new-integration)
- u-fire EC sensor :esphomepr:`3774` by :ghuser:`pvizeli` (new-integration)
- Add support for MPL3115A2 Pressure/Altitude and Temperature Sensor :esphomepr:`3371` by :ghuser:`kbickar` (new-integration)
- Add support for BL0942 voltage, current, energy and power Sensor :esphomepr:`3777` by :ghuser:`dbuezas` (new-integration)
- Add Factory Reset button and switch :esphomepr:`3724` by :ghuser:`anatoly-savchenkov` (new-integration)
- Add support for TM1638 Led and Key component :esphomepr:`3340` by :ghuser:`skykingjwc` (new-integration)
- Add uFire ISE sensor :esphomepr:`3789` by :ghuser:`pvizeli` (new-integration)
Beta Changes
^^^^^^^^^^^^
- null initialize total sensor for pulse counter :esphomepr:`3803` by :ghuser:`RoboMagus`
- Sim800l add calls, multiline sms and ussd :esphomepr:`3630` by :ghuser:`glmnet`
- Unify 'nullptr' initalization of class members; :esphomepr:`3805` by :ghuser:`RoboMagus`
- Initialize all child sensors to nullptr :esphomepr:`3808` by :ghuser:`jesserockz`
- Remove floating point calculation from ac_dimmer ISR :esphomepr:`3770` by :ghuser:`Azimath`
- split pronto codes if they are too long :esphomepr:`3812` by :ghuser:`ssieb`
- [BME280] raise standby time :esphomepr:`3804` by :ghuser:`h3ndrik`
- Make sprinkler reset_resume() method public :esphomepr:`3824` by :ghuser:`kbx81`
- Bump dashboard to 20220919.1 :esphomepr:`3828` by :ghuser:`balloob`
- Fix-esphome-validation-line-number :esphomepr:`3815` by :ghuser:`glmnet`
- Bump dashboard to 20220920.0 :esphomepr:`3831` by :ghuser:`balloob`
- Bump dashboard to 20220920.1 :esphomepr:`3834` by :ghuser:`glmnet`
All changes
^^^^^^^^^^^
- support modifying the apds9960 settings :esphomepr:`3708` by :ghuser:`ssieb`
- Add support for pvvx mithermometer display via ble client :esphomepr:`3333` by :ghuser:`puuu`
- Improve OTA error messages adding return codes :esphomepr:`3698` by :ghuser:`IgnacioHR`
- Send CR also for commands for sim800l :esphomepr:`3719` by :ghuser:`ssieb`
- hydreon_rgxx: Support lens_bad, em_sat and temperature :esphomepr:`3642` by :ghuser:`functionpointer`
- wifi: support 802.11k and 802.11v :esphomepr:`3600` by :ghuser:`stintel`
- Add final validate for i2c with mix/max frequency :esphomepr:`3727` by :ghuser:`jesserockz`
- Add dps310 sensor support :esphomepr:`3704` by :ghuser:`kbx81` (new-integration)
- Let favicon be cached :esphomepr:`3729` by :ghuser:`slovdahl`
- Add bitmap font support :esphomepr:`3573` by :ghuser:`justfalter`
- add log messages for bad pronto codes :esphomepr:`3738` by :ghuser:`ssieb`
- add color compare operator's :esphomepr:`3730` by :ghuser:`nielsnl68`
- Support for MCP9600 Thermocouple Amplifier :esphomepr:`3700` by :ghuser:`MrEditor97` (new-integration)
- Support high update rates and fix several bugs in the cse7766 component. :esphomepr:`3675` by :ghuser:`fhriley`
- Add Prometheus metrics relabeling :esphomepr:`3734` by :ghuser:`jangrewe`
- mcp23017: read output latch registers during setup :esphomepr:`3744` by :ghuser:`andyboeh`
- Captive portal show nearby WiFi with no ssid configured :esphomepr:`3748` by :ghuser:`anatoly-savchenkov`
- Remove unnecessary schema extension on template button :esphomepr:`3753` by :ghuser:`jesserockz`
- Tidy up switch schemas :esphomepr:`3754` by :ghuser:`jesserockz`
- Add IP101 support to Ethernet component :esphomepr:`3751` by :ghuser:`kbx81`
- Add BedJet Fan child component :esphomepr:`3735` by :ghuser:`jhansche`
- ibeacon support for the ble_rssi sensor :esphomepr:`3745` by :ghuser:`wjtje`
- Add AEHA IR Protocol :esphomepr:`3726` by :ghuser:`hazi`
- Add sum type to binary_sensor_map :esphomepr:`3541` by :ghuser:`fbrthld`
- Bump aioesphomeapi from 10.11.0 to 10.13.0 :esphomepr:`3740` by :ghuser:`dependabot[bot]`
- Bump pylint from 2.14.5 to 2.15.0 :esphomepr:`3746` by :ghuser:`dependabot[bot]`
- Esp32 pulsecounter optional pcnt :esphomepr:`3691` by :ghuser:`RoboMagus`
- Bump black from 22.6.0 to 22.8.0 :esphomepr:`3760` by :ghuser:`dependabot[bot]`
- Various ili9341 fixes :esphomepr:`3756` by :ghuser:`nielsnl68`
- Add the same docker tags as used in HA :esphomepr:`3752` by :ghuser:`andrey-yantsen`
- Bump pytest from 7.1.1 to 7.1.3 :esphomepr:`3766` by :ghuser:`dependabot[bot]`
- Remove unneeded line (spi component adds it) :esphomepr:`3778` by :ghuser:`jesserockz`
- Move crc16 to helpers :esphomepr:`3780` by :ghuser:`jesserockz`
- YAML linting :esphomepr:`3779` by :ghuser:`jesserockz`
- Add support to tm1621 display :esphomepr:`3737` by :ghuser:`Philippe12` (new-integration)
- u-fire EC sensor :esphomepr:`3774` by :ghuser:`pvizeli` (new-integration)
- Add support for MPL3115A2 Pressure/Altitude and Temperature Sensor :esphomepr:`3371` by :ghuser:`kbickar` (new-integration)
- Add support for BL0942 voltage, current, energy and power Sensor :esphomepr:`3777` by :ghuser:`dbuezas` (new-integration)
- Bump pylint from 2.15.0 to 2.15.2 :esphomepr:`3785` by :ghuser:`dependabot[bot]`
- Add Factory Reset button and switch :esphomepr:`3724` by :ghuser:`anatoly-savchenkov` (new-integration)
- [MPU6050] Support devices with WHOAMI 0x98 :esphomepr:`3784` by :ghuser:`CarlosGS`
- Bump zeroconf from 0.39.0 to 0.39.1 :esphomepr:`3782` by :ghuser:`dependabot[bot]`
- Add support for TM1638 Led and Key component :esphomepr:`3340` by :ghuser:`skykingjwc` (new-integration)
- Remove status_set_error from ufire_ec :esphomepr:`3792` by :ghuser:`pvizeli`
- Bump frenck/action-yamllint from 1.2.0 to 1.3.0 :esphomepr:`3798` by :ghuser:`dependabot[bot]`
- esp32_ble_tracker continuous and one shot scanning modes :esphomepr:`3649` by :ghuser:`jonofmac`
- Add stop action for ble scanning :esphomepr:`3799` by :ghuser:`jesserockz`
- Add Prometheus Service Discovery for online devices :esphomepr:`3788` by :ghuser:`cznewt`
- Allow ble tracker to subscribe to ota start and stop the scanning :esphomepr:`3800` by :ghuser:`jesserockz`
- Add uFire ISE sensor :esphomepr:`3789` by :ghuser:`pvizeli` (new-integration)
- fix spi timing issues :esphomepr:`3763` by :ghuser:`IgnacioHR`
- null initialize total sensor for pulse counter :esphomepr:`3803` by :ghuser:`RoboMagus`
- Sim800l add calls, multiline sms and ussd :esphomepr:`3630` by :ghuser:`glmnet`
- Unify 'nullptr' initalization of class members; :esphomepr:`3805` by :ghuser:`RoboMagus`
- Initialize all child sensors to nullptr :esphomepr:`3808` by :ghuser:`jesserockz`
- Remove floating point calculation from ac_dimmer ISR :esphomepr:`3770` by :ghuser:`Azimath`
- split pronto codes if they are too long :esphomepr:`3812` by :ghuser:`ssieb`
- [BME280] raise standby time :esphomepr:`3804` by :ghuser:`h3ndrik`
- Make sprinkler reset_resume() method public :esphomepr:`3824` by :ghuser:`kbx81`
- Bump dashboard to 20220919.1 :esphomepr:`3828` by :ghuser:`balloob`
- Fix-esphome-validation-line-number :esphomepr:`3815` by :ghuser:`glmnet`
- Bump dashboard to 20220920.0 :esphomepr:`3831` by :ghuser:`balloob`
- Bump dashboard to 20220920.1 :esphomepr:`3834` by :ghuser:`glmnet`
Past Changelogs
---------------
- :doc:`2022.8.0`
- :doc:`2022.6.0`
- :doc:`2022.5.0`
- :doc:`2022.4.0`
- :doc:`2022.3.0`
- :doc:`2022.2.0`
- :doc:`2022.1.0`
- :doc:`2021.12.0`
- :doc:`2021.11.0`
- :doc:`2021.10.0`
- :doc:`2021.9.0`
- :doc:`2021.8.0`
- :doc:`v1.20.0`
- :doc:`v1.19.0`
- :doc:`v1.18.0`
- :doc:`v1.17.0`
- :doc:`v1.16.0`
- :doc:`v1.15.0`
- :doc:`v1.14.0`
- :doc:`v1.13.0`
- :doc:`v1.12.0`
- :doc:`v1.11.0`
- :doc:`v1.10.0`
- :doc:`v1.9.0`
- :doc:`v1.8.0`
- :doc:`v1.7.0`

View File

@ -2,7 +2,7 @@ Changelog
========= =========
.. redirect:: .. redirect::
:url: /changelog/2022.8.0.html :url: /changelog/2022.9.0.html
.. toctree:: .. toctree::
:glob: :glob:

View File

@ -18,6 +18,18 @@ The Bluetooth proxy depends on :doc:`esp32_ble_tracker` so make sure to add that
Bluetooth proxy requires Home Assistant 2022.9 or later. Bluetooth proxy requires Home Assistant 2022.9 or later.
.. note::
The Bluetooth proxy of ESPHome currently only provides Home Assistant with passive sensor
data that is advertised by certain devices. Not all devices are supported and ESPHome does not decode or keep a list.
To find out if your device is supported, please search for it in the `Home Assistant Integrations <https://www.home-assistant.io/integrations/>`__ list.
The Individual device integrations in Home Assistant (such as BTHome) will receive the data from the Bluetooth Integration in Home Assistant
which automatically aggregates all ESPHome bluetooth proxies with any USB Bluetooth Adapters you might have.
Configuration:
--------------
.. code-block:: .. code-block::
bluetooth_proxy: bluetooth_proxy:

View File

@ -177,6 +177,9 @@ enum. These values are:
Updating the password: Updating the password:
---------------------- ----------------------
Changing an existing password:
******************************
Since the password is used both for compiling and uploading the regular ``esphome <file> run`` Since the password is used both for compiling and uploading the regular ``esphome <file> run``
won't work of course. This issue can be worked around by executing the operations separately won't work of course. This issue can be worked around by executing the operations separately
through an ``on_boot`` trigger: through an ``on_boot`` trigger:
@ -191,6 +194,12 @@ through an ``on_boot`` trigger:
password: "Old password" password: "Old password"
id: my_ota id: my_ota
Adding a password:
******************
If OTA is already enabled without a password, simply add a ``password:`` line to the existing
``ota:`` config block.
See Also See Also
-------- --------

View File

@ -91,7 +91,7 @@ You have to replace the numbers in the lambdas to determine your weight which is
- platform: template - platform: template
name: Impedance Aurélien name: Impedance Aurélien
id: impedance_user1 id: impedance_user1
unit_of_measurement: 'ohm' unit_of_measurement: 'Ω'
icon: mdi:omega icon: mdi:omega
accuracy_decimals: 0 accuracy_decimals: 0
- platform: template - platform: template
@ -103,7 +103,7 @@ You have to replace the numbers in the lambdas to determine your weight which is
- platform: template - platform: template
name: Impedance Siham name: Impedance Siham
id: impedance_user2 id: impedance_user2
unit_of_measurement: 'ohm' unit_of_measurement: 'Ω'
icon: mdi:omega icon: mdi:omega
accuracy_decimals: 0 accuracy_decimals: 0

View File

@ -730,6 +730,12 @@ script was already running.
then: then:
- script.execute: my_script - script.execute: my_script
or as lambda
.. code-block:: yaml
lambda: 'id(my_script).execute();
.. _script-stop_action: .. _script-stop_action:
``script.stop`` Action ``script.stop`` Action
@ -757,6 +763,12 @@ will not be executed.
then: then:
- script.stop: my_script - script.stop: my_script
or as lambda
.. code-block:: yaml
lambda: 'id(my_script).stop();'
.. _script-wait_action: .. _script-wait_action:
``script.wait`` Action ``script.wait`` Action
@ -783,6 +795,14 @@ of the script are running in parallel, this will block until all of them have te
- script.execute: my_script - script.execute: my_script
- script.wait: my_script - script.wait: my_script
or as lambda
.. code-block:: yaml
lambda: |-
id(my_script).execute();
id(my_script).wait();
.. _script-is_running_condition: .. _script-is_running_condition:
``script.is_running`` Condition ``script.is_running`` Condition
@ -801,6 +821,15 @@ of the given id is running, not how many.
then: then:
- logger.log: Script is running! - logger.log: Script is running!
or as lambda
.. code-block:: yaml
lambda: -|
if(id(my_script).is_running() {
ESP_LOGI("main", "Script is running!");
}
.. _for_condition: .. _for_condition:
``for`` Condition ``for`` Condition

View File

@ -118,6 +118,7 @@ Contributors
- `Bill Church (@billchurch) <https://github.com/billchurch>`__ - `Bill Church (@billchurch) <https://github.com/billchurch>`__
- `Brian Kaufman (@bkaufx) <https://github.com/bkaufx>`__ - `Brian Kaufman (@bkaufx) <https://github.com/bkaufx>`__
- `JDavid (@blackhack) <https://github.com/blackhack>`__ - `JDavid (@blackhack) <https://github.com/blackhack>`__
- `blakadder (@blakadder) <https://github.com/blakadder>`__
- `Branimir Lambov (@blambov) <https://github.com/blambov>`__ - `Branimir Lambov (@blambov) <https://github.com/blambov>`__
- `Jim Ekman (@blejdfist) <https://github.com/blejdfist>`__ - `Jim Ekman (@blejdfist) <https://github.com/blejdfist>`__
- `Scott Smith (@blurfl) <https://github.com/blurfl>`__ - `Scott Smith (@blurfl) <https://github.com/blurfl>`__
@ -182,6 +183,7 @@ Contributors
- `cwitting (@cwitting) <https://github.com/cwitting>`__ - `cwitting (@cwitting) <https://github.com/cwitting>`__
- `Alex Solomaha (@CyanoFresh) <https://github.com/CyanoFresh>`__ - `Alex Solomaha (@CyanoFresh) <https://github.com/CyanoFresh>`__
- `Luar Roji (@cyberplant) <https://github.com/cyberplant>`__ - `Luar Roji (@cyberplant) <https://github.com/cyberplant>`__
- `Aleš Komárek (@cznewt) <https://github.com/cznewt>`__
- `d-two (@d-two) <https://github.com/d-two>`__ - `d-two (@d-two) <https://github.com/d-two>`__
- `dab0g (@dab0g) <https://github.com/dab0g>`__ - `dab0g (@dab0g) <https://github.com/dab0g>`__
- `Dale Higgs (@dale3h) <https://github.com/dale3h>`__ - `Dale Higgs (@dale3h) <https://github.com/dale3h>`__
@ -350,6 +352,7 @@ Contributors
- `guillempages (@guillempages) <https://github.com/guillempages>`__ - `guillempages (@guillempages) <https://github.com/guillempages>`__
- `Guyohms (@Guyohms) <https://github.com/Guyohms>`__ - `Guyohms (@Guyohms) <https://github.com/Guyohms>`__
- `Gilles van den Hoven (@gvdhoven) <https://github.com/gvdhoven>`__ - `Gilles van den Hoven (@gvdhoven) <https://github.com/gvdhoven>`__
- `h3ndrik (@h3ndrik) <https://github.com/h3ndrik>`__
- `haade (@haade-administrator) <https://github.com/haade-administrator>`__ - `haade (@haade-administrator) <https://github.com/haade-administrator>`__
- `Peter van Dijk (@Habbie) <https://github.com/Habbie>`__ - `Peter van Dijk (@Habbie) <https://github.com/Habbie>`__
- `Hagai Shatz (@hagai-shatz) <https://github.com/hagai-shatz>`__ - `Hagai Shatz (@hagai-shatz) <https://github.com/hagai-shatz>`__
@ -442,6 +445,7 @@ Contributors
- `Jonathan Adams (@jonathanadams) <https://github.com/jonathanadams>`__ - `Jonathan Adams (@jonathanadams) <https://github.com/jonathanadams>`__
- `Jonathan Treffler (@JonathanTreffler) <https://github.com/JonathanTreffler>`__ - `Jonathan Treffler (@JonathanTreffler) <https://github.com/JonathanTreffler>`__
- `JonnyaiR (@jonnyair) <https://github.com/jonnyair>`__ - `JonnyaiR (@jonnyair) <https://github.com/jonnyair>`__
- `Jonathan V (@jonofmac) <https://github.com/jonofmac>`__
- `Joppy (@JoppyFurr) <https://github.com/JoppyFurr>`__ - `Joppy (@JoppyFurr) <https://github.com/JoppyFurr>`__
- `joseph douce (@josephdouce) <https://github.com/josephdouce>`__ - `joseph douce (@josephdouce) <https://github.com/josephdouce>`__
- `Joshua Spence (@joshuaspence) <https://github.com/joshuaspence>`__ - `Joshua Spence (@joshuaspence) <https://github.com/joshuaspence>`__
@ -495,7 +499,6 @@ Contributors
- `Kyle Hendricks (@kylehendricks) <https://github.com/kylehendricks>`__ - `Kyle Hendricks (@kylehendricks) <https://github.com/kylehendricks>`__
- `Kyle Manna (@kylemanna) <https://github.com/kylemanna>`__ - `Kyle Manna (@kylemanna) <https://github.com/kylemanna>`__
- `Kalashnikov Ilya (@l1bbcsg) <https://github.com/l1bbcsg>`__ - `Kalashnikov Ilya (@l1bbcsg) <https://github.com/l1bbcsg>`__
- `la7dja (@la7dja) <https://github.com/la7dja>`__
- `Limor "Ladyada" Fried (@ladyada) <https://github.com/ladyada>`__ - `Limor "Ladyada" Fried (@ladyada) <https://github.com/ladyada>`__
- `Luca Adrian L (@lal12) <https://github.com/lal12>`__ - `Luca Adrian L (@lal12) <https://github.com/lal12>`__
- `Fredrik Lindqvist (@Landrash) <https://github.com/Landrash>`__ - `Fredrik Lindqvist (@Landrash) <https://github.com/Landrash>`__
@ -510,7 +513,6 @@ Contributors
- `Lubos Horacek (@lhoracek) <https://github.com/lhoracek>`__ - `Lubos Horacek (@lhoracek) <https://github.com/lhoracek>`__
- `Juraj Liso (@LiJu09) <https://github.com/LiJu09>`__ - `Juraj Liso (@LiJu09) <https://github.com/LiJu09>`__
- `lingex (@lingex) <https://github.com/lingex>`__ - `lingex (@lingex) <https://github.com/lingex>`__
- `lkomurcu (@lkomurcu) <https://github.com/lkomurcu>`__
- `Lazar Obradovic (@lobradov) <https://github.com/lobradov>`__ - `Lazar Obradovic (@lobradov) <https://github.com/lobradov>`__
- `Barry Loong (@loongyh) <https://github.com/loongyh>`__ - `Barry Loong (@loongyh) <https://github.com/loongyh>`__
- `LuBeDa (@lubeda) <https://github.com/lubeda>`__ - `LuBeDa (@lubeda) <https://github.com/lubeda>`__
@ -545,7 +547,6 @@ Contributors
- `Mario (@mario-tux) <https://github.com/mario-tux>`__ - `Mario (@mario-tux) <https://github.com/mario-tux>`__
- `Marek Marczykowski-Górecki (@marmarek) <https://github.com/marmarek>`__ - `Marek Marczykowski-Górecki (@marmarek) <https://github.com/marmarek>`__
- `Matthew Harrold (@marrold) <https://github.com/marrold>`__ - `Matthew Harrold (@marrold) <https://github.com/marrold>`__
- `marshn (@marshn) <https://github.com/marshn>`__
- `marsjan155 (@marsjan155) <https://github.com/marsjan155>`__ - `marsjan155 (@marsjan155) <https://github.com/marsjan155>`__
- `Martin (@martgras) <https://github.com/martgras>`__ - `Martin (@martgras) <https://github.com/martgras>`__
- `Martin Hjelmare (@MartinHjelmare) <https://github.com/MartinHjelmare>`__ - `Martin Hjelmare (@MartinHjelmare) <https://github.com/MartinHjelmare>`__
@ -562,7 +563,6 @@ Contributors
- `Maurice Schleußinger (@maurice-schleussinger) <https://github.com/maurice-schleussinger>`__ - `Maurice Schleußinger (@maurice-schleussinger) <https://github.com/maurice-schleussinger>`__
- `Maximilian Gerhardt (@maxgerhardt) <https://github.com/maxgerhardt>`__ - `Maximilian Gerhardt (@maxgerhardt) <https://github.com/maxgerhardt>`__
- `mbo18 (@mbo18) <https://github.com/mbo18>`__ - `mbo18 (@mbo18) <https://github.com/mbo18>`__
- `mckaymatthew (@mckaymatthew) <https://github.com/mckaymatthew>`__
- `Me No Dev (@me-no-dev) <https://github.com/me-no-dev>`__ - `Me No Dev (@me-no-dev) <https://github.com/me-no-dev>`__
- `Alexandr Zarubkin (@me21) <https://github.com/me21>`__ - `Alexandr Zarubkin (@me21) <https://github.com/me21>`__
- `Joseph Mearman (@Mearman) <https://github.com/Mearman>`__ - `Joseph Mearman (@Mearman) <https://github.com/Mearman>`__
@ -576,15 +576,14 @@ Contributors
- `Marco Lusini (@met67) <https://github.com/met67>`__ - `Marco Lusini (@met67) <https://github.com/met67>`__
- `Martin Flasskamp (@MFlasskamp) <https://github.com/MFlasskamp>`__ - `Martin Flasskamp (@MFlasskamp) <https://github.com/MFlasskamp>`__
- `Michael Gorven (@mgorven) <https://github.com/mgorven>`__ - `Michael Gorven (@mgorven) <https://github.com/mgorven>`__
- `mhentschke (@mhentschke) <https://github.com/mhentschke>`__
- `Michaël Arnauts (@michaelarnauts) <https://github.com/michaelarnauts>`__ - `Michaël Arnauts (@michaelarnauts) <https://github.com/michaelarnauts>`__
- `Micha Nordmann (@Michanord) <https://github.com/Michanord>`__ - `Micha Nordmann (@Michanord) <https://github.com/Michanord>`__
- `micronen (@micronen) <https://github.com/micronen>`__
- `Pauline Middelink (@middelink) <https://github.com/middelink>`__ - `Pauline Middelink (@middelink) <https://github.com/middelink>`__
- `Mikko Tervala (@MikkoTervala) <https://github.com/MikkoTervala>`__ - `Mikko Tervala (@MikkoTervala) <https://github.com/MikkoTervala>`__
- `MiKuBB (@MiKuBB) <https://github.com/MiKuBB>`__ - `MiKuBB (@MiKuBB) <https://github.com/MiKuBB>`__
- `Minideezel (@minideezel) <https://github.com/minideezel>`__ - `Minideezel (@minideezel) <https://github.com/minideezel>`__
- `André Klitzing (@misery) <https://github.com/misery>`__ - `André Klitzing (@misery) <https://github.com/misery>`__
- `Tomasz (@Misiu) <https://github.com/Misiu>`__
- `Matthew Edwards (@mje-nz) <https://github.com/mje-nz>`__ - `Matthew Edwards (@mje-nz) <https://github.com/mje-nz>`__
- `Matthew Garrett (@mjg59) <https://github.com/mjg59>`__ - `Matthew Garrett (@mjg59) <https://github.com/mjg59>`__
- `Maarten (@mjkl-gh) <https://github.com/mjkl-gh>`__ - `Maarten (@mjkl-gh) <https://github.com/mjkl-gh>`__
@ -676,6 +675,7 @@ Contributors
- `Peter Foreman (@peterforeman) <https://github.com/peterforeman>`__ - `Peter Foreman (@peterforeman) <https://github.com/peterforeman>`__
- `Peter Galantha (@peterg79) <https://github.com/peterg79>`__ - `Peter Galantha (@peterg79) <https://github.com/peterg79>`__
- `Peter Remøy Paulsen (@petrepa) <https://github.com/petrepa>`__ - `Peter Remøy Paulsen (@petrepa) <https://github.com/petrepa>`__
- `Philippe FOUQUET (@Philippe12) <https://github.com/Philippe12>`__
- `Philip Rosenberg-Watt (@PhilRW) <https://github.com/PhilRW>`__ - `Philip Rosenberg-Watt (@PhilRW) <https://github.com/PhilRW>`__
- `pieterbrink123 (@pieterbrink123) <https://github.com/pieterbrink123>`__ - `pieterbrink123 (@pieterbrink123) <https://github.com/pieterbrink123>`__
- `Tommy van der Vorst (@pixelspark) <https://github.com/pixelspark>`__ - `Tommy van der Vorst (@pixelspark) <https://github.com/pixelspark>`__
@ -693,6 +693,7 @@ Contributors
- `Patrick Toal (@ptoal) <https://github.com/ptoal>`__ - `Patrick Toal (@ptoal) <https://github.com/ptoal>`__
- `Leandro Puerari (@puerari) <https://github.com/puerari>`__ - `Leandro Puerari (@puerari) <https://github.com/puerari>`__
- `puuu (@puuu) <https://github.com/puuu>`__ - `puuu (@puuu) <https://github.com/puuu>`__
- `Pascal Vizeli (@pvizeli) <https://github.com/pvizeli>`__
- `[pʲɵs] (@pyos) <https://github.com/pyos>`__ - `[pʲɵs] (@pyos) <https://github.com/pyos>`__
- `Qc (@qc24) <https://github.com/qc24>`__ - `Qc (@qc24) <https://github.com/qc24>`__
- `Karol Zlot (@qqgg231) <https://github.com/qqgg231>`__ - `Karol Zlot (@qqgg231) <https://github.com/qqgg231>`__
@ -761,6 +762,7 @@ Contributors
- `Niklas Wagner (@Skaronator) <https://github.com/Skaronator>`__ - `Niklas Wagner (@Skaronator) <https://github.com/Skaronator>`__
- `Rafael Treviño (@skasi7) <https://github.com/skasi7>`__ - `Rafael Treviño (@skasi7) <https://github.com/skasi7>`__
- `Brian Slesinsky (@skybrian) <https://github.com/skybrian>`__ - `Brian Slesinsky (@skybrian) <https://github.com/skybrian>`__
- `Jordan W. Cobb (@skykingjwc) <https://github.com/skykingjwc>`__
- `Sebastian Lövdahl (@slovdahl) <https://github.com/slovdahl>`__ - `Sebastian Lövdahl (@slovdahl) <https://github.com/slovdahl>`__
- `smischny (@smischny) <https://github.com/smischny>`__ - `smischny (@smischny) <https://github.com/smischny>`__
- `Luca Zimmermann (@soundstorm) <https://github.com/soundstorm>`__ - `Luca Zimmermann (@soundstorm) <https://github.com/soundstorm>`__
@ -891,9 +893,10 @@ Contributors
- `Zebble (@Zebble) <https://github.com/Zebble>`__ - `Zebble (@Zebble) <https://github.com/Zebble>`__
- `ZJY (@zhangjingye03) <https://github.com/zhangjingye03>`__ - `ZJY (@zhangjingye03) <https://github.com/zhangjingye03>`__
- `San (@zhujunsan) <https://github.com/zhujunsan>`__ - `San (@zhujunsan) <https://github.com/zhujunsan>`__
- `Geek_cat (@zhzhzhy) <https://github.com/zhzhzhy>`__
- `I. Tomita (@ziceva) <https://github.com/ziceva>`__ - `I. Tomita (@ziceva) <https://github.com/ziceva>`__
- `Michael Labuschke (@zigman79) <https://github.com/zigman79>`__ - `Michael Labuschke (@zigman79) <https://github.com/zigman79>`__
- `Zack Barett (@zsarnett) <https://github.com/zsarnett>`__ - `Zack Barett (@zsarnett) <https://github.com/zsarnett>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__ - `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated September 6, 2022.* *This page was last updated September 21, 2022.*