Merge branch 'current' into next

This commit is contained in:
Jesse Hills 2021-09-20 14:12:11 +12:00
commit 2a0171df61
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A
14 changed files with 266 additions and 22 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

206
changelog/2021.9.0.rst Normal file
View File

@ -0,0 +1,206 @@
ESPHome 2021.9.0 - 15th September 2021
======================================
.. seo::
:description: Changelog for ESPHome 2021.9.0.
:image: /_static/changelog-2021.9.0.png
:author: ESPHome
:author_twitter: @esphome_
.. imgtable::
:columns: 3
AirThings BLE, components/sensor/airthings_ble, airthings_logo.png
H-bridge Fan, components/fan/hbridge, fan.svg
ST7920, components/display/st7920, st7920.jpg
`Home Assistant Amber <https://home-assistant.io/amber>`__
----------------------------------------------------------
You get the most out of your ESPHome devices when you combine it with Home Assistant,
which offers a seamless and local integration to control and manage all your ESPHome devices.
Today Home Assistant launched a crowdfunding campaign for the `Home Assistant Amber <https://home-assistant.io/amber>`__,
the easiest way to get started with Home Assistant and a privacy focused smart home.
API Encryption
--------------
:ghuser:`OttoWinter` has been hard at work adding a layer of encryption to the API which utilises the
``noise`` protocol. This releases adds the capabilities to ESPHome devices, but Home Assistant (or other clients)
will need to upgrade their client libraries (e.g. ``aioesphomeapi``) before they can connect and communicate to
devices with encryption. This is scheduled to be available in Home Assistant 2021.10.
Git Packages
------------
:ref:`Packages<config-git_packages>` have been extended to allow loading (multiple) YAML file(s) from a git repo.
Take a look at the examples to see how to use them.
Midea AC
--------
``platform: midea_ac`` has been changed to ``platform: midea`` in this release and has
quite a few upgrades. Check the docs for the new features. :doc:`/components/climate/midea`
SDM Meters
----------
:doc:`SDM Meters</components/sensor/sdm_meter>` have been fixed to use kWh instead of Wh
as the energy unit of measurement.
Template Select/Number/Switch
-----------------------------
The template selects, numbers and switches now have more validations on them preventing weird usage.
If you do not set a ``lambda`` then you are required to make them either ``optimistic: true``, or
utilise the ``set_action`` (select/number) / ``turn_on_trigger`` (switch).
Full list of changes
--------------------
New Features
^^^^^^^^^^^^
- Add H-Bridge fan component :esphomepr:`2212` by :ghuser:`WeekendWarrior1` (new-feature)
- Allow using a git source for a package :esphomepr:`2193` by :ghuser:`jesserockz` (new-feature)
New Components
^^^^^^^^^^^^^^
- Add st7920 display, :esphomepr:`1440` by :ghuser:`marsjan155` (new-integration)
- Support for the AirThings Wave Plus :esphomepr:`1656` by :ghuser:`jeromelaban` (new-integration)
Breaking Changes
^^^^^^^^^^^^^^^^
- Fix SDM energy units to be KILO... :esphomepr:`2206` by :ghuser:`jesserockz` (breaking-change)
- Reject template select/number/switches that don't handle user input :esphomepr:`2230` by :ghuser:`oxan` (breaking-change)
- Remove last_reset_type and convert all those sensors to TOTAL_INCREASING :esphomepr:`2233` by :ghuser:`jesserockz` (breaking-change)
- Midea support v2 :esphomepr:`2188` by :ghuser:`dudanov` (breaking-change)
Beta Fixes
^^^^^^^^^^
- Fix a few ESP32-C3 compiler issues :esphomepr:`2265` by :ghuser:`jesserockz`
- sm300d2: Accept (undocumented) 0x80 checksum offset. :esphomepr:`2263` by :ghuser:`poptix`
- Disable automatic usage of SNTP servers from DHCP :esphomepr:`2273` by :ghuser:`oxan`
- Only try compat parsing after regular parsing fails :esphomepr:`2269` by :ghuser:`oxan`
- Suppress excessive warnings about deprecated Fan interfaces :esphomepr:`2270` by :ghuser:`oxan`
- t6615: tolerate sensor dropping commands :esphomepr:`2255` by :ghuser:`jasstrong`
- Fix API socket issues :esphomepr:`2288` by :ghuser:`OttoWinter`
- Bump platformio to 5.2.0 :esphomepr:`2291` by :ghuser:`OttoWinter`
- API Noise logging :esphomepr:`2298` by :ghuser:`OttoWinter`
- Fix api noise explicit reject :esphomepr:`2297` by :ghuser:`OttoWinter`
- Allow simple hostname for sntp servers :esphomepr:`2300` by :ghuser:`jesserockz`
- Fix binary strobe :esphomepr:`2301` by :ghuser:`jesserockz`
- Fix unit of measurement fields for DSMR power consumed/delivered fields :esphomepr:`2304` by :ghuser:`jsuanet`
- Simple time.sleep in place of threading wait due to upgraded zeroconf :esphomepr:`2307` by :ghuser:`jesserockz`
- Fix aioesphomeapi API logger with explicit API port config :esphomepr:`2310` by :ghuser:`mmakaay`
- Start a wifi scan after saving station details :esphomepr:`2315` by :ghuser:`jesserockz`
All changes
^^^^^^^^^^^
- Minor code cleanup in light components :esphomepr:`2162` by :ghuser:`mmakaay`
- Add device class update to binary sensor :esphomepr:`2170` by :ghuser:`frenck`
- Total daily energy methods :esphomepr:`2163` by :ghuser:`nuttytree`
- Set SDM voltage state class to measurement :esphomepr:`2181` by :ghuser:`jesserockz`
- Add macros header with more usable Arduino version defines :esphomepr:`2145` by :ghuser:`oxan`
- Clean-up constant definitions :esphomepr:`2148` by :ghuser:`oxan`
- Remove double scheduling from addressable lights :esphomepr:`1963` by :ghuser:`oxan`
- Reduce static RAM usage :esphomepr:`2140` by :ghuser:`oxan`
- Fix template select log message mentioning number :esphomepr:`2194` by :ghuser:`jesserockz`
- Add deprecated attribute to some deprecated types/methods :esphomepr:`2185` by :ghuser:`oxan`
- Store source package in Component for debugging :esphomepr:`2070` by :ghuser:`OttoWinter`
- ST7789V: Make backlight_pin optional :esphomepr:`2180` by :ghuser:`speijnik`
- Fix SDM energy units to be KILO... :esphomepr:`2206` by :ghuser:`jesserockz` (breaking-change)
- Optionally set direction on fan.turn_on action :esphomepr:`2171` by :ghuser:`WeekendWarrior1`
- Add st7920 display, :esphomepr:`1440` by :ghuser:`marsjan155` (new-integration)
- Fix css/js file loading for webserver when esphome not executed form config directory :esphomepr:`2207` by :ghuser:`jesserockz`
- cs_pin made optional for ili9341 :esphomepr:`2219` by :ghuser:`a13ssandr0`
- Fix Packages when using MQTT :esphomepr:`2210` by :ghuser:`paulmonigatti`
- Update known boards :esphomepr:`2190` by :ghuser:`oxan`
- Bump dashboard to 20210826.0 :esphomepr:`2211` by :ghuser:`jesserockz`
- Remove footer validation for fujitsu_general :esphomepr:`2196` by :ghuser:`marciogranzotto`
- Glmnet schema 202105 :esphomepr:`2220` by :ghuser:`glmnet`
- Add H-Bridge fan component :esphomepr:`2212` by :ghuser:`WeekendWarrior1` (new-feature)
- Bump black from 21.7b0 to 21.8b0 :esphomepr:`2222` by :ghuser:`dependabot[bot]`
- Bump pytest from 6.2.4 to 6.2.5 :esphomepr:`2223` by :ghuser:`dependabot[bot]`
- Support for the AirThings Wave Plus :esphomepr:`1656` by :ghuser:`jeromelaban` (new-integration)
- Fix some lint errors in pylint 2.10.2 :esphomepr:`2226` by :ghuser:`jesserockz`
- Add transitions to light flash :esphomepr:`2201` by :ghuser:`alexyao2015`
- iBeacon support for ble_presence :esphomepr:`1627` by :ghuser:`ignisf`
- Cleanup flash transitions :esphomepr:`2227` by :ghuser:`alexyao2015`
- Add is_on and is_off conditions for the fan component :esphomepr:`2225` by :ghuser:`nuttytree`
- Bump pylint from 2.9.6 to 2.10.2 :esphomepr:`2197` by :ghuser:`dependabot[bot]`
- mqtt_sensor: properly send state_class via MQTT :esphomepr:`2228` by :ghuser:`ayufan`
- Change uptime's state_class to total_increasing (esphome/issues#2337) :esphomepr:`2205` by :ghuser:`DAVe3283`
- Expose WHITE/CWWW/RGBCT color modes over MQTT :esphomepr:`2231` by :ghuser:`oxan`
- Reject template select/number/switches that don't handle user input :esphomepr:`2230` by :ghuser:`oxan` (breaking-change)
- Fix UARTComponent hardware vs software UART0 conflict :esphomepr:`2229` by :ghuser:`ferbar`
- Move to use zeroconf library instead of inline copy :esphomepr:`2192` by :ghuser:`jesserockz`
- Allow using a git source for a package :esphomepr:`2193` by :ghuser:`jesserockz` (new-feature)
- Remove last_reset_type and convert all those sensors to TOTAL_INCREASING :esphomepr:`2233` by :ghuser:`jesserockz` (breaking-change)
- Dont dump legacy fields :esphomepr:`2241` by :ghuser:`jesserockz`
- Fix encoding bug :esphomepr:`2242` by :ghuser:`jesserockz`
- Light: include ON_OFF capability to BRIGHTNESS ColorMode :esphomepr:`2204` by :ghuser:`jesserockz`
- LOG_UPDATE_INTERVAL: correctly report "never" :esphomepr:`2240` by :ghuser:`Habbie`
- Fix runtime exception due to dict typing :esphomepr:`2243` by :ghuser:`alexyao2015`
- template: select: fix initial_value cannot be used with lambda :esphomepr:`2244` by :ghuser:`ayufan`
- Add device classes new in HA 2021.9 :esphomepr:`2248` by :ghuser:`oxan`
- Logger prevent recursive logging :esphomepr:`2251` by :ghuser:`OttoWinter`
- Add new trigger to fan component `on_speed_set` :esphomepr:`2246` by :ghuser:`dgtal1`
- Fix fan speed restore issue on boot :esphomepr:`1867` by :ghuser:`wifwucite`
- Template sensors always publish on update interval :esphomepr:`2224` by :ghuser:`nuttytree`
- Socket component :esphomepr:`2250` by :ghuser:`OttoWinter`
- Allow .yml files in dashboard :esphomepr:`2257` by :ghuser:`jesserockz`
- Bump dashboard to 20210908.0 and fix card names for yml :esphomepr:`2258` by :ghuser:`jesserockz`
- Fix socket not setting callbacks early enough :esphomepr:`2260` by :ghuser:`OttoWinter`
- Convert API to use sockets :esphomepr:`2253` by :ghuser:`OttoWinter`
- Midea support v2 :esphomepr:`2188` by :ghuser:`dudanov` (breaking-change)
- ccs811: publish firmware version; log bootloader and HW version; fix a bug :esphomepr:`2006` by :ghuser:`Habbie`
- API encryption :esphomepr:`2254` by :ghuser:`OttoWinter`
- Revert "Dont dump legacy fields" :esphomepr:`2259` by :ghuser:`jesserockz`
- pm1006: add support for sending a measurement request :esphomepr:`2214` by :ghuser:`Habbie`
- SGP40 sensor start-up fix :esphomepr:`2178` by :ghuser:`kbx81`
- PMSA003i Update state_class and async :esphomepr:`2216` by :ghuser:`sjtrny`
- Fix a few ESP32-C3 compiler issues :esphomepr:`2265` by :ghuser:`jesserockz`
- sm300d2: Accept (undocumented) 0x80 checksum offset. :esphomepr:`2263` by :ghuser:`poptix`
- Disable automatic usage of SNTP servers from DHCP :esphomepr:`2273` by :ghuser:`oxan`
- Only try compat parsing after regular parsing fails :esphomepr:`2269` by :ghuser:`oxan`
- Suppress excessive warnings about deprecated Fan interfaces :esphomepr:`2270` by :ghuser:`oxan`
- t6615: tolerate sensor dropping commands :esphomepr:`2255` by :ghuser:`jasstrong`
- Fix API socket issues :esphomepr:`2288` by :ghuser:`OttoWinter`
- Bump platformio to 5.2.0 :esphomepr:`2291` by :ghuser:`OttoWinter`
- API Noise logging :esphomepr:`2298` by :ghuser:`OttoWinter`
- Fix api noise explicit reject :esphomepr:`2297` by :ghuser:`OttoWinter`
- Allow simple hostname for sntp servers :esphomepr:`2300` by :ghuser:`jesserockz`
- Fix binary strobe :esphomepr:`2301` by :ghuser:`jesserockz`
- Fix unit of measurement fields for DSMR power consumed/delivered fields :esphomepr:`2304` by :ghuser:`jsuanet`
- Simple time.sleep in place of threading wait due to upgraded zeroconf :esphomepr:`2307` by :ghuser:`jesserockz`
- Fix aioesphomeapi API logger with explicit API port config :esphomepr:`2310` by :ghuser:`mmakaay`
- Start a wifi scan after saving station details :esphomepr:`2315` by :ghuser:`jesserockz`
Past Changelogs
---------------
.. toctree::
:maxdepth: 1
2021.8.0
v1.20.0
v1.19.0
v1.18.0
v1.17.0
v1.16.0
v1.15.0
v1.14.0
v1.13.0
v1.12.0
v1.11.0
v1.10.0
v1.9.0
v1.8.0
v1.7.0

