v0.7.4 — Multi-tab dashboard + plugin install via release assets
Highlights
The admin dashboard becomes multi-tab — name them, add new ones, drag your widgets where you want them. And plugin installs finally respect prebuilt release assets, unblocking the plugins that ship a clean source repo with dist/ shipped only on the GitHub Release page.
Features
- Multi-tab dashboard. The dashboard hosts multiple named tabs above the grid. Add a tab with the
+button, double-click a tab to rename, remove the active one in edit mode (the last remaining tab is locked so you're never empty). Widgets stay unique across the whole layout. - Reset confirm modal. The Reset-to-default action moved out of the toolbar into a proper a11y-aware modal (Escape, focus-trap, focus-return) and only renders in edit mode where it belongs.
Fixes
- Plugin install respects release assets. The Discover-tab installer used to hardcode
tarball/HEAD— GitHub's auto-generated source archive that omits gitignored build outputs. Plugins that shipdist/as a Release asset (the recommended pattern) would land an unbuilt tree and fail withCannot find module .../dist/index.js. Oscarr now resolves the install URL via the GitHub Releases API: the first.tar.gzasset on the latest release wins, with a fallback totarball/HEADfor plugins that still commitdist/to their repo.
Docs
- Plugin release workflow. docs/plugins.md grows a Releasing a plugin section with a copy-paste GitHub Actions workflow that builds, packs and uploads a tarball asset on every
v*tag — so future plugin authors land on the asset path by default and stop polluting their git history with built code.
Schema migration
The dashboard layout schema bumps to v2 (tabs). Existing v1 layouts are auto-migrated on the next GET into a single Main tab — the row is only rewritten on the next save. No DB migration required.
Full changelog: v0.7.3...v0.7.4
Upgrading
```
docker pull ghcr.io/arediss/oscarr:0.7.4
```
or
```
docker pull ghcr.io/arediss/oscarr:latest
```