-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2516 from homebridge/rc
v1.0.0
- Loading branch information
Showing
45 changed files
with
8,329 additions
and
2,457 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
{ | ||
"parser": "@typescript-eslint/parser", | ||
"extends": [ | ||
"eslint:recommended", | ||
"plugin:@typescript-eslint/eslint-recommended", | ||
"plugin:@typescript-eslint/recommended", // uses the recommended rules from the @typescript-eslint/eslint-plugin | ||
"plugin:jest/recommended" // enables eslint-plugin-jest | ||
], | ||
"parserOptions": { | ||
"ecmaVersion": 2018, | ||
"sourceType": "module" | ||
}, | ||
"ignorePatterns": [ | ||
"bin/", | ||
"lib/" | ||
], | ||
"rules": { | ||
"quotes": ["error", "double"], | ||
"indent": ["error", 2, { "SwitchCase": 1 }], | ||
"linebreak-style": ["error", "unix"], | ||
"semi": ["error", "always"], | ||
|
||
"comma-dangle": ["error", "always-multiline"], | ||
"dot-notation": "error", | ||
"eqeqeq": "error", | ||
"curly": ["error", "all"], | ||
"brace-style": ["error"], | ||
|
||
"@typescript-eslint/no-non-null-assertion": "off" // currently disabled, hap-nodejs has some bad typing (like getCharacteristic) for this to be enabled | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Test | ||
|
||
on: [ | ||
pull_request, | ||
push | ||
] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
node-version: [10.x, 12.x, 13.x] | ||
|
||
steps: | ||
- uses: actions/checkout@v1 | ||
- uses: actions/setup-node@v1 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
- run: npm ci | ||
- run: npm run build | ||
- run: npm run lint | ||
- run: npm test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Change Log | ||
|
||
All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/). | ||
|
||
## v1.0.0 (2020-04-27) | ||
|
||
### Breaking Changes | ||
|
||
* **The minimum Node.js version required is now `v10.17.0`.** | ||
* **Important notice:** The update to the underlying HAP-NodeJS library brings many fixes to the HomeKit Accessory Protocol. One of those is the permission management of people you may have added to your Home. It is strongly recommended that you remove every person added to your Home and then invite them back into your home. This will ensure that permissions for all people in your home are downgraded correctly. | ||
* [#2481](https://github.com/homebridge/homebridge/pull/2481) - Platforms will no longer load unless they have been explicitly configured in the `config.json` | ||
* [#2482](https://github.com/homebridge/homebridge/pull/2482) - Dropped support for the `BridgeSetupManager` | ||
|
||
If you encounter any issues in v1.0.0 you can rollback to v0.4.53 using this command: | ||
|
||
``` | ||
sudo npm install -g --unsafe-perm homebridge@0.4.53 | ||
``` | ||
|
||
### Notable Changes | ||
|
||
* [#2476](https://github.com/homebridge/homebridge/pull/2476) - Project converted to Typescript by [@Supereg](https://github.com/Supereg) | ||
* Homebridge API version was bumped to `2.5` with the following additions: | ||
* The signatures of `registerAccessory` and `registerPlatform` have been adjusted. The plugin name, which was passed | ||
as the first argument, can now be left out and will be determined automatically by homebridge. | ||
* The `PlatformAccessory` class received a new method `configureController` which can be used to access the new | ||
Controller API (used for Apple TV Remotes and Cameras) introduced with HAP-NodeJS 0.6.0 | ||
* Cameras can now be added to the bridge using a `DynamicPlatformPlugin` and the methods `configureCameraSource` or | ||
`configureController` of the `PlatformAccessory` (removing the need to create an external accessory) | ||
* The hidden service and primary service properties are now properly restored for cached accessories | ||
* [#2391](https://github.com/homebridge/homebridge/pull/2391) - [HAP-NodeJS](https://github.com/homebridge/HAP-NodeJS) | ||
updated to 0.6.0 with some changes highlighted here: | ||
* HAP-NodeJS was converted to Typescript as well (thanks to [@hassankhan](https://github.com/hassankhan)) | ||
* Support for exposing Cameras through a Bridge was added | ||
* Support for Apple TV Remotes (with and without Siri Voice transmission) using the new RemoteController API | ||
* Introduction of the new CameraController API which improves on the existing API and opens the way for a possible | ||
future introduction of an API for HomeKit Secure Video | ||
* Introduced new APIs to mark a service as primary service | ||
* Added new characteristic property `adminOnlyAccess` to limit certain access rights to the home-owner | ||
* Added new services and characteristics for: | ||
* HomeKit Routers (`WiFiRouter` and `WiFiSatellite` services) | ||
* HomeKit Secure Video (`CameraOperatingMode` and `CameraEventRecordingManagement` services) | ||
* `AccessControl` service | ||
* `SmartSpeaker` service | ||
* `PowerManagement` service | ||
* `TransferTransportManagement` service | ||
* Updated to HAP Protocol Version 1.1.0: | ||
* Support of the HomeKit Data Stream (HDS) protocol (used by Remotes and Secure Video) | ||
* Support for Timed Writes and Write Responses | ||
* Fixed a bug in the encryption layer, which would sometimes encrypt events in the wrong order causing corrupted responses. | ||
This issue typically affected service which expose their state using 'target' characteristics | ||
and 'current' characteristics like Doors, Locks and Windows. | ||
* Improved HAP specification compatibility, while noting the following changes affecting compatibility: | ||
* For `/characteristics` `PUT` request the HAP server will return `204 No Content` if all characteristic writes | ||
succeeded and `207 Multi-Status` if at least one write failed or when a write-response is delivered. | ||
* For `/characteristics` `GET` request the HAP server will return `200 Success` if all characteristic reads | ||
succeeded and `207 Multi-Status` if at least one write failed. | ||
* The HAP server will now return short UUIDs for Apple predefined services and characteristics for the `/accessories` route. | ||
* Many, many more bug fixes and improvements. | ||
|
||
### Other Changes | ||
|
||
* Homebridge now exports TypeScript types that can be used in the development of plugins. | ||
* See the [homebridge-examples](https://github.com/homebridge/homebridge-examples) repo for examples of how to do this. | ||
* We also have create a [plugin template](https://github.com/homebridge/homebridge-plugin-template) you can use as a base for your own plugins. | ||
|
||
## v0.4.53 (2020-03-18) | ||
|
||
### Notable Changes | ||
|
||
* Added the ability to use [scoped npm](https://docs.npmjs.com/using-npm/scope.html) modules as Homebridge plugins. This means plugin developers can now publish Homebridge plugins to npm under their own user or npm organisation, such as `@username/homebridge-plugin`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Contributing | ||
|
||
Pull requests are welcome from everyone. | ||
|
||
Homebridge is written in [TypeScript](https://www.typescriptlang.org/). | ||
|
||
## Getting Setup | ||
|
||
Fork, then clone the repo: | ||
|
||
``` | ||
git clone git@github.com:your-username/homebridge.git | ||
``` | ||
|
||
Install npm dependencies: | ||
|
||
```bash | ||
npm install | ||
``` | ||
|
||
Build Homebridge: | ||
|
||
```bash | ||
npm run build | ||
``` | ||
|
||
Start Homebridge: | ||
|
||
```bash | ||
npm run dev | ||
|
||
# or | ||
|
||
node bin/homebridge | ||
``` | ||
|
||
All contributions must follow the style guidelines set by this project. To lint your changes run: | ||
|
||
```bash | ||
npm run lint | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.