View File

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

View File

@ -152,30 +152,37 @@ Configuration variables:
.. _cover-lambda_calls:
lambda calls
------------
Lambdas
-------
From :ref:`lambdas <config-lambda>`, you can call several methods on all covers to do some
advanced stuff.
From :ref:`lambdas <config-lambda>`, you can access the current state of the cover (note that these
fields are read-only, if you want to act on the cover, use the ``make_call()`` method as shown above).
- ``publish_state()``: Manually cause the cover to publish a new state and store it internally.
If it's different from the last internal state, it's additionally published to the frontend.
- ``position``: Retrieve the current position of the cover, as a value between ``0.0`` (open) and ``1.0`` (closed).
.. code-block:: yaml
.. code-block:: cpp
// Within lambda, make the cover report a specific state
id(my_cover).publish_state(COVER_OPEN);
id(my_cover).publish_state(COVER_CLOSED);
if (id(my_cover).position == COVER_OPEN) {
// Cover is open
} else if (id(my_cover).position == COVER_CLOSED) {
// Cover is closed
} else {
// Cover is in-between open and closed
}
- ``tilt``: Retrieve the current tilt position of the cover, as a value between ``0.0`` and ``1.0``.
- ``state``: Retrieve the current state of the cover.
- ``current_operation``: The operation the cover is currently performing:
.. code-block:: yaml
.. code-block:: cpp
if (id(my_cover).position == COVER_OPEN) {
// Cover is open
} else {
// Cover is closed
}
if (id(my_cover).current_operation == CoverOperation::COVER_OPERATION_IDLE) {
// Cover is idle
} else if (id(my_cover).current_operation == CoverOperation::COVER_OPERATION_OPENING) {
// Cover is currently opening
} else if (id(my_cover).current_operation == CoverOperation::COVER_OPERATION_CLOSING) {
// Cover is currently closing
}
See Also
--------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 477 KiB

