{"collection":{"slug":"application-platforms","name":"Application Platforms"},"digest":{"id":"cwd_vpcb-kQbRtltxe4tmHBSP","weekStart":"2026-05-25","title":"AI SDKs converge on agent tools while platforms harden builds and sandboxes","intro":"AI SDK providers across Vercel, Cloudflare, and Google Vertex standardized on agent-style tool use for web search, while Vercel made build memory failures a thing of the past and Cloudflare expanded sandbox previews and D1 migration layouts.","body":"### Agent tools reshape AI SDK search patterns\n\nThe week's dominant story is a coordinated shift from search parameters to agent tools across Vercel's AI SDK providers. [Vercel's xAI provider](/release/rel_VJEwfDyYsI8JSabdj9KpS-ai-sdk-xai-v4-0-0-canary-69-deprecates-searchparameters-in-favor-of-agent-tools) deprecated `searchParameters` in favor of `web_search` and `x_search` agent tools, adding an `enableImageSearch` option to `xai.tools.webSearch()` that passes through to the xAI Responses API as `enable_image_search`. The stable xAI v3.0.93 channel [received the same treatment](/release/rel_riWxs8I6mz0rrI_3ovwp0-ai-sdk-xai-v3-0-93-deprecates-searchparameters-for-agent-tools) simultaneously. Meanwhile, [Azure's OpenAI provider](/release/rel_uwdeN-tCq_nfdl1Y2UD9M-ai-sdk-azure-ai-sdk-azure-4-0-0-canary-66-adds-web-search-tool) gained a web search tool for the Azure OpenAI Responses API, mirrored in the [stable Azure channel](/release/rel__ly0drhxT_coMyJPOZbxX-ai-sdk-azure-3-0-68-adds-web-search-tool-to-openai-responses-api). The Google Vertex provider added support for `gemini-embedding-2` and two Deep Research preview models (`deep-research-max-preview-04-2026`, `deep-research-preview-04-2026`). To round out the model additions, [AI Gateway support landed for Qwen 3.7 Plus](/release/rel_v4y49dmZs1JTAvO__VYXa-qwen-3-7-plus-now-available-on-ai-gateway) from Alibaba and [MiniMax M3](/release/rel_dLdGhE9DlzttJle9-d5JF-minimax-m3-on-ai-gateway) with its 1M-token context window.\n\nOn the MCP front, both the [@2.0.0-canary.56](/release/rel_fZ0tYIXtfrxwuBMamMJcT-ai-sdk-mcp-2-0-0-canary-56-fixes-ping-response-to-comply-with-json-rpc-spec) and [@1.0.45](/release/rel_8vHgT3VwJNWDSLC8zDQyO-ai-sdk-mcp-1-0-45-fixes-ping-request-responses-to-match-json-rpc-spec) channels fixed MCP ping responses to return an empty result per the JSON-RPC spec, closing a long-standing spec compliance gap. The AI SDK core also introduced [standalone stream transformation helpers](/release/rel_chMuDWKDwCjkOJXMEMzF0-ai-sdk-ai-7-0-0-canary-158-deprecates-streamtext-result-methods-for-standalone) (`toUIMessageChunk`, `toUIMessageStream`, `toTextStream`) that decouple stream conversion from `streamText` result objects, deprecating the result-bound methods for removal in the next major release.\n\n### Build resilience and infrastructure hardening\n\n[Vercel's elastic build machines](/release/rel_q3tjMkpEBNBc5OGbkh1Qu-elastic-build-machines-now-protect-against-out-of-memory-builds) now monitor memory usage and automatically upgrade machine tiers to prevent out-of-memory failures — a significant reliability improvement for teams hitting OOM errors during deployment. The system also avoids downgrading fast but memory-intensive builds. On the pricing side, [function invocations moved to per-unit billing](/release/rel_MNWdTdHbc9_q3bzH2w9cQ-function-invocations-now-billed-per-unit) ($0.0000006 per invocation) for Pro customers, smoothing cost scaling across usage patterns.\n\nThe [Vercel CLI v54.6.1](/release/rel_JT-XsIW5a0TydB67yBPCJ-vercel-cli-v54-6-1-improves-vercel-env-add-flow-and-build-output-api-discovery) improved the `vercel env add` flow by asking about sensitivity before collecting values, and added `experimentalServices` discovery from Build Output API config during `vercel build`. The Python builder [gained bytecode compilation support](/release/rel_34oH4s7v1BkhjJG4Nmb7X-vercel-cli-vercel-python-6-44-0-supports-bytecode-compilation-for-hive) for hive deployment paths, while [@vercel/express](/release/rel_sWKjqqfAsQYbLkeAKgDno-vercel-express-v0-1-94-updates-vercel-nft-and-enables-module-sync-catchall) bumped `@vercel/nft` to 1.10.0 with `moduleSyncCatchall` tracing enabled.\n\n### Sandbox, storage, and developer experience leaps\n\n[Cloudflare Agents sandboxes](/release/rel_dT_k4iCIKbmXxV5mv0BZ4-agents-share-sandbox-previews-through-cloudflare-tunnel) can now expose services through Cloudflare Tunnel via `sandbox.tunnels.get(port)`, creating zero-config `*.trycloudflare.com` preview URLs without requiring a Cloudflare account or custom domain. [Cloudflare Realtime's WebSocket adapter](/release/rel_t8svkw8Ry1JZ6-UtkKfJ_-realtime-cloudflare-s-realtime-websocket-adapter-now-auto-reconnects-and-buffers) gained automatic reconnection and WebRTC media buffering, making it production-ready for live audio/video routing across the global network. On the data side, [D1 migrations](/release/rel_s-XlVbHtIVBWUc_P8T1Eh-d1-d1-migrations-support-nested-layouts-via-migrations-pattern) now support nested layouts through `migrations_pattern`, aligning with Drizzle's folder structure. [Workers added TypeScript types](/release/rel_9EtVe7j7BJ3WIuG_l8eD--cloudflare-workers-v1-20260529-1-adds-agentmemorynamespace-types) for `AgentMemoryNamespace` and [composite feature types](/release/rel_jrmMkB-jpG4mNPf6su6Tr-cloudflare-workers-v1-20260530-1-adds-types-for-composite-feature), signaling continued investment in the Workers agent model.\n\n[Vercel Sandbox](/release/rel_aTynI2rWxbpbBx0p-F5uc-vercel-sandbox-adds-docker-container-support) now supports Docker containers inside sandboxes, enabling containerized test dependencies, image validation, and CI workflows without host-side Docker. [Railway's CLI v4.66.0](/release/rel_cB13MA7-L_HMX1R9TVG7G-v4-66-0) introduced `railway sandbox` commands (create/list/ssh/exec/destroy), and [Railpack v0.24.0](/release/rel_KaK-gxkLnHGYgZVd7aDUT-railpack-v0-24-0) now respects package manager versions from mise configuration files.\n\n[Cloudflare Security Center](/release/rel_yRssFSfA7PfK1KfgK7mxk-security-center-security-scans-more-frequent) increased scan frequency — daily for Enterprise, every 3 days for Pro/Business, weekly for Free — with on-demand scans now available on any plan. Logpush datasets gained [Turnstile Events](/release/rel_g6O2RLvZyGCRyXxXEmyuW-logs-new-turnstile-events-logpush-dataset-in-cloudflare-logs) and [field additions](/release/rel_RyRRIdcMMks3wYQ9dHTTw-logs-updated-fields-across-multiple-logpush-datasets-in-cloudflare-logs) for DEX Device State, Gateway HTTP, and HTTP requests.\n\nAcross the collection, Next.js canary builds progressed with Turbopack analyzer improvements, image optimization operation cache, and `'use cache'` bail-out fixes, while Turborepo added auth HTTP timeouts and fixed Windows graceful shutdown.","releaseIds":["rel_VJEwfDyYsI8JSabdj9KpS","rel_riWxs8I6mz0rrI_3ovwp0","rel_uwdeN-tCq_nfdl1Y2UD9M","rel__ly0drhxT_coMyJPOZbxX","rel_v4y49dmZs1JTAvO__VYXa","rel_dLdGhE9DlzttJle9-d5JF","rel_fZ0tYIXtfrxwuBMamMJcT","rel_8vHgT3VwJNWDSLC8zDQyO","rel_chMuDWKDwCjkOJXMEMzF0","rel_q3tjMkpEBNBc5OGbkh1Qu","rel_MNWdTdHbc9_q3bzH2w9cQ","rel_JT-XsIW5a0TydB67yBPCJ","rel_34oH4s7v1BkhjJG4Nmb7X","rel_sWKjqqfAsQYbLkeAKgDno","rel_dT_k4iCIKbmXxV5mv0BZ4","rel_t8svkw8Ry1JZ6-UtkKfJ_","rel_s-XlVbHtIVBWUc_P8T1Eh","rel_9EtVe7j7BJ3WIuG_l8eD-","rel_jrmMkB-jpG4mNPf6su6Tr","rel_aTynI2rWxbpbBx0p-F5uc","rel_cB13MA7-L_HMX1R9TVG7G","rel_KaK-gxkLnHGYgZVd7aDUT","rel_yRssFSfA7PfK1KfgK7mxk","rel_g6O2RLvZyGCRyXxXEmyuW","rel_RyRRIdcMMks3wYQ9dHTTw"],"releaseCount":115,"generatedAt":"2026-07-11T17:12:40.878Z","releases":[{"id":"rel_VJEwfDyYsI8JSabdj9KpS","title":"AI SDK xAI v4.0.0-canary.69 deprecates searchParameters in favor of agent tools","path":"/release/rel_VJEwfDyYsI8JSabdj9KpS-searchparameters-deprecated-enableimagesearch-added-to-web-search","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_riWxs8I6mz0rrI_3ovwp0","title":"AI SDK xAI v3.0.93 deprecates searchParameters for agent tools","path":"/release/rel_riWxs8I6mz0rrI_3ovwp0-searchparameters-deprecated-for-web-search-x-search-agent-tools","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_uwdeN-tCq_nfdl1Y2UD9M","title":"AI SDK Azure @ai-sdk/azure@4.0.0-canary.66 adds web search tool","path":"/release/rel_uwdeN-tCq_nfdl1Y2UD9M-web-search-tool-support-added-to-azure-openai-responses-api","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel__ly0drhxT_coMyJPOZbxX","title":"AI SDK Azure @3.0.68 adds web search tool to OpenAI Responses API","path":"/release/rel__ly0drhxT_coMyJPOZbxX-web-search-tool-added-to-responses-api","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_v4y49dmZs1JTAvO__VYXa","title":"Qwen 3.7 Plus now available on AI Gateway","path":"/release/rel_v4y49dmZs1JTAvO__VYXa-qwen-3-7-plus-now-available-on-ai-gateway","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_dLdGhE9DlzttJle9-d5JF","title":"MiniMax M3 on AI Gateway","path":"/release/rel_dLdGhE9DlzttJle9-d5JF-minimax-m3-on-ai-gateway","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_fZ0tYIXtfrxwuBMamMJcT","title":"AI SDK MCP @2.0.0-canary.56 fixes ping response to comply with JSON-RPC spec","path":"/release/rel_fZ0tYIXtfrxwuBMamMJcT-ping-responses-now-comply-with-json-rpc-spec","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_8vHgT3VwJNWDSLC8zDQyO","title":"AI SDK MCP @1.0.45 fixes ping request responses to match JSON-RPC spec","path":"/release/rel_8vHgT3VwJNWDSLC8zDQyO-ping-requests-now-respond-per-json-rpc-spec","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_chMuDWKDwCjkOJXMEMzF0","title":"AI SDK ai@7.0.0-canary.158 deprecates streamText result methods for standalone helpers","path":"/release/rel_chMuDWKDwCjkOJXMEMzF0-streamtext-result-methods-deprecated-standalone-stream-helpers-added","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_q3tjMkpEBNBc5OGbkh1Qu","title":"Elastic Build Machines now protect against out of memory builds","path":"/release/rel_q3tjMkpEBNBc5OGbkh1Qu-elastic-build-machines-now-protect-against-out-of-memory-builds","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_MNWdTdHbc9_q3bzH2w9cQ","title":"Function invocations now billed per unit","path":"/release/rel_MNWdTdHbc9_q3bzH2w9cQ-function-invocations-now-billed-per-unit","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_JT-XsIW5a0TydB67yBPCJ","title":"Vercel CLI v54.6.1 improves vercel env add flow and Build Output API discovery","path":"/release/rel_JT-XsIW5a0TydB67yBPCJ-vercel-env-add-now-asks-sensitivity-first-experimentalservices-discovery-added","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_34oH4s7v1BkhjJG4Nmb7X","title":"Vercel CLI @vercel/python@6.44.0 supports bytecode compilation for hive deployment","path":"/release/rel_34oH4s7v1BkhjJG4Nmb7X-bytecode-compilation-now-supported-for-hive-deployment","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_sWKjqqfAsQYbLkeAKgDno","title":"@vercel/express v0.1.94 updates @vercel/nft and enables module sync catchall tracing","path":"/release/rel_sWKjqqfAsQYbLkeAKgDno-module-sync-catchall-tracing-enabled","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_dT_k4iCIKbmXxV5mv0BZ4","title":"Agents - Share sandbox previews through Cloudflare Tunnel","path":"/release/rel_dT_k4iCIKbmXxV5mv0BZ4-agents-share-sandbox-previews-through-cloudflare-tunnel","org":{"slug":"cloudflare","name":"Cloudflare"},"importance":null},{"id":"rel_t8svkw8Ry1JZ6-UtkKfJ_","title":"Realtime - Cloudflare's Realtime WebSocket adapter now auto-reconnects and buffers WebRTC media","path":"/release/rel_t8svkw8Ry1JZ6-UtkKfJ_-realtime-cloudflare-s-realtime-websocket-adapter-now-auto-reconnects-and-buffers","org":{"slug":"cloudflare","name":"Cloudflare"},"importance":null},{"id":"rel_s-XlVbHtIVBWUc_P8T1Eh","title":"D1 - D1 migrations support nested layouts via `migrations_pattern`","path":"/release/rel_s-XlVbHtIVBWUc_P8T1Eh-d1-d1-migrations-support-nested-layouts-via-migrations-pattern","org":{"slug":"cloudflare","name":"Cloudflare"},"importance":null},{"id":"rel_9EtVe7j7BJ3WIuG_l8eD-","title":"Cloudflare Workers v1.20260529.1 adds AgentMemoryNamespace types","path":"/release/rel_9EtVe7j7BJ3WIuG_l8eD--agentmemorynamespace-types-scaffolded","org":{"slug":"cloudflare","name":"Cloudflare"},"importance":null},{"id":"rel_jrmMkB-jpG4mNPf6su6Tr","title":"Cloudflare Workers v1.20260530.1 adds types for composite feature","path":"/release/rel_jrmMkB-jpG4mNPf6su6Tr-composite-feature-types-added","org":{"slug":"cloudflare","name":"Cloudflare"},"importance":null},{"id":"rel_aTynI2rWxbpbBx0p-F5uc","title":"Vercel Sandbox adds Docker container support","path":"/release/rel_aTynI2rWxbpbBx0p-F5uc-docker-fuse-and-vpn-now-run-inside-sandbox","org":{"slug":"vercel","name":"Vercel"},"importance":null},{"id":"rel_cB13MA7-L_HMX1R9TVG7G","title":"v4.66.0","path":"/release/rel_cB13MA7-L_HMX1R9TVG7G-v4-66-0","org":{"slug":"railway","name":"Railway"},"importance":null},{"id":"rel_KaK-gxkLnHGYgZVd7aDUT","title":"railpack v0.24.0","path":"/release/rel_KaK-gxkLnHGYgZVd7aDUT-railpack-v0-24-0","org":{"slug":"railway","name":"Railway"},"importance":null},{"id":"rel_yRssFSfA7PfK1KfgK7mxk","title":"Security Center - Security scans more frequent","path":"/release/rel_yRssFSfA7PfK1KfgK7mxk-security-center-security-scans-more-frequent","org":{"slug":"cloudflare","name":"Cloudflare"},"importance":null},{"id":"rel_g6O2RLvZyGCRyXxXEmyuW","title":"Logs - New Turnstile Events Logpush dataset in Cloudflare Logs","path":"/release/rel_g6O2RLvZyGCRyXxXEmyuW-logs-new-turnstile-events-logpush-dataset-in-cloudflare-logs","org":{"slug":"cloudflare","name":"Cloudflare"},"importance":null},{"id":"rel_RyRRIdcMMks3wYQ9dHTTw","title":"Logs - Updated fields across multiple Logpush datasets in Cloudflare Logs","path":"/release/rel_RyRRIdcMMks3wYQ9dHTTw-logs-updated-fields-across-multiple-logpush-datasets-in-cloudflare-logs","org":{"slug":"cloudflare","name":"Cloudflare"},"importance":null}]}}