139 lines
5.1 KiB
Markdown
139 lines
5.1 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this repository will be documented in this file.
|
|
|
|
Sections:
|
|
- Added
|
|
- Changed
|
|
- Fixed
|
|
- Removed
|
|
- Security
|
|
|
|
---
|
|
|
|
## [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.
|