> ## Documentation Index
> Fetch the complete documentation index at: https://docs.genesiscomputing.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v1.19.85

> Genesis Data Agents v1.19.85 release notes

## Genesis v1.19.85 Release Notes

**July 31, 2026**

Microsoft Teams for Snowflake-hosted deployments, a new DuckDB connection type, a native ServiceNow connector, custom scanners for the Context Graph, and reliability and security improvements across connections, chat, blueprints, and platform operations.

#### Microsoft Teams for Snowflake Deployments

Teams users can now work with Genesis agents running inside Snowflake, not just on self-hosted and cloud deployments.

* **Inbound Teams messages reach Genesis agents running in Snowflake.** A supported relay bridges the Microsoft Bot Framework to Snowflake's authenticated ingress, so a direct message in Teams starts a thread and the agent's reply is delivered back into the Teams chat.
* A **Microsoft Teams configuration page** handles external-access approval and assignment in the app — no manual SQL and no manual reference creation, on both upgraded and freshly installed Snowflake apps.
* **Teams credentials can be managed in the app** instead of being set outside the product.
* **Adaptive Card actions** now work instead of failing, and duplicated inbound activities produce exactly one thread and one reply.

#### Connections and Data Access

New connection types and more accurate behavior for restricted and mixed-database environments.

* **DuckDB is a new connection type.** Administrators can register a `.duckdb` file as a first-class database connection, run a connection test, and have agents query it from chat. Browsing DuckDB schemas and tables from the **Data** page is not included in this release and is planned as a follow-up; use agent queries in the meantime.
* **Snowflake queries honor the caller's own default warehouse** in Restricted Caller's Rights deployments, so permission-scoped SQL runs on the warehouse the caller expects instead of the service account's.
* **Restricted Caller's Rights connections no longer trigger false OAuth recovery prompts**, and an OAuth recovery deep link is now subject to the same edit-permission check that guards the equivalent action in the connections list.
* **Encrypted connection status survives transient Snowflake outages** instead of falsely reporting connections as disabled, and secret setup flows stay usable during a status outage.
* **The Snowflake app upgrade preserves the existing encryption key**, so connections configured before the upgrade keep working afterwards.
* A native **ServiceNow connector** lets agents query and automate ServiceNow records without custom API wiring.
* **dbt Cloud** secret references resolve before API calls, so agents can reach dbt Cloud projects reliably.
* **GitHub App** pull-request creation and repository listing work when the enterprise URL is set to `github.com`.
* Snowpark via `execute_python_code` on SQLite-backed deployments **fails fast with a clear message** instead of a misleading SQL syntax error, and stage failures name the database that could not be reached.
* Repeated query markers in agent-issued SQL are normalized so session-scope protections apply reliably.

#### Context Graph

Operators can publish metadata from systems Genesis does not natively scan, and repository scanning covers more than code.

* A **custom scanner framework** provides namespace schema, validated create/read/update/delete, a serialized scan model, and custom source registration for publishing external system metadata into the Context Graph.
* Agent guidance, skills, blueprints, and tool documentation let agents author and run custom scanners without hand-holding.
* The Git scanner now indexes **documentation files** alongside code, so prose and configuration in repositories appear in search and lineage.
* Native scans track **scan identifiers** consistently for downstream reconciliation and wiki integration.

#### Agents, Tools, and Git Workflows

Agents recover more gracefully from repository problems and report failures instead of hiding them.

* **Managed sources for agent definitions** let administrators register canonical agent packages instead of relying on ad hoc file paths, and agent artifacts can be **authored and updated through the platform** with version control and access boundaries.
* **File search reports what was scanned** and surfaces real errors instead of a blanket "No matches found."
* The file tool's **copy action respects the overwrite flag** as documented.
* Git file tool errors report the failed operation, file path, and stack trace for faster diagnosis.
* **Concurrent agent Git work no longer fails** on `.git/index.lock` when multiple workstreams touch the same repository.
* A single **damaged Git object no longer blocks every commit** in a repository with no remote, or produces a commit with the wrong file contents.
* Automated flows can **recover Git checkouts** stuck behind squash-merged branches without manual intervention.
* Large file previews **warn when content is truncated** so users know they are not seeing the whole file.

#### Blueprints

Cross-environment blueprint promotion is safer and preserves history.

* Importing a blueprint from another environment creates a **new version under the same name** instead of a duplicate identity, and blueprints keep their identity across a ZIP export and re-import with explicit collision handling.
* Version imports are **auditable**, and promoted content appears in the blueprint catalog immediately.
* The blueprint **import history and promotion** view shows what was imported, when, and from where.
* The blueprint wizard no longer fails when a provider returns a valid but partially-compliant response.

#### Chat and Threads

Chat continuity, export, and navigation hold up better under network stress and long sessions.

* **Save as** on any assistant message exports the response as PDF, Word, HTML, or Markdown without copying out of the thread.
* Thread history **loads over REST when the WebSocket is down**, so opening a thread by direct link still shows its history during connection issues.
* The message **copy button is reachable again**, and the fork toolbar no longer flickers on hover.
* Download links in messages no longer swallow trailing text into the URL.

