Skip to content

Releases: EastStarAI/sanad-agent

Sanad v1.0.19

Choose a tag to compare

@github-actions github-actions released this 22 Oct 17:28
5e56409

Sanad 1.0.19

Sanad 1.0.19 is a patch release that restores the Sanad Web app and makes the model catalog command report exactly what you ask for.

Client interface

  • Sanad Web opens again. In 1.0.18 the Web app stopped on the splash screen because startup read a desktop-only setting that browsers cannot provide. The desktop-only sanad-client endpoint is now set up only on desktop, so Web and mobile start normally, and desktop behaviour is unchanged (#262).

Command line

  • sanad models honours its filters. --provider selects one configured provider by id, template, or name, --model narrows the list to one cached model, and --json prints a single machine-readable catalog. An unknown or ambiguous selector now fails with a clear message instead of silently listing every provider (#261).
  • Shell loops keep their input. sanad run --no-stdin leaves piped input alone, so a while read loop that runs sanad run once per line no longer stops after the first iteration (#261).

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.19 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.19 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 20 corresponds to marketing version 1.0.19.

Sanad v1.0.18

Choose a tag to compare

@github-actions github-actions released this 22 Oct 06:55
ecbb442

Sanad 1.0.18

Sanad 1.0.18 turns remote delegation into a first-class workflow, makes execution authority and secret handling explicit and scoped, and closes a long list of reliability defects in compaction, session queueing, CLI session control, session history, and the desktop Client.

Reliability

  • Compaction targets a whole request. Compaction now aims at a whole-request target and runs a pre-send fit check, so the next request (system, tools, summary, retained tail) fits the model window before it is sent (#247). Compaction passes get their own response budget, overflow compaction respects the per-run breaker, and a failed summary no longer leaks provider text or loses attempt usage (#236).
  • No false compaction failures. A manual /compact that outlives the gateway request window reads as pending and then reports its real outcome, instead of showing an error toast while the compaction keeps running (#228). sanad session compact likewise waits for the real compaction outcome instead of returning early (#253). A session that restarted mid-compaction no longer stays locked out of compaction, and token estimation is calibrated against the real window (#210).
  • A refused turn no longer blocks the session. When the daemon refuses a turn before it starts, the session queue is released so the next turn is not stuck behind it, and the refusal is reported as one clean reason line instead of a generic failure (#253). sanad run ends at once when the daemon blocks the turn, so a delegated run cannot hang on a turn that will never start (#253).
  • CLI session stop tells the truth. sanad session stop reports success only after a bounded re-read confirms the session is idle, names the addressed run, and releases the owner's in-flight projection plus that session's suspended checkpoints and runtime notice. sanad session show no longer reports running from a stale snapshot when the durable execution is idle, and the Client no longer shows a CLI-stopped session as an error (#259).
  • Waits and history survive restarts. A conversation parked on a user-input question or a pending permission prompt keeps that wait across a managed restart and a forced kill (#215). History rewrites update rows in place, so message identity, compaction boundaries, and completed compaction state survive image pruning, provider-state clearing, and steer stamping; recovery summarization is bounded per pass (#233).
  • Earlier answers keep their footer. Final answers retain their tokens/model/duration footer and the Fork control after reload, because terminal classification is session-scoped and the terminal stamp is no longer erased by a stale cached rewrite (#238). Fork markers and automatic-failover notices appear exactly once, at the position they had live, on every reload and history page (#241).
  • Provider routes stop failing long runs. Each request is projected into the destination route's valid wire form across mixed-provider tool history (#232), OpenCode Go models are dispatched on their per-model wire protocol (#234), and same-route tool turns replay an empty reasoning_content where the route requires an echo (#251).
  • A Client always lands on a usable device. A remembered device that cannot appear no longer leaves the Client waiting indefinitely, a cloud reconnect repairs itself without a restart, and a failed request is never presented as an empty success (#248).

Windows

  • Non-ASCII shell arguments arrive intact. The Windows execution wrapper switches to UTF-8 code page 65001 before running the command, so Arabic and other non-ASCII arguments no longer reach the child as mojibake; shell_execute also reports exit_code when the command exits on its own (#255).

Remote delegation

  • sanad-client remote relay. A canonical device.cli.execute contract with streamed stdout/stderr/event events, one terminal result, cancel forwarding, and Home-scoped discovery; one CLI owner per Sanad Home; a disabled-by-default loopback host with an owner-only runtime record; default and full_access modes approved through the existing Client permission surface; local-device exclusion; and fail-closed behaviour when nothing owns the Home (#188).
  • Relay behaves predictably. The relay window follows --timeout (plus a 30 second margin, 300 second default) instead of a fixed 300 seconds; a background run started with --brief-file, --prompt, or a positional prompt no longer waits on an open stdin, and host-local input uses --stdin; a pending approval prints one status line; and a relay that ends without a terminal result exits 1 with a diagnostic instead of reporting success (#256).
  • Remote workspace picker. A Client connected over the cloud can browse, pick any nested folder, and create, rename, and delete folders inside <SANAD_HOME>/workspaces. The Agent enforces the confinement itself and never trusts the Client; local connections keep the native macOS picker (#239).
  • Supervised delegation to another device. The supervisor accepts sanad-client -d <device-id> run ... tasks, streams relay stdout into the run directory, reuses the local timeline handler, and maps exit codes 124, 130, 69, and 77 to timeout, cancelled, and blocked, with a missing envelope treated as incomplete (#252).

Security and secrets

  • Command authority is scoped per turn. Workspace permission authority is daemon-private, each turn records its own command authority in session metadata, the authenticated cloud client is trusted like the local client, and protected or unreadable policy is refused before approval (#245).
  • Children get the policy environment and nothing else. Shell and MCP children spawn with exactly the policy environment; .env redaction gaps are closed; Git config injection and interpreter path overrides are rejected (#245).
  • Workspace policy is one scope per folder. Policy scope is derived from the validated tool root, duplicate records of one folder are a single scope, removed workspaces delete their policy, and policy changes (grants included) are announced to every client. sanad ws policy shows execution mode and host discovery, and the Client gets a localized Full Access confirmation and workspace security settings (#245).
  • Secrets are requested, never inferred. User-provided secrets live in a dedicated vault namespace; shell_execute injects only the secret names the call lists explicitly; responses resolve through an owner-only, value-free boundary that never carries a value back through the model or a tool result; request, list, and delete tools are owner-only; values are collected in a localized masked composer card; and the terminal CLI never answers a secret request (#246).
  • Skill installs stay screened. A skill declares the remote hosts its installer may execute and the install path honours that declaration; anything undeclared stays blocked (#222).
  • --home is honoured before any Home access. A sanad … --home <dir> invocation can no longer migrate the default Home or move its provider and MCP secrets, and an inherited SANAD_STATE_HOME no longer splits identity from state (#249).

Command line

  • Skills lifecycle. sanad skills list|add|remove|update installs a third-party Agent Skill from a public source with recorded provenance, collision protection, and content screening, needing no git binary or credentials (#220).
  • Schedules. Recurring schedules are created, listed, updated, and cancelled through one schedule_task tool that also reports the active zone, and sanad schedule list is a real read-only listing (#240).
  • Updates and services. sanad update prints the failed trust stage plus platform-appropriate installer guidance, the new read-only sanad service definition reports the installed service definition, and version and help queries no longer create or change a Home (#242).
  • Multi-chunk file edits. file_edit accepts several non-contiguous chunks in one atomic, pre-validated call with overlap detection and preserved CRLF/LF endings, while single-edit calls stay unchanged (#216).
  • Matching versions. sanad-client --version reports the release version, so the relay tool and the Client it drives no longer disagree about their shared version (#258).

Client interface

  • Navigation lands where you asked. Back and Forward reach the intended conversation instead of falling back to a New Conversation when the target sits outside the loaded pages (#217).
  • One tray icon. The tray exposes a single icon per process using the platform menu-bar artwork, instead of leaking one icon per restart and rendering an opaque square (#218).
  • macOS stays running. Closing the window no longer terminates the app: the Client keeps its sockets, Agent link, and CLI endpoint, and reopens from the Dock (#221).
  • One input path for files and media. Paste, drop, and the + picker share a single router, macOS Cmd+V image and file pasting works again, Shift+Enter newlines are preserved, file references render as inline chips, images open in a lightbox with download and a media cache, and remote attachments are disclosed (#244). Tool image results are typed and durable through view_image and a hosted media relay, so a Client on another device can attach an image and fetch accepted media (#201).
  • Refused sends are recoverable. A refused first turn releases the draft's pending marker, keeps the text, and restores it in the composer; the refusal reason survives an authoritative history swap, and a session opened by id no longer pins its header on "Loading..." (#253).
  • Drafts keep their route. A New Conversation draft keeps its provider route and explicit thinking level across restart instead of blocking Send until a model is picked again (#231).
  • Edits and diffs read correctly. Multi-chunk edits render each hunk at its real position, and the file tool tile no longer prints per-ev...
Read more

Sanad v1.0.17

Choose a tag to compare

@github-actions github-actions released this 15 Oct 04:35
2114da3

Sanad 1.0.17

Sanad 1.0.17 adds confirmed account deletion from the Client Profile, with clear localized explanations of what is removed and what stays on your Agent (#204).

Highlights

  • Confirmed Account Deletion: Delete your Sanad cloud account from Profile after an explicit confirmation. Cancelling leaves the account unchanged.
  • Local Data Preserved: Account deletion does not erase Agent-local files or conversation history.
  • Truthful Deletion Outcomes: The Client distinguishes confirmed deletion, temporary unavailability, and an unknown outcome when a response is lost; it does not silently retry a destructive request.
  • Arabic and English Guidance: Localized confirmation and provider-owned guidance explain the account and Apple authorization boundaries without claiming that Apple authorization was automatically revoked.

There are no Agent runtime changes in this patch; Agent artifacts retain the shared release version.

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.17 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.17 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 18 corresponds to marketing version 1.0.17.

Sanad v1.0.16

Choose a tag to compare

@github-actions github-actions released this 12 Oct 18:10
f3ced52

Sanad 1.0.16

Sanad 1.0.16 introduces conversation history search, provider-aware thinking mode and route controls, daemon lifecycle and interactive wait preservation, tool timing telemetry, context compaction safety, and Linux unprivileged installation improvements.

Highlights

  • Conversation History Search: Added dedicated conversation history search with localized interface controls (#147, #199).
  • Thinking Mode & Route Controls: Integrated provider-aware thinking mode configuration and model route controls within the agent engine (#194).
  • Daemon Lifecycle & Interactive Waits: Preserved interactive user-input wait states across managed daemon stops and prevented duplicate session stop acknowledgment recovery (#196, #197).
  • Tool Timing & Execution Telemetry: Tracked detailed tool execution duration and exposed execution timings in shell execution results (#192).
  • Runtime Healing & Terminal Validation: Added self-healing recovery for stale runtime instances, enforced deterministic process identity, and improved result data fidelity (#190, #191).
  • Context Compaction & Limit Safety: Resolved local model context boundary resolution and hardened context compaction thresholds (#193).
  • Linux Client Agent Installation: Streamlined Client Agent installation on Linux without requiring root privilege elevation (#198).
  • Navigation & History Stability: Guarded navigation history loading and deduplicated sidebar workspace refreshes (#189).

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.16 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.16 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 17 corresponds to marketing version 1.0.16.

Sanad v1.0.15

Choose a tag to compare

@github-actions github-actions released this 24 Sep 04:35
741f4ba

Sanad 1.0.15

Sanad 1.0.15 is a desktop client refinement release that prevents redundant device-capabilities fetching and restores the sidebar hover expansion trigger (#186).

Highlights

  • Device Capabilities & Sidebar Navigation: Prevented redundant capabilities network requests on device state changes and restored sidebar hover expansion trigger (#186).

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.15 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.15 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 16 corresponds to marketing version 1.0.15.

Sanad v1.0.14

Choose a tag to compare

@github-actions github-actions released this 24 Sep 03:27
eaddfa5

Sanad 1.0.14

Sanad 1.0.14 brings Windows-first performance optimizations, native terminal CLI delegation, Arabic and English multilingual UI enhancements, and desktop client refinements.

Highlights

  • Appearance Synchronization & Theming: Real-time theme, color, and font sync across local and cloud socket transports with stale-while-revalidate caching on agent switch (#183).
  • Windows-First Performance & Efficiency: Reduced CPU and GPU utilization with optimized static indicators, headless daemon execution without console allocation, and turn request deduplication (#168).
  • Native CLI Delegation & Recovery: Standalone terminal CLI runner (sanad run) with automatic session recovery and OpenCode compatibility (#148, #149, #150).
  • Multilingual UI & RTL Support: Full interface localization in Arabic and English, dynamic layout directionality, and agent appearance customization (#174).
  • Client & Desktop Refinements: Activity panel with tool execution timer (#175), enhanced model picker (#177), desktop window work-area constraints (#176), and smoother delta streaming (#173).
  • Agent Engine & Context Reliability: Default context compaction threshold raised to 90%, safe context limit resolution, and automated database maintenance (#153, #163).

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.14 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.14 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 15 corresponds to marketing version 1.0.14.

Sanad v1.0.10

Choose a tag to compare

@github-actions github-actions released this 14 Sep 18:33
f0b92b9

Sanad 1.0.10

Sanad 1.0.10 adds secure account session and device management, authoritative cross-transport delivery presence, and stronger multi-runtime development reliability.

Highlights

  • Sessions & Devices Management: The Client now exposes account sessions and registered devices with stable Client identity, clear status, and secure revocation controls.
  • Immediate Distributed Revocation: Revoking a Client session or Agent device propagates through the hosted system and disconnects the affected runtime without weakening tenant isolation.
  • Authoritative Local/Cloud Delivery: Device-interest snapshots and presence leases keep Local and Cloud command routing explicit, prevent duplicate egress, and preserve remote-device availability.
  • Trusted Command Origin: Backend-derived command origin is propagated to the Agent instead of trusting caller-supplied identity.
  • Reusable Multi-Runtime Tooling: sanad-dev now has a standalone package boundary and improved source-matched runtime ownership for reliable macOS, Web, and iOS development and validation.

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.10 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.10 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 11 corresponds to marketing version 1.0.10.

Sanad v1.0.9

Choose a tag to compare

@github-actions github-actions released this 08 Sep 23:41
a6e48f5

Sanad 1.0.9

Sanad 1.0.9 introduces provider-backed multilingual context compaction, causal turn identity and steer ordering, and streaming markdown formatting fixes.

Highlights

  • Provider-Backed Multilingual Context Compaction: Conversation compaction now summarizes using the active provider model with structured JSON validation, ensuring high-quality semantic summaries across Arabic, English, and multilingual conversations (#139).
  • Authoritative Turn Identity & Steer Ordering: Live execution events propagate causal turn, run, and step IDs, while steering inputs are anchored to durable tool-call references. Timeline reconciliation prevents duplicated messages on reopen and unifies replay confirmation into a single dialog (#142).
  • Streaming Markdown Heading Preservation: The Client preserves structural whitespace and newline chunks during assistant streaming, preventing markdown headings from collapsing into preceding body text (#143).
  • Workspace Cache Consistency: Removed workspaces are immediately invalidated from device-scoped cache, preventing stale background refresh responses from restoring them (#138).
  • Provider Routing & Attribution: Added session affinity headers for OpenCode provider requests and canonical application attribution for OpenRouter requests (#140, #141).

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.9 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.9 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 10 corresponds to marketing version 1.0.9.

Sanad v1.0.8

Choose a tag to compare

@github-actions github-actions released this 05 Sep 16:13
5a52fd3

Sanad 1.0.8

Sanad 1.0.8 is a focused reliability release that lets newly discovered provider models use their advertised context windows and refreshes Client markdown rendering.

Highlights

  • Dynamic Provider Context Windows: Agent runtime now consumes the selected provider instance's revision-matched catalog metadata before falling back to general provider metadata. Newly discovered models can use their advertised context window without model-specific code, while explicit config.yaml overrides remain authoritative (#136).
  • Safer Context Compaction: High request pressure no longer causes a turn failure when the active conversation projection has no older source head available to compact (#136).
  • Maintained Markdown Rendering: The Client now uses the actively maintained flutter_markdown_plus package across conversation and web-tool markdown surfaces (#135).

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.8 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.8 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 9 corresponds to marketing version 1.0.8.

Sanad v1.0.7

Choose a tag to compare

@github-actions github-actions released this 02 Sep 23:59
82aacd1

Sanad 1.0.7

Sanad 1.0.7 is a reliability and workflow release that makes conversation history and replay more durable, strengthens Agent execution recovery, and expands secure remote and headless operation across supported platforms.

Highlights

  • Durable Conversation Replay and History: Adds materialized conversation forks, long-history pagination, hydration reconciliation, and live-history synchronization for replay actions. Mobile loading failures now preserve the app bar and keep the activity overlay below the header (#125, #127, #128, #130, #131).
  • Safer Agent Execution and Recovery: Prevents controlled restarts from replaying active provider requests, adds run-scoped cancellation and stop parity, contains provider model-refresh failures, compacts context using durable model-aware state, and recovers safely after forced shutdown (#112, #117, #118, #123, #124).
  • Secure Remote and Headless Operation: Adds durable Linux headless Agent installation and secure device-scoped workspace and MCP control, while hardening Windows Client upgrades (#119, #120, #121).
  • Desktop and Authentication Reliability: Preserves compact-window positions and menu-button hover navigation, avoids the affected macOS Impeller crash path, and prevents post-login routing loops (#107, #109, #114).
  • Repeatable Release Delivery: Introduces deterministic cross-platform release identity preparation and fail-closed verification before protected builds and the final publication decision (#132).

This release was built from tagged public source by the protected Sanad release workflow. Verify downloads against SHA256SUMS, release-manifest.json, and GitHub build provenance before installation.

Warning

Unsigned Windows build: Sanad Agent and Sanad Client 1.0.7 artifacts for Windows x64 intentionally do not carry Authenticode signatures. Windows Defender or SmartScreen may show an unknown-publisher warning. Download only from this official EastStarAI/sanad-agent release, verify the manifest, file size, SHA-256, and GitHub provenance, and do not disable platform protection. Windows release gates run on Windows 11; Windows 10 has not been validated. The Client update package remains signed separately with WinSparkle DSA; that update signature is not Authenticode and does not establish a Windows publisher.

macOS and Android artifacts use their documented platform signatures. Linux and Windows artifacts are bound to the release through checksums, the immutable manifest, SBOM, and GitHub attestations.

Note

iOS Internal TestFlight only: The iOS artifact for 1.0.7 is distributed exclusively to internal TestFlight testers of the NanoSoft LY LLC team. It is not included in public downloads and is not available through the public App Store. Build number 8 corresponds to marketing version 1.0.7.