Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2022-01-20 08:34:11 +13:00
commit 16cdfe44dc
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
12 changed files with 289 additions and 26 deletions

View File

@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 2022.2.0-dev
PROJECT_NUMBER = 2022.1.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

View File

@ -1,5 +1,5 @@
ESPHOME_PATH = ../esphome
ESPHOME_REF = dev
ESPHOME_REF = 2022.1.0
.PHONY: html html-strict cleanhtml deploy help webserver Makefile netlify netlify-api api netlify-dependencies svg2png copy-svg2png minify

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

View File

@ -1 +1 @@
2022.2.0-dev
2022.1.0

245
changelog/2022.1.0.rst Normal file
View File

@ -0,0 +1,245 @@
ESPHome 2022.1.0 - 19th January 2022
====================================
.. seo::
:description: Changelog for ESPHome 2022.1.0.
:image: /_static/changelog-2022.1.0.png
:author: ESPHome
:author_twitter: @esphome_
.. imgtable::
:columns: 4
BL0940, components/sensor/bl0940, bl0940.png
BMP388 and BMP390, components/sensor/bmp3xx, bmp388.jpg
CD74HC4067, components/sensor/cd74hc4067, cd74hc4067.jpg
ESP32 Native CAN Bus, components/canbus, canbus.svg
Growatt Solar, components/sensor/growatt_solar, growatt.jpg
INA260, components/sensor/ina260, ina260.jpg
Inkplate 10, components/display/inkplate6, inkplate6.jpg
Kalman Combinator, components/sensor/kalman_combinator, function.svg
MCP3204, components/sensor/mcp3204, mcp3204.jpg
MCP47A1, components/output/mcp47a1, mcp47a1.svg
Midea IR Climate, components/climate/ir_climate, air-conditioner-ir.svg
Safe Mode Button, components/button/safe_mode, restart-alert.svg
Shutdown Button, components/button/shutdown, power_settings.svg
Tuya Number, components/number/tuya, tuya.png
HAPPY NEW YEAR!!
There are a few more new components this release than I expected, yay!!!
ESPHome Web
-----------
Today we're launching a new variant of the ESPHome dashboard: ESPHome Web https://web.esphome.io.
The biggest challenge to getting started with ESPHome is the initial installation of ESPHome on your device. This installation needs be done by attaching the device to your computer via a cable. Once installed, updates can be installed over-the-air.
Last year we added support to the ESPHome dashboard to do the initial installation via the browser. Browsers security require the website to be served over HTTPS to allow device installation. Most people browse it from http://homeassistant.local or other local addresses so only users that manually configured external access or using Home Assistant Cloud could benefit.
With ESPHome Web we took the installation bits of the ESPHome dashboard and made them available on a website served over HTTPS. It works 100% in your browser without a backend or data leaving your computer. Now anyone can easily install ESPHome on their devices to get started.
`Visit ESPHome Web`_
.. _Visit ESPHome Web: https://web.esphome.io/
JSON
----
We upgraded the ArduinoJson library used to parse and build JSON strings to the latest version.
All of the internal code has been updated to work with the changes, but any custom code or even
``lambda`` might need updating now.
The most noticeble change is that the ``&`` reference modifier on the ``JsonObject`` that are
created in lambdas are no longer required.
Example:
.. code-block:: cpp
JsonObject &blah = root.createNestedObject("blah");
// This should now be:
JsonObject blah = root.createNestedObject("blah");
Full list of changes
--------------------
New Features
^^^^^^^^^^^^
- Support different run duration for non-timer wakeup :esphomepr:`2861` by :ghuser:`jhamhader` (new-feature)
- Add light.on_state trigger :esphomepr:`2868` by :ghuser:`tony-fav` (new-feature)
- Support inkplate10 :esphomepr:`2937` by :ghuser:`jesserockz` (new-feature)
New Components
^^^^^^^^^^^^^^
- Add growatt modbus sensor :esphomepr:`2922` by :ghuser:`leeuwte` (new-integration)
- Add Tuya Number support :esphomepr:`2765` by :ghuser:`frankiboy1` (new-integration)
- Add shutdown and safe_mode button :esphomepr:`2918` by :ghuser:`jsuanet` (new-integration)
- INA260 Current and Power Sensor support :esphomepr:`2788` by :ghuser:`MrEditor97` (new-integration)
- Improve PSRAM support :esphomepr:`2884` by :ghuser:`oxan` (new-integration)
- Add bl0940 component used by e.g. tuya devices :esphomepr:`1904` by :ghuser:`tobias-` (new-integration)
- Add support for BMP388 / BMP 390 pressure and temperature sensor :esphomepr:`2716` by :ghuser:`martgras` (new-integration)
- Add MCP47A1 DAC output :esphomepr:`3014` by :ghuser:`jesserockz` (new-integration)
- Create new kalman_combinator component :esphomepr:`2965` by :ghuser:`Cat-Ion` (new-integration)
- New Midea IR component, improvements and fixes :esphomepr:`2847` by :ghuser:`dudanov` (new-integration)
- MCP3204 4-channel 12-bit ADC component :esphomepr:`2895` by :ghuser:`rsumner` (new-integration)
- Add cd74hc4067 multiplexer :esphomepr:`2431` by :ghuser:`asoehlke` (new-integration)
- Native ESP32 CAN support :esphomepr:`1629` by :ghuser:`Sympatron` (new-integration)
Breaking Changes
^^^^^^^^^^^^^^^^
- Modbus: use multiply for publishing number :esphomepr:`2916` by :ghuser:`martgras` (breaking-change)
- Upgrade ArduinoJson to 6.18.5 and migrate code :esphomepr:`2844` by :ghuser:`jesserockz` (breaking-change)
Beta Changes
^^^^^^^^^^^^
- Add factory to download name :esphomepr:`3040` by :ghuser:`balloob`
- Bump dashboard to 20220113.2 :esphomepr:`3041` by :ghuser:`balloob`
- Disable caching for binary download :esphomepr:`3054` by :ghuser:`lutzky`
- Rename post_build scripts to fix codeowners script :esphomepr:`3057` by :ghuser:`oxan`
- Remove deprecated attribute from virtual entity methods :esphomepr:`3056` by :ghuser:`oxan`
- Add number setting to web_server/rest_api :esphomepr:`3055` by :ghuser:`jesserockz`
- bump dashboard to 20220116.0 :esphomepr:`3061` by :ghuser:`balloob`
- [modbus_controller] add missing skip_updates :esphomepr:`3063` by :ghuser:`martgras`
- Fail hard if no random bytes available for encryption :esphomepr:`3067` by :ghuser:`oxan`
All changes
^^^^^^^^^^^
- Add a simple helper to remap values :esphomepr:`2850` by :ghuser:`jesserockz`
- Bump pylint from 2.12.1 to 2.12.2 :esphomepr:`2858` by :ghuser:`dependabot[bot]`
- Support different run duration for non-timer wakeup :esphomepr:`2861` by :ghuser:`jhamhader` (new-feature)
- Drop len parameter from parse_number() :esphomepr:`2883` by :ghuser:`oxan`
- Drop unused xSemaphoreWait define :esphomepr:`2888` by :ghuser:`oxan`
- Move i2c scan to setup :esphomepr:`2869` by :ghuser:`martgras`
- Introduce hex parsing & formatting helper functions :esphomepr:`2882` by :ghuser:`oxan`
- Add light.on_state trigger :esphomepr:`2868` by :ghuser:`tony-fav` (new-feature)
- Reduce timing noise in duty_cycle :esphomepr:`2881` by :ghuser:`CarlosGS`
- Turn verbose a debug statement in bme280 :esphomepr:`2906` by :ghuser:`CarlosGS`
- Add reset_duration option for waveshare epaper HAT rev 2.1 :esphomepr:`1481` by :ghuser:`owenb321`
- Log the actual value in modbus number :esphomepr:`2901` by :ghuser:`jesserockz`
- Add gpio 12 to strapping pin list :esphomepr:`2902` by :ghuser:`martgras`
- Added access to ble_scan_result_evt_param as get_scan_result :esphomepr:`2854` by :ghuser:`myhomeiot`
- fix multi-line comment warning/error :esphomepr:`2891` by :ghuser:`martgras`
- Bump black from 21.11b1 to 21.12b0 :esphomepr:`2879` by :ghuser:`dependabot[bot]`
- Adding Pascal unit to constants :esphomepr:`2914` by :ghuser:`jddonovan`
- quantile filter support :esphomepr:`2900` by :ghuser:`konikvranik`
- ESP32 CAM add Automatic Exposure Control option :esphomepr:`2892` by :ghuser:`sveip`
- Modbus: use multiply for publishing number :esphomepr:`2916` by :ghuser:`martgras` (breaking-change)
- Add growatt modbus sensor :esphomepr:`2922` by :ghuser:`leeuwte` (new-integration)
- Add Tuya Number support :esphomepr:`2765` by :ghuser:`frankiboy1` (new-integration)
- Support inverted tm1637 display :esphomepr:`2878` by :ghuser:`jlsjonas`
- Fix tm1637 bootloop :esphomepr:`2929` by :ghuser:`jlsjonas`
- Add shutdown and safe_mode button :esphomepr:`2918` by :ghuser:`jsuanet` (new-integration)
- Support inkplate10 :esphomepr:`2937` by :ghuser:`jesserockz` (new-feature)
- bang_bang: respect set cool- and heat-only modes :esphomepr:`2926` by :ghuser:`sairon`
- Update curl package version in docker :esphomepr:`2939` by :ghuser:`jesserockz`
- Change HDC1080 init instruction failure from error to warning :esphomepr:`2927` by :ghuser:`grob6000`
- Add option to load docker image when building :esphomepr:`2938` by :ghuser:`jesserockz`
- Disable nightly dev build :esphomepr:`2943` by :ghuser:`jesserockz`
- Revert "Disable nightly dev build" :esphomepr:`2944` by :ghuser:`jesserockz`
- Remove Content-Length header from camera snapshot response :esphomepr:`2860` by :ghuser:`DotNetDann`
- ST7920 ESP32 fix :esphomepr:`2962` by :ghuser:`marsjan155`
- Fix switch log state if inverted :esphomepr:`2960` by :ghuser:`hobbyquaker`
- Add pin aliases for featheresp32-s2 :esphomepr:`2970` by :ghuser:`arunderwood`
- INA260 Current and Power Sensor support :esphomepr:`2788` by :ghuser:`MrEditor97` (new-integration)
- Upgrade ArduinoJson to 6.18.5 and migrate code :esphomepr:`2844` by :ghuser:`jesserockz` (breaking-change)
- Don't use pyproject.toml for esphome build :esphomepr:`2980` by :ghuser:`agners`
- Explicitly use overloaded begin() for I2C master initialization :esphomepr:`2978` by :ghuser:`agners`
- Use template path :esphomepr:`2961` by :ghuser:`balloob`
- Fix compile error for idf projects with ArduinoJson 6 :esphomepr:`2979` by :ghuser:`martgras`
- Modbus: fix response parsing error for coil write :esphomepr:`2986` by :ghuser:`martgras`
- Change unset ESPHOME_LOG_LEVEL fallback to NONE :esphomepr:`2982` by :ghuser:`dbuezas`
- Add SH1107_128x64 to the ssd1306 component :esphomepr:`2967` by :ghuser:`arunderwood`
- Add logging for some Nextion errors that didn't have any :esphomepr:`2957` by :ghuser:`masto`
- Fix HTTPRequestComponent::get_string return value :esphomepr:`2987` by :ghuser:`martgras`
- Improve PSRAM support :esphomepr:`2884` by :ghuser:`oxan` (new-integration)
- Support ISR based pulse counter on ESP32-C3 :esphomepr:`2983` by :ghuser:`agners`
- Use to_string() from STL when available :esphomepr:`2992` by :ghuser:`oxan`
- Set UTF-8 encoding and version for prometheus /metrics :esphomepr:`2993` by :ghuser:`MyIgel`
- Introduce bit_cast() backport :esphomepr:`2991` by :ghuser:`oxan`
- Apply --no-use-pep517 for docker images :esphomepr:`2985` by :ghuser:`jesserockz`
- Dont validate baud_rate for sim800l platform :esphomepr:`2945` by :ghuser:`jesserockz`
- Modbus: add binary output :esphomepr:`2931` by :ghuser:`martgras`
- Add bl0940 component used by e.g. tuya devices :esphomepr:`1904` by :ghuser:`tobias-` (new-integration)
- Honor user set values for col/row start for INITR_MINI_160X80. :esphomepr:`2976` by :ghuser:`gonzalop`
- Fix clang-tidy with multiple ESP32 toolchains installed :esphomepr:`2998` by :ghuser:`oxan`
- Set correct include_dir in platformio.ini :esphomepr:`2999` by :ghuser:`oxan`
- SGP40 - Reduce delay in measurement :esphomepr:`2996` by :ghuser:`martgras`
- atc mithermometer: Add possibility to report signal strength :esphomepr:`3000` by :ghuser:`mknjc`
- Support clang-tidy for ESP32 variants :esphomepr:`3001` by :ghuser:`oxan`
- Fix SlowPWM output switch at the end of period :esphomepr:`2984` by :ghuser:`Chupaka`
- Add support for BMP388 / BMP 390 pressure and temperature sensor :esphomepr:`2716` by :ghuser:`martgras` (new-integration)
- Clean-up reverse_bits helpers :esphomepr:`3011` by :ghuser:`oxan`
- Convert clamp() helper to backport of std::clamp() :esphomepr:`3010` by :ghuser:`oxan`
- Introduce str_lower_case() and str_upper_case() helpers :esphomepr:`3008` by :ghuser:`oxan`
- Drop uint{32,64}_to_string() helper functions :esphomepr:`3009` by :ghuser:`oxan`
- Bump PlatformIO to 5.2.4 and zeroconf to 0.37.0 :esphomepr:`3007` by :ghuser:`oxan`
- Offset bugfix in Modbus Text Sensor :esphomepr:`3006` by :ghuser:`stegm`
- Add MCP47A1 DAC output :esphomepr:`3014` by :ghuser:`jesserockz` (new-integration)
- Bump docker dependencies :esphomepr:`3019` by :ghuser:`OttoWinter`
- Fix register ranges in modbus controller :esphomepr:`2981` by :ghuser:`stegm`
- Add restore_mode to output switch :esphomepr:`3016` by :ghuser:`joshuaspence`
- Add turn_on/off trigger to slow_pwm :esphomepr:`2921` by :ghuser:`martgras`
- Convert is_callable to a backport of std::is_invocable :esphomepr:`3023` by :ghuser:`oxan`
- Create new kalman_combinator component :esphomepr:`2965` by :ghuser:`Cat-Ion` (new-integration)
- New Midea IR component, improvements and fixes :esphomepr:`2847` by :ghuser:`dudanov` (new-integration)
- Extend esp32_camera with requester to improve performance :esphomepr:`2813` by :ghuser:`ayufan`
- MCP3204 4-channel 12-bit ADC component :esphomepr:`2895` by :ghuser:`rsumner` (new-integration)
- Adding sdm_meter ability to report total power :esphomepr:`2959` by :ghuser:`MiKuBB`
- [Modbus_controller] Fix binary sensor lambda :esphomepr:`3020` by :ghuser:`martgras`
- Clean-up random helper functions :esphomepr:`3022` by :ghuser:`oxan`
- Fix display picture for nextion display :esphomepr:`3018` by :ghuser:`lhoracek`
- Fix heatpumpir codegen min/max temperatures :esphomepr:`3025` by :ghuser:`jeffborg`
- Add an action for pzemac to reset the total energy :esphomepr:`2480` by :ghuser:`nuttytree`
- Nexa 433MHz RF protocol :esphomepr:`2037` by :ghuser:`GruffyPuffy`
- Deprecate virtual methods to set entity properties :esphomepr:`3021` by :ghuser:`oxan`
- Run post scripts for factory binaries for flashing :esphomepr:`3003` by :ghuser:`jesserockz`
- Add cd74hc4067 multiplexer :esphomepr:`2431` by :ghuser:`asoehlke` (new-integration)
- Native ESP32 CAN support :esphomepr:`1629` by :ghuser:`Sympatron` (new-integration)
- [Modbus_controller] Fix duplicate cmd check :esphomepr:`3031` by :ghuser:`martgras`
- Introduce big- and little-endian integer types :esphomepr:`2997` by :ghuser:`oxan`
- Generate basic config for esphome-web devices :esphomepr:`3036` by :ghuser:`jesserockz`
- Bump esphome-dashboard to 20220113.1 :esphomepr:`3038` by :ghuser:`jesserockz`
- Add factory to download name :esphomepr:`3040` by :ghuser:`balloob`
- Bump dashboard to 20220113.2 :esphomepr:`3041` by :ghuser:`balloob`
- Disable caching for binary download :esphomepr:`3054` by :ghuser:`lutzky`
- Rename post_build scripts to fix codeowners script :esphomepr:`3057` by :ghuser:`oxan`
- Remove deprecated attribute from virtual entity methods :esphomepr:`3056` by :ghuser:`oxan`
- Add number setting to web_server/rest_api :esphomepr:`3055` by :ghuser:`jesserockz`
- bump dashboard to 20220116.0 :esphomepr:`3061` by :ghuser:`balloob`
- [modbus_controller] add missing skip_updates :esphomepr:`3063` by :ghuser:`martgras`
- Fail hard if no random bytes available for encryption :esphomepr:`3067` by :ghuser:`oxan`
Past Changelogs
---------------
- :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::
:url: /changelog/2021.12.0.html
:url: /changelog/2022.1.0.html
.. toctree::
:glob:

