HACS 2.0: Join the beta testing adventure!

Calling all brave souls! We need your help to test the upcoming version 2.0 of HACS. Be among the first to experience the exciting new features and improvements, and help us make this release the best it can be!

Prerequisites

Before you dive into the testing, make sure you meet the following requirements:

  • You are currently using HACS version 1.34.0.
  • You are running Home Assistant OS or Supervised.
  • You are running Home Assistant 2024.4.1 or newer.

How to join the alpha test

  1. Backup your configuration: Ensure you have a backup of your Home Assistant configuration.
  2. Add custom repository: Add the following custom add-on repository: https://github.com/hacs/addons.
  3. Install HACS: Get add-on: Install the “HACS: Get” add-on.
  4. Switch to development channel: Change the hidden “channel” setting to “development” under the add-on configuration tab.
  5. Start the add-on: Start the add-on and watch the logs; when it tells you to restart Home Assistant, do so.
  6. Start using it!: When Home Assistant starts up again, you can start using the alpha versions of HACS.
  7. Explore the new documentation: Browse the draft for the upcoming documentation at https://www.hacs.dev/.

Whenever you need to update HACS during this alpha, just start the add-on again and restart Home Assistant after it states it in its log.

Important caveats

  • No backwards compatibility: These alpha/beta versions of HACS are NOT backwards compatible. If you need to revert to version 1.34.0, you must restore from a backup of your Home Assistant configuration directory.
  • Limited to OS/Supervised: While the alpha/beta can be replicated on core/container, the add-on simplifies the process, so we are limiting this testing phase to OS/Supervised users for now.

Reporting issues

We value your feedback! Report any issues through the following channels:

  • GitHub: Report issues on GitHub
  • Discord: Use the “use” channel and the “tester” tag on Discord
  • Forum post: Share your feedback in this designated forum post.

What to look out for

HACS 2.0 brings a multitude of changes and improvements. Here’s what you can expect:

  • New frontend: Experience a brand new frontend based on the data tables in Home Assistant! Check it out.
  • Template management: Utilize the new template type to enhance your Jinja templates.
  • Update entities: Track updates for all your downloaded repositories with the new update entities.
  • Switch entities: Choose to consider pre-releases with the new switch entities.
  • Repair issues: Receive repair issue notifications when something needs attention, like pending restarts.
  • Remote data handling: Enjoy drastically reduced API usage with the new remote dataset handling.
  • Renaming of things: Things HACS can manage have been renamed from “category” to “type”. Learn more.
  • Dashboard: UI elements, previously referred to as “Lovelace”, are now called “dashboard”.
  • Faster downloads: Downloading large repositories, like those providing icons, will be significantly faster.

Features being removed

