12 KiB
12 KiB
Changelog
All notable changes to this repository will be documented in this file.
Sections:
- Added
- Changed
- Fixed
- Removed
- Security
[0.6.5] - 2026-01-18
Added
- Separate handling of HACS official repositories with an enable/disable toggle in the Store UI.
- HACS repositories are now loaded independently from the main store index.
Changed
- Store index can remain minimal and curated; HACS repositories are no longer required in store.yaml.
- Improved Store performance and clarity by clearly separating repository sources.
Fixed
- Browser cache issues resolved by proper panel cache-busting for UI updates.
Internal
- No changes to install, update, backup, or restore logic.
- Fully backward compatible with existing installations and configurations.
[0.6.4] - 2026-01-18
Fixed
- Fixed long Home Assistant startup times caused by background repository enrichment running too early.
Changed
- Background repository enrichment is now started only after Home Assistant has fully started.
- Repository cache updates now run fully asynchronous without blocking Home Assistant startup.
Internal
- Improved alignment with Home Assistant startup lifecycle.
- No functional changes to store behavior or UI.
[0.6.3] - 2026-01-18
Changed
- Improved Store performance for large indexes by avoiding full metadata enrichment during list refresh.
- Repository details are loaded on demand, reducing initial load time and network requests.
- Index refresh is skipped when the index content has not changed.
[0.6.2] - 2026-01-18
Added
- Selectable install/update version per repository (install older releases/tags to downgrade when needed).
- New API endpoint to list available versions for a repository:
GET /api/bcs/versions?repo_id=....
[0.6.1] - 2026-01-18
Fixed
- Restored integrations now correctly report the restored version instead of the latest installed version.
- Update availability is correctly recalculated after restoring a backup, allowing updates to be applied again.
- Improved restore compatibility with backups created before version metadata was introduced.
[0.6.0] - 2026-01-18
Added
- Restore feature with selection of the last available backups (up to 5 per domain).
- New API endpoints to list and restore backups:
GET /api/bcs/backups?repo_id=...POST /api/bcs/restore?repo_id=...&backup_id=...
Safety
- Restoring a backup triggers a “restart required” prompt to apply the recovered integration state.
Notes
- This is a major release milestone consolidating install/update/uninstall, backup/rollback, and restore workflows.
[0.5.11] - 2026-01-18
Added
- Automatic backup of existing custom components before install or update.
- Backup retention with a configurable limit per domain.
Safety
- Automatic rollback is triggered if an install or update fails after a backup was created.
[0.5.10] - 2026-01-17
Added
- Store view controls: Filter and Sort dropdowns alongside the existing Category selector.
Fixed
- Search input focus is preserved while typing (cursor no longer jumps out after re-render).
[0.5.9] - 2026-01-17
Changed
- README is now collapsible with a preview by default (Show more / Show less).
- Improved mobile readability by keeping long README content contained without affecting the page layout.
[0.5.8] - 2026-01-17
Changed
- Mobile UI layout stabilized to prevent horizontal shifting.
- README rendering no longer expands the page width on mobile devices.
- Tables and code blocks inside README now scroll within their container.
- Floating action buttons removed to avoid UI overlap on small screens.
- Header icon buttons improved for better visibility in light and dark mode.
[0.5.7] - 2026-01-17
Changed
- Mobile UI improvements: removed floating action buttons to prevent overlay issues.
- Improved responsive layout to avoid horizontal overflow (badges, URLs, descriptions).
- README rendering on mobile is more stable (better wrapping and image scaling).
- Header icon buttons are more readable in both light and dark mode.
[0.5.6] - 2026-01-17
Added
- Repository uninstall support directly from the Store UI.
- New backend API endpoint:
POST /api/bcs/uninstall. - Automatic reconcile: repositories are marked as not installed when their
custom_componentsdirectories are removed manually.
Changed
- Installation & Updates section extended with an Uninstall button.
- Store state now remains consistent even after manual file system changes.
Fixed
- Repositories remained marked as installed after manual deletion of their domains.
- UI cache issues caused by outdated static assets.
[0.5.5] - 2026-01-16
Fixed
- Update entities now refresh their displayed name after store refreshes, so repository names replace fallback IDs (e.g.
index:1) reliably.
[0.5.4] - 2026-01-16
Added
- Native Repair fix flow for restart-required situations.
- “Restart required” issues are now fixable and provide a confirmation dialog with a real restart action.
Changed
- Restart-required issues are automatically cleared after Home Assistant restarts.
- Update entities now fully align with official Home Assistant behavior (Updates screen + Repairs integration).
Fixed
- Fixed integration startup issues caused by incorrect file placement.
- Resolved circular import and missing setup errors during Home Assistant startup.
- Ensured YAML-based setup remains fully supported.
[0.5.3] - 2026-01-16
Added
- Native Home Assistant Update entities for installed repositories (shown under Settings → System → Updates).
- Human-friendly update names based on repository name (instead of internal repo IDs like
index:1).
Changed
- Update UI now behaves like official Home Assistant integrations (update action is triggered via the HA Updates screen).
[0.5.2] - 2026-01-16
Added
- Install and update backend endpoints (
POST /api/bcs/install,POST /api/bcs/update) to install repositories into/config/custom_components. - Installed version tracking based on the actually installed ref (tag/release/branch), stored persistently to support repositories with outdated/
0.0.0manifest versions. - API fields
installed_version(installed ref) andinstalled_manifest_version(informational) to improve transparency in the UI.
Changed
- Update availability is now evaluated using the stored installed ref (instead of
manifest.jsonversion), preventing false-positive updates when repositories do not maintain manifest versions.
Fixed
- Repositories with
manifest.jsonversion0.0.0(or stale versions) no longer appear as constantly requiring updates after installing the latest release/tag.
[0.5.0] - 2026-01-15
Added
- Manual refresh button that triggers a full backend refresh (store index + provider data).
- Unified refresh pipeline: startup, timer and UI now use the same refresh logic.
- Cache-busting for store index requests to always fetch the latest store.yaml.
Improved
- Logging for store index loading and parsing.
- Refresh behavior now deterministic and verifiable via logs.
Fixed
- Refresh button previously only reloaded cached data.
- Store index was not always reloaded immediately on user action.
[0.4.1] - 2026-01-15
Fixed
- Fixed GitLab README loading by using robust raw file endpoints.
- Added support for nested GitLab groups when resolving README paths.
- Added fallback handling for multiple README filenames (
README.md,README,README.rst, etc.). - Added branch fallback logic for README loading (
default,main,master). - Improved error resilience so README loading failures never break the store core.
- No behavior change for GitHub and Gitea providers.
[0.4.0] - 2026-01-15
Added
- Initial public release of the Bahmcloud Store integration.
- Sidebar panel with repository browser UI.
- Support for loading repositories from a central
store.yamlindex. - Support for custom repositories added by the user.
- Provider abstraction for GitHub, GitLab and Gitea:
- Fetch repository information (name, description, default branch).
- Resolve latest version from:
- Releases
- Tags
- Fallback mechanisms.
- Repository metadata support via:
bcs.yamlhacs.yamlhacs.json
- README loading and rendering pipeline:
- Fetch raw README files.
- Server-side Markdown rendering.
- Sanitized HTML output for the panel UI.
- Auto refresh mechanism for store index and repository metadata.
- API endpoints:
- List repositories
- Add custom repository
- Remove repository
Persisted via Home Assistant storage (.storage/bcs_store).
- Public static asset endpoint for panel JS (
/api/bahmcloud_store_static/...) without auth (required for HA custom panels). - Initial API namespace:
GET /api/bcslist merged repositories (index + custom)POST /api/bcsadd custom repositoryDELETE /api/bcs/custom_reporemove custom repository
Changed
- Repository cards are now clickable to open the detail view.
[0.3.2] - 2026-01-15
Added
- Metadata resolver:
- Reads
bcs.yaml(preferred), thenhacs.yaml, thenhacs.jsonfrom repository root. - Extracts
name,description,category,author,maintainer(best-effort).
- Reads
- UI now prefers metadata description over provider description.
- Provider repository name is now only used as a fallback if no metadata name is provided.
Changed
- Repo display name priority:
- metadata (
bcs.yaml/hacs.*) - store index name (store.yaml)
- provider repo name
- repository URL
- metadata (
[0.3.1] - 2026-01-15
Fixed
- Panel header version is now derived from
manifest.jsonvia backend API (no more hardcoded version strings). - Mobile navigation/header visibility improved by explicitly disabling iframe embedding for the custom panel.
- When adding a custom repository without a display name, the name is now fetched from the git provider (GitHub/Gitea) and shown automatically.
[0.3.0] - 2026-01-15
Added
- Repository enrichment for the Store UI:
- GitHub: fetch owner and description via GitHub REST API.
- Gitea: fetch owner and description via Gitea REST API (
/api/v1).
- Provider detection for GitHub/GitLab/Gitea (best-effort).
- Automatic UI description line populated from provider data (when available).
Changed
- Panel module URL cache-busting updated to avoid stale frontend assets.
Fixed
- Store "Refresh" now triggers immediate backend refresh (from 0.2.0).
- Avoided circular imports by using TYPE_CHECKING for type references.
Notes
- Installation/README details view/update entities will be added in later versions.
[0.2.0] - 2026-01-15
Added
- Foundation architecture for BCS (Bahmcloud Component Store) inside a Home Assistant custom component.
- Custom panel (no iframe) using
hass.callApi()to avoid authentication issues. - Store index loader (
store.yaml) with periodic refresh (data only). - Manual repository management:
- Add repository
- List repositories
- Remove repository
Persisted via Home Assistant storage (
.storage/bcs_store).
- Public static asset endpoint for panel JS (
/api/bahmcloud_store_static/...) without auth (required for HA custom panels). - Initial API namespace:
GET /api/bcslist merged repositories (index + custom)POST /api/bcsadd custom repositoryDELETE /api/bcs/custom_reporemove custom repository
Changed
- Store API/UI terminology standardized to "BCS" (Bahmcloud Component Store), while integration domain remains
bahmcloud_storefor compatibility.
Notes
- Installation, README rendering, provider enrichment (GitHub/Gitea/GitLab), and Update entities will be implemented in later versions.