View File

@ -81,7 +81,7 @@ Tuya cover devices known to be supported by this integration:
- Only the ``position`` datapoint (2) is used for this device.
- Datapoint 5's function is not currently known.
- Zemismart ``ZM79E-DT`` (curtain motor)
- Zemismart ``ZM79E-DT`` and ``YH002`` (curtain motor)
- Supported datapoints: ``control`` (1), ``position`` (2), ``position_report`` (3) and ``direction`` (5).
- The direction of travel is persisted to the Tuya MCU, so doesn't need to be set if you've already configured it via the remote control.

View File

@ -20,7 +20,7 @@ will not show up in Home Assistant. See :doc:`/components/switch/gpio`.
Configuration variables:
------------------------
- **pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The pin to use PWM on.
- **pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The pin to turn on and off.
- **id** (**Required**, :ref:`config-id`): The id to use for this output component.
- All other options from :ref:`Output <config-output>`.

View File

@ -38,7 +38,6 @@ Configuration variables:
------------------------
- **address** (*Optional*, int): Manually specify the I²C address of the sensor. Defaults to ``0x40``.
Defaults to ``0.002ohm``.
- **current** (*Optional*): Use the current value of the sensor in amperes. All options from
:ref:`Sensor <config-sensor>`.
- **power** (*Optional*): Use the power value of the sensor in watts. All options from

