Release version management: single VERSION file as source of truth
- VERSION at repo root (0.1.2); bump it to cut a release - App: generated AppVersion.kt (config-cache-safe Gradle task with VERSION as declared input) shown in Settings; sent to the gateway via X-Iris-App-Version header on the SSE open - Gateway: reports its own version in hello.ack server_caps.app_version (read from the repo-root VERSION via the plugin symlink); stores the app's version in the device registry caps (merge, not overwrite, so an old app reconnecting without the header doesn't wipe it) - Settings: app + gateway version rows, mismatch hint, and a best-effort Gitea latest-release check (ReleaseCheck) with an 'update available' hint - Release workflow: reads VERSION from the repo (no manual input), with a guard against an empty file - Docs: frames.schema.json + 04-wire-protocol.md updated for app_version
This commit is contained in:
1 parent
f3f1b37221
commit
fb980d12b4
17 files changed
+422
-37
No files matched your search
@@ -135,6 +135,7 @@ from .setup import (
|
||||
validate_config,
|
||||
)
|
||||
from .tool_frames import ToolProgressHandlers
|
||||
from .version import plugin_version
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -778,6 +779,9 @@ class IrisAdapter(
|
||||
self._push.server_url if isinstance(self._push, NtfyBackend) else ""
|
||||
),
|
||||
"pickers": True, # picker.choice / picker.select (slash-command menus)
|
||||
# Release version from the repo-root VERSION file (version.py);
|
||||
# the app shows it in Settings and hints on app/gateway mismatch.
|
||||
"app_version": plugin_version(),
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user