diff --git a/_config.yml b/_config.yml
index 3826a92dad7..71d5641157f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -138,9 +138,9 @@ social:
# Home Assistant release details
current_major_version: 0
-current_minor_version: 87
-current_patch_version: 1
-date_released: 2019-02-10
+current_minor_version: 88
+current_patch_version: 0
+date_released: 2019-02-20
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/source/_components/default_config.markdown b/source/_components/default_config.markdown
new file mode 100644
index 00000000000..852d8803c6e
--- /dev/null
+++ b/source/_components/default_config.markdown
@@ -0,0 +1,16 @@
+---
+layout: page
+title: "Default Config"
+description: "The default config component will initate a default configuration for Home Assistant."
+date: 2019-02-15 20:00
+sidebar: true
+comments: false
+sharing: true
+footer: true
+logo: home-assistant.png
+ha_category: Other
+ha_release: 0.88
+featured: false
+---
+
+This component is a meta-component and configures a default set of components for Home Assistant to load. The components that will be loaded can be found [here](https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/default_config/__init__.py).
diff --git a/source/_components/ebusd.markdown b/source/_components/ebusd.markdown
index fcc02daa8e6..4ed01d16e2e 100644
--- a/source/_components/ebusd.markdown
+++ b/source/_components/ebusd.markdown
@@ -7,10 +7,11 @@ sidebar: true
comments: false
sharing: true
footer: true
-logo: ebusd.png
ha_category: Sensor
ha_iot_class: "Local Polling"
ha_release: "0.88"
+redirect_from:
+ - /components/sensor.ebusd/
---
Integration between [ebusd](https://github.com/john30/ebusd/) daemon for communication with eBUS heating systems, and Home Assistant using sensor component.
@@ -31,7 +32,7 @@ host:
description: This is the IP address of your ebus daemon, e.g., `127.0.0.1`.
required: true
type: string
-circuit:
+circuit:
description: The heating circuit name to monitor, e.g., 700.
required: true
type: string
@@ -40,7 +41,7 @@ port:
type: integer
required: false
default: 8888
-name:
+name:
description: The name to use when displaying this ebusd instance.
type: string
required: false
diff --git a/source/_components/remote.harmony.markdown b/source/_components/harmony.markdown
similarity index 100%
rename from source/_components/remote.harmony.markdown
rename to source/_components/harmony.markdown
diff --git a/source/_components/weather.ipma.markdown b/source/_components/ipma.markdown
similarity index 96%
rename from source/_components/weather.ipma.markdown
rename to source/_components/ipma.markdown
index 68f4cf67a88..943650cf320 100644
--- a/source/_components/weather.ipma.markdown
+++ b/source/_components/ipma.markdown
@@ -11,6 +11,8 @@ logo: ipma.png
ha_category: Weather
ha_release: 0.72
ha_iot_class: "Cloud Polling"
+redirect_from:
+ - /components/weather.ipma/
---
The `ipma` weather platform uses the [Instituto Português do Mar e Atmosfera](http://www.ipma.pt) as a source for current and forecast meteorological data.
diff --git a/source/_components/person.markdown b/source/_components/person.markdown
index 079178bde58..9d8dc3fcaf2 100644
--- a/source/_components/person.markdown
+++ b/source/_components/person.markdown
@@ -15,9 +15,11 @@ ha_release: 0.88
The person component allows to connect device tracker entities to one or more person entities. The last state update of a connected device tracker will set the state of the person. Eg if you connect your router and your owntracks device as trackers to your person, the last state update from either the router or your owntracks device will set the state of your person.
-## {% linkable_title Configuring the `person` component %}
+You can manage persons via the UI from the person page inside the configuration panel.
-To get started add the following lines to your `configuration.yaml`:
+## {% linkable_title Configuring the `person` component via YAML %}
+
+If you prefer YAML, you can also configure your persons via `configuration.yaml`:
```yaml
# Example configuration.yaml entry
diff --git a/source/_components/velux.markdown b/source/_components/velux.markdown
index 8735998d7be..332b98b93bd 100644
--- a/source/_components/velux.markdown
+++ b/source/_components/velux.markdown
@@ -15,6 +15,7 @@ ha_release: 0.49
ha_iot_class: "Local Polling"
redirect_from:
- /components/scene.velux/
+ - /components/cover.velux/
---
[Velux](http://www.velux.com) integration for Home Assistant allows you to connect to a Velux KLF 200 interface, to control [io-homecontrol](http://www.io-homecontrol.com) devices like windows and blinds. The module allows you to start scenes configured within KLF 200.
diff --git a/source/_components/xs1.markdown b/source/_components/xs1.markdown
index 1bf230dbb3b..99951e6ae2c 100644
--- a/source/_components/xs1.markdown
+++ b/source/_components/xs1.markdown
@@ -8,7 +8,7 @@ comments: false
sharing: true
footer: true
logo: xs1.jpg
-ha_category:
+ha_category:
- Hub
- Climate
- Sensor
@@ -16,6 +16,10 @@ ha_category:
ha_release: 0.88
featured: false
ha_iot_class: "Local Polling"
+redirect_from:
+ - /components/climate.xs1/
+ - /components/sensor.xs1/
+ - /components/switch.xs1/
---
The [EZcontrol XS1](http://www.ezcontrol.de/content/view/36/28/) integration for Home Assistant allows you to observe and control devices configured on the XS1 Gateway. Please have a look at the official docs for using this gateway [Bedienungsanleitung v3.0.0.0](http://www.ezcontrol.de/support/downloads/XS1/xs1manual/Bedienungsanleitung_EZcontrol_XS1_3.0.0.0-2.pdf).
@@ -78,8 +82,8 @@ If you are using climate devices the "current temp" sensor will be automatically
| `switch` | Yes | |
| `dimmer` | Partly | Dimmers are currently handled like switches so actual dimming is not supported :(|
| `temperature` | Yes | |
-
-
+
+
### {% linkable_title Climate Actuator/Sensor%}
Home Assistant can combine temperature sensors and climate actuators into a single device. The XS1 gateway does not allow this, but a sensor and actuator can be configured separately. To make Home Assistant register them in the same climate device just prefix the **sensor** name with the actuator name on the XS1 gateway configuration, f.ex:
diff --git a/source/_posts/2019-02-20-release-88.markdown b/source/_posts/2019-02-20-release-88.markdown
new file mode 100644
index 00000000000..ece9d939341
--- /dev/null
+++ b/source/_posts/2019-02-20-release-88.markdown
@@ -0,0 +1,680 @@
+---
+layout: post
+title: "0.88: Persons, Command line auth and event subscriptions"
+description: "Happy new release day to all of you! Great features, solid bug fixes and performance gains."
+date: 2019-02-20 00:11:03
+date_formatted: "February 20, 2019"
+author: Paulus Schoutsen
+author_twitter: balloob
+comments: true
+categories: Release-Notes
+og_image: /images/blog/2019-02-release-88/components.png
+---
+
+
+
+Release 0.88 has landed. It's been a busy two weeks with a ton of cool stuff and improvements.
+
+This release introduces a new [person component][person docs] thanks to [@MartinHjelmare]. With this component, Home Assistant can be set up to track the people in your home. Each person can be linked to a user and multiple device tracker entities. This release does basic device tracker state merging, which will be evolved in the future. Device trackers merging their own states will be phased out in favor of persons. You can configure persons via the config panel. To get started, add the person component to your configuration.yaml file: `person:`. If you want to automatically stay up to date with the latest default Home Assistant components, you can now also add `default_config:` to your config.
+
+This release also extends the event dev tool to include an event debugger. It allows you to listen to core events and get them printend to the screen. This makes it easy to find the event data that your remote is sending out.
+
+
+
+We also have a new command line auth provider. This will allow you to use a shell script to validate users logging in to the system. This gives a lot of flexibility. For example, you can now authenticate against LDAP. More info in [the documentation](/docs/authentication/providers/#command-line).
+
+[@andrewsayre] has been working hard on extending the SmartThings support. This release brings sensors and climate devices into the mix. Awesome!
+
+## {% linkable_title Noteworthy breaking changes %}
+
+We have tightened config validation, so expect a couple of new warnings. Platform configuration will no longer allow to contain keys that are not supported. This should help with finding typos in your current and future YAML configs. This will currently fallback to a warning and will become a full error in the future.
+
+Note for Lovelace custom card developers: if you relied on the availability of `` in your code, you will have to update it to `` to get a similar component.
+
+Note for custom component developers: We are moving to a new file structure. More information on [our dev blog](https://developers.home-assistant.io/blog/2019/02/19/the-great-migration.html).
+
+## {% linkable_title New Platforms %}
+
+- Split googlehome to a component with device tracker platform ([@ludeeus] - [#19971]) ([device_tracker docs]) ([googlehome docs]) (breaking change) (new-platform)
+- Support for new velux api, added cover.velux ([@Julius2342] - [#18738]) ([velux docs]) ([cover.velux docs]) (breaking change) (new-feature) (new-platform)
+- Add huawei_lte notify component ([@scop] - [#19544]) ([notify docs]) (new-platform)
+- Split out speedtest into a component and a sensor platform ([@rohankapoorcom] - [#20527]) ([speedtestdotnet docs]) ([sensor.speedtest docs]) ([sensor.speedtestdotnet docs]) (breaking change) (new-platform)
+- Add google home alarm sensor ([@eliseomartelli] - [#20709]) ([googlehome docs]) (new-platform)
+- Added command_line auth provider that validates credentials by calling a command ([@efficiosoft] - [#19985]) (new-feature) (new-platform)
+- GitHub Sensor ([@timmo001] - [#19561]) ([sensor.github docs]) (new-platform)
+- Fix binary sensor in Ambient PWS ([@bachya] - [#20801]) ([ambient_station docs]) (new-platform)
+- XS1 component ([@markusressel] - [#19115]) ([xs1 docs]) ([climate.xs1 docs]) ([sensor.xs1 docs]) ([switch.xs1 docs]) (new-platform)
+- Add person component ([@MartinHjelmare] - [#20290]) ([person docs]) (new-platform)
+- Add default_config component ([@balloob] - [#20799]) ([default_config docs]) ([script docs]) (new-platform)
+- Add SmartThings Sensor platform ([@andrewsayre] - [#20848]) ([smartthings docs]) (new-platform)
+- CoolMasterNet Climate platform ([@OnFreund] - [#20787]) ([climate.coolmaster docs]) (new-platform)
+- Add Google pubsub component ([@timvancann] - [#20049]) ([google_pubsub docs]) (new-platform)
+- Ebusd integration ([@CrazYoshi] - [#19607]) ([ebusd docs]) ([sensor.ebusd docs]) (new-platform)
+- Add SmartThings Climate platform ([@andrewsayre] - [#20963]) ([smartthings docs]) (new-platform)
+- Add Rejseplanen danish public transport sensor component ([@tomatpasser] - [#19885]) ([sensor.rejseplanen docs]) (new-platform)
+- Norway air quality ([@Danielhiversen] - [#20683]) (new-platform)
+- Add Lock capability to SmartThings platform ([@bendews] - [#20977]) ([smartthings docs]) (new-platform)
+
+## {% linkable_title New Features %}
+
+- Support for new velux api, added cover.velux ([@Julius2342] - [#18738]) ([velux docs]) ([cover.velux docs]) (breaking change) (new-feature) (new-platform)
+- Added HomeKit fan speed based on speed_list ([@nd-net] - [#19767]) ([homekit docs]) (new-feature)
+- Added command_line auth provider that validates credentials by calling a command ([@efficiosoft] - [#19985]) (new-feature) (new-platform)
+- Added more language options ([@VirtualL] - [#20890]) ([sensor.darksky docs]) (new-feature)
+- add fan support for spider thermostats ([@peternijssen] - [#20897]) ([spider docs]) (new-feature)
+- Add quirks info to ZHA device ([@dmulcahey] - [#20923]) ([zha docs]) (new-feature)
+- Added IDs and enabled workarounds for Yale YRD220, YRL220, YRD120 ([@mw-white] - [#20929]) ([zwave docs]) (new-feature)
+
+## {% linkable_title If you need help... %}
+
+...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
+
+## {% linkable_title Reporting Issues %}
+
+Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
+
+
+
+## {% linkable_title Breaking Changes %}
+
+- Split googlehome to a component with device tracker platform ([@ludeeus] - [#19971]) ([device_tracker docs]) ([googlehome docs]) (breaking change) (new-platform)
+- Support for new velux api, added cover.velux ([@Julius2342] - [#18738]) ([velux docs]) ([cover.velux docs]) (breaking change) (new-feature) (new-platform)
+- Split out fastdotcom into a component and a sensor platform ([@rohankapoorcom] - [#20341]) ([fastdotcom docs]) ([sensor.fastdotcom docs]) (breaking change)
+- Split out speedtest into a component and a sensor platform ([@rohankapoorcom] - [#20527]) ([speedtestdotnet docs]) ([sensor.speedtest docs]) ([sensor.speedtestdotnet docs]) (breaking change) (new-platform)
+- Use PLATFORM_SCHEMA_BASE as base schema for additional components. ([@emontnemery] - [#20578]) (breaking change)
+- ZHA component rewrite ([@dmulcahey] - [#20434]) ([zha docs]) (breaking change)
+- Enable the available property for zha entities ([@dmulcahey] - [#20788]) ([zha docs]) (breaking change)
+- Add device ieee to zha events ([@dmulcahey] - [#20791]) ([zha docs]) (breaking change)
+- Update platform loading path ([@balloob] - [#20807]) (breaking change)
+- Make monitored_conditions more specific in Ambient PWS ([@bachya] - [#20803]) ([ambient_station docs]) (breaking change)
+- Use CONF_RECIPIENT for default recipient in config ([@rohankapoorcom] - [#20925]) ([tplink_lte docs]) (breaking change)
+- Update ZHA API to be device oriented ([@dmulcahey] - [#20990]) ([zha docs]) (breaking change)
+- Deprecate conf_update_interval ([@rohankapoorcom] - [#20924]) (breaking change) (beta fix)
+- Return None if no GTFS departures found ([@renemarc] - [#20919]) ([sensor.gtfs docs]) (breaking change) (beta fix)
+- Set aioharmony version to 0.1.8 ([@ehendrix23] - [#21213]) ([harmony docs]) (breaking change) (beta fix)
+
+## {% linkable_title Beta Fixes %}
+
+- Set ZHA device availability on new join ([@dmulcahey] - [#21066]) ([zha docs]) (beta fix)
+- Set uvloop version consistent with hass.io ([@philhawthorne] - [#21080]) (beta fix)
+- Check against unlinked user ([@balloob] - [#21081]) ([person docs]) (beta fix)
+- Fix hue retry crash ([@balloob] - [#21083]) ([hue docs]) (beta fix)
+- Update pychromecast ([@balloob] - [#21097]) ([cast docs]) (beta fix)
+- Bump aioambient to 0.1.2 ([@bachya] - [#21098]) ([ambient_station docs]) (beta fix)
+- Bump thermoworks_smoke version to get new pyrebase version ([@nhorvath] - [#21100]) ([sensor.thermoworks_smoke docs]) (beta fix)
+- Don't expose services in Utility_Meter unless tariffs are available ([@dgomes] - [#20878]) ([utility_meter docs]) (beta fix)
+- Deprecate conf_update_interval ([@rohankapoorcom] - [#20924]) (breaking change) (beta fix)
+- Fix battery_level error - HomeKit ([@cdce8p] - [#21120]) ([homekit docs]) (beta fix)
+- Handle ValueError ([@balloob] - [#21126]) ([person docs]) (beta fix)
+- Bump pychromecast to 2.5.2 ([@balloob] - [#21127]) ([cast docs]) (beta fix)
+- Return None if no GTFS departures found ([@renemarc] - [#20919]) ([sensor.gtfs docs]) (breaking change) (beta fix)
+- SmartThings Component Enhancements/Fixes ([@andrewsayre] - [#21085]) ([smartthings docs]) (beta fix)
+- Fix SmartThings Translation Error ([@andrewsayre] - [#21103]) ([smartthings docs]) (beta fix)
+- Fix track_change error in utility_meter ([@dgomes] - [#21134]) ([utility_meter docs]) (beta fix)
+- Update pyEight for Python 3.7 Compatability ([@mezz64] - [#21161]) ([eight_sleep docs]) (beta fix)
+- Add power source to device and clean up zha listeners ([@dmulcahey] - [#21174]) ([zha docs]) (beta fix)
+- Fix for #19072 ([@sjabby] - [#21175]) ([light.flux_led docs]) (beta fix)
+- Upgrade aioimaplib for Python 3.7 compatibility ([@amelchio] - [#21197]) ([sensor.imap docs]) (beta fix)
+- ordered by last occurence ([@dgomes] - [#21200]) ([system_log docs]) (beta fix)
+- Set aioharmony version to 0.1.8 ([@ehendrix23] - [#21213]) ([harmony docs]) (breaking change) (beta fix)
+- Push pyads to 3.0.7 ([@carstenschroeder] - [#21216]) ([ads docs]) (beta fix)
+- Refactor ZHA listeners into channels ([@dmulcahey] - [#21196]) ([zha docs]) (beta fix)
+- Fix an Ambient PWS exception when location info is missing ([@bachya] - [#21220]) ([ambient_station docs]) (beta fix)
+- Prevent invalid context from crashing ([@balloob] - [#21231]) (beta fix)
+
+## {% linkable_title All changes %}
+
+- Fix typo in config entries doc ([@therve] - [#20619]) ([point docs])
+- Update synology-srm dependency to 0.0.4 ([@aerialls] - [#20625]) ([device_tracker docs])
+- Add precision parameter to dsmr sensor ([@zumitnl] - [#19873]) ([sensor.dsmr docs])
+- Split googlehome to a component with device tracker platform ([@ludeeus] - [#19971]) ([device_tracker docs]) ([googlehome docs]) (breaking change) (new-platform)
+- Move mqtt_mock to tests/components/mqtt/conftest.py ([@awarecan] - [#20621])
+- Revert #20611: code in Abode alarm panel ([@arsaboo] - [#20629]) ([alarm_control_panel.abode docs])
+- Support for new velux api, added cover.velux ([@Julius2342] - [#18738]) ([velux docs]) ([cover.velux docs]) (breaking change) (new-feature) (new-platform)
+- Fix xiaomi default gateway in services ([@therve] - [#20623]) ([xiaomi_aqara docs])
+- Fix sensor.cpuspeed inside docker container (#20614) ([@rohankapoorcom] - [#20656]) ([sensor.cpuspeed docs])
+- Update deconz integration text for PWA ([@akinomeroglu] - [#20634]) ([deconz docs])
+- Add huawei_lte notify component ([@scop] - [#19544]) ([notify docs]) (new-platform)
+- Upgrade rxv to 0.6.0 ([@fabaff] - [#20669]) ([media_player.yamaha docs])
+- Update miflora.py to have relevant sensor icons ([@microraptor] - [#20650]) ([sensor.miflora docs])
+- Consolidate config flow components ([@balloob] - [#20635])
+- Split out fastdotcom into a component and a sensor platform ([@rohankapoorcom] - [#20341]) ([fastdotcom docs]) ([sensor.fastdotcom docs]) (breaking change)
+- Remove fingerprint middleware ([@balloob] - [#20682]) ([http docs])
+- print() left behind ([@dgomes] - [#20689])
+- Embed all platforms into components ([@balloob] - [#20677]) ([abode docs]) ([ads docs]) ([alarmdecoder docs]) ([amcrest docs]) ([android_ip_webcam docs]) ([apcupsd docs]) ([apple_tv docs])
+- add peternijssen as codeowner of spider component ([@peternijssen] - [#20695])
+- Add tests for ZHA switch ([@dmulcahey] - [#20691])
+- Add ZHA sensor tests ([@dmulcahey] - [#20710])
+- Change log level for 'loading devices' message ([@Xiol] - [#20721]) ([device_tracker docs])
+- Add app_id property to Fire TV component ([@JeffLIrion] - [#20719]) ([media_player.firetv docs])
+- Remove SUPPORT_VOLUME_SET from Fire TV component ([@JeffLIrion] - [#20718]) ([media_player.firetv docs])
+- Clean up fastdotcom by doing time tracking outside of the data object ([@rohankapoorcom] - [#20725]) ([fastdotcom docs])
+- Split out speedtest into a component and a sensor platform ([@rohankapoorcom] - [#20527]) ([speedtestdotnet docs]) ([sensor.speedtest docs]) ([sensor.speedtestdotnet docs]) (breaking change) (new-platform)
+- Add ZHA binary sensor tests ([@dmulcahey] - [#20711])
+- Add ZHA fan tests ([@dmulcahey] - [#20712])
+- Add ZHA light tests ([@dmulcahey] - [#20713])
+- Add google home alarm sensor ([@eliseomartelli] - [#20709]) ([googlehome docs]) (new-platform)
+- Add missing abbreviations ([@emontnemery] - [#20741]) ([mqtt docs])
+- Update pysmartthings to 0.5.0 ([@andrewsayre] - [#20759]) ([smartthings docs])
+- Use PLATFORM_SCHEMA_BASE as base schema for additional components. ([@emontnemery] - [#20578]) (breaking change)
+- Update flake8 to 3.7.5 ([@Danielhiversen] - [#20761]) ([cast docs]) ([device_tracker docs]) ([isy994 docs])
+- Modifying MTUs acquisition ([@SupremeSports] - [#20654]) ([sensor.ted5000 docs])
+- Fix googlehome alarm sensor platform ([@eliseomartelli] - [#20742]) ([googlehome docs])
+- SMHI component: Bugfix - calc precipitation ([@helto4real] - [#20745]) ([smhi docs])
+- Added HomeKit fan speed based on speed_list ([@nd-net] - [#19767]) ([homekit docs]) (new-feature)
+- Reproduce states by letting each component opt in on handling state recovery itself ([@elupus] - [#18700])
+- Added egg age to the eggminder sensor ([@w1ll1am23] - [#20758]) ([wink docs])
+- Move components to folders ([@balloob] - [#20774])
+- Fix error handling in switch.broadlink module ([@OleksandrBerchenko] - [#20772]) ([switch.broadlink docs])
+- Flux Led: Add support for defining custom effect ([@leppa] - [#19072]) ([light.flux_led docs])
+- Allow pausing xiaomi vacuum in all states ([@pszafer] - [#20620]) ([vacuum.xiaomi_miio docs])
+- ZHA component rewrite ([@dmulcahey] - [#20434]) ([zha docs]) (breaking change)
+- Prevent template changing options ([@balloob] - [#20775])
+- Allow both VOLUME_STEP and VOLUME_SET ([@notgwj] - [#20732]) ([media_player.universal docs])
+- Added command_line auth provider that validates credentials by calling a command ([@efficiosoft] - [#19985]) (new-feature) (new-platform)
+- Upgrade distro to 1.4.0 ([@fabaff] - [#20797]) ([updater docs])
+- upgrade switchmate lib ([@Danielhiversen] - [#20792]) ([switch.switchmate docs])
+- Remove wink sensor log calls ([@w1ll1am23] - [#20798]) ([wink docs])
+- Upgrade astral to 1.9.2 ([@fabaff] - [#20796])
+- Enable the available property for zha entities ([@dmulcahey] - [#20788]) ([zha docs]) (breaking change)
+- Cleanup zha listener lifecycle ([@dmulcahey] - [#20789]) ([zha docs])
+- Add device ieee to zha events ([@dmulcahey] - [#20791]) ([zha docs]) (breaking change)
+- GitHub Sensor ([@timmo001] - [#19561]) ([sensor.github docs]) (new-platform)
+- Deduplication of log entries in system_log ([@dgomes] - [#20493]) ([system_log docs])
+- Update platform loading path ([@balloob] - [#20807]) (breaking change)
+- Add more type hints to helpers ([@scop] - [#20811])
+- Fix binary sensor in Ambient PWS ([@bachya] - [#20801]) ([ambient_station docs]) (new-platform)
+- Embed Z-Wave platforms ([@balloob] - [#20810])
+- Load as many components in parallel as possible ([@balloob] - [#20806])
+- XS1 component ([@markusressel] - [#19115]) ([xs1 docs]) ([climate.xs1 docs]) ([sensor.xs1 docs]) ([switch.xs1 docs]) (new-platform)
+- Fix zha light bugs ([@dmulcahey] - [#20825]) ([zha docs])
+- Add MVP person component ([@MartinHjelmare] - [#20290]) ([person docs]) (new-platform)
+- Clean up Z-Wave pt2 ([@balloob] - [#20842])
+- Added Ambient PWS to device registry ([@bachya] - [#20841]) ([ambient_station docs])
+- Add default_config component ([@balloob] - [#20799]) ([default_config docs]) ([script docs]) (new-platform)
+- Make monitored_conditions more specific in Ambient PWS ([@bachya] - [#20803]) ([ambient_station docs]) (breaking change)
+- Add SmartThings Sensor platform ([@andrewsayre] - [#20848]) ([smartthings docs]) (new-platform)
+- Support knx tunable white and color temperature lights ([@marvin-w] - [#19699]) ([knx docs]) ([light.knx docs])
+- Move weather.ipma into a component ([@dgomes] - [#20706]) ([ipma docs])
+- Add better handling of deprecated configs ([@rohankapoorcom] - [#20565]) ([freedns docs])
+- Add additional devices and features to Homematic IP ([@SukramJ] - [#20747]) ([homematicip_cloud docs])
+- Upgrade youtube_dl to 2019.02.08 ([@fabaff] - [#20859]) ([media_extractor docs])
+- Fix init of TransmissionData ([@MatteGary] - [#20817]) ([transmission docs])
+- Media player const.py move ([@elupus] - [#20822])
+- Set GTFS icon by route type ([@renemarc] - [#20876]) ([sensor.gtfs docs])
+- Cleanup GTFS query ([@renemarc] - [#20874]) ([sensor.gtfs docs])
+- Upgrade mypy to 0.660 ([@scop] - [#20873])
+- Set August doorbell availability state from online state ([@wonderslug] - [#20883]) ([august docs])
+- Added more language options ([@VirtualL] - [#20890]) ([sensor.darksky docs]) (new-feature)
+- Person component: add storage and WS commands ([@balloob] - [#20852]) ([person docs]) ([websocket_api docs])
+- Fix coroutine never awaited warning in test ([@awarecan] - [#20892])
+- Add some api tests for ZHA ([@dmulcahey] - [#20909])
+- Missing Binary Sensor ([@dagobert] - [#20921]) ([homematic docs])
+- Fix encoding for MQTT camera ([@emontnemery] - [#20932]) ([mqtt docs])
+- Fix RFLink restore state ([@javicalle] - [#20588]) ([rflink docs]) ([light.rflink docs])
+- add fan support for spider thermostats ([@peternijssen] - [#20897]) ([spider docs]) (new-feature)
+- Add quirks info to ZHA device ([@dmulcahey] - [#20923]) ([zha docs]) (new-feature)
+- Added IDs and enabled workarounds for Yale YRD220, YRL220, YRD120 ([@mw-white] - [#20929]) ([zwave docs]) (new-feature)
+- Fix #19990: Alexa-support for climate in manual-mode ([@pc-coholic] - [#20910])
+- Reverts 2105724. ([@boralyl] - [#20915]) ([light.hyperion docs])
+- Update ZHA helpers ([@dmulcahey] - [#20898]) ([zha docs])
+- CoolMasterNet Climate platform ([@OnFreund] - [#20787]) ([climate.coolmaster docs]) (new-platform)
+- Add device HmIP-BSL to Homematic IP ([@SukramJ] - [#20865]) ([homematicip_cloud docs])
+- Add Google pubsub component ([@timvancann] - [#20049]) ([google_pubsub docs]) (new-platform)
+- fix missing sensor values for Point ([@fredrike] - [#20937]) ([point docs])
+- Fixed Thethingsnetwork sensor issue so that it takes the most recent (last) item from the TTN data storage query result instead of the first. ([@Sholofly] - [#20790]) ([thethingsnetwork docs])
+- Use CONF_RECIPIENT for default recipient in config ([@rohankapoorcom] - [#20925]) ([tplink_lte docs]) (breaking change)
+- Ebusd integration ([@CrazYoshi] - [#19607]) ([ebusd docs]) ([sensor.ebusd docs]) (new-platform)
+- Update denonavr to 0.7.8 (add various sound modes) ([@scarface-4711] - [#20951]) ([media_player.denonavr docs])
+- Add missing data fields to Ambient PWS ([@bachya] - [#20808]) ([ambient_station docs]) ([sensor.ambient_station docs])
+- HomematicIP fix cover direction ([@mxworm] - [#20901]) ([homematicip_cloud docs])
+- Update pyHS100 to 0.3.4 ([@StefanBCN] - [#20979]) ([light.tplink docs]) ([switch.tplink docs])
+- Upgrade slixmpp to 1.4.2 ([@fabaff] - [#20971]) ([notify docs])
+- Upgrade ruamel.yaml to 0.15.87 ([@fabaff] - [#20955])
+- Set cover level using emulated_hue ([@ptc] - [#19594]) ([emulated_hue docs])
+- Support for Multiple modbus hubs ([@benvm] - [#19726]) ([modbus docs]) ([binary_sensor.modbus docs]) ([climate.flexit docs]) ([climate.modbus docs]) ([sensor.modbus docs]) ([switch.modbus docs])
+- add device info API ([@dmulcahey] - [#20950]) ([zha docs])
+- Sort imports ([@fabaff] - [#20984]) ([netgear_lte docs])
+- Unique Ids for August entities to allow renames ([@wonderslug] - [#20887]) ([august docs])
+- Sort imports ([@fabaff] - [#20985]) ([mythicbeastsdns docs])
+- Bump aioesphomeapi to 1.5.0 ([@OttoWinter] - [#20986]) ([esphome docs])
+- Fix bug with monitored_conditions in Ambient PWS ([@bachya] - [#20837]) ([ambient_station docs])
+- Add lagging hdate for sensors that should lag to update ([@arigilder] - [#20655]) ([sensor.jewish_calendar docs])
+- Add SmartThings Climate platform ([@andrewsayre] - [#20963]) ([smartthings docs]) (new-platform)
+- Add Rejseplanen danish public transport sensor component ([@tomatpasser] - [#19885]) ([sensor.rejseplanen docs]) (new-platform)
+- Bump feedparser version to py3.7 compat ([@balloob] - [#20987]) ([feedreader docs])
+- Update to Python 3.7 ([@balloob] - [#20988])
+- Updates pyatmo to 1.8 and adds exception handling ([@carstenschroeder] - [#20938]) ([netatmo docs])
+- Add frontend storage ([@balloob] - [#20880])
+- Norway air quality ([@Danielhiversen] - [#20683]) (new-platform)
+- Fix Point does I/O in event loop ([@fredrike] - [#20939]) ([point docs])
+- Add unique id to ADS platforms ([@carstenschroeder] - [#20511]) ([light.ads docs])
+- Upgrade cryptography to 2.5 ([@awarecan] - [#21011])
+- Update ZHA API to be device oriented ([@dmulcahey] - [#20990]) ([zha docs]) (breaking change)
+- Update ordering ([@fabaff] - [#21013]) ([system_health docs])
+- Prevent OverflowError in ESPHome integration ([@OttoWinter] - [#21014]) ([esphome docs])
+- Upgrade restrictedpython to 4.0b8 ([@fabaff] - [#21015]) ([python_script docs])
+- Norway air, minor fix ([@Danielhiversen] - [#21016]) ([air_quality docs])
+- Allow target all timer services using 'entity_id: all' ([@rbflurry] - [#21008]) ([timer docs])
+- RFC: Embed platforms without component for remote component. ([@balloob] - [#20809])
+- Fix discovery of audio groups ([@emontnemery] - [#20947]) ([cast docs])
+- Update entity state when ZHA device becomes available ([@dmulcahey] - [#20993]) ([zha docs])
+- Update co2signal==0.4.2 to fix #20805 ([@danielsjf] - [#21022]) ([sensor.co2signal docs])
+- Add missing helpers ([@fabaff] - [#21021])
+- Add lock config entry unload support. ([@andrewsayre] - [#21025]) ([lock docs])
+- Bump aioambient to 0.1.1 ([@bachya] - [#21024]) ([ambient_station docs])
+- Upgrade sqlalchemy to 1.2.17 ([@fabaff] - [#21020]) ([sensor.sql docs])
+- Run tasks when ZHA devices become available ([@dmulcahey] - [#20998]) ([zha docs])
+- Fix broken links to code examples ([@cisasteelersfan] - [#21039])
+- Update scan interval to 5 minutes. ([@fronzbot] - [#21041]) ([blink docs])
+- Add support for device_class to MQTT cover ([@emontnemery] - [#21044]) ([mqtt docs])
+- Update file header ([@fabaff] - [#21023])
+- Add night arm mode to MQTT alarm control panel ([@rwagoner] - [#20961]) ([mqtt docs])
+- Fix updated file header ([@OttoWinter] - [#21049]) ([esphome docs])
+- Add Lock capability to SmartThings platform ([@bendews] - [#20977]) ([smartthings docs]) (new-platform)
+- Add template support to Bayesian sensor ([@arsaboo] - [#20757]) ([binary_sensor.bayesian docs])
+- Create a person during onboarding ([@balloob] - [#21057]) ([default_config docs]) ([onboarding docs]) ([person docs])
+- Person checks ([@balloob] - [#21056]) ([person docs])
+- Person: Ignore unavailable states ([@balloob] - [#21058]) ([person docs])
+- Add integration method to sensor.integration ([@dgomes] - [#21050]) ([sensor.integration docs])
+- fix webhook update ([@fredrike] - [#21048]) ([point docs])
+- Upgrade ruamel.yaml to 0.15.88 ([@fabaff] - [#21055])
+- Update file header ([@fabaff] - [#21054])
+- Don't directly update config entries ([@balloob] - [#20877]) ([deconz docs]) ([homematicip_cloud docs]) ([hue docs]) ([unifi docs])
+- Set ZHA device availability on new join ([@dmulcahey] - [#21066]) ([zha docs]) (beta fix)
+- Set uvloop version consistent with hass.io ([@philhawthorne] - [#21080]) (beta fix)
+- Check against unlinked user ([@balloob] - [#21081]) ([person docs]) (beta fix)
+- Fix hue retry crash ([@balloob] - [#21083]) ([hue docs]) (beta fix)
+- Update pychromecast ([@balloob] - [#21097]) ([cast docs]) (beta fix)
+- Bump aioambient to 0.1.2 ([@bachya] - [#21098]) ([ambient_station docs]) (beta fix)
+- Bump thermoworks_smoke version to get new pyrebase version ([@nhorvath] - [#21100]) ([sensor.thermoworks_smoke docs]) (beta fix)
+- Don't expose services in Utility_Meter unless tariffs are available ([@dgomes] - [#20878]) ([utility_meter docs]) (beta fix)
+- Deprecate conf_update_interval ([@rohankapoorcom] - [#20924]) (breaking change) (beta fix)
+- Fix battery_level error - HomeKit ([@cdce8p] - [#21120]) ([homekit docs]) (beta fix)
+- Handle ValueError ([@balloob] - [#21126]) ([person docs]) (beta fix)
+- Bump pychromecast to 2.5.2 ([@balloob] - [#21127]) ([cast docs]) (beta fix)
+- Return None if no GTFS departures found ([@renemarc] - [#20919]) ([sensor.gtfs docs]) (breaking change) (beta fix)
+- SmartThings Component Enhancements/Fixes ([@andrewsayre] - [#21085]) ([smartthings docs]) (beta fix)
+- Fix SmartThings Translation Error ([@andrewsayre] - [#21103]) ([smartthings docs]) (beta fix)
+- Fix track_change error in utility_meter ([@dgomes] - [#21134]) ([utility_meter docs]) (beta fix)
+- Update pyEight for Python 3.7 Compatability ([@mezz64] - [#21161]) ([eight_sleep docs]) (beta fix)
+- Add power source to device and clean up zha listeners ([@dmulcahey] - [#21174]) ([zha docs]) (beta fix)
+- Fix for #19072 ([@sjabby] - [#21175]) ([light.flux_led docs]) (beta fix)
+- Upgrade aioimaplib for Python 3.7 compatibility ([@amelchio] - [#21197]) ([sensor.imap docs]) (beta fix)
+- ordered by last occurence ([@dgomes] - [#21200]) ([system_log docs]) (beta fix)
+- Set aioharmony version to 0.1.8 ([@ehendrix23] - [#21213]) ([harmony docs]) (breaking change) (beta fix)
+- Push pyads to 3.0.7 ([@carstenschroeder] - [#21216]) ([ads docs]) (beta fix)
+- Refactor ZHA listeners into channels ([@dmulcahey] - [#21196]) ([zha docs]) (beta fix)
+- Fix an Ambient PWS exception when location info is missing ([@bachya] - [#21220]) ([ambient_station docs]) (beta fix)
+- Prevent invalid context from crashing ([@balloob] - [#21231]) (beta fix)
+
+[#18700]: https://github.com/home-assistant/home-assistant/pull/18700
+[#18738]: https://github.com/home-assistant/home-assistant/pull/18738
+[#19072]: https://github.com/home-assistant/home-assistant/pull/19072
+[#19115]: https://github.com/home-assistant/home-assistant/pull/19115
+[#19544]: https://github.com/home-assistant/home-assistant/pull/19544
+[#19561]: https://github.com/home-assistant/home-assistant/pull/19561
+[#19594]: https://github.com/home-assistant/home-assistant/pull/19594
+[#19607]: https://github.com/home-assistant/home-assistant/pull/19607
+[#19699]: https://github.com/home-assistant/home-assistant/pull/19699
+[#19726]: https://github.com/home-assistant/home-assistant/pull/19726
+[#19767]: https://github.com/home-assistant/home-assistant/pull/19767
+[#19873]: https://github.com/home-assistant/home-assistant/pull/19873
+[#19885]: https://github.com/home-assistant/home-assistant/pull/19885
+[#19971]: https://github.com/home-assistant/home-assistant/pull/19971
+[#19985]: https://github.com/home-assistant/home-assistant/pull/19985
+[#20049]: https://github.com/home-assistant/home-assistant/pull/20049
+[#20290]: https://github.com/home-assistant/home-assistant/pull/20290
+[#20341]: https://github.com/home-assistant/home-assistant/pull/20341
+[#20434]: https://github.com/home-assistant/home-assistant/pull/20434
+[#20493]: https://github.com/home-assistant/home-assistant/pull/20493
+[#20511]: https://github.com/home-assistant/home-assistant/pull/20511
+[#20527]: https://github.com/home-assistant/home-assistant/pull/20527
+[#20565]: https://github.com/home-assistant/home-assistant/pull/20565
+[#20578]: https://github.com/home-assistant/home-assistant/pull/20578
+[#20588]: https://github.com/home-assistant/home-assistant/pull/20588
+[#20619]: https://github.com/home-assistant/home-assistant/pull/20619
+[#20620]: https://github.com/home-assistant/home-assistant/pull/20620
+[#20621]: https://github.com/home-assistant/home-assistant/pull/20621
+[#20623]: https://github.com/home-assistant/home-assistant/pull/20623
+[#20625]: https://github.com/home-assistant/home-assistant/pull/20625
+[#20629]: https://github.com/home-assistant/home-assistant/pull/20629
+[#20634]: https://github.com/home-assistant/home-assistant/pull/20634
+[#20635]: https://github.com/home-assistant/home-assistant/pull/20635
+[#20650]: https://github.com/home-assistant/home-assistant/pull/20650
+[#20654]: https://github.com/home-assistant/home-assistant/pull/20654
+[#20655]: https://github.com/home-assistant/home-assistant/pull/20655
+[#20656]: https://github.com/home-assistant/home-assistant/pull/20656
+[#20669]: https://github.com/home-assistant/home-assistant/pull/20669
+[#20677]: https://github.com/home-assistant/home-assistant/pull/20677
+[#20682]: https://github.com/home-assistant/home-assistant/pull/20682
+[#20683]: https://github.com/home-assistant/home-assistant/pull/20683
+[#20689]: https://github.com/home-assistant/home-assistant/pull/20689
+[#20691]: https://github.com/home-assistant/home-assistant/pull/20691
+[#20695]: https://github.com/home-assistant/home-assistant/pull/20695
+[#20706]: https://github.com/home-assistant/home-assistant/pull/20706
+[#20709]: https://github.com/home-assistant/home-assistant/pull/20709
+[#20710]: https://github.com/home-assistant/home-assistant/pull/20710
+[#20711]: https://github.com/home-assistant/home-assistant/pull/20711
+[#20712]: https://github.com/home-assistant/home-assistant/pull/20712
+[#20713]: https://github.com/home-assistant/home-assistant/pull/20713
+[#20718]: https://github.com/home-assistant/home-assistant/pull/20718
+[#20719]: https://github.com/home-assistant/home-assistant/pull/20719
+[#20721]: https://github.com/home-assistant/home-assistant/pull/20721
+[#20725]: https://github.com/home-assistant/home-assistant/pull/20725
+[#20732]: https://github.com/home-assistant/home-assistant/pull/20732
+[#20741]: https://github.com/home-assistant/home-assistant/pull/20741
+[#20742]: https://github.com/home-assistant/home-assistant/pull/20742
+[#20745]: https://github.com/home-assistant/home-assistant/pull/20745
+[#20747]: https://github.com/home-assistant/home-assistant/pull/20747
+[#20757]: https://github.com/home-assistant/home-assistant/pull/20757
+[#20758]: https://github.com/home-assistant/home-assistant/pull/20758
+[#20759]: https://github.com/home-assistant/home-assistant/pull/20759
+[#20761]: https://github.com/home-assistant/home-assistant/pull/20761
+[#20772]: https://github.com/home-assistant/home-assistant/pull/20772
+[#20774]: https://github.com/home-assistant/home-assistant/pull/20774
+[#20775]: https://github.com/home-assistant/home-assistant/pull/20775
+[#20787]: https://github.com/home-assistant/home-assistant/pull/20787
+[#20788]: https://github.com/home-assistant/home-assistant/pull/20788
+[#20789]: https://github.com/home-assistant/home-assistant/pull/20789
+[#20790]: https://github.com/home-assistant/home-assistant/pull/20790
+[#20791]: https://github.com/home-assistant/home-assistant/pull/20791
+[#20792]: https://github.com/home-assistant/home-assistant/pull/20792
+[#20796]: https://github.com/home-assistant/home-assistant/pull/20796
+[#20797]: https://github.com/home-assistant/home-assistant/pull/20797
+[#20798]: https://github.com/home-assistant/home-assistant/pull/20798
+[#20799]: https://github.com/home-assistant/home-assistant/pull/20799
+[#20801]: https://github.com/home-assistant/home-assistant/pull/20801
+[#20803]: https://github.com/home-assistant/home-assistant/pull/20803
+[#20806]: https://github.com/home-assistant/home-assistant/pull/20806
+[#20807]: https://github.com/home-assistant/home-assistant/pull/20807
+[#20808]: https://github.com/home-assistant/home-assistant/pull/20808
+[#20809]: https://github.com/home-assistant/home-assistant/pull/20809
+[#20810]: https://github.com/home-assistant/home-assistant/pull/20810
+[#20811]: https://github.com/home-assistant/home-assistant/pull/20811
+[#20817]: https://github.com/home-assistant/home-assistant/pull/20817
+[#20822]: https://github.com/home-assistant/home-assistant/pull/20822
+[#20825]: https://github.com/home-assistant/home-assistant/pull/20825
+[#20837]: https://github.com/home-assistant/home-assistant/pull/20837
+[#20841]: https://github.com/home-assistant/home-assistant/pull/20841
+[#20842]: https://github.com/home-assistant/home-assistant/pull/20842
+[#20848]: https://github.com/home-assistant/home-assistant/pull/20848
+[#20852]: https://github.com/home-assistant/home-assistant/pull/20852
+[#20859]: https://github.com/home-assistant/home-assistant/pull/20859
+[#20865]: https://github.com/home-assistant/home-assistant/pull/20865
+[#20873]: https://github.com/home-assistant/home-assistant/pull/20873
+[#20874]: https://github.com/home-assistant/home-assistant/pull/20874
+[#20876]: https://github.com/home-assistant/home-assistant/pull/20876
+[#20877]: https://github.com/home-assistant/home-assistant/pull/20877
+[#20878]: https://github.com/home-assistant/home-assistant/pull/20878
+[#20880]: https://github.com/home-assistant/home-assistant/pull/20880
+[#20883]: https://github.com/home-assistant/home-assistant/pull/20883
+[#20887]: https://github.com/home-assistant/home-assistant/pull/20887
+[#20890]: https://github.com/home-assistant/home-assistant/pull/20890
+[#20892]: https://github.com/home-assistant/home-assistant/pull/20892
+[#20897]: https://github.com/home-assistant/home-assistant/pull/20897
+[#20898]: https://github.com/home-assistant/home-assistant/pull/20898
+[#20901]: https://github.com/home-assistant/home-assistant/pull/20901
+[#20909]: https://github.com/home-assistant/home-assistant/pull/20909
+[#20910]: https://github.com/home-assistant/home-assistant/pull/20910
+[#20915]: https://github.com/home-assistant/home-assistant/pull/20915
+[#20919]: https://github.com/home-assistant/home-assistant/pull/20919
+[#20921]: https://github.com/home-assistant/home-assistant/pull/20921
+[#20923]: https://github.com/home-assistant/home-assistant/pull/20923
+[#20924]: https://github.com/home-assistant/home-assistant/pull/20924
+[#20925]: https://github.com/home-assistant/home-assistant/pull/20925
+[#20929]: https://github.com/home-assistant/home-assistant/pull/20929
+[#20932]: https://github.com/home-assistant/home-assistant/pull/20932
+[#20937]: https://github.com/home-assistant/home-assistant/pull/20937
+[#20938]: https://github.com/home-assistant/home-assistant/pull/20938
+[#20939]: https://github.com/home-assistant/home-assistant/pull/20939
+[#20947]: https://github.com/home-assistant/home-assistant/pull/20947
+[#20950]: https://github.com/home-assistant/home-assistant/pull/20950
+[#20951]: https://github.com/home-assistant/home-assistant/pull/20951
+[#20955]: https://github.com/home-assistant/home-assistant/pull/20955
+[#20961]: https://github.com/home-assistant/home-assistant/pull/20961
+[#20963]: https://github.com/home-assistant/home-assistant/pull/20963
+[#20971]: https://github.com/home-assistant/home-assistant/pull/20971
+[#20977]: https://github.com/home-assistant/home-assistant/pull/20977
+[#20979]: https://github.com/home-assistant/home-assistant/pull/20979
+[#20984]: https://github.com/home-assistant/home-assistant/pull/20984
+[#20985]: https://github.com/home-assistant/home-assistant/pull/20985
+[#20986]: https://github.com/home-assistant/home-assistant/pull/20986
+[#20987]: https://github.com/home-assistant/home-assistant/pull/20987
+[#20988]: https://github.com/home-assistant/home-assistant/pull/20988
+[#20990]: https://github.com/home-assistant/home-assistant/pull/20990
+[#20993]: https://github.com/home-assistant/home-assistant/pull/20993
+[#20998]: https://github.com/home-assistant/home-assistant/pull/20998
+[#21008]: https://github.com/home-assistant/home-assistant/pull/21008
+[#21011]: https://github.com/home-assistant/home-assistant/pull/21011
+[#21013]: https://github.com/home-assistant/home-assistant/pull/21013
+[#21014]: https://github.com/home-assistant/home-assistant/pull/21014
+[#21015]: https://github.com/home-assistant/home-assistant/pull/21015
+[#21016]: https://github.com/home-assistant/home-assistant/pull/21016
+[#21020]: https://github.com/home-assistant/home-assistant/pull/21020
+[#21021]: https://github.com/home-assistant/home-assistant/pull/21021
+[#21022]: https://github.com/home-assistant/home-assistant/pull/21022
+[#21023]: https://github.com/home-assistant/home-assistant/pull/21023
+[#21024]: https://github.com/home-assistant/home-assistant/pull/21024
+[#21025]: https://github.com/home-assistant/home-assistant/pull/21025
+[#21039]: https://github.com/home-assistant/home-assistant/pull/21039
+[#21041]: https://github.com/home-assistant/home-assistant/pull/21041
+[#21044]: https://github.com/home-assistant/home-assistant/pull/21044
+[#21048]: https://github.com/home-assistant/home-assistant/pull/21048
+[#21049]: https://github.com/home-assistant/home-assistant/pull/21049
+[#21050]: https://github.com/home-assistant/home-assistant/pull/21050
+[#21054]: https://github.com/home-assistant/home-assistant/pull/21054
+[#21055]: https://github.com/home-assistant/home-assistant/pull/21055
+[#21056]: https://github.com/home-assistant/home-assistant/pull/21056
+[#21057]: https://github.com/home-assistant/home-assistant/pull/21057
+[#21058]: https://github.com/home-assistant/home-assistant/pull/21058
+[#21066]: https://github.com/home-assistant/home-assistant/pull/21066
+[#21080]: https://github.com/home-assistant/home-assistant/pull/21080
+[#21081]: https://github.com/home-assistant/home-assistant/pull/21081
+[#21083]: https://github.com/home-assistant/home-assistant/pull/21083
+[#21085]: https://github.com/home-assistant/home-assistant/pull/21085
+[#21097]: https://github.com/home-assistant/home-assistant/pull/21097
+[#21098]: https://github.com/home-assistant/home-assistant/pull/21098
+[#21100]: https://github.com/home-assistant/home-assistant/pull/21100
+[#21103]: https://github.com/home-assistant/home-assistant/pull/21103
+[#21120]: https://github.com/home-assistant/home-assistant/pull/21120
+[#21126]: https://github.com/home-assistant/home-assistant/pull/21126
+[#21127]: https://github.com/home-assistant/home-assistant/pull/21127
+[#21134]: https://github.com/home-assistant/home-assistant/pull/21134
+[#21161]: https://github.com/home-assistant/home-assistant/pull/21161
+[#21174]: https://github.com/home-assistant/home-assistant/pull/21174
+[#21175]: https://github.com/home-assistant/home-assistant/pull/21175
+[#21196]: https://github.com/home-assistant/home-assistant/pull/21196
+[#21197]: https://github.com/home-assistant/home-assistant/pull/21197
+[#21200]: https://github.com/home-assistant/home-assistant/pull/21200
+[#21213]: https://github.com/home-assistant/home-assistant/pull/21213
+[#21216]: https://github.com/home-assistant/home-assistant/pull/21216
+[#21220]: https://github.com/home-assistant/home-assistant/pull/21220
+[#21231]: https://github.com/home-assistant/home-assistant/pull/21231
+[@CrazYoshi]: https://github.com/CrazYoshi
+[@Danielhiversen]: https://github.com/Danielhiversen
+[@JeffLIrion]: https://github.com/JeffLIrion
+[@Julius2342]: https://github.com/Julius2342
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@MatteGary]: https://github.com/MatteGary
+[@OleksandrBerchenko]: https://github.com/OleksandrBerchenko
+[@OnFreund]: https://github.com/OnFreund
+[@OttoWinter]: https://github.com/OttoWinter
+[@Sholofly]: https://github.com/Sholofly
+[@StefanBCN]: https://github.com/StefanBCN
+[@SukramJ]: https://github.com/SukramJ
+[@SupremeSports]: https://github.com/SupremeSports
+[@VirtualL]: https://github.com/VirtualL
+[@Xiol]: https://github.com/Xiol
+[@aerialls]: https://github.com/aerialls
+[@akinomeroglu]: https://github.com/akinomeroglu
+[@amelchio]: https://github.com/amelchio
+[@andrewsayre]: https://github.com/andrewsayre
+[@arigilder]: https://github.com/arigilder
+[@arsaboo]: https://github.com/arsaboo
+[@awarecan]: https://github.com/awarecan
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@bendews]: https://github.com/bendews
+[@benvm]: https://github.com/benvm
+[@boralyl]: https://github.com/boralyl
+[@carstenschroeder]: https://github.com/carstenschroeder
+[@cdce8p]: https://github.com/cdce8p
+[@cisasteelersfan]: https://github.com/cisasteelersfan
+[@dagobert]: https://github.com/dagobert
+[@danielsjf]: https://github.com/danielsjf
+[@dgomes]: https://github.com/dgomes
+[@dmulcahey]: https://github.com/dmulcahey
+[@efficiosoft]: https://github.com/efficiosoft
+[@ehendrix23]: https://github.com/ehendrix23
+[@eliseomartelli]: https://github.com/eliseomartelli
+[@elupus]: https://github.com/elupus
+[@emontnemery]: https://github.com/emontnemery
+[@fabaff]: https://github.com/fabaff
+[@fredrike]: https://github.com/fredrike
+[@fronzbot]: https://github.com/fronzbot
+[@helto4real]: https://github.com/helto4real
+[@javicalle]: https://github.com/javicalle
+[@leppa]: https://github.com/leppa
+[@ludeeus]: https://github.com/ludeeus
+[@markusressel]: https://github.com/markusressel
+[@marvin-w]: https://github.com/marvin-w
+[@mezz64]: https://github.com/mezz64
+[@microraptor]: https://github.com/microraptor
+[@mw-white]: https://github.com/mw-white
+[@mxworm]: https://github.com/mxworm
+[@nd-net]: https://github.com/nd-net
+[@nhorvath]: https://github.com/nhorvath
+[@notgwj]: https://github.com/notgwj
+[@pc-coholic]: https://github.com/pc-coholic
+[@peternijssen]: https://github.com/peternijssen
+[@philhawthorne]: https://github.com/philhawthorne
+[@pszafer]: https://github.com/pszafer
+[@ptc]: https://github.com/ptc
+[@rbflurry]: https://github.com/rbflurry
+[@renemarc]: https://github.com/renemarc
+[@rohankapoorcom]: https://github.com/rohankapoorcom
+[@rwagoner]: https://github.com/rwagoner
+[@scarface-4711]: https://github.com/scarface-4711
+[@scop]: https://github.com/scop
+[@sjabby]: https://github.com/sjabby
+[@therve]: https://github.com/therve
+[@timmo001]: https://github.com/timmo001
+[@timvancann]: https://github.com/timvancann
+[@tomatpasser]: https://github.com/tomatpasser
+[@w1ll1am23]: https://github.com/w1ll1am23
+[@wonderslug]: https://github.com/wonderslug
+[@zumitnl]: https://github.com/zumitnl
+[abode docs]: /components/abode/
+[ads docs]: /components/ads/
+[air_quality docs]: /components/air_quality/
+[alarm_control_panel.abode docs]: /components/alarm_control_panel.abode/
+[alarmdecoder docs]: /components/alarmdecoder/
+[ambient_station docs]: /components/ambient_station/
+[amcrest docs]: /components/amcrest/
+[android_ip_webcam docs]: /components/android_ip_webcam/
+[apcupsd docs]: /components/apcupsd/
+[apple_tv docs]: /components/apple_tv/
+[august docs]: /components/august/
+[binary_sensor.bayesian docs]: /components/binary_sensor.bayesian/
+[binary_sensor.modbus docs]: /components/binary_sensor.modbus/
+[blink docs]: /components/blink/
+[cast docs]: /components/cast/
+[climate.coolmaster docs]: /components/climate.coolmaster/
+[climate.flexit docs]: /components/climate.flexit/
+[climate.modbus docs]: /components/climate.modbus/
+[climate.xs1 docs]: /components/climate.xs1/
+[cover.velux docs]: /components/cover.velux/
+[deconz docs]: /components/deconz/
+[default_config docs]: /components/default_config/
+[device_tracker docs]: /components/device_tracker/
+[ebusd docs]: /components/ebusd/
+[eight_sleep docs]: /components/eight_sleep/
+[emulated_hue docs]: /components/emulated_hue/
+[esphome docs]: /components/esphome/
+[fastdotcom docs]: /components/fastdotcom/
+[feedreader docs]: /components/feedreader/
+[freedns docs]: /components/freedns/
+[google_pubsub docs]: /components/google_pubsub/
+[googlehome docs]: /components/googlehome/
+[harmony docs]: /components/harmony/
+[homekit docs]: /components/homekit/
+[homematic docs]: /components/homematic/
+[homematicip_cloud docs]: /components/homematicip_cloud/
+[http docs]: /components/http/
+[hue docs]: /components/hue/
+[ipma docs]: /components/ipma/
+[isy994 docs]: /components/isy994/
+[knx docs]: /components/knx/
+[light.ads docs]: /components/light.ads/
+[light.flux_led docs]: /components/light.flux_led/
+[light.hyperion docs]: /components/light.hyperion/
+[light.knx docs]: /components/light.knx/
+[light.rflink docs]: /components/light.rflink/
+[light.tplink docs]: /components/light.tplink/
+[lock docs]: /components/lock/
+[media_extractor docs]: /components/media_extractor/
+[media_player.denonavr docs]: /components/media_player.denonavr/
+[media_player.firetv docs]: /components/media_player.firetv/
+[media_player.universal docs]: /components/media_player.universal/
+[media_player.yamaha docs]: /components/media_player.yamaha/
+[modbus docs]: /components/modbus/
+[mqtt docs]: /components/mqtt/
+[mythicbeastsdns docs]: /components/mythicbeastsdns/
+[netatmo docs]: /components/netatmo/
+[netgear_lte docs]: /components/netgear_lte/
+[norway_air docs]: /components/norway_air/
+[notify docs]: /components/notify/
+[onboarding docs]: /components/onboarding/
+[person docs]: /components/person/
+[point docs]: /components/point/
+[python_script docs]: /components/python_script/
+[rflink docs]: /components/rflink/
+[script docs]: /components/script/
+[sensor.ambient_station docs]: /components/sensor.ambient_station/
+[sensor.co2signal docs]: /components/sensor.co2signal/
+[sensor.cpuspeed docs]: /components/sensor.cpuspeed/
+[sensor.darksky docs]: /components/sensor.darksky/
+[sensor.dsmr docs]: /components/sensor.dsmr/
+[sensor.ebusd docs]: /components/sensor.ebusd/
+[sensor.fastdotcom docs]: /components/sensor.fastdotcom/
+[sensor.github docs]: /components/sensor.github/
+[sensor.gtfs docs]: /components/sensor.gtfs/
+[sensor.imap docs]: /components/sensor.imap/
+[sensor.integration docs]: /components/sensor.integration/
+[sensor.jewish_calendar docs]: /components/sensor.jewish_calendar/
+[sensor.miflora docs]: /components/sensor.miflora/
+[sensor.modbus docs]: /components/sensor.modbus/
+[sensor.rejseplanen docs]: /components/sensor.rejseplanen/
+[sensor.speedtest docs]: /components/sensor.speedtest/
+[sensor.speedtestdotnet docs]: /components/sensor.speedtestdotnet/
+[sensor.sql docs]: /components/sensor.sql/
+[sensor.ted5000 docs]: /components/sensor.ted5000/
+[sensor.thermoworks_smoke docs]: /components/sensor.thermoworks_smoke/
+[sensor.xs1 docs]: /components/sensor.xs1/
+[smartthings docs]: /components/smartthings/
+[smhi docs]: /components/smhi/
+[speedtestdotnet docs]: /components/speedtestdotnet/
+[spider docs]: /components/spider/
+[switch.broadlink docs]: /components/switch.broadlink/
+[switch.modbus docs]: /components/switch.modbus/
+[switch.switchmate docs]: /components/switch.switchmate/
+[switch.tplink docs]: /components/switch.tplink/
+[switch.xs1 docs]: /components/switch.xs1/
+[system_health docs]: /components/system_health/
+[system_log docs]: /components/system_log/
+[thethingsnetwork docs]: /components/thethingsnetwork/
+[timer docs]: /components/timer/
+[tplink_lte docs]: /components/tplink_lte/
+[transmission docs]: /components/transmission/
+[unifi docs]: /components/unifi/
+[updater docs]: /components/updater/
+[utility_meter docs]: /components/utility_meter/
+[vacuum.xiaomi_miio docs]: /components/vacuum.xiaomi_miio/
+[velux docs]: /components/velux/
+[websocket_api docs]: /components/websocket_api/
+[wink docs]: /components/wink/
+[xiaomi_aqara docs]: /components/xiaomi_aqara/
+[xs1 docs]: /components/xs1/
+[zha docs]: /components/zha/
+[zwave docs]: /components/zwave/
diff --git a/source/images/blog/2019-02-release-88/components.png b/source/images/blog/2019-02-release-88/components.png
new file mode 100644
index 00000000000..580d8d19a9d
Binary files /dev/null and b/source/images/blog/2019-02-release-88/components.png differ
diff --git a/source/images/blog/2019-02-release-88/event_subscription.png b/source/images/blog/2019-02-release-88/event_subscription.png
new file mode 100644
index 00000000000..6344962f7d1
Binary files /dev/null and b/source/images/blog/2019-02-release-88/event_subscription.png differ