Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6d2a67a4b | ||
|
|
48e913e5d5 |
No files matched your search
@@ -7,10 +7,96 @@ Version numbers follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [0.7.2] — 2026-10-27
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- **Container CRUD from the UI.** `/containers/new` adds a new container to
|
||||||
|
`config.yml`; a delete button on `/containers/<name>` removes one. The config
|
||||||
|
change is picked up on the next polling cycle without a restart.
|
||||||
|
- **Test-notification buttons** on the Gotify and Pushover sub-sections. The
|
||||||
|
button posts the current (unsaved) form values to `POST /api/test-notify/<channel>`
|
||||||
|
and shows the result inline. Unlike the regular notifier it does not swallow
|
||||||
|
errors — HTTP failures are reported back to the UI.
|
||||||
|
- **Priority reference** block on the Notifications section, including the
|
||||||
|
Inspector → Pushover `-2..2` mapping.
|
||||||
|
- **Config diagnostics strip** at the bottom of every settings page: shows the
|
||||||
|
live `config.yml` path, whether it's writable, and the Inspector version. If
|
||||||
|
the bind mount is read-only (a common deployment misconfiguration — a `:ro`
|
||||||
|
mount means saves fail silently) a red `READ-ONLY` badge appears with a hint.
|
||||||
|
- **Containers listed in the settings left rail** under their own group, plus a
|
||||||
|
"+ Add container" link, so you can jump between sections and containers from
|
||||||
|
the same navigation.
|
||||||
|
- **Color input upgrade** on container edit / new forms: ten preset color swatches,
|
||||||
|
a native color picker, and the existing hex text field, all bound together.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- **Toggle switches** replace the stock checkbox + "requires restart" layout for
|
||||||
|
all `enabled`-style fields (notifications, dashboard, database, health summary,
|
||||||
|
maintenance, notification mute, container enabled, Inspector `dry_run` /
|
||||||
|
`heartbeat`). Reads much cleaner.
|
||||||
|
- **Status page** no longer prints "auto-refreshes every 30s" (the `<meta refresh>`
|
||||||
|
still ticks every 30s).
|
||||||
|
|
||||||
|
### Internal
|
||||||
|
|
||||||
|
- `_apply_container_create()` + `_apply_container_delete()` helpers alongside the
|
||||||
|
existing `_apply_settings_update()`; container names are validated against
|
||||||
|
`^[a-zA-Z0-9][a-zA-Z0-9_-]{0,62}$` and rejected if duplicate.
|
||||||
|
- `_render_diag_strip()` uses `os.access(path, os.W_OK)` to detect read-only mounts.
|
||||||
|
- Test-notification bypasses `GotifyNotifier.notify()` / `PushoverNotifier.notify()`
|
||||||
|
so HTTP failures are surfaced (the real notifier intentionally swallows them to
|
||||||
|
avoid breaking the inspector loop).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## [0.7.1] — 2026-10-27
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- **Settings page redesigned** to a classic SaaS layout (left rail + content pane):
|
||||||
|
- Left rail groups sections under Core / Data / Scheduling with a live subtitle
|
||||||
|
under each item (e.g. "60s · dry-run on", "gotify on · pushover off",
|
||||||
|
"on · :8080") so you can read state without clicking in.
|
||||||
|
- Each section is URL-addressable: `/settings/inspector`,
|
||||||
|
`/settings/notifications`, `/settings/dashboard`, `/settings/database`,
|
||||||
|
`/settings/health_summary`, `/settings/maintenance`, `/settings/notification_mute`.
|
||||||
|
- Gotify and Pushover now share a single **Notifications** section with
|
||||||
|
one Save button per channel, so the fan-out model is visible at a glance.
|
||||||
|
- Save flash is a prominent green banner with a success check.
|
||||||
|
- **Containers moved to a dedicated top-level route** (`/containers`): a grid
|
||||||
|
of tiles showing status, enabled, max errors, cooldown, and restart_on at a
|
||||||
|
glance. Click a tile for the per-container edit form at `/containers/<name>`.
|
||||||
|
Keeps the Settings page small when buddies have many containers.
|
||||||
|
- Top navigation adds a **Containers** tab alongside Status / Events / Settings.
|
||||||
|
|
||||||
|
### Internal
|
||||||
|
|
||||||
|
- `POST /settings/gotify` and `POST /settings/pushover` now redirect back to
|
||||||
|
`/settings/notifications` (the grouped page).
|
||||||
|
- `POST /containers/<name>` added as a parallel entry point to the existing
|
||||||
|
settings backend for container edits.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [0.7.0] — 2026-10-26
|
## [0.7.0] — 2026-10-26
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
|
- **Public packaging** under `euronvault/inspector` on Gitea with a
|
||||||
|
dedicated image at `gitea.euronvault.com/euronvault/inspector:0.7.0`
|
||||||
|
(plus `:latest` and `:sha-<short>` tags). Dev continues on
|
||||||
|
`eugene/inspector`.
|
||||||
|
- `scripts/sync_public.sh` with an explicit allowlist
|
||||||
|
(`scripts/public_allowlist.txt`) and grep-based denylist
|
||||||
|
(`scripts/public_denylist_patterns.txt`) that refuses to publish any
|
||||||
|
file matching a personal-string pattern (lab IPs, lab container
|
||||||
|
names, lab env var names, agent-workflow scaffolding paths).
|
||||||
|
- Sanitized `public/` staging tree: generic README, INSTALL guide,
|
||||||
|
MIT LICENSE (Copyright (c) 2026 Europium 63), `config.example.yml`
|
||||||
|
with two neutral example containers, and a `compose.yml` that pulls
|
||||||
|
from `gitea.euronvault.com/euronvault/inspector`.
|
||||||
- **Web settings page** at `/settings` for editing `config.yml` without SSH:
|
- **Web settings page** at `/settings` for editing `config.yml` without SSH:
|
||||||
per-section forms for Inspector loop, Gotify, Pushover, Dashboard,
|
per-section forms for Inspector loop, Gotify, Pushover, Dashboard,
|
||||||
Database, Health summary, Maintenance, Notification mute, and per-container
|
Database, Health summary, Maintenance, Notification mute, and per-container
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
__version__ = "0.7.0"
|
__version__ = "0.7.2"
|
||||||
+923
-93
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user