As with any major version change, some features will be deprecated:

  • YAML configuration: YAML configuration of HACS itself has been removed.
  • README.md template rendering: Template rendering of the README.md file for repositories has been removed, the README.md files themselves will still be rendered as before.
  • info.md usage: The use of the info.md file has been discontinued.
  • Netdaemon type: The repository type “netdaemon” has been removed.
  • Download beta selector: The beta selector has been removed, and from now you have to use the switch entity or the update service.
  • /hacsfiles/ endpoint: The endpoint for themes has been removed, for dashboard this is still in use.
  • Custom events: Custom hacs/* events have been removed.

Join us in making HACS 2.0 the best version yet! Your feedback is invaluable and will help shape the future of HACS. Thank you for being a part of our community, and happy testing!


Update 2024-08-14: Reclassified from alpha to beta

22 Likes

This seems like a step backward in usability. Was there a reason for it?

5 Likes

The main goals of this release has 2 parts:

  • Use less API calls.
  • Make it more maintainable by reusing core HA features instead of duplicating logic.

Removing that checks both those items, having this in there means that an additional API call would have been done regardless if you needed it or not.

This (to my knowledge) was mostly used to “roll back” something to a previous version, which it actually does not do as it only do the repository content, and not the data produced by it which in some cases is not compatible, leaving restoring a backup as the best option to do that.

However, the update.install service call takes a version argument, so you can still do that if you really wanted to.

1 Like

Ok thanks for the explanation.

I use it mostly to help 3rd party developers by testing their beta versions when HA core updates breaks something for them. This is not an uncommon occurrence.

1 Like

I see! You can still do that with the same version argument.
You can even do dev branches if their repository supports it (so it has even more flexibility in that regard, since they do not have to do a pre-release).

For pre-releases to show in the update entity directly, I hope to have something before this release is published.

Yeah I realise that, it just not as easy as using a switch to include beta versions and a drop-down to select the available version. Call me lazy.

6 Likes

I agree, I use beta all the time for the integrations I develop. Then I can easily validate the latest version on my prod instance before I move to full release. Yes you can still do it using the service, but not as simple as just clicking upgrade.

How is it going? Is everything doing what it is supposed to?

I have not found any problem this week and I have even updated today. Looks good with the integration of HA Look and feel.

1 Like

A little note; while it can be used with Home Assistant 2024.4.1(for now) and newer, to have the best experience you should be using 2024.7.0 (or newer).

No issues so far, but a question: is there some kind of indicator when we need to re-run the addon to download a newer version

1 Like

Yeah running fine here.

Blocking call errors are gone from the logs.

1 Like

Not really (unless you add hacs/integration to the github integration) and watch for commit changes.

1 Like

Actually, I have a pending update but no available updates:

Beta version throwing it off?

As soon as I went to the “Need another version” overflow menu option the update showed up in HA.

Yes, handling of pre-release “channel” is not working great, which is one of the reason that toggle was removed.

1 Like

Core - 2024.7.3
Supervisor - 2024.06.2
Operating System - 12.4
Frontend - 20240710.0
HACS - 2.0.0-dev-e8d6f2a

Everything absolutely functional. I haven’t seen any problem.
Thank you for your work.

1 Like

some troubles here… I dont have HACS showing in the side bar but have a button navigate to /hacs/dashboard

that now is empty, and logging this

settings:

version, and all services/entities are alright :

With default setting in the sidebar, still no show:

edit

thew above is on Mac Safari.
I can see HACS in Chrome

Issue tracker: Dashboard not showing in Safari · Issue #3914 · hacs/integration · GitHub

edit

this was fixed by hard deleting the hacs line s in local storage

In the HA-logs, after the installation of HACS, this keeps returning after every reboot of HA:

Logger: homeassistant.helpers.frame
Bron: helpers/frame.py:184
Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles/iconset.js", "/config/custom_components/hacs/iconset.js", True)])`; This function will be removed in 2025.7 at custom_components/hacs/frontend.py, line 57: hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues

and

Logger: homeassistant.helpers.frame
Bron: helpers/frame.py:184
Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues

and

Logger: homeassistant.helpers.frame
Bron: helpers/frame.py:184
Detected that custom integration 'hacs' calls hass.http.register_static_path which is deprecated because it does blocking I/O in the event loop, instead call `await hass.http.async_register_static_paths([StaticPathConfig("/hacsfiles", "/config/www/community", True)])`; This function will be removed in 2025.7 at custom_components/hacs/base.py, line 1162: self.hass.http.register_static_path(, please create a bug report at https://github.com/hacs/integration/issues

and, finally:

Logger: homeassistant.helpers.frame
Bron: helpers/frame.py:184
Detected that custom integration 'hacs' accesses hass.helpers.event. This is deprecated and will stop working in Home Assistant 2024.11, it should be updated to import functions used from event directly at custom_components/hacs/base.py, line 642: self.hass.helpers.event.async_track_time_interval(, please create a bug report at https://github.com/hacs/integration/issues

Then, you did not change the add-on configuration to enable “development”, as all of those have been addressed there…

Hey

Ive found a Bug. In the mobile App (Android) the last entry in the list is covered.

There you can See There is one more entry at the bottom. But cant scroll down more