#### Missions and Genesis Apps

* **Cancelling a mission before it starts now sticks** — a mission queued for cancellation no longer starts anyway.
* **Mission Replay totals reflect active time**, capping the residual idle gaps that previously inflated a mission's reported duration.
* Presenter controls **connect demo walkthroughs** so scenarios chain without manual navigation, and presenter sessions stay stable across browser tabs.
* The Genesis Apps listing no longer aborts when the registry contains a non-canonical key.

#### AI Providers and Documents

Provider configuration and document indexing are more predictable across provider switches and credential updates.

* LiteLLM Proxy stays usable **after switching providers** without a server restart.
* Duplicate provider creation is refused **before** the submitted API key is written.
* A failed provider save **keeps the prior credential** instead of leaving an empty or partial configuration.
* OpenAI embedding calls succeed when LiteLLM Proxy is the active provider.
* On Cortex-active installs, **saving an invalid Cortex PAT now fails the save** instead of reporting success and overwriting the working credential.
* Registering a Cortex provider **no longer silently pins a default model** the operator never chose; the catalog default stays in effect until a model is explicitly selected.
* **Document indexes stay visible** after moving the OpenAI provider key into application configuration — documents indexed before the upgrade remain searchable after it.

#### Platform Operations

Snowflake-hosted deployments recover from and explain their own stalls, and operator surfaces are clearer.

* **A stalled log-file write can no longer hang the server.** Logging that blocks on a slow or stuck volume is isolated instead of stopping request handling, which removes a recurring cause of unresponsive Snowflake deployments.
* **Wedge diagnostics keep being emitted after the main process hangs**, so a stall is recorded in the exportable event table with enough detail to diagnose it — rather than the deployment simply going silent.
* Snowflake browser-authentication failures **fail loudly** when ingress rejects them, instead of failing quietly.
* The scheduler WebSocket accepts a **higher message limit** for long-running job streams.
* The sandbox monitor **distinguishes dormancy from stopped** and closes a lost-wakeup race that could leave sandboxes appearing stuck.
* The CWA Monitor page shows a readable error banner instead of an unreadable "Network Error" message.

#### Security

* **A database error during sign-in now fails the request** instead of proceeding with an incorrect user identity — an authentication path can no longer resolve to the wrong account when the directory lookup fails.
* **Git credentials are never written into a shared clone's configuration**; they are injected per operation and scoped to it, closing a window where concurrent operations could read or corrupt each other's credentials.
* Container base images include **dependency and operating-system updates** addressing known vulnerabilities in bundled components, including `libexpat`.

### Deployment Artifacts

Use these exact references when deploying this release:

* **Genesis release:** `v1.19.85` (promoted from `v1.19.85-rc.12`)
* **Docker Hub image:** `genesiscomputingai/genesis:v1.19.85`
* **Docker Hub digest:** `genesiscomputingai/genesis@sha256:04dfa2ef8f79deeecfc601e8f22bc4bc60df82c1f597d915781f5396312b3250`
* **Helm chart:** `oci://registry-1.docker.io/genesiscomputingai/genesis`
* **Helm chart version:** `0.3.64` (`appVersion: v1.19.85`)

### Upgrade Notes

* **Microsoft Teams on Snowflake:** After upgrading, open Configuration → Microsoft Teams, approve the Teams Bot Framework external access, and assign it to the running service. Send a direct message to the bot from Teams and confirm a thread appears and the reply arrives back in the Teams chat. Send the same message twice quickly and confirm one thread and one reply.
* **DuckDB:** Register a `.duckdb` file as a connection, run the connection test, and ask an agent to query a table in it. Data-page browsing for DuckDB is not available in this release.
* **Snowflake connections:** In a Restricted Caller's Rights deployment, run a query as a restricted caller and confirm it uses that caller's default warehouse. Confirm no OAuth recovery prompt appears for those connections. After a Snowflake app upgrade, confirm existing encrypted connections still test successfully.
* **Context Graph:** Register a custom scanner source, run a scan cycle, and confirm the new metadata appears in search. Run a Git scan and confirm documentation files are indexed alongside code.
* **ServiceNow:** Configure the ServiceNow connector and run a test query or automation from chat.
* **Managed agent artifacts:** Register a managed agent source and confirm an agent definition authored through the platform is picked up from it.
* **Blueprints:** Import a blueprint from another environment and confirm it creates a new version under the existing name with auditable history. Export a blueprint to ZIP, re-import it, and confirm identity is preserved and collisions are reported explicitly.
* **Chat:** Use **Save as** on an assistant message and confirm the PDF, Word, HTML, and Markdown exports. Open a thread by direct URL while the WebSocket is unavailable and confirm history still loads.
* **AI Providers:** Switch providers and confirm LiteLLM Proxy works without a restart. Attempt a duplicate provider create and confirm nothing is written; force a validation failure on a save and confirm the prior credential survives.
* **Snowflake-hosted deployments:** After upgrading, export the event table and confirm wedge-diagnostic entries are present and readable.
* **Validate after upgrade:** Send a test chat message, run a query against each configured connection, and confirm provider status on the AI providers overview page.

***

**— The Genesis Team**
