Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta 5.0.0 #2260

Draft
wants to merge 13 commits into
base: latest
Choose a base branch
from
Draft

Beta 5.0.0 #2260

wants to merge 13 commits into from

Conversation

bwp91
Copy link
Contributor

@bwp91 bwp91 commented Nov 30, 2024

⚠️ Breaking Changes

  • This version of the Homebridge UI will drop support for:
    • Node.js v16 and earlier, so please update to v18 or v20 or v22 - more info on updating
    • Raspberry Pi devices running on the armv6 architecture (like the Pi 1 and Pi Zero) - please update your hardware
    • Instances using pnpm as the package manager - consider updating your Homebridge instance to use npm instead - more info on updating

⚠️ Plugin Config Validation

This version of Homebridge UI adds validation to plugin config screens. This does not apply to manual plugin configuration (with raw JSON).

  • If your entered configuration is valid, then you will see a green tick by the save button.
  • If your configuration is not valid, then you will see an orange warning triangle by the save button. You will still be allowed to save the configuration.
  • A plugin can enforce strict validation:
    • For plugin developers: if you want to enforce a valid configuration, you can add "strictValidation": true as a root property to your config.schema.json file.
    • For users: if the plugin developer has enabled this setting and your configuration is invalid, then you will see a red warning triangle by the save button. You will not be allowed to save the configuration until it is valid.

If you have a plugin which can be configured multiple times, then an icon will be shown on each configuration block.

For custom UIs developed using the @homebridge/plugin-ui-utils package, the Save button will be enabled at all times by default.
In @homebridge/[email protected], two new methods have been added which allow you to disable and enable the Save button:

  • homebridge.disableSaveButton()
  • homebridge.enableSaveButton()

When the button is enabled, the validation icon will be visible showing the status of the configuration. When the button is disabled, the validation icon will be hidden.
If your plugin implements these methods, but the user is on an older version of the Homebridge UI, then the methods will have no effect, but not throw an error. The Save button will always be enabled.

Plugin developers:

  • Please do not rely on this validation and assume that a user's configuration will be valid
  • All plugins should still validate a configuration when the plugin is started
  • Remember that some users do not use the UI at all, and other users may prefer to configure using raw JSON rather than config screens
  • Please report any cases where the validation is not working as expected

UI Changes

  • implement and allow switching to scoped plugins
  • add plugin config validation functionality
  • refactor status and child bridge widgets
  • update default dashboard layout
  • logo and homebridge text should link to status page

Other Changes

  • retire use of pnpm and code references
  • enable strict config validation for the UI
  • bump the default node version from 20 to 22
  • make terminal enabled by default on new macOS hb-service installs
  • update node pty beta v0.12.0-beta
  • update angular from v18 to v19
  • update @homebridge/plugin-ui-utils to v2.0.0
  • improvements to GH actions and build processes (@NorthernMan54)

Homebridge Dependencies

  • @homebridge/hap-client @ v2.0.5-beta
  • @homebridge/node-pty-prebuilt-multiarch @ v0.12.0-beta
  • @homebridge/plugin-ui-utils @ v2.0.0

@bwp91 bwp91 marked this pull request as draft November 30, 2024 16:49
@github-actions github-actions bot added the latest Related to Latest Branch label Nov 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
latest Related to Latest Branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants