176 lines
6.9 KiB
Markdown
176 lines
6.9 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this repository will be documented in this file.
|
|
|
|
Sections:
|
|
- Added
|
|
- Changed
|
|
- Fixed
|
|
- Removed
|
|
- Security
|
|
|
|
---
|
|
|
|
## [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.0` manifest versions.
|
|
- API fields `installed_version` (installed ref) and `installed_manifest_version` (informational) to improve transparency in the UI.
|
|
|
|
### Changed
|
|
- Update availability is now evaluated using the stored installed ref (instead of `manifest.json` version), preventing false-positive updates when repositories do not maintain manifest versions.
|
|
|
|
### Fixed
|
|
- Repositories with `manifest.json` version `0.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.yaml` index.
|
|
- 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.yaml`
|
|
- `hacs.yaml`
|
|
- `hacs.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/bcs` list merged repositories (index + custom)
|
|
- `POST /api/bcs` add custom repository
|
|
- `DELETE /api/bcs/custom_repo` remove 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), then `hacs.yaml`, then `hacs.json` from repository root.
|
|
- Extracts `name`, `description`, `category`, `author`, `maintainer` (best-effort).
|
|
- 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:
|
|
1) metadata (`bcs.yaml` / `hacs.*`)
|
|
2) store index name (store.yaml)
|
|
3) provider repo name
|
|
4) repository URL
|
|
|
|
## [0.3.1] - 2026-01-15
|
|
|
|
### Fixed
|
|
- Panel header version is now derived from `manifest.json` via 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/bcs` list merged repositories (index + custom)
|
|
- `POST /api/bcs` add custom repository
|
|
- `DELETE /api/bcs/custom_repo` remove custom repository
|
|
|
|
### Changed
|
|
- Store API/UI terminology standardized to "BCS" (Bahmcloud Component Store), while integration domain remains `bahmcloud_store` for compatibility.
|
|
|
|
### Notes
|
|
- Installation, README rendering, provider enrichment (GitHub/Gitea/GitLab), and Update entities will be implemented in later versions.
|