Testers Wanted: Homebridge v1.3.0 Beta!
Over the last couple of week/months we were hard at work to prepare the next release of homebridge. After doing many test cycles, internally but also with the help of all our wonderful homebridge developer community, we are now aiming to do a more widespread public test before publishing the release to all homebridge users.

To track individual plugin status, we have created a wiki page here https://github.com/homebridge/homebridge/wiki/Homebridge-1.3.0-Release-Plugin-Testing-Status.  We would appreciate each developer to update the readiness of their plugin for the upgrade over the next week.

To give you a rough list of what has changed. Some are user facing, most are targeted at developers to make it easier to create new awesome plugins and some are general under the hood improvements.

### Features and Changes

* The new **Adaptive Lightning** feature introduced with iOS 14 can now be used by plugin developers. Most of the actively maintained plugins already secretly added support for it. 🎉 
  Have a look at the [AdaptiveLightingController](https://developers.homebridge.io/HAP-NodeJS/classes/adaptivelightingcontroller.html) if you want to add support to your plugin. As this API is only available with 1.3.0-beta builds and onwards you may want to have a look at the **new** API call [api.versionGreaterOrEqual](https://developers.homebridge.io/homebridge/interfaces/api.html#versiongreaterorequal) to check for the homebridge version running.
* Improved stability with malfunctioning plugins or plugins which read/write handlers take too long to respond.  
 You may have been there, where you whole homebridge instance went down only because one plugin or accessory didn't behave properly. We invested some time to reduce the possibility of such scenarios or at least give hints were we can reliably detect that something gone wrong.
* [Child bridges](https://github.com/homebridge/homebridge/wiki/Child-Bridges): allow any Homebridge platform or accessory to optionally run as its own independent accessory, separate from the main bridge, and in an isolated process.
* **Particularly interesting for devs**:
  * Interesting for devs: We added promise based read and write handlers. Have a look at [characteristic.onGet](https://developers.homebridge.io/HAP-NodeJS/classes/characteristic.html#onget) and [characteristic.onSet](https://developers.homebridge.io/HAP-NodeJS/classes/characteristic.html#onset).
  * Added support for Characteristics with Additional Authorization, by using [characteristic.setupAdditionalAuthorization](https://developers.homebridge.io/HAP-NodeJS/classes/characteristic.html#setupadditionalauthorization). For those of you which may develop a iOS for you accessories and need that feature.
* Additionally there are **lots** of other minor improvements, highlighting some:
  * We added initial typedoc support for [HAP-NodeJS API](https://developers.homebridge.io/HAP-NodeJS/modules.html) and [homebridge API](https://developers.homebridge.io/homebridge/modules.html). Its initial and not everything is complete yet, but it's a start.
  * People not running at least node 10 get now a proper error message displayed, clearing stating the problem.
  * Improved compatibility with the HomeKit Accessory Protocol specification. 
  * Lots of general fixes and improvements

### Installation

For Homebridge UI users this is pretty much a 1-click action followed by a restart of homebridge:

![](https://user-images.githubusercontent.com/64748380/102620583-d473d380-4103-11eb-827b-276a13503424.gif)


For anyone else, just run the following command:
```shell
sudo npm install -g --unsafe-perm homebridge@beta
```

#### Rolling back to `latest` 

To roll back to the v1.1.x line, just select it in Homebridge UI or run 
```shell
sudo npm install -g --unsafe-perm homebridge@latest
```

#### Rolling back to 1.2.x 

To roll back to the v1.2.x line, just select it in Homebridge UI or run 
```shell
sudo npm install -g --unsafe-perm homebridge@release-1.2.x
```

### mDNS Advertiser Library

In our previous, now pulled back, release 1.2.x, we introduced our new mDNS based service discovery library [ciao](https://github.com/homebridge/ciao), which should replace the old [bonjour-hap](https://github.com/homebridge/bonjour). We saw the need for that replacement, as the current library didn't properly follow the rules set by mDNS and dns based service discovery (dns-sd), resulting in a behavior which could be a real burden on your network. For anyone in need of some reading material: mDNS as of [RFC 6762](https://tools.ietf.org/html/rfc6762) and dns-sd as of [RFC 6763](https://tools.ietf.org/html/rfc6763).

As you may have witnessed the 1.2.x release produced mixed results for our users, where some of them really benefited from those improvements, talking about a much speedier homebridge experience, but others were plagued by non responsiveness. We then have pulled back the 1.2.x release, advising anyone encountering problems to rollback to 1.1.x (which is now a 1-click action in the homebridge UI, by just clicking on the version) and those who were happy with 1.2.x could stay with it.
We went back to the drawing table and since then were hard at work to fix outstanding issues.

Our main issues with ciao were often more "complicated" setups, like multi subnet home networks, scenarios for which mDNS isn't specifically built for. As ciao kind of held us back on releasing 1.3.0 to the public, we accumulated quite some changes. We are at a point now, where we finally want to ship those changes, and as we feel like ciao still needs some time, to work in all sorts of environments, the 1.3.0 will ship with `bonjour-hap` as the default advertiser.

Nonetheless `ciao` is still included and can be turned on using the below displayed config option, as some of you may be in the situation where ciao works better than bonjour-hap.

Currently the default value is `bonjour-hap`:

```json5
{
  "bridge": {
     // ...
    "advertiser": "bonjour-hap"
  }
}
```

To enable Ciao:

```json5
{
  "bridge": {
     // ...
    "advertiser": "ciao"
  }
}
```

### Known Issues (Last updated 2020-02-17)

* ~Camera Audio Streaming seems to be broken (_Seems to be more complicated and it is not yet 100% confirmed that the issues is with 1.3.0_)~
  **Fixed with beta 61**
* ~Around 5 PM the adaptive lighting schedule seems to switch back to a more colder point for a minute.~
  **Fixed with beta 42**
* ~https://github.com/bwp91/homebridge-govee/issues/28~
  **Fixed with beta 41**