Skip to main content

Release 4.1.0

ยท 4 min read
Klaas Schoute
Founder of Glow

I'm happy to announce the release of version 4.1.0 of the Home Assistant Glow ๐ŸŒŸ. This release contains several new features, improvements, and explanations of organizational changes in the repository. In this blog post, I will highlight the most important changes.

Milestone on Githubโ€‹

At the beginning of June 2024, the Home Assistant Glow project reached a significant milestone on GitHub: the project has been starred ๐ŸŒŸ over 1000 times. This is a great achievement, and I want to thank everyone who is using the Glow and supporting the project ๐Ÿš€.

Star History Chart

ESPHome OTA updatesโ€‹

With the ESPHome 2024.6 release, adjustments have been made to the OTA (Over-the-Air) component. This new release provides full support for these updates in the Home Assistant Glow. Along with necessary adjustments due to breaking changes, there is now support for the http_request OTA platform. In combination with Home Assistant 2024.7, you can now update your Glow in Home Assistant without the need to build, adopt, or set up the ESPHome software.

caution

If you experience problems updating your glow, I recommend re-flashing your ESP via the website.

Git strategyโ€‹

This is a bit of a technical story, but I think it's important to share.

GitHub flowโ€‹

The repository has been using a GitHub flow strategy for a while now. This means that the main branch is always deployable, and new features are developed in feature branches. When a feature is ready, it is merged into the main branch, and a new release is created.

However, I recently concluded that this strategy does not work well for this project. Mainly due to the use of (external) packages and retrieving files from a specific branch or release tag (with ref). This may cause you to accidentally fetch development code during a firmware build that may not yet be ready for a release.

Git flowโ€‹

To solve this, I've decided to switch to a Git flow strategy. This means that the main branch is always deployable, and new features are developed in feature branches. When a feature is ready, it is merged into the develop branch. When a release is ready, the develop branch is merged into the main branch, and a new release is created.

This strategy allows for a better separation between production and development code and immediately solves the problem with the ref of packages.

important

The default branch of the repository has also been changed to develop. If you are used to copying the YAML code instead of using ESP web tools, pay attention to which branch you do this from (use the main branch or latest release).

Continuous integrationโ€‹

This is also a bit of a technical story, but interesting for others who have a similar ESPHome project.

With the switch to the Git flow strategy, I also took the opportunity to improve the continuous integration (CI) of the repository. I split the existing GitHub action workflow into two separate workflows:

  • Testing / build workflow: This workflow is triggered on push from develop or feature branches. It builds the firmware for all devices and checks if the firmware builds are successful.
  • Deployment workflow: This workflow is triggered when a new release is created. It deploys the firmware files to the website.

This separation ensures that the firmware files on the website are always the same as the release on GitHub. What's extra nice is that the deployment workflow reuses the testing workflow to build the firmware files.

Wrap upโ€‹

This release contains some nice features / improvements that make the Home Assistant Glow more ๐ŸŒŸ

If you would like to support the project, you can do so through GitHub sponsors. If you have any questions, you can ask them via the discussions, and if you encounter problems with the Home Assistant Glow, you can indicate this in the issues.

./Klaas