Hermex Android 1.1.0
Hermex Android 1.1.0
Hermex Android 1.1.0 is the stable culmination of every Android feature, parity, reliability, and maintenance slice shipped after 1.0.6. Nothing from the 1.0.7–1.0.19 series is omitted from this release.
Complete change log since 1.0.6
Settings, sessions, and composer parity (1.0.7)
- Added independent visibility controls for CLI, Claude Code, scheduled/cron, and delegated subagent sessions.
- Added configurable Main Page sections and chat controls, including Tasks, Skills, Memory, Insights, Active Profile, Projects, Files, and Git visibility.
- Added read-only provider status and provider/model details from the connected server.
- Added response-speed display and related chat presentation preferences.
- Added server-first, on-device-first, and on-device-only dictation choices with safe fallback behavior.
- Added reasoning-display command support and tolerant decoding for the related server settings.
- Improved session/settings synchronization and tolerant server-response handling.
- Stabilized Android visual-fixture capture coverage.
Playback, camera, and deep links (1.0.8)
- Added assistant-response audio playback with loading, play/pause, seeking, elapsed/duration display, stop, and four playback speeds.
- Added Android system media-session and notification controls for background playback.
- Added camera photo capture to chat attachments.
- Added copyable session deep links and shortcut/deep-link routing improvements.
Transcript media and adaptive layouts (1.0.9)
- Added playable and downloadable transcript audio.
- Added native transcript video previews and saving videos to the device gallery.
- Added downloads for arbitrary
MEDIA:files and recognition of extensionless media. - Expanded tolerant transcript-media parsing while preserving authenticated, session-scoped loading.
- Added a persistent two-pane Sessions/Chat layout on large-width Android devices.
- Added regular-width navigation and UI test coverage.
Scheduled sessions and task delivery (1.0.10)
- Added a collapsible Scheduled Sessions section with a preview, full-list view, and dedicated search.
- Added recognition and grouping of cron-prefixed sessions.
- Replaced task-delivery free text with server-provided delivery choices when available.
- Preserved custom and legacy delivery targets and retained a free-text fallback for older servers.
Streaming Markdown and transcript following (1.0.11)
- Rendered headings, lists, tables, math, links, and code as structured Markdown while a response is still streaming.
- Kept long streamed responses responsive by freezing completed Markdown blocks and reparsing only the active tail.
- Preserved the streamed-text suffix fade through completion and respected disabled system animations.
- Matched iOS transcript-following thresholds for idle and streaming responses.
- Added a manual-scroll cooldown so incoming tokens do not pull readers away from older messages.
- Restored follow-latest on explicit sends, caught up after in-progress scroll animations, and stabilized the compact composer and go-to-latest affordance.
Kanban foundation and read-only browsing (1.0.12)
- Added tolerant Kanban configuration, Board, column, Card, status, stats, and assignee contracts.
- Added Board browsing with local Board selection, Status Focus, search, filters, and profile grouping.
- Added unknown-status and partial-capability handling without breaking compatible Board content.
- Added cached/offline read-only Board behavior and explicit authentication, network, and incompatible-contract states.
- Added an isolated debug fixture route and deterministic Kanban scenarios used during staged validation.
Kanban live updates (1.0.13)
- Added authenticated Kanban SSE event streaming with polling fallback.
- Added event coalescing, cursor handling, reconnection timing, lifecycle/visibility ownership, and stale-event protection.
- Added delayed-live-update and offline notices while preserving the last usable Board.
- Prevented older or in-flight refreshes from overwriting newer Board state.
Kanban Card details (1.0.14)
- Added Card-detail navigation with Android Back-stack support.
- Added Markdown descriptions, metadata, comments, prerequisite/dependent links, operational events, and dispatch/run history.
- Added comment submission with canonical post-write reconciliation and no blind retry after an uncertain outcome.
- Added sensitive operational metadata behind explicit disclosure.
- Loaded worker logs only after explicit user action; discarded server filesystem paths and unknown event payload fields.
- Preserved loaded Card detail offline, marked it stale, and disabled writes until canonical reconciliation succeeds.
Kanban Card creation and editing (1.0.15)
- Added complete New Card and Edit Card flows.
- Added title, Markdown description, initial status, priority, assigned Profile, tenant, workspace kind/path, skills, maximum runtime, and initial prerequisite inputs where supported.
- Kept create-only execution fields visibly disabled when editing.
- Required confirmation for Ready + Unassigned creation.
- Preserved local drafts across concurrent remote edits and offered Reload Server Version or Review and Overwrite.
- Added idempotent creation retries, canonical ambiguous-write checks, and explicit Outcome Uncertain handling.
- Closed mutation controls safely for offline, stale, read-only, and partial-capability states.
Kanban workflow and dependencies (1.0.16)
- Added Card moves, structured Block/Unblock, Complete, Archive, and short-lived archive Undo.
- Prevented direct moves into Running and required confirmation for every action that exits Running.
- Added prerequisite creation/removal with the correct prerequisite → dependent relationship.
- Added optimistic per-Card mutations, same-Card serialization, and concurrent updates for unrelated Cards.
- Prevented SSE/refresh results from overwriting protected optimistic state.
- Reconciled ambiguous writes against canonical server state without automatic write retries.
- Isolated missing workflow capability from Card creation/editing.
- Fixed a Board-load race that could replace a Status selected during a Board switch.
Stream-liveness recovery (1.0.17)
- Forwarded SSE comment heartbeats as transport activity.
- Kept healthy long reasoning and tool-call pauses on their original connection without false Checking state or unnecessary status polling.
- Added recovery for truly byte-silent connections so they cannot hang forever.
- Retained status-poll cooldowns and used the iOS-equivalent 18-second reconnect threshold, extended to 25 seconds while a tool is active.
- Let fresh heartbeats clear obsolete Checking state without hiding a real Reconnecting state.
- Rejected stale mid-poll status results after newer transport or semantic activity.
Late iOS parity synchronization (1.0.18)
- Replaced unsafe Tailscale setup defaults with a state-aware flow that preserves existing Hermes and Tailscale state.
- Kept hermes-webui on
127.0.0.1, never enabled Funnel automatically, and preferred private Tailscale Serve HTTPS only when the root listener was free. - Kept
0.0.0.0and plain HTTP as explicit manual fallbacks. - Rendered
.md,.markdown,.mdown, and.mkdworkspace previews through the shared Markdown renderer. - Added selectable Markdown workspace text and whole-file Copy while preserving raw monospaced previews for other text files.
- Recognized whitespace-delimited bare
file://assistant artifacts outside inline/fenced code. - Percent-decoded server-local paths, preserved surrounding prose/punctuation and export filenames, and reused authenticated session-scoped media loading.
- Updated Android localization catalogs across all 18 bundled locales.
Production Kanban completion and activation (1.0.19 / 1.1.0)
- Added a normal, default-visible Kanban destination directly after Tasks, with the matching Columns3 icon.
- Added the Kanban visibility toggle under Settings → Main Page.
- Connected the production destination to the real authenticated server repository while keeping fixture routes debug-only.
- Added Board-scoped Card selection and bulk Change Status, Assign Profile/Unassigned, Set Priority, and Archive Cards.
- Added bounded canonical bulk reconciliation, partial-success retention, Retry Failed, uncertain-result checking, and Running/archive confirmations.
- Added Board creation, editing, archiving, and Make Active with immutable slugs, required-field validation, default-Board protection, and shared-state confirmations.
- Serialized Board writes against Card workflow, bulk actions, and Dispatcher activity.
- Kept local browsing independent from the server's active Board and handled removed/remote Boards safely.
- Added advisory Preview Dispatch and confirmed Run Dispatcher flows with maximum-eight handling and count-only result presentation.
- Prevented automatic Dispatcher write retries; reconciled the Board collection and snapshot after every run or ambiguous outcome.
- Preserved known Dispatcher results across failed refreshes, handled removed Boards, marked stale previews, and isolated missing Dispatcher capability.
- Isolated missing comments, bulk, Board-management, Dispatcher, and workflow capabilities from otherwise compatible Kanban features.
- Added exact seven-day session/message cache expiry and an independent 5,000-message cap per server, with direct Room integration coverage.
- Added the full Kanban contract, repository, controller, ViewModel, fixture, JVM, and API 35 managed-device test matrix.
Release engineering and repository hygiene
- Promoted Android to version name
1.1.0and version code30. - Updated Android store/release metadata for the stable feature release.
- Split oversized iOS
ChatViewmodifier phases into behavior-preserving subexpressions so the shared PR gate compiles reliably with Xcode 26.6. - Removed
.codex-remote-attachmentsand iOS reference-image artifacts from affected branch tips. - Added ignore rules for
.codex-remote-attachments/,ios_hermex_reference_images/, andios-hermex-reference-images/so they are not uploaded again. - Kept generated verification downloads and screenshots under ignored
.codex-tmp/storage.
Safety and compatibility
- Read-only, missing-capability, incompatible-server, offline, stale-cache, and ambiguous-write gates remain isolated by feature.
- Unknown JSON fields and independently evolving server shapes are decoded tolerantly.
- Mutating operations use canonical reconciliation and do not blindly repeat writes with uncertain outcomes.
- The production APK and AAB use the permanent Hermex release key and install over production-signed 1.0.x builds.
- GitHub APKs from 0.2.7 and earlier used a debug signature and may require one uninstall before upgrading.
Final release validation
- iOS/Android endpoint parity: 122 paths.
- Android localization parity: 1,288 keys from 1,179 iOS entries across 18 locales.
- Compose localization-literal validation passed.
- 517 Android JVM unit tests passed.
- 66 Android API 35 managed-device tests passed.
- Android release lint passed.
- Production-signed APK and AAB builds passed.
- Shared iOS build/test PR gate passed after the compiler-only modifier split.
- Isolated pinned Kanban server verification passed: 26 requests, 14 mutations, Dispatcher dry-run only, zero worker spawns, and temporary state removed.
Artifact verification
- Source commit:
99e35c3b3bbee8f5c31f9ad511334820b7b79f4b. - Merged to
masterin PR #3. - APK identity:
com.uzairansar.hermex, version code30, version name1.1.0, minimum API 26, target API 36. - APK SHA256:
82C8F391B90CFD6EE4345A311488C3F468E6CBC6E8A2F2A9CC4AE9B1EB0A59A3. - AAB SHA256:
12B485D97A2D008348F7D05AB7CA3544508231C2B09EA6D568825429B9263621. - APK v2 signing and AAB JAR signing verify.
- Release certificate SHA256:
5ACC44B1AE37A62EBEB30FAE033732E6DB146ABBA6B55949C3178BD51101772C.