After

Width:  |  Height:  |  Size: 433 KiB

View File

@ -49,8 +49,9 @@ Configuration variables:
- **dc_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The DC pin.
- **device_width** (**Required**, int): The device width. 128 is default
- **device_height** (**Required**, int): The device height. 160 is default
- **col_start** (**Required**, int): The device height. 160 is default
- **row_start** (**Required**, int): The device height. 160 is default
- **col_start** (**Required**, int): The starting column offset. Default value depends on **model**.
- **row_start** (**Required**, int): The starting row offset. Default value depends on **model**.
- **use_bgr** (*Optional*, "true/false"): Use BGR mode. Default is false.
- **eight_bit_color** (*Optional*, "true/false" ): 8bit mode. Default is false. This saves 50% of the buffer required for the display.
- **reset_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The RESET pin.

View File

@ -50,6 +50,7 @@ Advanced options:
is in. See :ref:`esphome-includes` for more info.
- **libraries** (*Optional*, list of libraries): A list of `platformio libraries <https://platformio.org/lib>`__
to include in the project. See `platformio lib install <https://docs.platformio.org/en/latest/userguide/lib/cmd_install.html>`__.
The ``<name>=<source>`` syntax can be used to override the source used for a library that is included by a component.
- **comment** (*Optional*, string): Additional text information about this node. Only for display in UI.
- **name_add_mac_suffix** (*Optional*, boolean): Appends the last 6 bytes of the mac address of the device to
the name in the form ``<name>-aabbcc``. Defaults to ``false``.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -109,6 +109,8 @@ There are a lot of filters that sensors support. You define them by adding a ``f
block in the sensor configuration (at the same level as ``platform``; or inside each sensor block
for platforms with multiple sensors)
Filters are processed in the order they are defined in your configuration.
.. code-block:: yaml
# Example filters:

