📢 Changelog
🗓️ 2026-03-17
🌟 Improvements
- 🤖🐐 Artifact listings load faster, backed by a dedicated storage table instead of scanning thread message history. Artifacts are also cached before Workspace pauses so they remain viewable while paused
- Ascend Instance web API (Private Preview): new v1 endpoints for environments, projects, profiles, runtimes, and Otto providers. Contact your Ascend representative to enable for your Instance
🗓️ 2026-03-13
🚀 Features
- 🤖🐐 Context window usage visualization: Otto chat now displays context usage rings showing how much of the model's context window is in use, runtime pills indicating the connected Workspace or Deployment, and inline model name labels when the model changes between turns
🌟 Improvements
- 🤖🐐 Otto mid-run summarization no longer loses in-progress tool calls. Context window exceeded errors are now handled gracefully instead of aborting the conversation
🛠️ Bug fixes
- Fixed branch sync creating duplicate builds after backend restarts due to stale cache state
- Fixed DuckDB Data Plane errors when connections were closed while a Flow was still running
🗓️ 2026-03-11
🚀 Features
- Oracle thick mode: Oracle Connections now support a
thick_modeoption for features that require the Oracle thick client (e.g., Oracle RAC). Thin mode remains the default
🛠️ Bug fixes
- Fixed Microsoft SQL Server CDC failing on tables with
timestamp/rowversioncolumns. Type mapping now correctly treats these as binary data - Fixed DuckDB struct type parsing failing when struct field names contain spaces or special characters (e.g.,
STRUCT("Service ID" VARCHAR)) - Fixed onboarding greeting and navigation issues in the first-time user experience
🗓️ 2026-03-06
🚀 Features
- Connection resilience: a new status banner notifies users of connectivity issues (offline, reconnecting, session expired), with automatic SSE stream reconnection using exponential backoff, token refresh with retry on 401 responses, and graceful handling of paused Workspaces
🛠️ Bug fixes
- 🤖🐐 Fixed Otto responding with premature messages before the user had a chance to fill out a data collection form, by signaling the model to wait for user input after form presentation
🗓️ 2026-03-05
🚀 Features
- 🤖🐐 File uploads in Otto chat: attach images, documents, spreadsheets, and data files (CSV, Excel, Parquet) to Otto conversations via drag-and-drop, paste, or the attachment button. Otto can analyze uploaded files and query tabular data with SQL using a local DuckDB instance
- 🤖🐐 Save Applications to your Project: Otto-created Applications (formerly "artifacts") can now be saved as files in your repository and previewed in the Workspace editor, with a new query API replacing data bindings for Application data fetching
- Public REST API (Private Preview): new API endpoints enable programmatic Flow execution and runtime lifecycle management (pause/resume). See ascend-tools for our CLI, SDK, and MCP server
- Streamlined signup and onboarding: new Auth0-native signup flow replaces the previous form-based process, with a guided first-time user experience offering three paths — Expeditions (demo data), Upload Data, and Connect Data
- Module Component type: Application Components have been renamed to Modules in the SDK, with a
module:YAML tag and@moduledecorator. Simple Applications are now Blueprint Modules. Existingapplication:andcompound:YAML continues to work with full backward compatibility
🌟 Improvements
- 🤖🐐 Otto costs reduced by ~20% through non-blocking background title generation that uses only user messages instead of full conversation history
- 🤖🐐 Otto prompt quality improved with better search patterns, over-engineering guardrails, instruction reinforcement for long conversations, and a new component lineage tool for cross-Flow dependency tracking
- 🤖🐐 Agent Mode is now the permanent default — the Agent/Chat mode toggle has been removed, and file auto-save after edits is always enabled
- 🤖🐐 Otto AI provider settings now let you configure a default provider instead of a default model
- Service account creation dialog now displays credentials as copyable environment variables for easier CLI, SDK, and MCP setup
- Dashboard pages load faster
🛠️ Bug fixes
- 🤖🐐 Fixed Otto thread titles flickering to "New conversation" during streaming
- 🤖🐐 Fixed Otto chat input controls overflowing their container at narrow sidebar widths
- 🤖🐐 Fixed currency amounts like
$50in Otto responses incorrectly triggering KaTeX math rendering errors - Fixed DuckDB DuckLake connection browser not listing databases, schemas, and tables when using blob-backed metadata (S3, GCS, ABFS)
- Fixed temp table and connection leaks in the DuckDB/DuckLake Data Plane causing out-of-memory errors
- Fixed an infinite render loop in the editor tab container
🗓️ 2026-02-27
🚀 Features
- CDC support for Microsoft SQL Server: Read Components can now use Change Data Capture (CDC) for incremental reads from SQL Server tables, supporting merge and SCD Type 2 strategies
- 🤖🐐 Query auto-run with safety review: Otto can now automatically execute safe queries with a new auto-run toggle. A two-tier safety check (fast keyword scan followed by LLM review) reduces unnecessary approval prompts while still requiring confirmation for potentially destructive operations
- 🤖🐐 Single-Otto experience: Otto now seamlessly transitions between sidebar and fullscreen modes based on page context, replacing the manual "Move to sidebar" button with automatic layout management
- Files panel context menu: right-click the project header in the Files panel to create new files or folders at the project root, with improved selection clearing and paste error handling
🌟 Improvements
- 🤖🐐 Otto now gracefully handles build failures by falling back to the last successful build, and surfaces MCP server errors and rule template issues as warnings instead of crashing
- 🤖🐐 Updated Otto AI model catalogs across all providers, adding Claude Sonnet/Opus 4.6, Gemini 3.1 Pro, and correcting GPT-5.2 context limits
- 🤖🐐 Modernized Otto user message styling with a subtle tinted border design and improved URL rendering
🛠️ Bug fixes
- 🤖🐐 Fixed Otto SSE connections dropping unexpectedly during large conversations
- 🤖🐐 Fixed Otto's file and code search tools returning empty results for Projects nested in subdirectories of a Repository
- 🤖🐐 Fixed Otto email Automations failing when triggered without a user context
- 🤖🐐 Fixed Otto stealing keyboard focus from the user's current position when a response completes
- 🤖🐐 Fixed Otto user messages losing newlines between lines and bare URLs swallowing adjacent punctuation
- 🤖🐐 Fixed the Otto model dropdown showing an incorrect "(Default)" label on the alphabetically-first model instead of the server-configured default
- 🤖🐐 Fixed Otto artifact inline cards intermittently failing to render after creation
- 🤖🐐 Fixed Otto "thinking" indicator disappearing prematurely during tool execution, and smart links (
#component:name,#flow:name) showing "not found" after navigating away from the Workspace page - Fixed tests on Alias Components causing the UI to hang on "Waiting for build" indefinitely
- Fixed column case being incorrectly lowered on Snowflake when using uppercase columns, breaking downstream queries
- Fixed Automation run status not updating in real-time when Server-Sent Events were enabled
- Fixed graph centering not accounting for sidebar width, Flow switcher dropdown not switching the rendered graph, and activity panel expansion corrupting layout
- Fixed duplicate file uploads when dragging and dropping files into folders
- Fixed editor tabs (Compiled, Explore, Graph) appearing blank on initial Workspace navigation
- Fixed tab transitions causing crashes under heavy event load
🗓️ 2026-02-20
🚀 Features
- 🤖🐐 @file mentions in Otto chat — type
@to search and tag Project files as context, with autocomplete dropdown showing files with folder hierarchy and interactive file pills in messages - 🤖🐐 Otto now supports Microsoft Foundry as an AI model provider (Private Preview), configurable in AI settings with API base URL and API key
- New X-Small and 2X-Small runtime sizes available for Deployments
🌟 Improvements
- 🤖🐐 Improved conversation summarization to prevent Otto from restarting completed work after context compression in long conversations
- 🤖🐐 Improved thread event streaming reliability with proper event ordering, deduplication for new subscribers, and cleaner thread completion signaling
🛠️ Bug fixes
- 🤖🐐 Fixed Workspace auto-snooze interrupting active Otto chat sessions; snooze timer now resets during Otto interactions
- 🤖🐐 Fixed Otto Automations failing to extract assistant responses
- Fixed memory leak from orphaned event listeners on Server-Sent Events connections causing unnecessary reconnections
- Fixed build state not updating correctly during runtime state transitions
🗓️ 2026-02-13
🚀 Features
- 🤖🐐 Comprehensive markdown rendering overhaul in Otto:
- Improved code blocks with syntax highlighting, language labels, and line citations
- Mermaid diagram rendering with copy, PNG export, and fullscreen toolbar
- KaTeX math equation support (inline and block)
- GitHub-style alert callouts (NOTE, TIP, IMPORTANT, WARNING, CAUTION)
- Smart entity linking — type
#component:name,#flow:name, etc. — with rich hover previews and direct navigation - SVG rendering with lightbox preview, interactive tables, and table of contents sidebar
- 🤖🐐 Otto outputs are being renamed to Applications and are now discoverable in a dedicated Applications tab in the conversation sidebar, with search filtering and quick navigation to the originating conversation
- 🤖🐐 Otto now has awareness of your Project file structure from the start of each conversation, improving code analysis and assistance quality
- 🤖🐐 Conversation context summarization now displays real-time status and compression statistics (tokens saved, messages compressed) when Otto automatically optimizes conversation context
- S3 Connections now support custom endpoints and addressing styles for S3-compatible services such as DigitalOcean Spaces, Wasabi, and MinIO
🌟 Improvements
- Runtime pods are now shut down when an Instance is suspended, preventing unnecessary resource consumption
- Improved locked account messaging with contextual explanations for different lock reasons (credit overage, plan expiration, plan limitations)
- Improved Workspace startup and resizing reliability with better health tracking, graceful shutdown handling, and clearer error reporting during pod transitions
🛠️ Bug fixes
- 🤖🐐 Fixed AI provider settings (OpenAI, Azure OpenAI, Vertex AI, Google AI Studio, Bedrock) not displaying feedback when using verify, save, or clear buttons
- Fixed DuckLake regression when using PostgreSQL as the metadata catalog with a custom catalog name
- Fixed error viewing partitions on Snowflake caused by a column count mismatch between the partition view and the underlying table after metadata columns were added
- Fixed duplicate Project creation during first-time Instance setup caused by a race condition
- Fixed expand/collapse buttons on Flow and Application groups in the graph editor not responding to clicks
- Fixed plan downgrade flow for trial users failing to detect current plan level and collect payment information
- Fixed Repository SSH keys not consistently being stored in Vault
🗓️ 2026-02-05
🚀 Features
- 🤖🐐 Otto now supports Google Vertex AI and Google AI Studio as AI providers, enabling Gemini models with bring-your-own-key configuration
🌟 Improvements
- 🤖🐐 Improved conversation summarization to better preserve artifact content and provide more accurate status reporting during long conversations
- 🤖🐐 Added open-in-new-tab button to artifact cards for viewing artifacts directly in a new browser tab
- 🤖🐐 Improved error messages when MCP server connections fail, now showing the underlying server error instead of a generic "Connection closed" message
- 🤖🐐 Improved Otto chat response latency by caching project details and reducing synchronization delays
- 🤖 🐐 Improved Otto dashboard welcome screen with a more consistent layout for new and returning users
- 🤖🐐 Otto suggested prompts now transition from curated prompts to personalized OttoPilot suggestions after 8 conversations
- 🤖🐐 Otto chat input now shows connection status and disables input until connected
- Improved command palette (Cmd-K) search with fuzzy matching, theme switching actions, and keyboard shortcut improvements
- Improved in-app feedback modal with category selection — support requests are now directed to the Ascend Community Slack and documentation
- Faster CLI and runtime startup
- Faster Instance startup by running first-time setup in the background instead of blocking the login flow
- DuckDB Connections now support a
threadsconfiguration option for performance tuning, and validate that the memory limit does not exceed the runner process limit - The
max_filessetting inload_strategyis now honored during blob and Local File ingestion - Improved Databricks reliability by automatically retrying operations that fail with Delta Lake
MetadataChangedExceptionerrors
🛠️ Bug fixes
- 🤖🐐 Fixed Otto query failures when a build was still in progress — Otto now automatically falls back to the most recent successful build
- 🤖🐐 Fixed an issue where Otto could become unresponsive after the LLM generated invalid tool names
- 🤖🐐 Fixed
#autocomplete menu sometimes appearing at the wrong position on the page - Fixed partitioned Write Component failures on Snowflake and Databricks caused by incorrect column name casing in SQL partition queries
- Fixed ad hoc queries referencing cross-Flow data failing to resolve when using DuckLake
- Fixed cross-Flow references in DuckLake not correctly including all input dependencies
🗓️ 2026-01-29
🚀 Features
- 🤖🐐 Otto now executes SQL queries directly in chat:
- Two execution modes: auto-run (read-only queries execute immediately) and ask (requires user confirmation)
- Query results display in an inline data grid
- Open queries directly in worksheets for further exploration
- "Ask Otto" and "Fix" buttons added to worksheet results for seamless integration
- 🤖🐐 Otto creates rich interactive artifacts:
- Supports React components, HTML, SVG, Mermaid diagrams, code snippets, and markdown
- Inline clickable cards in chat with full modal viewer
- Version history with artifact browser to navigate all artifacts in a conversation
- Shareable URLs for direct linking to specific artifacts
- Artifacts can dynamically bind to query results with
window.refreshData()API
- 🤖🐐 Otto can switch context dynamically during conversations:
- Automatically wakes paused Workspaces when needed
- Type
#in chat input to quickly add Workspaces and Deployments to context - New prompt bubble guides users to add a runtime when none is selected
🌟 Improvements
- 🤖🐐 Otto conversations now sync in real-time across browser windows with automatic updates for creation, changes, and deletions
- 🤖🐐 Cancel running Otto requests from any browser window
- 🤖🐐 Rename Otto conversations inline in the sidebar
- 🤖🐐 Automatic conversation summarization for long conversations
- Improved Otto first-time user experience with refined categories and action-oriented prompts with documentation links
- Improved Otto interface: messages start at top, new icon sidebar, enhanced loading screen, click logo to start new conversation
- Improved Otto sidebar visual integration with semi-transparent backgrounds
- Added Deployments settings page to Command+K quick search
- Improved usage chart with better legend/tooltip display, date picker presets (Last 7/28/30 days, Last 3/6/12 months), and smart calendar defaults
- Improved Workspace startup animation with updated process icons
- Improved loading screen with animated status messages
- DuckLake: Optimized data maintenance performance by leveraging table partitioning metadata, reducing data pruning time from minutes to seconds
- DuckLake: Improved metadata catalog sync performance by automatically compacting databases when data inlining is disabled
- DuckLake: Preview mode now connects directly to remote DuckDB metadata catalogs for faster, always-current data
- DuckDB query results in artifact viewers now display complete results (previously limited to 1000 rows)
- Improved Workspace startup time by approximately 10 seconds using local storage for small Workspaces
- Faster Workspace and Deployment startup through event-driven runtime management
- Faster initial Instance setup by running first-time initialization tasks in the background
🛠️ Bug fixes
- 🤖🐐 Fixed inline diff view not rendering for Claude Sonnet model responses
- 🤖🐐 Fixed issue where toggling query execution mode mid-conversation would cause queries to hang
- 🤖🐐 Fixed conversation history persistence issues
- 🤖🐐 Fixed tool outputs appearing stuck or pending after page refresh
- 🤖🐐 Fixed Otto failing on second message when Workspace context was attached
- 🤖🐐 Fixed conversations created after midnight UTC not appearing in conversation list
- 🤖🐐 Fixed blank screen when toggling auto-run mode
- 🤖🐐 Fixed flashing disconnect error when sending messages
- 🤖🐐 Fixed artifact version selector not updating displayed artifact
- DuckLake: Fixed race condition causing "catalog does not exist" errors when running multiple worksheet queries in parallel
- DuckLake: Fixed "catalog not found" errors when querying newly computed Components
- DuckLake: Fixed issue where newly written data was not visible in the Records tab after running a Component
🗓️ 2026-01-22
🚀 Features
- 🤖🐐 New Otto capabilities:
- Fullscreen Otto experience: New users see an Otto-centric home page with guided prompts, suggested actions, and quick access to Workspaces and Deployments. Existing users can opt in via Settings.
- Agent inheritance: Custom agents can now extend built-in agents using the
extendsfield, inheriting instructions, tools, and settings while adding custom behavior. - Test Connections: Ask Otto to validate your Connection configurations before using them in Flows.
- Cancel running Worksheet queries: Stop long-running queries in Worksheets with the new cancel button. Query execution is now asynchronous with real-time status updates. Supported on BigQuery, Databricks, MySQL, Oracle, PostgreSQL, Microsoft SQL Server, and Snowflake.
- dbt projects with DuckDB Data Plane: dbt projects now support DuckDB as the Data Plane, with automatic Connection configuration — Ascend Connections are available to dbt without additional setup.
- Billing usage analytics: View detailed usage history in Settings → Billing with charts showing credit consumption by day, week, or month. Filter by Deployment, Workspace, or AI usage, drill down by environment and runtime, and export to CSV.
🌟 Improvements
- Deployments settings page is now searchable
- DuckDB/DuckLake performance:
- Full refresh Flow runs skip unnecessary metadata catalog downloads
- Metadata catalogs are automatically compacted before syncing to blob storage
- Improved reliability of real-time updates across the UI
🛠️ Bug fixes
- Fixed dbt sources failing validation when no seed files exist. Sources can now be defined without corresponding seeds.
- Fixed AWS credentials file corruption when multiple processes update credentials concurrently. Config writes are now atomic.
🗓️ 2026-01-14
🚀 Features
-
🤖🐐 New Otto capabilities:
- Send emails: Ask Otto to email you, specific Instance members, or all Instance members at once.
- Interactive forms: Otto can generate structured forms in chat to collect data from users. Forms support text, number, and secret fields with validation. Secret fields integrate with Vaults — users can select existing secrets or create new ones without exposing sensitive values. LLMs/AI service providers do not see secrets submitted through forms.
-
In-app product feedback: Submit feedback and feature requests directly from the app via the new feedback button in the header. Feedback routes to our product team for review.


-
Animated Workspace startup: A new animated visualization plays while your Workspace is starting up.

🌟 Improvements
- 🤖🐐 Increased default Otto chat sidebar width for better usability
🛠️ Bug fixes
- Fixed Worksheets triggering unnecessary builds when saved. Worksheets now save without interrupting your development workflow.
- Fixed DuckLake catalog exceptions during concurrent data operations. When using DuckDB as the DuckLake metadata catalog, concurrent INSERT operations could fail with catalog errors. All INSERT statements now properly acquire DDL locks when data inlining is enabled.
- Fixed errors in blob file conversion being silently swallowed. Exceptions during file-to-parquet conversion now properly propagate to the main thread and surface to users instead of causing indefinite hangs.
- Fixed the Run Flow button repeatedly showing loading state.
- Fixed intermittent PostgreSQL connection errors (
SSL connection has been closed unexpectedly) on long-idle Instances. Database connections now recycle after 30 minutes to prevent server-side timeouts.
🗓️ 2026-01-07
🚀 Features
Worksheets (Public Preview)

Run SQL queries directly in the Ascend UI with the new Worksheets editor. Position your cursor on any query and click Run to execute it, or select multiple queries to run them in sequence. A visual highlight bar shows exactly which queries will execute.
Worksheets are stored per-user in worksheets/<your-email>/ as regular .sql files you can rename and reorganize. Saving doesn't trigger builds. You can also run Worksheets in Deployments to query production data, though saving is disabled there.
Regex-based retry clauses
Define pattern-specific retry rules for Components with independent counters per error type:
retry_strategy:
retry_clauses:
- pattern: "503.*Service Unavailable"
max_attempts: 10
- pattern: "timeout"
max_attempts: 3
Each pattern maintains its own retry count, so transient 503 errors won't exhaust your timeout retry budget.
Learn more about retry clauses →
Notification center

A new notification center in the navbar collects toast notifications with persistent history. Notifications are scoped to your user — click the bell icon to review your past notifications, dismiss individual items, or clear all. Toasts now dismiss 3x faster since you can always find them in the notification center.
Custom and high-memory runner sizes (Private Preview)
Configure CPU and memory for Workspaces, Flows, and Flow runs with new high-memory presets and custom size options. Contact your Ascend representative to enable this feature.
🌟 Improvements
- Improved responsiveness of real-time updates across the UI
- Preview operations are up to 3x faster due to caching
- Flow run history displays timestamps above each run column with detailed start/finish times in tooltip
- Flow run history adds logarithmic scale toggle for duration bars — useful when outlier runs distort the chart
- Run filter dropdowns include All/Clear buttons for bulk selection
🛠️ Bug fixes
- Fixed Flow runs timing out during graceful shutdown when tasks continue running
- Fixed DuckLake data table compaction crashing with memory overflow on large tables
- Fixed S3 credentials expiring after 1 hour in Kubernetes environments
🗓️ 2026-01-01
🚀 Features
-
DuckLake table partitioning: Configure
partition_byin your DuckLake Data Plane options to partition tables by columns or expressions, enabling partition pruning for improved query performance.data_plane:
duckdb:
ducklake:
partition_by:
- regionSQL expressions are also supported:
data_plane:
duckdb:
ducklake:
partition_by:
- year(created_at)
- month(created_at)
🌟 Improvements
-
Flow names in the Deployment timeline view are now clickable, navigating directly to the Flow's run history.

🛠️ Bug fixes
-
Fixed S3 authentication failures in long-running Flows. Credentials using IAM roles now automatically refresh, preventing failures after the 1-hour token expiration.
-
Fixed Flows with large partition counts (100K+) failing on Snowflake due to LOB size limits. Partition metadata is now stored in individual rows instead of aggregated arrays.
🗓️ 2025-12-25
Minor bug fixes and performance improvements.
🗓️ 2025-12-18
🚀 Features
-
Ascend-managed DuckLake without PostgreSQL (Public Preview): Ascend-managed DuckLake now supports a fully cloud storage-based architecture — no PostgreSQL required. Both metadata and data are stored in object storage, simplifying infrastructure and reducing overhead in a way that can improve performance for certain workloads. Configure with
$ascend_managed.duckdb_ducklake. See self-hosted DuckLake to bring your own storage. -
dbt project integration (Private Preview): Run dbt projects as Ascend Applications with full support for dbt models, tests, and builds via the new
dbtComponent type. -
🤖🐐 Otto improvements:
- Extended thinking support for Claude models — enable advanced reasoning with configurable token budgets
- Improved response conciseness and parallel tool execution
🌟 Improvements
- DuckDB upgraded to 1.4.3 with MotherDuck compatibility.
🛠️ Bug fixes
- Fixed identifier quoting across databases: database, schema, and table names starting with digits or containing special characters are now automatically quoted for Databricks, MS SQL Server, MySQL, Oracle, PostgreSQL, and Snowflake.
- Fixed incremental merge writes to PostgreSQL failing when the target table lacked a unique index. Ascend now automatically creates the required unique index on
unique_keycolumns when creating new tables. - Fixed Flow Graph freezing in an infinite loop when zooming to a node via the build panel.
- Fixed Flow Graph not updating to reflect row counts and Component statuses after data changes.
- Fixed branch selector crashing when typing an existing branch name instead of selecting it from the dropdown.
🗓️ 2025-12-11
🌟 Improvements
- Super Graph rendering is 85% faster. Lazy tooltip initialization, memoized build graph calculations, and pre-computed derived values significantly reduce DOM overhead and recomputation on large Projects.
- DuckLake table compaction now supports data tables in addition to metadata tables. Configure compaction thresholds per Component or globally via Profile defaults:
data_plane:
duckdb:
ducklake_data_table_compaction:
small_file_record_count_limit: 100000
small_file_count_threshold: 50
small_file_ratio_threshold: 0.25 - Component defaults now support wildcards in the
flow_namefield, enabling global configuration across all Flows using regex patterns. - 🤖🐐 MCP tool calls now include explanations and descriptions for better visibility into Otto's actions.
- Deployment pages now load Flow runs beyond the initial 30-day window. Historical runs are fetched in the background and stored locally for faster subsequent access.
- DuckLake table compaction now includes helper tables created by Component store adapters, reducing fragmentation across all metadata tables.
🗓️ 2025-12-04
🚀 Features
- 🤖🐐 Otto can now navigate you through the Ascend UI. Ask Otto to open a specific file, go to a Deployment page, or view a Flow run, and it will take you there directly.
- 🤖🐐 OttoPilot is now available on the Dashboard. Get quick help, instance summaries, and suggested prompts without leaving the main view.
🛠️ Bug fixes
- Fixed Microsoft SQL Server datetime predicates failing due to incorrect format. Datetime values are now formatted without timezone info and with millisecond precision.
- Fixed DuckLake compaction using wrong catalog name when catalog override is configured.
- Fixed Automation runs table only showing one run when multiple Automations triggered from the same event.
- Fixed Flow run links in email notifications using incorrect project identifier.
- Fixed Deployment Flow pages incorrectly redirecting to Super Graph view.
- Fixed Snowflake Connection URLs generated with incorrect case for account locator.
- Fixed SSH key display flickering when loading Repository settings.
- Fixed clicking Component in Deployment Flow run history opening the wrong file.
🗓️ 2025-11-27
🚀 Features
- 🤖🐐 Otto can fetch and analyze web content. Enable
web_accessto let Otto read documentation, API references, and other online resources to better assist with your work. - Read Components now support
strategy: fullfor native database connectors. Use this for small datasets or one-time loads that don't need partitioning:read:
connection: my_database
strategy: full
🌟 Improvements
- DuckLake now uses block-level row count statistics for dramatically faster output row calculations. Row counts that previously took minutes on large datasets are now near-instantaneous. Statistics are automatically computed during partition writes and backfilled for existing Components.
- 🤖🐐 Otto max turns handling improved. When approaching the turn limit (default 50), Otto receives a warning and gracefully summarizes progress instead of abruptly stopping.
- Workspace status on Project page now correctly reflects actual state (Online, Paused, etc.).
🛠️ Bug fixes
- Fixed Snowflake Read Components dropping
_ascend_sourceand_ascend_ingested_atcolumns due to case sensitivity. Snowflake returns column names in uppercase, which now matches correctly. - Fixed Cmd+K quick search opening the wrong item when using keyboard navigation. The navigation index now correctly maps to visible items only.
- Fixed Component form overwriting extra YAML fields when switching between code and form views. Custom configuration options are now preserved.
🗓️ 2025-11-20
🚀 Features
- 🤖🐐 Otto now defaults to agent mode, providing more proactive, capable assistance. Otto can now autonomously plan, execute, and iterate on tasks without requiring explicit step-by-step prompts.
🌟 Improvements
- DuckLake metadata tables now automatically compact to prevent fragmentation. Tables with too many small files are detected and rewritten as single files during data maintenance.
- MotherDuck no longer uses DDL locking, allowing concurrent schema operations.
- Databricks Instance Store connections now handle invalid session handles gracefully with automatic reconnection. Added hourly connection pool recycling to prevent stale sessions.
- Blob storage list operations (S3, GCS, ABFS) now use native client prefix filtering instead of directory traversal, significantly improving performance for prefix-based listings.
- Table names with special characters (hyphens, spaces) now work correctly across all Data Planes. Quoting is applied automatically based on identifier validity.
- Default Workspace auto-snooze timeout increased from 20 to 30 minutes.
- Deployment Flows page loads faster with lazy timeline calculation, optimized date formatting, and a single shared popover instead of per-run popovers.
🛠️ Bug fixes
- Fixed missing
_ascend_sourcecolumn in database-based Read Components. This regression caused schema mismatch errors when processing new data. - Fixed Incremental Read Components not respecting the
normalizesetting when nocolumnsconfig is specified. Also fixed Smart Table meta columns incorrectly appearing in output when usingcolumnsconfig. - Fixed Flow run listing not filtering by Profile and Project path for runtime queries.
🗓️ 2025-11-13
🚀 Features
- 🤖🐐 New OttoPilot experience with onboarding, welcome chat, and dashboard integration. Otto now provides a guided introduction for new users and quick access from the dashboard.
- DuckLake now supports
use_nightlyandforce_installoptions for extension management. Useuse_nightly: truefor latest development builds orforce_install: trueto reinstall the extension.
🌟 Improvements
- 🤖🐐 Otto improvements:
- Jinja templating is now disabled by default for custom rules and agents. Rules with
{{ }}syntax that aren't valid Jinja will no longer silently fail. Addjinja: trueto frontmatter to enable Jinja rendering.
- Jinja templating is now disabled by default for custom rules and agents. Rules with
- Smart Schema processing on DuckDB now uses temporary tables for intermediate operations, reducing write times by 33-47%.
- Flow run data loads faster with improved browser caching.
🛠️ Bug fixes
- 🤖🐐 Otto fixes:
- Fixed Otto Automation failures when no explicit model was configured. Model selection now properly falls back through the priority chain (agent → defaults → Instance → provider).
- Fixed unable to disable Workspace auto-snooze in settings.
- Fixed MotherDuck logo not displaying in Explore tab.