Introduce a SERVER platform (tag token `server`) and a third release
scope alongside All / Targeted. A server-only release produces a
`vX.Y.Z+server` tag, which matches none of the per-store publish jobs in
publish-release.yml, so no client app store upload runs while the server
distribution still builds and deploys out of band.
isPlatformReleaseTag now recognizes `+server`, so backout/revert clean it
up like any other release tag.
Pass -u gh-releases-zsync to appimagetool so the Linux AppImage carries
update metadata and emits a .zsync file, and upload that file to the
release. Closes#478
- Switch to FlatLaf (Darcula) for an IntelliJ-grade look and feel.
Lives in buildSrc only — never ships in the released app.
- Restructure the dialog into TitledBorder sections: Version,
Publish scope, Will push tag, Changelog.
- Replace the always-on checkbox grid with an All / Targeted scope
toggle. Full release (the common case) is now one click and shows
the bare vX.Y.Z tag; Targeted enables the per-store checkboxes.
- Make the computed tag the dialog's focal point — large monospaced
bold, italic + dimmed when no platforms are picked.
- Right-align Commit button, live-update window title to show the
version transition, bump frame size for more changelog room.
We've run into many problems where everything publishes fine, except 1 store. This provides a way to unblock that one store without pushing to the rest.