Changelog

Subscribe to feed
  • Pre-launch toolbar and the Powered by Netlify badge

    Private projects on Netlify will now show a pre-launch toolbar so you can share your project for review and run audits using AI checks before you make your project public.

    Private projects and agent runs require a Credit pricing plan. If you’re on a Legacy pricing plan, you will not have access to the pre-launch toolbar. Audits consume credits like any other agent run.

    For public projects, new projects created on a Free plan on or after August 19, 2026 show a Powered by Netlify badge to all visitors.

    The badge is configurable for each project through your project configuration settings.

    To turn the Netlify badge on or off for all visitors of your site:

    1. Go to Project configuration > General > Powered by Netlify badge and turn it on or off.

    Additionally, any visitor can hide the badge for themselves, and that choice is stored locally on their browser and never reaches Netlify.

    All projects created before August 19, 2026 have the badge off by default.

    Users on a Credit-based Personal and Pro plans can also turn the badge on or off per-project. For these plans, the badge is always off by default.

    Release timeline

    We’re rolling both overlays out gradually over the next few weeks, so a project that qualifies may not have them yet.

    Learn more about the pre-launch toolbar and the Powered by Netlify badge in the Netlify documentation.

    Permalink to Pre-launch toolbar and the Powered by Netlify badge
  • Agent Runners can now ask clarifying questions

    Agent Runners can now ask you clarifying questions before they start building. When a few details could significantly improve the result, the agent pauses and asks instead of guessing.

    The clarifying questions UI in an Agent Runners session, asking: What should the tracker dashboard keep track of?

    How clarifying questions work

    Say you start with something broad, like “Build a tracker dashboard.” Previously the agent had to make every call for you: what the dashboard should track, whether entries should be editable and saved to a database or live in the code as a read-only placeholder, whether the look should be dark and high-contrast or light, clean, and editorial. Now it can ask, and you can answer directly where the agent run works.

    Answer, skip, or add your own context

    Answering questions is always optional so you can answer the ones you have opinions about and skip the rest. Or you can skip all questions and let the agent decide. Finally, you can always add context in your own words alongside your answers.

    In our testing, even a few quick answers make the first build noticeably sharper and saves credits you’d otherwise spend on course corrections.

    Once you answer, the run continues as usual: the agent writes the code, works with Netlify’s platform features, and creates a Deploy Preview you can review and iterate on.

    Learn more

    Clarifying questions work with every agent and model available in Agent Runners.

    Try it out and see how to use Agent Runners in our docs.

    Permalink to Agent Runners can now ask clarifying questions
  • Google Gemini 3.7 Flash now available in AI Gateway and Agent Runners

    Google’s Gemini 3.7 Flash model is now available through Netlify’s AI Gateway and Agent Runners with zero configuration required.

    Use the Google GenAI SDK directly in your Netlify Functions without managing API keys or authentication. The AI Gateway handles everything automatically. Here’s an example using the Gemini 3.7 Flash model:

    import { GoogleGenAI } from '@google/genai';
    export default async () => {
    const ai = new GoogleGenAI({});
    const response = await ai.models.generateContent({
    model: 'gemini-3.7-flash',
    contents: 'How can AI improve my coding?'
    });
    return Response.json(response);
    };

    Gemini 3.7 Flash is available for all Function types and Agent Runners. You get automatic access to Netlify’s caching, rate limiting, and authentication infrastructure.

    Learn more in the AI Gateway documentation and Agent Runners documentation.

    Permalink to Google Gemini 3.7 Flash now available in AI Gateway and Agent Runners
  • Manage your team invitations from your Netlify dashboard

    Invitations to join an existing team now show up within your Netlify dashboard, where you can accept or decline them directly without checking your email inbox.

    Previously, the invitation email was the only way in. If it got buried, filtered, or sent to an address you no longer check, then getting collaboration started with your teammate took a lot longer than it needed to.

    Now, when you sign in to Netlify with an email address that has a pending invitation, you’ll see it waiting for you. Accept it and you’re on the team immediately. Decline it and it’s cleared out. Either way, you never have to go digging through your inbox.

    Nothing changes about how invitations are sent. Invitees still receive the same email they always have, and accepting from that link works exactly as before. This is simply a second, more reliable path to the same place.

    Learn more about inviting and managing teammates in Manage team members in the Netlify documentation.

    Permalink to Manage your team invitations from your Netlify dashboard
  • Pay for Netlify with Apple Pay and Google Pay

    You can now pay for Netlify with Apple Pay or Google Pay, in addition to paying by credit card.

    Both options show up as you’d expect at checkout, so you can confirm a payment with the device you already have in hand instead of tracking down a card. It’s a small change, but it removes a genuine bit of friction—especially when you’re upgrading in the middle of shipping something and don’t want to break flow to go find your wallet.

    Credit cards continue to work exactly as they always have. If that’s what your team uses, there’s nothing to change and nothing to migrate. Apple Pay and Google Pay are simply two more ways to pay.

    Learn more in the Netlify billing documentation.

    Permalink to Pay for Netlify with Apple Pay and Google Pay
  • Simplified single sign-on (SSO) process

    If your team uses SSO (single sign-on) with an identity provider, you can now sign in with just your email address without using your team ID. Netlify recognizes your domain and sends you straight to your identity provider.

    Previously, SSO required you to know your Team ID. That meant every new hire had to know and enter a Team ID, and anyone who forgot or didn’t know it was stuck at the login screen. It was a small detail that quietly created support work for the people administering the team.

    Now the flow is simplified: enter your email, get redirected to whichever identity provider your team has configured, authenticate there, and land back in Netlify.

    This is live for every team using SSO with an identity provider that lets you use your email address to authenticate. This means your existing SAML setup already carries everything Netlify needs to route people to the right place.

    Learn more about configuring SAML SSO in the Netlify documentation.

    Permalink to Simplified single sign-on (SSO) process
  • SolidStart 2 just works on Netlify

    SolidStart 2 is out, and it deploys to Netlify with no framework-specific adapter to install, a first for full-stack frameworks on Netlify.

    While SolidStart 1 deployed to Netlify through Nitro under the hood, SolidStart 2 no longer includes Nitro, building directly on Vite’s Environment API instead. The Netlify Vite plugin can now take the server build Vite produces and prepare it for deployment on its own, with no SolidStart-specific Netlify adapter needed in between.

    How to deploy

    Install the Netlify Vite plugin:

    npm install -D @netlify/vite-plugin

    Then add it to your Vite config with its build support turned on:

    vite.config.ts
    import netlify from '@netlify/vite-plugin';
    import { solidStart } from '@solidjs/start/config';
    import { defineConfig } from 'vite';
    export default defineConfig({
    plugins: [solidStart(), netlify({ build: { enabled: true } })],
    });

    That’s the whole setup for a new project. Netlify detects SolidStart and fills in your build settings, and your SSR pages, API routes, server functions, and middleware deploy to Netlify Functions.

    Prefer to build with Nitro? It became a Vite plugin in Nitro 3 and auto-detects Netlify, so adding nitro() works too. Just remove build.enabled from the Netlify Vite plugin.

    Either way, vite dev gives you the full Netlify platform emulated right in your dev server without reaching for the Netlify CLI.

    Already on SolidStart 1?

    Nothing breaks, and your Nitro netlify preset keeps working. When you’re ready to upgrade, follow the framework upgrade guide. We recommend then moving to the Netlify Vite plugin with build support as described above and changing your publish directory from dist to dist/client. (If you keep building with Nitro, dist stays as it is.)

    Why there’s no SolidStart adapter

    Every framework used to need its own adapter for every platform, and every adapter needed someone to keep it current.

    Frameworks converging on Vite’s Environment API doesn’t change this on its own. What removes it is the build support in @netlify/vite-plugin: it takes the server bundle a Vite-powered framework emits and turns it into Netlify deployment configuration (we call this the Frameworks API), without knowing or caring which framework produced it. Supporting SolidStart 2 required no SolidStart-specific code and, in fact, no changes at all. This is the same code that’s been powering TanStack Start on Netlify the past year.

    It’s the direction we’re heading, in collaboration with the Vite team, framework authors, other platforms like Cloudflare, and the broader ecosystem: fewer adapters to maintain, more consistent feature sets across frameworks, and more niche frameworks supported out of the box, helping to support a healthy web ecosystem.

    Resources

    Permalink to SolidStart 2 just works on Netlify
  • AI Gateway adds OpenRouter support for more AI model choice

    The AI Gateway now supports OpenRouter, giving you access to models from providers beyond Netlify’s direct integrations (OpenAI, Anthropic, Google Gemini).

    This partnership opens up models from providers like DeepSeek, Meta, Mistral, Qwen, and xAI, all billed through your existing Netlify credits.

    Learn more about our OpenRouter partnership through the Netlify blog on open models.

    Supported models

    For a full list of models available on OpenRouter, visit OpenRouter’s models page.

    Note that Netlify only allows requests through OpenRouter for model providers that support a Zero Data Retention (ZDR) policy, meaning your prompts and outputs are never stored nor trained on. Models on OpenRouter that do not have any available provider guaranteeing this policy (at the time of your request) are not available via Netlify.

    Set up OpenRouter for AI Gateway

    As with the other providers, Netlify automatically injects OPENROUTER_API_KEY and OPENROUTER_BASE_URL into your Netlify Functions, Edge Functions, and Preview Server (unless you’ve already set your own values for either).

    You can call an OpenRouter-served model using whichever client you prefer:

    • OpenRouter SDK (@openrouter/sdk): pass OPENROUTER_BASE_URL explicitly as serverURL when constructing the client, this is the one exception where the base URL isn’t picked up automatically.
    • OpenAI SDK: works out of the box, no extra config. Just pass a model ID in OpenRouter notation (e.g. deepseek/deepseek-v4-flash-0731).
    • REST API: call ${OPENROUTER_BASE_URL}/chat/completions with a bearer token from OPENROUTER_API_KEY.

    Whichever client you use, you can find model IDs to pass in the OpenRouter models directory.

    Note that a model listed in OpenRouter’s directory will not work through the AI Gateway if it does not support a Zero Data Retention (ZDR) policy since Netlify only routes to OpenRouter providers with this support.

    To learn more about using AI Gateway, check out our official AI Gateway Netlify docs.

    Permalink to AI Gateway adds OpenRouter support for more AI model choice
  • Agent Runners adds OpenCode and AI model controls

    Through a new partnership with OpenRouter, you can now choose OpenCode as an AI agent with Agent Runners. OpenCode allows you to choose many different AI models, including Kimi, DeepSeek, and GLM.

    Learn more about our OpenRouter partnership through the Netlify blog on open models.

    Previously, you could only choose Claude, Gemini, or Codex as your AI agent, but now you can choose the OpenCode agent, which offers even more models from different AI providers.

    Requests made through OpenCode are only routed to model providers with a Zero Data Retention (ZDR) policy, so your prompts and outputs are never stored.

    AI model selection

    As part of this release, you can now also specify which model any agent uses with Agent Runners. Previously, Claude, Gemini, and Codex agents all automatically chose a model for the task you prompted with Agent Runners.

    Agents can still auto-select a model for you, but now you can also choose different models for your agents, with these preferences saved just for you on your device.

    This means you can experiment with which AI models best fit your needs.

    To open your AI model options for Agent Runners, select agent near your prompt box.

    Choosing the best AI model for your needs

    To help you choose the best AI model for your needs, within Agent Runners you can browse details about each model, including a link to learn more, a visual way to compare cost across all supported models with a 1-5 dot scale, and the option to set an effort level for that model.

    To get the most out of your credits, consider the following strategies:

    • Use a more expensive, capable model to help you plan your project updates and design a clear prompt with Agent Runners’ ask mode, then switch to a cheaper model to implement the changes.
    • Experiment with using different AI models for different tasks.
    • Be explicit about the functionality you want when using models that are cheaper or set to a lower effort level. These models may fill in placeholder functionality. For example, a model might render a contact page without fully setting up working Netlify Forms, so the page looks complete but doesn’t actually work as expected.

    Learn more

    To learn more, check out our docs:

    Permalink to Agent Runners adds OpenCode and AI model controls
Next page