Skip to content

Commit d33bd42

Browse files
author
DAB
committed
v0.2.0 — beta release with persistence, init fix, and AppArmor removal
1 parent 9b6d128 commit d33bd42

2 files changed

Lines changed: 39 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Changelog
2+
3+
## [0.2.0] — 2026-03-22
4+
5+
First beta release of the SMART Sniffer App for Home Assistant.
6+
7+
### Added
8+
- **Mock drive persistence** — mock drives survive app restarts with the same entity IDs. No more re-adding drives or losing HA entities after a stop/start cycle. Drive state is saved to `/data/mock-drives.json`.
9+
- **`build.json`** — specifies HA base images for each architecture so the Supervisor builds correctly from the repo.
10+
- **CI/CD pipeline** — GitHub Actions workflow builds and validates for both amd64 and aarch64. Publishes container images to GHCR on version tags.
11+
- **Repo docs** — LICENSE (MIT), .gitignore, TODO.md.
12+
13+
### Changed
14+
- **Renamed** from "SMART Sniffer Agent" to "SMART Sniffer App" with updated description.
15+
- **Logo header** — README.md and DOCS.md use the SMARTsniffer.png logo instead of a plain text title.
16+
- **Architecture diagram** — embedded in DOCS.md and README.md via GitHub raw URLs.
17+
- **`init: false`** — required for s6-overlay v3 compatibility. Prevents Docker's tini from stealing PID 1.
18+
19+
### Removed
20+
- **AppArmor profile** — removed `apparmor.txt` temporarily to unblock installs. The default Supervisor profile is used instead. Custom AppArmor will be revisited for official app store submission.
21+
- **Remove buttons** — removed from mock drive cards in the web UI.
22+
23+
### Fixed
24+
- s6-overlay PID 1 error (`s6-overlay-suexec: fatal: can only run as pid 1`) resolved by setting `init: false`.
25+
- Production install failure (`/init: Permission denied`) resolved by removing custom AppArmor profile.
26+
27+
### Known Issues
28+
- **mDNS name collision** — multiple HA instances on the same network advertise the same mDNS service name. Workaround: add the integration manually via IP address (172.30.33.x:9099).
29+
- **VM drives** — virtual disks (e.g. Proxmox VMs) may not support SMART commands. The agent detects them but cannot report SMART attributes.
30+
- **AppArmor** — no custom profile; relies on the Supervisor default. May need a custom profile for official app store submission.
31+
32+
## [0.1.6] — 2026-03-22
33+
34+
Initial working version with mock agent, web UI, and ingress support.

TODO.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,16 @@
1212
## App Store Submission
1313
- [ ] Create `apparmor.txt` — custom AppArmor profile (required for official store)
1414
- [ ] Test on aarch64 (Raspberry Pi) — currently only tested on amd64
15-
- [ ] Set up CI/CD pipeline (GitHub Actions) for automated Docker builds
15+
- [x] Set up CI/CD pipeline (GitHub Actions) for automated Docker builds
1616
- [ ] Publish container images to `ghcr.io/dab-labs/` (uncomment `image:` in config.yaml)
1717
- [ ] Move from `stage: experimental` to `stage: stable`
1818
- [ ] Add proper semantic versioning workflow
1919
- [ ] Review HA add-on store submission requirements and guidelines
2020

21+
## Networking / Multi-Instance
22+
- [ ] **mDNS name collision** — multiple HA instances on the same network advertise the same service name (`smartha-{slug}`). Each instance needs a unique mDNS name (e.g. include HA hostname or UUID) so zeroconf discovery works correctly on multi-HA networks
23+
- [ ] Investigate whether the agent should use the HA instance's hostname (available via Supervisor API) in the mDNS advertisement
24+
2125
## Integration-Side Changes (see also smart-sniffer/TODO-integration.md)
2226
- [ ] Mask mDNS hostname in discovery dialog with friendly name ("Found HAOS Drive")
2327
- [ ] Mask 172.30.33.x IP with "Local" or "This system" in UI

0 commit comments

Comments
 (0)