Billing Headers for WebSocket Endpoints
Shared WebSocket endpoints can now declare billing on their 101 upgrade response. Set x-fal-billable-units when the unit count is known at connect time. Set x-fal-billable-units-webhook to 1 when the count is only known at the end of the session. Then report the total with POST /requests/billable-units/{request_id} .
Also shipped Sep 14, 2026fal in September 2026 →
Metadata for BigQuery Graph is automatically ingested and searchable in Knowledge Catalog
Metadata for BigQuery Graph is automatically ingested and searchable in Knowledge Catalog . This feature is available in preview .
BigQuery supports WHERE clauses inside aggregate function calls in preview
Aggregate function calls can now include a WHERE clause that filters their input with a boolean expression, simplifying conditional aggregation in SQL.
Multimodal AI_SUMMARIZE for automatic theme summarization (Public Preview)
Snowflake Cortex AI_SUMMARIZE is now available in public preview, enabling customers to summarize text and multimodal content, including images and documents, directly in Snowflake.
Zero-copy support for all table formats in interactive warehouses (General availability)
Support for all table formats in interactive warehouses is now generally available and is no longer in Preview .
Genie visualizations in Slack replies (Public Preview)
When a Genie response includes a chart, the visualization now appears as an image in the Slack reply. If you installed the Databricks Genie app for Slack previously, reinstall it to enable this. See Visualizations .
Metadata for BigQuery Graph is now automatically ingested and searchable in Knowledge Catalog
Metadata for BigQuery Graph is now automatically ingested and searchable in Knowledge Catalog. This feature is available in preview . For more information, see Knowledge Catalog overview .
More from falEvery fal release →
Switch Between App Endpoints in the Dashboard Playground
Deployed Serverless apps now include Testing > Playground in the app dashboard. Select an available endpoint, fill in its generated input form, and run a request without leaving the app. Multi-endpoint apps have one place to test their endpoints, using the existing Playground authentication and billing behavior. Open the guide
Key Presets and Custom Policies
Keys now use permission presets instead of the ADMIN and API scopes. When you create a key, select one of seven presets: API , SERVERLESS , DEPLOY , COMPUTE , BILLING , READONLY , or FULL . If no preset matches your case, select the exact permissions the key needs. You can also limit a key to specific models and set it to expire.
Platform MCP Server
fal's second MCP server , the Platform API MCP , is now available at https://api.fal.ai/v1/mcp/platform . Where the Run MCP lets your AI assistant build with models , this one lets it operate your fal account : connect Claude Code, Cursor, or any MCP-compatible client with your API key and ask "why did my last request to my-app fail?" , your assistant walks...
Rate Limits for Runner and App Management
fal now limits how often you can list, inspect, shell into, stop, and kill apps and runners. The limits apply to the CLI, the Python SDK, and the REST API. When you exceed a limit, the REST API returns 429 Too Many Requests , and the CLI and SDK return the gRPC status RESOURCE_EXHAUSTED . Learn more about the limits
GPU Utilization in Runner Telemetry
Runner telemetry now includes a dedicated GPU Utilization chart alongside the existing CPU, memory, and VRAM charts, so you can see how much compute your GPUs are actually doing -- not just how much memory they hold.
Deploy Messages and Annotations
You can now attach a freeform message and custom annotations to each revision when deploying: Messages and annotations are set at deploy time and stay with the revision. View and search them on the app's Versions page in the dashboard, or fetch them via the revisions API .
Fallback Chains
fal introduced Fallback Chains, allowing requests to configure a primary model and up to two fallback models that trigger automatically on specified errors.
App-Level Retry Configuration
Apps can now register a default per-condition retry budget at deploy time with the new retry_config deployment option, using the same format as the X-Fal-Retry-Config request header. Set it as a class attribute on fal.App or under the app's table in pyproject.toml .