View File

@ -67,9 +67,9 @@ author = "Otto Winter"
# built documents.
#
# The short X.Y version.
version = "2022.2"
version = "2022.1"
# The full version, including alpha/beta/rc tags.
release = "2022.2.0-dev"
release = "2022.1.0"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -52,8 +52,8 @@ Starting with ESPHome 1.9.0, the ESPHome suite provides
`esphome-flasher <https://github.com/esphome/esphome-flasher>`__, a tool to flash ESPs over USB.
First, you need to get the firmware file to flash. For the Home Assistant add-on based
installs you can use the ``COMPILE`` button (click the overflow icon with the three dots)
and then press ``Download Binary``. For command line based installs you can access the
installs you can use the ``Manual download`` method (click ``Install`` in the overflow icon with the three dots
and then select ``Manual download``). For command line based installs you can access the
file under ``<CONFIG_DIR>/<NODE_NAME>/.pioenvs/<NODE_NAME>/firmware.bin``.
Then, install esphome-flasher by going to the `releases page <https://github.com/esphome/esphome-flasher/releases>`__

View File

@ -40,6 +40,7 @@ Contributors
- `Anders (@ahd71) <https://github.com/ahd71>`__
- `Alexander Pohl (@ahpohl) <https://github.com/ahpohl>`__
- `Airy André (@airy10) <https://github.com/airy10>`__
- `Andrej Friesen (@ajfriesen) <https://github.com/ajfriesen>`__
- `akoivist (@akoivist) <https://github.com/akoivist>`__
- `Andrej Komelj (@akomelj) <https://github.com/akomelj>`__
- `Alex Konradi (@akonradi) <https://github.com/akonradi>`__
@ -69,10 +70,13 @@ Contributors
- `Nikolay Vasilchuk (@Anonym-tsk) <https://github.com/Anonym-tsk>`__
- `Adriaan Peeters (@apeeters) <https://github.com/apeeters>`__
- `Darius Ratkevičius (@aphex008) <https://github.com/aphex008>`__
- `aquaticus (@aquaticus) <https://github.com/aquaticus>`__
- `Andy Allsopp (@arallsopp) <https://github.com/arallsopp>`__
- `arantius (@arantius) <https://github.com/arantius>`__
- `arunderwood (@arunderwood) <https://github.com/arunderwood>`__
- `Ash McKenzie (@ashmckenzie) <https://github.com/ashmckenzie>`__
- `Pavel Pletenev (@ASMfreaK) <https://github.com/ASMfreaK>`__
- `Andreas Soehlke (@asoehlke) <https://github.com/asoehlke>`__
- `Mike Dunston (@atanisoft) <https://github.com/atanisoft>`__
- `Arsène von Wyss (@avonwyss) <https://github.com/avonwyss>`__
- `Achilleas Pipinellis (@axilleas) <https://github.com/axilleas>`__
@ -118,6 +122,7 @@ Contributors
- `Carlos Garcia Saura (@CarlosGS) <https://github.com/CarlosGS>`__
- `Carlos Ruiz (@CarlosRDomin) <https://github.com/CarlosRDomin>`__
- `carstenschroeder (@carstenschroeder) <https://github.com/carstenschroeder>`__
- `Valentin Ochs (@Cat-Ion) <https://github.com/Cat-Ion>`__
- `cbialobos (@cbialobos) <https://github.com/cbialobos>`__
- `Ciprian Constantinescu (@cciprian5) <https://github.com/cciprian5>`__
- `Marco (@cdrfun) <https://github.com/cdrfun>`__
@ -134,9 +139,11 @@ Contributors
- `Conclusio (@Conclusio) <https://github.com/Conclusio>`__
- `John Coggeshall (@coogle) <https://github.com/coogle>`__
- `James Crook (@cooljimy84) <https://github.com/cooljimy84>`__
- `Cooper Dale (@Cooper-Dale) <https://github.com/Cooper-Dale>`__
- `copercini (@copercini) <https://github.com/copercini>`__
- `Corban Mailloux (@corbanmailloux) <https://github.com/corbanmailloux>`__
- `Dmitry Berezovsky (@corvis) <https://github.com/corvis>`__
- `Cougar (@Cougar) <https://github.com/Cougar>`__
- `Connor Prussin (@cprussin) <https://github.com/cprussin>`__
- `cretep (@cretep) <https://github.com/cretep>`__
- `cryptelli (@cryptelli) <https://github.com/cryptelli>`__
@ -145,6 +152,7 @@ Contributors
- `Alex Solomaha (@CyanoFresh) <https://github.com/CyanoFresh>`__
- `Luar Roji (@cyberplant) <https://github.com/cyberplant>`__
- `d-two (@d-two) <https://github.com/d-two>`__
- `d3wy (@d3wy) <https://github.com/d3wy>`__
- `Dale Higgs (@dale3h) <https://github.com/dale3h>`__
- `damanti-me (@damanti-me) <https://github.com/damanti-me>`__
- `Daniel Bjørnbakk (@danibjor) <https://github.com/danibjor>`__
@ -162,6 +170,8 @@ Contributors
- `David Beitey (@davidjb) <https://github.com/davidjb>`__
- `davidmonro (@davidmonro) <https://github.com/davidmonro>`__
- `David Zovko (@davidzovko) <https://github.com/davidzovko>`__
- `Darren Tucker (@daztucker) <https://github.com/daztucker>`__
- `David Buezas (@dbuezas) <https://github.com/dbuezas>`__
- `dckiller51 (@dckiller51) <https://github.com/dckiller51>`__
- `Debashish Sahu (@debsahu) <https://github.com/debsahu>`__
- `declanshanaghy (@declanshanaghy) <https://github.com/declanshanaghy>`__
@ -204,7 +214,6 @@ Contributors
- `Duncan Findlay (@duncf) <https://github.com/duncf>`__
- `dyarkovoy (@dyarkovoy) <https://github.com/dyarkovoy>`__
- `Dimitris Zervas (@dzervas) <https://github.com/dzervas>`__
- `dziobson (@dziobson) <https://github.com/dziobson>`__
- `Dan Jackson (@e28eta) <https://github.com/e28eta>`__
- `Ermanno Baschiera (@ebaschiera) <https://github.com/ebaschiera>`__
- `Robert Resch (@edenhaus) <https://github.com/edenhaus>`__
@ -214,7 +223,6 @@ Contributors
- `Erwin Kooi (@egeltje) <https://github.com/egeltje>`__
- `Eike (@ei-ke) <https://github.com/ei-ke>`__
- `Elazar Leibovich (@elazarl) <https://github.com/elazarl>`__
- `electrofun-smart (@electrofun-smart) <https://github.com/electrofun-smart>`__
- `Elkropac (@Elkropac) <https://github.com/Elkropac>`__
- `elyorkhakimov (@elyorkhakimov) <https://github.com/elyorkhakimov>`__
- `EmbeddedDevver (@EmbeddedDevver) <https://github.com/EmbeddedDevver>`__
@ -226,7 +234,7 @@ Contributors
- `Nico Weichbrodt (@envy) <https://github.com/envy>`__
- `Evan Petousis (@epetousis) <https://github.com/epetousis>`__
- `Wilhelm Erasmus (@erasmuswill) <https://github.com/erasmuswill>`__
- `erazor666 (@erazor666) <https://github.com/erazor666>`__
- `Eric Coffman (@ericbrian) <https://github.com/ericbrian>`__
- `Eric Hiller (@erichiller) <https://github.com/erichiller>`__
- `Ernst Klamer (@Ernst79) <https://github.com/Ernst79>`__
- `escoand (@escoand) <https://github.com/escoand>`__
@ -242,6 +250,7 @@ Contributors
- `fkirill (@fkirill) <https://github.com/fkirill>`__
- `Sean Vig (@flacjacket) <https://github.com/flacjacket>`__
- `Diego Elio Pettenò (@Flameeyes) <https://github.com/Flameeyes>`__
- `Flaviu Tamas (@flaviut) <https://github.com/flaviut>`__
- `foxsam21 (@foxsam21) <https://github.com/foxsam21>`__
- `Fractal147 (@Fractal147) <https://github.com/Fractal147>`__
- `Francis-labo (@Francis-labo) <https://github.com/Francis-labo>`__
@ -256,12 +265,10 @@ Contributors
- `frippe75 (@frippe75) <https://github.com/frippe75>`__
- `Fritz Mueller (@fritzm) <https://github.com/fritzm>`__
- `Marc Egli (@frog32) <https://github.com/frog32>`__
- `frspp (@frspp) <https://github.com/frspp>`__
- `mr G1K (@G1K) <https://github.com/G1K>`__
- `Aljaž Srebrnič (@g5pw) <https://github.com/g5pw>`__
- `Gabe Cook (@gabe565) <https://github.com/gabe565>`__
- `Gareth Cooper (@gaco79) <https://github.com/gaco79>`__
- `galagaking (@galagaking) <https://github.com/galagaking>`__
- `GeekVisit (@GeekVisit) <https://github.com/GeekVisit>`__
- `R Huish (@genestealer) <https://github.com/genestealer>`__
- `Geoff Davis (@geoffdavis) <https://github.com/geoffdavis>`__
@ -278,15 +285,15 @@ Contributors
- `Germán Martín (@gmag11) <https://github.com/gmag11>`__
- `Germain Masse (@gmasse) <https://github.com/gmasse>`__
- `Jelle Raaijmakers (@GMTA) <https://github.com/GMTA>`__
- `Gonzalo Paniagua Javier (@gonzalop) <https://github.com/gonzalop>`__
- `gordon-zhao (@gordon-zhao) <https://github.com/gordon-zhao>`__
- `Gustavo Ambrozio (@gpambrozio) <https://github.com/gpambrozio>`__
- `Antoine GRÉA (@grea09) <https://github.com/grea09>`__
- `George (@grob6000) <https://github.com/grob6000>`__
- `Stefan Grufman (@GruffyPuffy) <https://github.com/GruffyPuffy>`__
- `Andrea (@Guglio95) <https://github.com/Guglio95>`__
- `Guillaume DELVIT (@guiguid) <https://github.com/guiguid>`__
- `guptamp (@guptamp) <https://github.com/guptamp>`__
- `Guyohms (@Guyohms) <https://github.com/Guyohms>`__
- `h0-- (@h0--) <https://github.com/h0-->`__
- `haade (@haade-administrator) <https://github.com/haade-administrator>`__
- `Peter van Dijk (@Habbie) <https://github.com/Habbie>`__
- `Hagai Shatz (@hagai-shatz) <https://github.com/hagai-shatz>`__
@ -301,6 +308,7 @@ Contributors
- `Hermann Kraus (@herm) <https://github.com/herm>`__
- `Tom Cassady (@heytcass) <https://github.com/heytcass>`__
- `Hamish Moffatt (@hmoffatt) <https://github.com/hmoffatt>`__
- `Sebastian Raff (@hobbyquaker) <https://github.com/hobbyquaker>`__
- `MoA (@honomoa) <https://github.com/honomoa>`__
- `Hopperpop (@Hopperpop) <https://github.com/Hopperpop>`__
- `Yang Hau (@HowJMay) <https://github.com/HowJMay>`__
@ -311,7 +319,6 @@ Contributors
- `Arjan Filius (@iafilius) <https://github.com/iafilius>`__
- `Adrián Panella (@ianchi) <https://github.com/ianchi>`__
- `Ian Leeder (@ianleeder) <https://github.com/ianleeder>`__
- `icarome (@icarome) <https://github.com/icarome>`__
- `igg (@igg) <https://github.com/igg>`__
- `Petko Bordjukov (@ignisf) <https://github.com/ignisf>`__
- `ikatkov (@ikatkov) <https://github.com/ikatkov>`__
@ -328,16 +335,15 @@ Contributors
- `James Gao (@jamesgao) <https://github.com/jamesgao>`__
- `János Rusiczki (@janosrusiczki) <https://github.com/janosrusiczki>`__
- `Jan Pieper (@janpieper) <https://github.com/janpieper>`__
- `Jason-nz (@Jason-nz) <https://github.com/Jason-nz>`__
- `Jason2866 (@Jason2866) <https://github.com/Jason2866>`__
- `Jason Hines (@jasonehines) <https://github.com/jasonehines>`__
- `Jas Strong (@jasstrong) <https://github.com/jasstrong>`__
- `JbLb (@jblb) <https://github.com/jblb>`__
- `James Callaghan (@jcallaghan) <https://github.com/jcallaghan>`__
- `Josh Willox (@jcwillox) <https://github.com/jcwillox>`__
- `Joshua Dadswell (@jdads1) <https://github.com/jdads1>`__
- `jddonovan (@jddonovan) <https://github.com/jddonovan>`__
- `jeff-h (@jeff-h) <https://github.com/jeff-h>`__
- `Jeffrey Borg (@jeffborg) <https://github.com/jeffborg>`__
- `Jeff Rescignano (@JeffResc) <https://github.com/JeffResc>`__
- `Jej (@jej) <https://github.com/jej>`__
- `Jérôme Laban (@jeromelaban) <https://github.com/jeromelaban>`__
@ -359,6 +365,7 @@ Contributors
- `Jonathan Treffler (@JonathanTreffler) <https://github.com/JonathanTreffler>`__
- `JonnyaiR (@jonnyair) <https://github.com/jonnyair>`__
- `Joppy (@JoppyFurr) <https://github.com/JoppyFurr>`__
- `Joshua Spence (@joshuaspence) <https://github.com/joshuaspence>`__
- `Joscha Wagner (@jowgn) <https://github.com/jowgn>`__
- `jsuanet (@jsuanet) <https://github.com/jsuanet>`__
- `junnikokuki (@junnikokuki) <https://github.com/junnikokuki>`__
@ -373,21 +380,18 @@ Contributors
- `Kris (@K-r-i-s-t-i-a-n) <https://github.com/K-r-i-s-t-i-a-n>`__
- `Harald Nagel (@k7hpn) <https://github.com/k7hpn>`__
- `kaegi (@kaegi) <https://github.com/kaegi>`__
- `kalebzettl (@kalebzettl) <https://github.com/kalebzettl>`__
- `Karol Zlot (@karolzlot) <https://github.com/karolzlot>`__
- `Krasimir Nedelchev (@kaykayehnn) <https://github.com/kaykayehnn>`__
- `Krzysztof Białek (@kbialek) <https://github.com/kbialek>`__
- `kbouchard111 (@kbouchard111) <https://github.com/kbouchard111>`__
- `Keilin Bickar (@kbickar) <https://github.com/kbickar>`__
- `Keith Burzinski (@kbx81) <https://github.com/kbx81>`__
- `Robert Kiss (@kepten) <https://github.com/kepten>`__
- `Kevin O'Rourke (@kevinior) <https://github.com/kevinior>`__
- `kimonm (@kimonm) <https://github.com/kimonm>`__
- `Ed (@kixtarter) <https://github.com/kixtarter>`__
- `Kurt Kellner (@kkellner) <https://github.com/kkellner>`__
- `Klaas Schoute (@klaasnicolaas) <https://github.com/klaasnicolaas>`__
- `Klarstein (@Klarstein) <https://github.com/Klarstein>`__
- `Marcus Klein (@kleini) <https://github.com/kleini>`__
- `klenaers (@klenaers) <https://github.com/klenaers>`__
- `Kevin Lewis (@kll) <https://github.com/kll>`__
- `Koen Vervloesem (@koenvervloesem) <https://github.com/koenvervloesem>`__
- `Petr Vraník (@konikvranik) <https://github.com/konikvranik>`__
@ -415,12 +419,15 @@ Contributors
- `Lerosen (@Lerosen) <https://github.com/Lerosen>`__
- `Leon Loopik (@Lewn) <https://github.com/Lewn>`__
- `Luca Gugelmann (@lgugelmann) <https://github.com/lgugelmann>`__
- `Lubos Horacek (@lhoracek) <https://github.com/lhoracek>`__
- `Juraj Liso (@LiJu09) <https://github.com/LiJu09>`__
- `Lazar Obradovic (@lobradov) <https://github.com/lobradov>`__
- `Barry Loong (@loongyh) <https://github.com/loongyh>`__
- `Joakim Sørensen (@ludeeus) <https://github.com/ludeeus>`__
- `ludrao (@ludrao) <https://github.com/ludrao>`__
- `Lukas Klass (@LukasK13) <https://github.com/LukasK13>`__
- `Lumpusz (@Lumpusz) <https://github.com/Lumpusz>`__
- `Ohad Lutzky (@lutzky) <https://github.com/lutzky>`__
- `Luke Fitzgerald (@lwfitzgerald) <https://github.com/lwfitzgerald>`__
- `Lewis Juggins (@lwis) <https://github.com/lwis>`__
- `Alex Peters (@Lx) <https://github.com/Lx>`__
@ -449,6 +456,7 @@ Contributors
- `Martin Hjelmare (@MartinHjelmare) <https://github.com/MartinHjelmare>`__
- `MartinWelsch (@MartinWelsch) <https://github.com/MartinWelsch>`__
- `MasterTim17 (@MasterTim17) <https://github.com/MasterTim17>`__
- `Christopher Masto (@masto) <https://github.com/masto>`__
- `matikij (@matikij) <https://github.com/matikij>`__
- `Michel Marti (@matoxp) <https://github.com/matoxp>`__
- `matt123p (@matt123p) <https://github.com/matt123p>`__
@ -472,6 +480,7 @@ Contributors
- `Michaël Arnauts (@michaelarnauts) <https://github.com/michaelarnauts>`__
- `Pauline Middelink (@middelink) <https://github.com/middelink>`__
- `Mikko Tervala (@MikkoTervala) <https://github.com/MikkoTervala>`__
- `MiKuBB (@MiKuBB) <https://github.com/MiKuBB>`__
- `Minideezel (@minideezel) <https://github.com/minideezel>`__
- `André Klitzing (@misery) <https://github.com/misery>`__
- `Matthew Edwards (@mje-nz) <https://github.com/mje-nz>`__
@ -486,6 +495,7 @@ Contributors
- `Moritz Glöckl (@moritzgloeckl) <https://github.com/moritzgloeckl>`__
- `Matthew Pettitt (@mpettitt) <https://github.com/mpettitt>`__
- `Sam Hughes (@MrEditor97) <https://github.com/MrEditor97>`__
- `Simon Sasburg (@MrHacky) <https://github.com/MrHacky>`__
- `Mariusz Kryński (@mrk-its) <https://github.com/mrk-its>`__
- `Ryan Matthews (@mrrsm) <https://github.com/mrrsm>`__
- `MrZetor (@MrZetor) <https://github.com/MrZetor>`__
@ -494,6 +504,7 @@ Contributors
- `Michiel van Turnhout (@mvturnho) <https://github.com/mvturnho>`__
- `Martin Weinelt (@mweinelt) <https://github.com/mweinelt>`__
- `myhomeiot (@myhomeiot) <https://github.com/myhomeiot>`__
- `Igor Scheller (@MyIgel) <https://github.com/MyIgel>`__
- `Mynasru (@Mynasru) <https://github.com/Mynasru>`__
- `Niels Ulrik Andersen (@myplacedk) <https://github.com/myplacedk>`__
- `Kevin Uhlir (@n0bel) <https://github.com/n0bel>`__
@ -584,6 +595,7 @@ Contributors
- `Richard Kuhnt (@r15ch13) <https://github.com/r15ch13>`__
- `Richard Miles (@r89m) <https://github.com/r89m>`__
- `Pär Stålberg (@rabbadab) <https://github.com/rabbadab>`__
- `Aaron Zhang (@rabbit-aaron) <https://github.com/rabbit-aaron>`__
- `Radim Karniš (@radimkarnis) <https://github.com/radimkarnis>`__
- `Florian Ragwitz (@rafl) <https://github.com/rafl>`__
- `razorback16 (@razorback16) <https://github.com/razorback16>`__
@ -662,6 +674,7 @@ Contributors
- `Samuel Sieb (@ssieb) <https://github.com/ssieb>`__
- `St4n (@St4n) <https://github.com/St4n>`__
- `Stefan (@stefanroelofs) <https://github.com/stefanroelofs>`__
- `stegm (@stegm) <https://github.com/stegm>`__
- `Steve Baxter (@stevebaxter) <https://github.com/stevebaxter>`__
- `sticilface (@sticilface) <https://github.com/sticilface>`__
- `StijnVdd (@StijnVdd) <https://github.com/StijnVdd>`__
@ -670,11 +683,13 @@ Contributors
- `stubs12 (@stubs12) <https://github.com/stubs12>`__
- `Jordan Vohwinkel (@sublime93) <https://github.com/sublime93>`__
- `sveip (@sveip) <https://github.com/sveip>`__
- `Sympatron GmbH (@Sympatron) <https://github.com/Sympatron>`__
- `synco (@synco) <https://github.com/synco>`__
- `Marcel Feix (@Syndlex) <https://github.com/Syndlex>`__
- `Teemu Mikkonen (@T3m3z) <https://github.com/T3m3z>`__
- `Taigar2015 (@Taigar2015) <https://github.com/Taigar2015>`__
- `Levente Tamas (@tamisoft) <https://github.com/tamisoft>`__
- `Aleksandr Oleinikov (@tannisroot) <https://github.com/tannisroot>`__
- `tantive (@tantive) <https://github.com/tantive>`__
- `TBobsin (@TBobsin) <https://github.com/TBobsin>`__
- `Team Super Panda (@teamsuperpanda) <https://github.com/teamsuperpanda>`__
@ -698,12 +713,14 @@ Contributors
- `Thomas Klingbeil (@thomasklingbeil) <https://github.com/thomasklingbeil>`__
- `Thomas Dietrich (@ThomDietrich) <https://github.com/ThomDietrich>`__
- `Andrew Thompson (@thompsa) <https://github.com/thompsa>`__
- `John (@thorrak) <https://github.com/thorrak>`__
- `Tijs-B (@Tijs-B) <https://github.com/Tijs-B>`__
- `Aidan Timson (@timmo001) <https://github.com/timmo001>`__
- `Tim Niemueller (@timn) <https://github.com/timn>`__
- `Tim P (@timpur) <https://github.com/timpur>`__
- `Tim Savage (@timsavage) <https://github.com/timsavage>`__
- `Max Efremov (@Tmin10) <https://github.com/Tmin10>`__
- `Snōwball (@tobias-) <https://github.com/tobias->`__
- `Philipp Tölke (@toelke) <https://github.com/toelke>`__
- `Tom Brien (@TomBrien) <https://github.com/TomBrien>`__
- `TomFahey (@TomFahey) <https://github.com/TomFahey>`__
@ -717,6 +734,7 @@ Contributors
- `Felix Eckhofer (@tribut) <https://github.com/tribut>`__
- `Tobias (@tripplet) <https://github.com/tripplet>`__
- `Troon (@Troon) <https://github.com/Troon>`__
- `Olli Salonen (@trsqr) <https://github.com/trsqr>`__
- `Trevor North (@trvrnrth) <https://github.com/trvrnrth>`__
- `Trygve Laugstøl (@trygvis) <https://github.com/trygvis>`__
- `Gediminas Šaltenis (@trylika) <https://github.com/trylika>`__
@ -762,10 +780,11 @@ Contributors
- `Yuval Aboulafia (@yuvalabou) <https://github.com/yuvalabou>`__
- `ZabojnikM (@ZabojnikM) <https://github.com/ZabojnikM>`__
- `zaluthar (@zaluthar) <https://github.com/zaluthar>`__
- `david reid (@zathras777) <https://github.com/zathras777>`__
- `ZJY (@zhangjingye03) <https://github.com/zhangjingye03>`__
- `San (@zhujunsan) <https://github.com/zhujunsan>`__
- `Zoltant7 (@Zoltant7) <https://github.com/Zoltant7>`__
- `ZTX18 (@ZTX18) <https://github.com/ZTX18>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated December 30, 2021.*
*This page was last updated January 19, 2022.*