diff --git a/_config.yml b/_config.yml
index 9c226bb45af..10e1ef759d7 100644
--- a/_config.yml
+++ b/_config.yml
@@ -142,12 +142,12 @@ social:
# Home Assistant release details
current_major_version: 0
-current_minor_version: 48
-current_patch_version: 1
-date_released: 2017-07-05
+current_minor_version: 49
+current_patch_version: 0
+date_released: 2017-07-16
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
-patch_version_notes: "#release-0481---july-5"
+patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):
diff --git a/source/_components/lametric.markdown b/source/_components/lametric.markdown
new file mode 100644
index 00000000000..36d6b6d4868
--- /dev/null
+++ b/source/_components/lametric.markdown
@@ -0,0 +1,19 @@
+---
+layout: page
+title: "LaMetric"
+description: "Instructions on how to integrate LaMetric with Home Assistant."
+date: 2017-04-02 13:28
+sidebar: true
+comments: false
+sharing: true
+footer: true
+ha_category: Hub
+ha_release: 0.49
+---
+
+```yaml
+# configuration.yaml example
+lametric:
+ client_id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
+ client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+```
diff --git a/source/_components/notify.lametric.markdown b/source/_components/notify.lametric.markdown
new file mode 100644
index 00000000000..70ad2a4cdc0
--- /dev/null
+++ b/source/_components/notify.lametric.markdown
@@ -0,0 +1,20 @@
+---
+layout: page
+title: "LaMetric Notify"
+description: "Instructions on how to setup the LaMetric notify platform with Home Assistant."
+date: 2017-04-02 13:28
+sidebar: true
+comments: false
+sharing: true
+footer: true
+ha_category: Notify
+ha_release: 0.49
+---
+
+```yaml
+notify:
+ name: lametric1
+ platform: lametric
+ display_time: 20
+ icon: i555
+```
diff --git a/source/_posts/2017-07-16-release-49.markdown b/source/_posts/2017-07-16-release-49.markdown
new file mode 100644
index 00000000000..821b818fa6b
--- /dev/null
+++ b/source/_posts/2017-07-16-release-49.markdown
@@ -0,0 +1,462 @@
+---
+layout: post
+title: "0.49: Themes 🎨, kiosk mode and Prometheus.io"
+description: "Style the frontend the way you want it and present it in Kiosk mode without tabs."
+date: 2017-07-15 00:02:05 +0000
+date_formatted: "July 15, 2017"
+author: Paulus Schoutsen
+author_twitter: balloob
+comments: true
+categories: Release-Notes
+og_image: /images/blog/2017-07-0.49/components.png
+---
+
+
+
+# {% linkable_title WE HAVE THEMES 🎨👩🎨 %}
+
+Our already amazing frontend just got even more amazing thanks to [@andrey-git]. With the new theme support you can be in control of the primary color, accent color and a whole bunch more.
+
+You can specify themes using new configuration options under frontend.
+
+```yaml
+frontend:
+ themes:
+ green:
+ primary-color: #6ca518;
+```
+
+Once a theme is defined, use the new frontend service `frontend.set_theme` to activate it. More information in [the docs][frontend docs].
+
+
+
+Screenshot of a green dashboard
+
+
+Not all parts of the user interface are themable yet. Expect improvements in future releases.
+
+## {% linkable_title Kiosk mode %}
+
+Another great new improvement for the frontend is the addition of a kiosk mode. When the frontend is viewed in kiosk mode, the tab bar will be hidden.
+
+To activate kiosk mode, navigate to `https://hass.example.com:8123/kiosk/group.living_room_view`. Note that for `default_view` the url is just `https://hass.example.com:8123/kiosk`
+
+This feature has also been brought to you by [@Andrey-git]! Big shout out to him for his continuous efforts to bring Home Assistant to the next level.
+
+## {% linkable_title New Platforms %}
+
+- Add london_underground ([@robmarkcole] - [#8272]) ([sensor.london_underground docs]) (new-platform)
+- Add citybikes platform ([@aronsky] - [#8202]) ([sensor.citybikes docs]) (new-platform)
+- Add One-Time Password sensor (OTP) ([@postlund] - [#8332]) ([sensor.otp docs]) (new-platform)
+- Add component for xiaomi robot vacuum (switch.xiaomi_vacuum) ([@rytilahti] - [#7913]) ([switch.xiaomi_vacuum docs]) (new-platform)
+- LaMetric platform and notify module ([@open-homeautomation] - [#8230]) ([lametric docs]) ([notify.lametric docs]) (new-platform)
+- New component to connect to VELUX KLF 200 Interface ([@Julius2342] - [#8203]) ([velux docs]) ([scene.velux docs]) (new-platform)
+- New service `send_magic_packet` with new component `wake_on_lan` ([@azogue] - [#8397]) ([wake_on_lan docs]) (new-platform)
+- Add support for Prometheus ([@rcloran] - [#8211]) ([prometheus docs]) (new-platform)
+- Refactored Amcrest to use central hub component ([@tchellomello] - [#8184]) ([amcrest docs]) ([camera.amcrest docs]) ([sensor.amcrest docs]) (breaking change) (new-platform)
+- Added media_extractor service ([@minchik] - [#8369]) ([media_extractor docs]) (new-platform)
+- Vizio SmartCast support ([@vkorn] - [#8260]) ([media_player.vizio docs]) (new-platform)
+
+## {% linkable_title If you need help... %}
+...don't hesitate to use our very active [forums][forum] or join us for a little [chat][discord]. 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][issue]. Make sure to fill in all fields of the issue template.
+
+
+## {% linkable_title Breaking Changes %}
+
+- UPC Connect component no longer needs a password passed into the configuration. ([@Flavien] - [#8335]) ([device_tracker.upc_connect docs]) (breaking change)
+- The Apple TV platform has been upgraded to a component and a remote platform has been added. This requires your Apple TV configuration to be moved to the new `apple_tv` component. ([@postlund] - [#8122]) ([media_player.apple_tv docs]) (breaking change)
+
+```yaml
+apple_tv:
+ - name: Apple TV
+ host: 10.0.10.20
+ login_id: 00000000-1234-5678-9012-345678901234
+ start_off: true
+ credentials: 8660DEA5154FB46B:20B94847926112B3F46F85DB3A7311830463BF65570C22C3786E27F38C3326CF
+```
+
+- Refactored Amcrest to use central hub component to prepare for future integrations. This requires your Amcrest configuration to be moved to the new `amcrest` component. ([@tchellomello] - [#8184]) ([amcrest docs]) ([camera.amcrest docs]) ([sensor.amcrest docs]) (breaking change) (new-platform)
+
+```yaml
+amcrest:
+ - host: !secret amcrest_living
+ name: "Living Room"
+ username: !secret amcrest_living_username
+ password: !secret amcrest_living_password
+ resolution: low
+ stream_source: snapshot
+ sensors:
+ - motion_detector
+ - ptz_preset
+```
+
+## {% linkable_title All changes %}
+
+- Version bump to 0.49.0.dev0 ([@fabaff] - [#8266])
+- Upgrade pyowm to 2.7.1 ([@fabaff] - [#8274]) ([sensor.openweathermap docs]) ([weather.openweathermap docs])
+- Don't call update() in constructor ([@fabaff] - [#8276]) ([sensor.openweathermap docs])
+- Update apcaccess to 0.0.13. Add "Percent Load Capacity" to INFERRED_UNITS. ([@michaelarnauts] - [#8277]) ([apcupsd docs]) ([sensor.apcupsd docs])
+- Update knxip to 0.4 (better handling of reconnects) ([@open-homeautomation] - [#8289]) ([knx docs])
+- Add london_underground ([@robmarkcole] - [#8272]) ([sensor.london_underground docs]) (new-platform)
+- pytado moved to pypi ([@wmalgadey] - [#8298]) ([tado docs]) ([climate.tado docs])
+- Fix doc link in header ([@robmarkcole] - [#8305]) ([sensor.london_underground docs])
+- Upgrade discord.py to 0.16.8 ([@fabaff] - [#8304]) ([notify.discord docs])
+- zha: Strip whitespace from device names ([@rcloran] - [#8306]) ([zha docs])
+- Upgrade chardet to 3.0.4 ([@fabaff] - [#8313])
+- Upgrade aiohttp to 2.2.2 ([@fabaff] - [#8314])
+- Fix pylint issue ([@fabaff] - [#8325]) ([snips docs])
+- vsure 1.3.7 ([@persandstrom] - [#8321]) ([verisure docs])
+- Update pyEmby to fix media images ([@mezz64] - [#8331]) ([media_player.emby docs])
+- Partially revert #7931 ([@fabaff] - [#8326]) ([sensor.yweather docs])
+- Only allow 'tls_insecure_set()' if cert is present (fixes #8329) ([@fabaff] - [#8337]) ([mqtt docs])
+- Fix issue #8285 ([@Sabesto] - [#8340]) ([modbus docs]) ([binary_sensor.modbus docs]) ([climate.flexit docs]) ([sensor.modbus docs]) ([switch.modbus docs])
+- Bump dlib face_recognition to 0.2.0 ([@pvizeli] - [#8345]) ([image_processing.dlib_face_detect docs]) ([image_processing.dlib_face_identify docs])
+- Update Avion and Decora switches to match upstream changes ([@mjg59] - [#7903]) ([light.avion docs]) ([light.decora docs])
+- Fix the "302" error in the UPC Connect component and remove the need to specify the router password ([@Flavien] - [#8335]) ([device_tracker.upc_connect docs]) (breaking change)
+- Add new feature to Apple TV platform ([@postlund] - [#8122]) ([media_player.apple_tv docs]) (breaking change)
+- Add citybikes platform ([@aronsky] - [#8202]) ([sensor.citybikes docs]) (new-platform)
+- Fix some issues for PyLint 1.7.2 ([@balloob] - [#8356])
+- Fix pylint 1.7.2 no-else-return issues ([@balloob] - [#8361])
+- Upgrade aiohttp to 2.2.3 ([@fabaff] - [#8363])
+- Remove some more usage of run_in_executor ([@balloob] - [#8352])
+- Correct spelling of aliases, deprecate old config options. ([@aequitas] - [#8348]) ([rflink docs]) ([light.rflink docs]) ([sensor.rflink docs]) ([switch.rflink docs])
+- Allow Pilight Binary Sensor to control reset_delay_sec through configuration ([@clarkewd] - [#8358]) ([binary_sensor.pilight docs])
+- Mqtt client_id fix for #8315 ([@heinemml] - [#8366]) ([mqtt docs])
+- Allow all panel urls ([@balloob] - [#8368])
+- Update pyHik to catch XML errors ([@mezz64] - [#8384]) ([binary_sensor.hikvision docs])
+- update version ([@wardcraigj] - [#8380]) ([alarm_control_panel.totalconnect docs])
+- Add One-Time Password sensor (OTP) ([@postlund] - [#8332]) ([sensor.otp docs]) (new-platform)
+- buienradar==0.7, fix winddirection/azimuth, logging ([@mjj4791] - [#8281]) ([sensor.buienradar docs]) ([weather.buienradar docs])
+- Add component for xiaomi robot vacuum (switch.xiaomi_vacuum) ([@rytilahti] - [#7913]) ([switch.xiaomi_vacuum docs]) (new-platform)
+- Try catch around database updates in recorder. Resolves 6919 ([@mitchese] - [#8349]) ([recorder docs])
+- Fix Amazon Polly with non english voices. #8377 ([@CharlesBlonde] - [#8378]) ([tts.amazon_polly docs])
+- Fix TTS options. #8375 ([@CharlesBlonde] - [#8376]) ([tts docs])
+- Add address-specific KNX listeners that fire events on the HASS bus ([@open-homeautomation] - [#8374]) ([knx docs])
+- GTFS: check start/end date on services ([@Kernald] - [#8373]) ([sensor.gtfs docs])
+- Implement KNX dimming functionality ([@open-homeautomation] - [#8371]) ([light.knx docs])
+- Add Soundtouch support for playing an HTTP url ([@CharlesBlonde] - [#8370]) ([media_player.soundtouch docs])
+- Modbus fixes to work with pymodbus 1.3.1 ([@Sabesto] - [#8365]) ([modbus docs]) ([binary_sensor.modbus docs]) ([sensor.modbus docs]) ([switch.modbus docs])
+- Cleanup the asuswrt component ([@mattsch] - [#8359]) ([device_tracker.asuswrt docs])
+- cover_template:i open/close/stop actions no longer required. Improve tests ([@PhracturedBlue] - [#8344]) ([cover.template docs])
+- Prevent errors on Octoprint sensors and binary_sensors when Octoprint and/or Printer are off ([@w1ll1am23] - [#8343]) ([octoprint docs]) ([binary_sensor.octoprint docs]) ([sensor.octoprint docs])
+- Presence detection for tp link eap225 ([@alexrockt] - [#8322]) ([device_tracker.tplink docs])
+- zha light: Refresh at startup ([@rcloran] - [#8310]) ([light.zha docs])
+- zha: Try multiple reads to get manufacturer/model ([@rcloran] - [#8308]) ([zha docs])
+- Upnp mapping notification ([@dgomes] - [#8303]) ([upnp docs])
+- Use user-set device names for Linksys Smart Wi-Fi routers (3) ([@Klikini] - [#8300]) ([device_tracker.linksys_smart docs])
+- Added support for upload of remote or local files to slack ([@simaosimao] - [#8278]) ([notify.slack docs])
+- Update avion.py ([@pvizeli] - [#8364]) ([light.avion docs])
+- LaMetric platform and notify module ([@open-homeautomation] - [#8230]) ([lametric docs]) ([notify.lametric docs]) (new-platform)
+- Sets spotify media_type to music ([@Tommatheussen] - [#8387]) ([media_player.spotify docs])
+- Update waqi sensor ([@andrey-git] - [#8385]) ([sensor.waqi docs])
+- Update aiolifx ([@amelchio] - [#8396]) ([light.lifx docs])
+- Code owners ([@balloob] - [#8393])
+- Add new Dyson sensors ([@CharlesBlonde] - [#8199]) ([dyson docs]) ([fan.dyson docs]) ([sensor.dyson docs])
+- Fix CODEOWNERS z-wave team name ([@armills] - [#8400])
+- Upgrade Sphinx to 1.6.3 ([@fabaff] - [#8405])
+- Use upstream RachioPy, fix manual run switches ([@Klikini] - [#8286]) ([switch.rachio docs])
+- Marrantz SR5006 & SR5006 treated as AVR-X device | Fixed Mapping of Media Player and AUX input functions ([@scarface-4711] - [#8409]) ([media_player.denonavr docs])
+- New component to connect to VELUX KLF 200 Interface ([@Julius2342] - [#8203]) ([velux docs]) ([scene.velux docs]) (new-platform)
+- Properly handle the case when a group includes itself. ([@andrey-git] - [#8398]) ([group docs])
+- Add set_operation_mode support to generic_thermostat ([@mtreinish] - [#8392]) ([climate.generic_thermostat docs])
+- Make gzips reproducible by excluding timestamp ([@armills] - [#8420])
+- Do not overwrite a custom hyperion light name with the hostname of the server. ([@doctorjames] - [#8391]) ([light.hyperion docs])
+- Fixed link to documentation ([@Julius2342] - [#8424]) ([velux docs]) ([scene.velux docs])
+- Fix KeyError (fixes #3721, fixes #7241) ([@fabaff] - [#8428]) ([sensor.uber docs])
+- Use HA lat/long for the start (fixes #3971) ([@fabaff] - [#8429]) ([sensor.uber docs])
+- bump python-mirobo requirement to support newer firmwares and more ([@rytilahti] - [#8431]) ([switch.xiaomi_vacuum docs])
+- New service `send_magic_packet` with new component `wake_on_lan` ([@azogue] - [#8397]) ([wake_on_lan docs]) (new-platform)
+- Integrate utility functions into restricted Python environment ([@open-homeautomation] - [#8427]) ([python_script docs])
+- Allow Twitter notifications to include media ([@MikeChristianson] - [#8282]) ([notify docs]) ([notify.twitter docs])
+- Fix typo (sending USERNAME instead of PASSWORD) introduced in #7963 ([@thecynic] - [#8433]) ([lutron docs])
+- zha: Handle both input and output clusters ([@rcloran] - [#8410]) ([zha docs]) ([binary_sensor.zha docs]) ([light.zha docs]) ([sensor.zha docs])
+- Add support for Prometheus ([@rcloran] - [#8211]) ([prometheus docs]) (new-platform)
+- Refactored Amcrest to use central hub component ([@tchellomello] - [#8184]) ([amcrest docs]) ([camera.amcrest docs]) ([sensor.amcrest docs]) (breaking change) (new-platform)
+- Fix radiothermostat -1 value issue ([@aneisch] - [#8395]) ([climate.radiotherm docs])
+- Added media_extractor service ([@minchik] - [#8369]) ([media_extractor docs]) (new-platform)
+- Updated pyvera ([@alanfischer] - [#8437]) ([vera docs])
+- Upgrade phue to 1.0 (fixes #7749) ([@fabaff] - [#8444]) ([light.hue docs])
+- Add effects ([@fabaff] - [#8442]) ([light.mystrom docs])
+- Exclude 'TAXI' product (fixes #8401) ([@fabaff] - [#8438]) ([sensor.uber docs])
+- Switch pyW215 to pypi ([@andrey-git] - [#8445]) ([switch.dlink docs])
+- Vizio SmartCast support ([@vkorn] - [#8260]) ([media_player.vizio docs]) (new-platform)
+- DHT support for humidity and temperature offset ([@gitmopp] - [#8238]) ([sensor.dht docs])
+- Add support for rain and moisture sensors ([@sdague] - [#8440]) ([sensor.arwn docs])
+- Hass.io: Disable timeout when updating OS/supervisor/hass ([@balloob] - [#8447]) ([hassio docs])
+- Fix Arlo Q not working with 0.48.1 ([@viswa-swami] - [#8446]) ([camera.arlo docs])
+- Support for Plex servers with enforced SSL ([@nmaggioni] - [#8341]) ([media_player.plex docs])
+- Upgrade youtube_dl to 2017.7.9 ([@fabaff] - [#8450]) ([media_extractor docs])
+- Implement a bridge between HASS event bus and KNX bus to send events ([@open-homeautomation] - [#8449]) ([knx docs])
+- LIFX: improve light availability ([@amelchio] - [#8451]) ([light.lifx docs])
+- LIFX: make broadcast address configurable ([@amelchio] - [#8453]) ([light.lifx docs])
+- Backend support for themes ([@andrey-git] - [#8419])
+- upgrade broadlink ([@danielhiversen] - [#8462]) ([sensor.broadlink docs]) ([switch.broadlink docs])
+- upgrade rfxtrx lib ([@danielhiversen] - [#8463]) ([rfxtrx docs])
+- Plex: Add exception handler when connection fails ([@abmantis] - [#8179]) ([media_player.plex docs])
+- HomeMatic dependency upgrade + IP Wall Thermostat support ([@danielperna84] - [#8465]) ([homematic docs])
+- Add kiosk-mode panel ([@andrey-git] - [#8457])
+
+[#7903]: https://github.com/home-assistant/home-assistant/pull/7903
+[#7913]: https://github.com/home-assistant/home-assistant/pull/7913
+[#8122]: https://github.com/home-assistant/home-assistant/pull/8122
+[#8179]: https://github.com/home-assistant/home-assistant/pull/8179
+[#8184]: https://github.com/home-assistant/home-assistant/pull/8184
+[#8199]: https://github.com/home-assistant/home-assistant/pull/8199
+[#8202]: https://github.com/home-assistant/home-assistant/pull/8202
+[#8203]: https://github.com/home-assistant/home-assistant/pull/8203
+[#8211]: https://github.com/home-assistant/home-assistant/pull/8211
+[#8230]: https://github.com/home-assistant/home-assistant/pull/8230
+[#8238]: https://github.com/home-assistant/home-assistant/pull/8238
+[#8260]: https://github.com/home-assistant/home-assistant/pull/8260
+[#8266]: https://github.com/home-assistant/home-assistant/pull/8266
+[#8272]: https://github.com/home-assistant/home-assistant/pull/8272
+[#8274]: https://github.com/home-assistant/home-assistant/pull/8274
+[#8276]: https://github.com/home-assistant/home-assistant/pull/8276
+[#8277]: https://github.com/home-assistant/home-assistant/pull/8277
+[#8278]: https://github.com/home-assistant/home-assistant/pull/8278
+[#8281]: https://github.com/home-assistant/home-assistant/pull/8281
+[#8282]: https://github.com/home-assistant/home-assistant/pull/8282
+[#8286]: https://github.com/home-assistant/home-assistant/pull/8286
+[#8289]: https://github.com/home-assistant/home-assistant/pull/8289
+[#8298]: https://github.com/home-assistant/home-assistant/pull/8298
+[#8300]: https://github.com/home-assistant/home-assistant/pull/8300
+[#8303]: https://github.com/home-assistant/home-assistant/pull/8303
+[#8304]: https://github.com/home-assistant/home-assistant/pull/8304
+[#8305]: https://github.com/home-assistant/home-assistant/pull/8305
+[#8306]: https://github.com/home-assistant/home-assistant/pull/8306
+[#8308]: https://github.com/home-assistant/home-assistant/pull/8308
+[#8310]: https://github.com/home-assistant/home-assistant/pull/8310
+[#8313]: https://github.com/home-assistant/home-assistant/pull/8313
+[#8314]: https://github.com/home-assistant/home-assistant/pull/8314
+[#8321]: https://github.com/home-assistant/home-assistant/pull/8321
+[#8322]: https://github.com/home-assistant/home-assistant/pull/8322
+[#8325]: https://github.com/home-assistant/home-assistant/pull/8325
+[#8326]: https://github.com/home-assistant/home-assistant/pull/8326
+[#8331]: https://github.com/home-assistant/home-assistant/pull/8331
+[#8332]: https://github.com/home-assistant/home-assistant/pull/8332
+[#8335]: https://github.com/home-assistant/home-assistant/pull/8335
+[#8337]: https://github.com/home-assistant/home-assistant/pull/8337
+[#8340]: https://github.com/home-assistant/home-assistant/pull/8340
+[#8341]: https://github.com/home-assistant/home-assistant/pull/8341
+[#8343]: https://github.com/home-assistant/home-assistant/pull/8343
+[#8344]: https://github.com/home-assistant/home-assistant/pull/8344
+[#8345]: https://github.com/home-assistant/home-assistant/pull/8345
+[#8348]: https://github.com/home-assistant/home-assistant/pull/8348
+[#8349]: https://github.com/home-assistant/home-assistant/pull/8349
+[#8352]: https://github.com/home-assistant/home-assistant/pull/8352
+[#8356]: https://github.com/home-assistant/home-assistant/pull/8356
+[#8358]: https://github.com/home-assistant/home-assistant/pull/8358
+[#8359]: https://github.com/home-assistant/home-assistant/pull/8359
+[#8361]: https://github.com/home-assistant/home-assistant/pull/8361
+[#8363]: https://github.com/home-assistant/home-assistant/pull/8363
+[#8364]: https://github.com/home-assistant/home-assistant/pull/8364
+[#8365]: https://github.com/home-assistant/home-assistant/pull/8365
+[#8366]: https://github.com/home-assistant/home-assistant/pull/8366
+[#8368]: https://github.com/home-assistant/home-assistant/pull/8368
+[#8369]: https://github.com/home-assistant/home-assistant/pull/8369
+[#8370]: https://github.com/home-assistant/home-assistant/pull/8370
+[#8371]: https://github.com/home-assistant/home-assistant/pull/8371
+[#8373]: https://github.com/home-assistant/home-assistant/pull/8373
+[#8374]: https://github.com/home-assistant/home-assistant/pull/8374
+[#8376]: https://github.com/home-assistant/home-assistant/pull/8376
+[#8378]: https://github.com/home-assistant/home-assistant/pull/8378
+[#8380]: https://github.com/home-assistant/home-assistant/pull/8380
+[#8384]: https://github.com/home-assistant/home-assistant/pull/8384
+[#8385]: https://github.com/home-assistant/home-assistant/pull/8385
+[#8387]: https://github.com/home-assistant/home-assistant/pull/8387
+[#8391]: https://github.com/home-assistant/home-assistant/pull/8391
+[#8392]: https://github.com/home-assistant/home-assistant/pull/8392
+[#8393]: https://github.com/home-assistant/home-assistant/pull/8393
+[#8395]: https://github.com/home-assistant/home-assistant/pull/8395
+[#8396]: https://github.com/home-assistant/home-assistant/pull/8396
+[#8397]: https://github.com/home-assistant/home-assistant/pull/8397
+[#8398]: https://github.com/home-assistant/home-assistant/pull/8398
+[#8400]: https://github.com/home-assistant/home-assistant/pull/8400
+[#8405]: https://github.com/home-assistant/home-assistant/pull/8405
+[#8409]: https://github.com/home-assistant/home-assistant/pull/8409
+[#8410]: https://github.com/home-assistant/home-assistant/pull/8410
+[#8419]: https://github.com/home-assistant/home-assistant/pull/8419
+[#8420]: https://github.com/home-assistant/home-assistant/pull/8420
+[#8424]: https://github.com/home-assistant/home-assistant/pull/8424
+[#8427]: https://github.com/home-assistant/home-assistant/pull/8427
+[#8428]: https://github.com/home-assistant/home-assistant/pull/8428
+[#8429]: https://github.com/home-assistant/home-assistant/pull/8429
+[#8431]: https://github.com/home-assistant/home-assistant/pull/8431
+[#8433]: https://github.com/home-assistant/home-assistant/pull/8433
+[#8437]: https://github.com/home-assistant/home-assistant/pull/8437
+[#8438]: https://github.com/home-assistant/home-assistant/pull/8438
+[#8440]: https://github.com/home-assistant/home-assistant/pull/8440
+[#8442]: https://github.com/home-assistant/home-assistant/pull/8442
+[#8444]: https://github.com/home-assistant/home-assistant/pull/8444
+[#8445]: https://github.com/home-assistant/home-assistant/pull/8445
+[#8446]: https://github.com/home-assistant/home-assistant/pull/8446
+[#8447]: https://github.com/home-assistant/home-assistant/pull/8447
+[#8449]: https://github.com/home-assistant/home-assistant/pull/8449
+[#8450]: https://github.com/home-assistant/home-assistant/pull/8450
+[#8451]: https://github.com/home-assistant/home-assistant/pull/8451
+[#8453]: https://github.com/home-assistant/home-assistant/pull/8453
+[#8457]: https://github.com/home-assistant/home-assistant/pull/8457
+[#8462]: https://github.com/home-assistant/home-assistant/pull/8462
+[#8463]: https://github.com/home-assistant/home-assistant/pull/8463
+[#8465]: https://github.com/home-assistant/home-assistant/pull/8465
+[@CharlesBlonde]: https://github.com/CharlesBlonde
+[@Flavien]: https://github.com/Flavien
+[@Julius2342]: https://github.com/Julius2342
+[@Kernald]: https://github.com/Kernald
+[@Klikini]: https://github.com/Klikini
+[@MikeChristianson]: https://github.com/MikeChristianson
+[@PhracturedBlue]: https://github.com/PhracturedBlue
+[@Sabesto]: https://github.com/Sabesto
+[@Tommatheussen]: https://github.com/Tommatheussen
+[@abmantis]: https://github.com/abmantis
+[@aequitas]: https://github.com/aequitas
+[@alanfischer]: https://github.com/alanfischer
+[@alexrockt]: https://github.com/alexrockt
+[@amelchio]: https://github.com/amelchio
+[@andrey-git]: https://github.com/andrey-git
+[@aneisch]: https://github.com/aneisch
+[@armills]: https://github.com/armills
+[@aronsky]: https://github.com/aronsky
+[@azogue]: https://github.com/azogue
+[@balloob]: https://github.com/balloob
+[@clarkewd]: https://github.com/clarkewd
+[@danielhiversen]: https://github.com/danielhiversen
+[@danielperna84]: https://github.com/danielperna84
+[@dgomes]: https://github.com/dgomes
+[@doctorjames]: https://github.com/doctorjames
+[@fabaff]: https://github.com/fabaff
+[@gitmopp]: https://github.com/gitmopp
+[@heinemml]: https://github.com/heinemml
+[@mattsch]: https://github.com/mattsch
+[@mezz64]: https://github.com/mezz64
+[@michaelarnauts]: https://github.com/michaelarnauts
+[@minchik]: https://github.com/minchik
+[@mitchese]: https://github.com/mitchese
+[@mjg59]: https://github.com/mjg59
+[@mjj4791]: https://github.com/mjj4791
+[@mtreinish]: https://github.com/mtreinish
+[@nmaggioni]: https://github.com/nmaggioni
+[@open-homeautomation]: https://github.com/open-homeautomation
+[@persandstrom]: https://github.com/persandstrom
+[@postlund]: https://github.com/postlund
+[@pvizeli]: https://github.com/pvizeli
+[@rcloran]: https://github.com/rcloran
+[@robmarkcole]: https://github.com/robmarkcole
+[@rytilahti]: https://github.com/rytilahti
+[@scarface-4711]: https://github.com/scarface-4711
+[@sdague]: https://github.com/sdague
+[@simaosimao]: https://github.com/simaosimao
+[@tchellomello]: https://github.com/tchellomello
+[@thecynic]: https://github.com/thecynic
+[@viswa-swami]: https://github.com/viswa-swami
+[@vkorn]: https://github.com/vkorn
+[@w1ll1am23]: https://github.com/w1ll1am23
+[@wardcraigj]: https://github.com/wardcraigj
+[@wmalgadey]: https://github.com/wmalgadey
+[alarm_control_panel.totalconnect docs]: https://home-assistant.io/components/alarm_control_panel.totalconnect/
+[amcrest docs]: https://home-assistant.io/components/amcrest/
+[apcupsd docs]: https://home-assistant.io/components/apcupsd/
+[binary_sensor.hikvision docs]: https://home-assistant.io/components/binary_sensor.hikvision/
+[binary_sensor.modbus docs]: https://home-assistant.io/components/binary_sensor.modbus/
+[binary_sensor.octoprint docs]: https://home-assistant.io/components/binary_sensor.octoprint/
+[binary_sensor.pilight docs]: https://home-assistant.io/components/binary_sensor.pilight/
+[binary_sensor.zha docs]: https://home-assistant.io/components/binary_sensor.zha/
+[camera.amcrest docs]: https://home-assistant.io/components/camera.amcrest/
+[camera.arlo docs]: https://home-assistant.io/components/camera.arlo/
+[climate.flexit docs]: https://home-assistant.io/components/climate.flexit/
+[climate.generic_thermostat docs]: https://home-assistant.io/components/climate.generic_thermostat/
+[climate.radiotherm docs]: https://home-assistant.io/components/climate.radiotherm/
+[climate.tado docs]: https://home-assistant.io/components/climate.tado/
+[cover.template docs]: https://home-assistant.io/components/cover.template/
+[device_tracker.asuswrt docs]: https://home-assistant.io/components/device_tracker.asuswrt/
+[device_tracker.linksys_smart docs]: https://home-assistant.io/components/device_tracker.linksys_smart/
+[device_tracker.tplink docs]: https://home-assistant.io/components/device_tracker.tplink/
+[device_tracker.upc_connect docs]: https://home-assistant.io/components/device_tracker.upc_connect/
+[dyson docs]: https://home-assistant.io/components/dyson/
+[fan.dyson docs]: https://home-assistant.io/components/fan.dyson/
+[group docs]: https://home-assistant.io/components/group/
+[hassio docs]: https://home-assistant.io/hassio/
+[homematic docs]: https://home-assistant.io/components/homematic/
+[image_processing.dlib_face_detect docs]: https://home-assistant.io/components/image_processing.dlib_face_detect/
+[image_processing.dlib_face_identify docs]: https://home-assistant.io/components/image_processing.dlib_face_identify/
+[knx docs]: https://home-assistant.io/components/knx/
+[lametric docs]: https://home-assistant.io/components/lametric/
+[light.avion docs]: https://home-assistant.io/components/light.avion/
+[light.decora docs]: https://home-assistant.io/components/light.decora/
+[light.hue docs]: https://home-assistant.io/components/light.hue/
+[light.hyperion docs]: https://home-assistant.io/components/light.hyperion/
+[light.knx docs]: https://home-assistant.io/components/light.knx/
+[light.lifx docs]: https://home-assistant.io/components/light.lifx/
+[light.mystrom docs]: https://home-assistant.io/components/light.mystrom/
+[light.rflink docs]: https://home-assistant.io/components/light.rflink/
+[light.zha docs]: https://home-assistant.io/components/light.zha/
+[lutron docs]: https://home-assistant.io/components/lutron/
+[media_extractor docs]: https://home-assistant.io/components/media_extractor/
+[media_extractor docs]: https://home-assistant.io/components/media_extractor/
+[media_player.apple_tv docs]: https://home-assistant.io/components/media_player.apple_tv/
+[media_player.denonavr docs]: https://home-assistant.io/components/media_player.denonavr/
+[media_player.emby docs]: https://home-assistant.io/components/media_player.emby/
+[media_player.plex docs]: https://home-assistant.io/components/media_player.plex/
+[media_player.soundtouch docs]: https://home-assistant.io/components/media_player.soundtouch/
+[media_player.spotify docs]: https://home-assistant.io/components/media_player.spotify/
+[media_player.vizio docs]: https://home-assistant.io/components/media_player.vizio/
+[modbus docs]: https://home-assistant.io/components/modbus/
+[mqtt docs]: https://home-assistant.io/components/mqtt/
+[notify docs]: https://home-assistant.io/components/notify/
+[notify.discord docs]: https://home-assistant.io/components/notify.discord/
+[notify.lametric docs]: https://home-assistant.io/components/notify.lametric/
+[notify.slack docs]: https://home-assistant.io/components/notify.slack/
+[notify.twitter docs]: https://home-assistant.io/components/notify.twitter/
+[octoprint docs]: https://home-assistant.io/components/octoprint/
+[prometheus docs]: https://home-assistant.io/components/prometheus/
+[python_script docs]: https://home-assistant.io/components/python_script/
+[recorder docs]: https://home-assistant.io/components/recorder/
+[rflink docs]: https://home-assistant.io/components/rflink/
+[rfxtrx docs]: https://home-assistant.io/components/rfxtrx/
+[scene.velux docs]: https://home-assistant.io/components/scene.velux/
+[sensor.amcrest docs]: https://home-assistant.io/components/sensor.amcrest/
+[sensor.apcupsd docs]: https://home-assistant.io/components/sensor.apcupsd/
+[sensor.arwn docs]: https://home-assistant.io/components/sensor.arwn/
+[sensor.broadlink docs]: https://home-assistant.io/components/sensor.broadlink/
+[sensor.buienradar docs]: https://home-assistant.io/components/sensor.buienradar/
+[sensor.citybikes docs]: https://home-assistant.io/components/sensor.citybikes/
+[sensor.dht docs]: https://home-assistant.io/components/sensor.dht/
+[sensor.dyson docs]: https://home-assistant.io/components/sensor.dyson/
+[sensor.gtfs docs]: https://home-assistant.io/components/sensor.gtfs/
+[sensor.london_underground docs]: https://home-assistant.io/components/sensor.london_underground/
+[sensor.modbus docs]: https://home-assistant.io/components/sensor.modbus/
+[sensor.octoprint docs]: https://home-assistant.io/components/sensor.octoprint/
+[sensor.openweathermap docs]: https://home-assistant.io/components/sensor.openweathermap/
+[sensor.otp docs]: https://home-assistant.io/components/sensor.otp/
+[sensor.rflink docs]: https://home-assistant.io/components/sensor.rflink/
+[sensor.london_underground docs]: https://home-assistant.io/components/sensor.london_underground/
+[sensor.uber docs]: https://home-assistant.io/components/sensor.uber/
+[sensor.waqi docs]: https://home-assistant.io/components/sensor.waqi/
+[sensor.yweather docs]: https://home-assistant.io/components/sensor.yweather/
+[sensor.zha docs]: https://home-assistant.io/components/sensor.zha/
+[snips docs]: https://home-assistant.io/components/snips/
+[switch.broadlink docs]: https://home-assistant.io/components/switch.broadlink/
+[switch.dlink docs]: https://home-assistant.io/components/switch.dlink/
+[switch.modbus docs]: https://home-assistant.io/components/switch.modbus/
+[switch.rachio docs]: https://home-assistant.io/components/switch.rachio/
+[switch.rflink docs]: https://home-assistant.io/components/switch.rflink/
+[switch.xiaomi_vacuum docs]: https://home-assistant.io/components/switch.xiaomi_vacuum/
+[tado docs]: https://home-assistant.io/components/tado/
+[tts docs]: https://home-assistant.io/components/tts/
+[tts.amazon_polly docs]: https://home-assistant.io/components/tts.amazon_polly/
+[upnp docs]: https://home-assistant.io/components/upnp/
+[velux docs]: https://home-assistant.io/components/velux/
+[frontend docs]: https://home-assistant.io/components/frontend/
+[vera docs]: https://home-assistant.io/components/vera/
+[verisure docs]: https://home-assistant.io/components/verisure/
+[wake_on_lan docs]: https://home-assistant.io/components/wake_on_lan/
+[weather.buienradar docs]: https://home-assistant.io/components/weather.buienradar/
+[weather.openweathermap docs]: https://home-assistant.io/components/weather.openweathermap/
+[zha docs]: https://home-assistant.io/components/zha/
+[zha.const docs]: https://home-assistant.io/components/zha.const/
+[forum]: https://community.home-assistant.io/
+[issue]: https://github.com/home-assistant/home-assistant/issues
+[discord]: https://discord.gg/c5DvZ4e
diff --git a/source/images/blog/2017-07-0.49/components.png b/source/images/blog/2017-07-0.49/components.png
new file mode 100644
index 00000000000..86629d6dff4
Binary files /dev/null and b/source/images/blog/2017-07-0.49/components.png differ
diff --git a/source/images/blog/2017-07-0.49/green-theme.png b/source/images/blog/2017-07-0.49/green-theme.png
new file mode 100644
index 00000000000..d9672ab9558
Binary files /dev/null and b/source/images/blog/2017-07-0.49/green-theme.png differ