View File

@ -347,13 +347,16 @@ merged with the services definitions from main config file.
- <<: !include common/binary_sensor/connection_status.config.yaml
switch:
- !include common/switch/restart_switch.config.yaml
- <<: !include common/switch/restart_switch.config.yaml
.. _config-git_packages:
Remote/git Packages
*******************
Packages can also be loaded from a git repository by utilizing the correct config syntax.
:ref:`config-substitutions` can be used inside the remote packages which allows users to override
them locally with their own subsitution value.
.. code-block:: yaml

View File

@ -19,9 +19,11 @@ Contributors
- `0hax (@0hax) <https://github.com/0hax>`__
- `Nikola (@0nikola1) <https://github.com/0nikola1>`__
- `0x0a11c0de (@0x0a11c0de) <https://github.com/0x0a11c0de>`__
- `Tercio Filho (@0x3333) <https://github.com/0x3333>`__
- `2016for (@2016for) <https://github.com/2016for>`__
- `Pavel Golovin (@31337Ghost) <https://github.com/31337Ghost>`__
- `David Martin (@3ative) <https://github.com/3ative>`__
- `Alessandro Campolo (@a13ssandr0) <https://github.com/a13ssandr0>`__
- `Aalian Khan (@AalianKhan) <https://github.com/AalianKhan>`__
- `Abel Matser (@abelmatser) <https://github.com/abelmatser>`__
- `Abílio Costa (@abmantis) <https://github.com/abmantis>`__
@ -49,7 +51,9 @@ Contributors
- `Alexandre Danault (@AlexDanault) <https://github.com/AlexDanault>`__
- `Alex Mekkering (@AlexMekkering) <https://github.com/AlexMekkering>`__
- `Alex (@alexyao2015) <https://github.com/alexyao2015>`__
- `aliktb (@aliktb) <https://github.com/aliktb>`__
- `Amish Vishwakarma (@amishv) <https://github.com/amishv>`__
- `Jason Nader (@ammgws) <https://github.com/ammgws>`__
- `andig (@andig) <https://github.com/andig>`__
- `András Bíró (@andrasbiro) <https://github.com/andrasbiro>`__
- `Andreas Hergert (@andreashergert1984) <https://github.com/andreashergert1984>`__
@ -157,10 +161,12 @@ Contributors
- `Destix (@Destix) <https://github.com/Destix>`__
- `Develo (@devyte) <https://github.com/devyte>`__
- `Dezorian (@Dezorian) <https://github.com/Dezorian>`__
- `dgtal1 (@dgtal1) <https://github.com/dgtal1>`__
- `Alain Turbide (@Dilbert66) <https://github.com/Dilbert66>`__
- `Mark (@Diramu) <https://github.com/Diramu>`__
- `Dirk Heinke (@DirkHeinke) <https://github.com/DirkHeinke>`__
- `Dirk Jahnke (@dirkj) <https://github.com/dirkj>`__
- `dj-bauer (@dj-bauer) <https://github.com/dj-bauer>`__
- `djtef (@djtef) <https://github.com/djtef>`__
- `Marcos Pérez Ferro (@djwmarcx) <https://github.com/djwmarcx>`__
- `Dan Mannock (@dmannock) <https://github.com/dmannock>`__
@ -278,19 +284,23 @@ Contributors
- `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>`__
- `Michael (@imeekle) <https://github.com/imeekle>`__
- `imgbot[bot] (@imgbot[bot]) <https://github.com/imgbot[bot]>`__
- `Lorenzo Ortiz (@Infinitte) <https://github.com/Infinitte>`__
- `irtimaled (@irtimaled) <https://github.com/irtimaled>`__
- `Ivan Shvedunov (@ivan4th) <https://github.com/ivan4th>`__
- `Ivan Kravets (@ivankravets) <https://github.com/ivankravets>`__
- `Ivo-tje (@Ivo-tje) <https://github.com/Ivo-tje>`__
- `Jakob Reiter (@jakommo) <https://github.com/jakommo>`__
- `James Braid (@jamesbraid) <https://github.com/jamesbraid>`__
- `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>`__
- `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>`__
@ -298,6 +308,7 @@ Contributors
- `jeff-h (@jeff-h) <https://github.com/jeff-h>`__
- `Jeff Rescignano (@JeffResc) <https://github.com/JeffResc>`__
- `Jej (@jej) <https://github.com/jej>`__
- `Jérôme Laban (@jeromelaban) <https://github.com/jeromelaban>`__
- `Jesse Hills (@jesserockz) <https://github.com/jesserockz>`__
- `Jim Bauwens (@jimbauwens) <https://github.com/jimbauwens>`__
- `Jérémy JOURDIN (@JJK801) <https://github.com/JJK801>`__
@ -309,10 +320,12 @@ Contributors
- `Johan van der Kuijl (@johanvanderkuijl) <https://github.com/johanvanderkuijl>`__
- `Johboh (@Johboh) <https://github.com/Johboh>`__
- `John Erik Halse (@johnerikhalse) <https://github.com/johnerikhalse>`__
- `JonasEr (@JonasEr) <https://github.com/JonasEr>`__
- `Jonathan Adams (@jonathanadams) <https://github.com/jonathanadams>`__
- `Jonathan Treffler (@JonathanTreffler) <https://github.com/JonathanTreffler>`__
- `JonnyaiR (@jonnyair) <https://github.com/jonnyair>`__
- `Joppy (@JoppyFurr) <https://github.com/JoppyFurr>`__
- `jsuanet (@jsuanet) <https://github.com/jsuanet>`__
- `junnikokuki (@junnikokuki) <https://github.com/junnikokuki>`__
- `Justahobby01 (@Justahobby01) <https://github.com/Justahobby01>`__
- `Mike Ryan (@justfalter) <https://github.com/justfalter>`__
@ -325,6 +338,7 @@ Contributors
- `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>`__
- `kbouchard111 (@kbouchard111) <https://github.com/kbouchard111>`__
- `Keith Burzinski (@kbx81) <https://github.com/kbx81>`__
@ -351,6 +365,7 @@ Contributors
- `Jakub Šimo (@kubik369) <https://github.com/kubik369>`__
- `kvvoff (@kvvoff) <https://github.com/kvvoff>`__
- `Ken Davidson (@kwdavidson) <https://github.com/kwdavidson>`__
- `Kyle Hendricks (@kylehendricks) <https://github.com/kylehendricks>`__
- `Kyle Manna (@kylemanna) <https://github.com/kylemanna>`__
- `la7dja (@la7dja) <https://github.com/la7dja>`__
- `Stefan Lässer (@Laess3r) <https://github.com/Laess3r>`__
@ -380,12 +395,14 @@ Contributors
- `Manuel Díez (@manutenfruits) <https://github.com/manutenfruits>`__
- `Marcel van der Veldt (@marcelveldt) <https://github.com/marcelveldt>`__
- `Marc (@MarcHagen) <https://github.com/MarcHagen>`__
- `Marcio Granzotto Rodrigues (@marciogranzotto) <https://github.com/marciogranzotto>`__
- `Marc Teale (@marcteale) <https://github.com/marcteale>`__
- `marecabo (@marecabo) <https://github.com/marecabo>`__
- `Marvin Gaube (@margau) <https://github.com/margau>`__
- `Martynas Griškonis (@Margriko) <https://github.com/Margriko>`__
- `Mario (@mario-tux) <https://github.com/mario-tux>`__
- `Matthew Harrold (@marrold) <https://github.com/marrold>`__
- `marsjan155 (@marsjan155) <https://github.com/marsjan155>`__
- `Martin (@martgras) <https://github.com/martgras>`__
- `Martin Hjelmare (@MartinHjelmare) <https://github.com/MartinHjelmare>`__
- `MartinWelsch (@MartinWelsch) <https://github.com/MartinWelsch>`__
@ -393,6 +410,7 @@ Contributors
- `matikij (@matikij) <https://github.com/matikij>`__
- `Michel Marti (@matoxp) <https://github.com/matoxp>`__
- `matt123p (@matt123p) <https://github.com/matt123p>`__
- `Matthew Mazzanti (@matthewmazzanti) <https://github.com/matthewmazzanti>`__
- `Maurice Schleußinger (@maurice-schleussinger) <https://github.com/maurice-schleussinger>`__
- `mbo18 (@mbo18) <https://github.com/mbo18>`__
- `Me No Dev (@me-no-dev) <https://github.com/me-no-dev>`__
@ -405,6 +423,7 @@ Contributors
- `Merlin Schumacher (@merlinschumacher) <https://github.com/merlinschumacher>`__
- `Michael Gorven (@mgorven) <https://github.com/mgorven>`__
- `mhentschke (@mhentschke) <https://github.com/mhentschke>`__
- `Michaël Arnauts (@michaelarnauts) <https://github.com/michaelarnauts>`__
- `micw (@micw) <https://github.com/micw>`__
- `Pauline Middelink (@middelink) <https://github.com/middelink>`__
- `Mikko Tervala (@MikkoTervala) <https://github.com/MikkoTervala>`__
@ -500,6 +519,7 @@ Contributors
- `Marcus Kempe (@plopp) <https://github.com/plopp>`__
- `DK (@poldim) <https://github.com/poldim>`__
- `polyfaces (@polyfaces) <https://github.com/polyfaces>`__
- `poptix (@poptix) <https://github.com/poptix>`__
- `Iván Povedano (@pove) <https://github.com/pove>`__
- `pplucky (@pplucky) <https://github.com/pplucky>`__
- `probonopd (@probonopd) <https://github.com/probonopd>`__
@ -519,6 +539,7 @@ Contributors
- `rbaron (@rbaron) <https://github.com/rbaron>`__
- `Robert Cambridge (@rcambrj) <https://github.com/rcambrj>`__
- `Ronald Dehuysser (@rdehuyss) <https://github.com/rdehuyss>`__
- `Alex (@redwngsrul) <https://github.com/redwngsrul>`__
- `Alex Reid (@reidprojects) <https://github.com/reidprojects>`__
- `rheinz (@rheinz) <https://github.com/rheinz>`__
- `Richard Klingler (@richardklingler) <https://github.com/richardklingler>`__
@ -592,6 +613,7 @@ Contributors
- `sticilface (@sticilface) <https://github.com/sticilface>`__
- `stubs12 (@stubs12) <https://github.com/stubs12>`__
- `Jordan Vohwinkel (@sublime93) <https://github.com/sublime93>`__
- `swhaat (@swhaat) <https://github.com/swhaat>`__
- `Marcel Feix (@Syndlex) <https://github.com/Syndlex>`__
- `Teemu Mikkonen (@T3m3z) <https://github.com/T3m3z>`__
- `Taigar2015 (@Taigar2015) <https://github.com/Taigar2015>`__
@ -600,6 +622,7 @@ Contributors
- `TBobsin (@TBobsin) <https://github.com/TBobsin>`__
- `Team Super Panda (@teamsuperpanda) <https://github.com/teamsuperpanda>`__
- `teffcz (@teffcz) <https://github.com/teffcz>`__
- `Tempura San (@tempura-san) <https://github.com/tempura-san>`__
- `testbughub (@testbughub) <https://github.com/testbughub>`__
- `Greg Lincoln (@tetious) <https://github.com/tetious>`__
- `The Impaler (@the-impaler) <https://github.com/the-impaler>`__
@ -666,6 +689,7 @@ Contributors
- `Ian Wells (@wellsi) <https://github.com/wellsi>`__
- `Werner Beroux (@wernight) <https://github.com/wernight>`__
- `wifwucite (@wifwucite) <https://github.com/wifwucite>`__
- `wilberforce (@wilberforce) <https://github.com/wilberforce>`__
- `Wilmar den Ouden (@wilmardo) <https://github.com/wilmardo>`__
- `Emil Hesslow (@WizKid) <https://github.com/WizKid>`__
- `WJCarpenter (@wjcarpenter) <https://github.com/wjcarpenter>`__
@ -689,4 +713,4 @@ Contributors
- `ZTX18 (@ZTX18) <https://github.com/ZTX18>`__
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
*This page was last updated August 25, 2021.*
*This page was last updated September 16, 2021.*

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 33 KiB