<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://www.windmill.dev/changelog</id>
    <title>Windmill Blog</title>
    <updated>2026-03-06T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://www.windmill.dev/changelog"/>
    <subtitle>Windmill Blog</subtitle>
    <icon>https://www.windmill.dev/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Volumes, sandbox annotation, and AI sandbox]]></title>
        <id>https://www.windmill.dev/changelog/volumes-sandbox-annotation-ai-sandbox</id>
        <link href="https://www.windmill.dev/changelog/volumes-sandbox-annotation-ai-sandbox"/>
        <updated>2026-03-06T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Persistent volumes for scripts via code annotations, per-script sandbox annotation for Python and TypeScript, and AI sandbox for running coding agents with isolation and persistent state.]]></summary>
        <category label="Script editor" term="Script editor"/>
        <category label="Enterprise" term="Enterprise"/>
        <category label="Security" term="Security"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Variables and resources in flow env]]></title>
        <id>https://www.windmill.dev/changelog/flow-env-variables-resources</id>
        <link href="https://www.windmill.dev/changelog/flow-env-variables-resources"/>
        <updated>2026-03-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Flow environment variables now support resources and variables.]]></summary>
        <category label="Flow editor" term="Flow editor"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Token expiration notifications]]></title>
        <id>https://www.windmill.dev/changelog/token-expiration-notifications</id>
        <link href="https://www.windmill.dev/changelog/token-expiration-notifications"/>
        <updated>2026-03-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Windmill now monitors API token expiration and notifies owners via email 7 days before expiry and upon deletion. A new instance setting controls critical alerts for token expiry.]]></summary>
        <category label="Core" term="Core"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Private registries for npm, Maven, and Cargo]]></title>
        <id>https://www.windmill.dev/changelog/private-registries-npm-maven-cargo</id>
        <link href="https://www.windmill.dev/changelog/private-registries-npm-maven-cargo"/>
        <updated>2026-02-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Configure private package registries for npm, Maven, and Cargo from instance settings. Supports .npmrc for npm/Bun/Deno, settings.xml for Maven/Java, and config.toml for Cargo/Rust.]]></summary>
        <category label="Enterprise" term="Enterprise"/>
        <category label="Script editor" term="Script editor"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Native mode for workers]]></title>
        <id>https://www.windmill.dev/changelog/native-mode</id>
        <link href="https://www.windmill.dev/changelog/native-mode"/>
        <updated>2026-02-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New <code>NATIVE_MODE</code> environment variable to simplify native worker configuration. When enabled, it automatically spawns 8 subworkers and restricts the worker to only accept native jobs (bunnative, nativets, SQL queries, GraphQL) and flow handling. Can be set on any worker group and toggled from the UI.]]></summary>
        <category label="Workers" term="Workers"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Infrastructure as code]]></title>
        <id>https://www.windmill.dev/changelog/infrastructure-as-code</id>
        <link href="https://www.windmill.dev/changelog/infrastructure-as-code"/>
        <updated>2026-02-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Manage Windmill instance configuration declaratively with YAML files, a Kubernetes operator, or the CLI. Version-control, review, and reproduce your setup across environments.]]></summary>
        <category label="Kubernetes" term="Kubernetes"/>
        <category label="CLI" term="CLI"/>
        <category label="Enterprise" term="Enterprise"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Native triggers]]></title>
        <id>https://www.windmill.dev/changelog/native-triggers</id>
        <link href="https://www.windmill.dev/changelog/native-triggers"/>
        <updated>2026-02-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Trigger scripts and flows in real-time from Nextcloud, Google Drive, and Google Calendar events via push notifications.]]></summary>
        <category label="Triggers" term="Triggers"/>
        <category label="Nextcloud" term="Nextcloud"/>
        <category label="Google" term="Google"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Force sandboxing]]></title>
        <id>https://www.windmill.dev/changelog/force-sandboxing</id>
        <link href="https://www.windmill.dev/changelog/force-sandboxing"/>
        <updated>2026-02-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Instance-level setting to enforce nsjail sandboxing across all jobs, and per-script <code>#sandbox</code> annotation for bash scripts.]]></summary>
        <category label="Self-hosting" term="Self-hosting"/>
        <category label="Security" term="Security"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Health endpoints]]></title>
        <id>https://www.windmill.dev/changelog/health-endpoints</id>
        <link href="https://www.windmill.dev/changelog/health-endpoints"/>
        <updated>2026-02-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Unauthenticated and authenticated health endpoints for monitoring Windmill instances. Includes Prometheus metrics, Kubernetes readiness probe support, and detailed diagnostics.]]></summary>
        <category label="Self-hosting" term="Self-hosting"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Anthropic AI improvements]]></title>
        <id>https://www.windmill.dev/changelog/anthropic-ai-improvements</id>
        <link href="https://www.windmill.dev/changelog/anthropic-ai-improvements"/>
        <updated>2026-02-11T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Support for 1M context window and prompt caching for Anthropic models.]]></summary>
        <category label="Windmill AI" term="Windmill AI"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Protection Rulesets]]></title>
        <id>https://www.windmill.dev/changelog/protection-rulesets</id>
        <link href="https://www.windmill.dev/changelog/protection-rulesets"/>
        <updated>2026-02-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Enforce governance policies on workspaces by disabling direct deployments or workspace forking. Configure bypass permissions for specific users or groups.]]></summary>
        <category label="Enterprise" term="Enterprise"/>
        <category label="Workspace Settings" term="Workspace Settings"/>
        <category label="Governance" term="Governance"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Claude Code skills for wmill init]]></title>
        <id>https://www.windmill.dev/changelog/claude-skills-wmill-init</id>
        <link href="https://www.windmill.dev/changelog/claude-skills-wmill-init"/>
        <updated>2026-02-05T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The wmill init command now generates Claude Code skills for modular, on-demand AI guidance instead of a single monolithic AGENTS.md file.]]></summary>
        <category label="Developer" term="Developer"/>
        <category label="CLI" term="CLI"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Assets page improvements]]></title>
        <id>https://www.windmill.dev/changelog/assets-improvements</id>
        <link href="https://www.windmill.dev/changelog/assets-improvements"/>
        <updated>2026-02-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The <a href="/docs/core_concepts/assets">assets page</a> now includes a workspace exploration view with data tables, Ducklakes, and object storages. Column-level tracking detects which columns are read or written in DuckDB and data table queries. Individual tables can be starred as favorites for quick access.]]></summary>
        <category label="Script editor" term="Script editor"/>
        <category label="Database" term="Database"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Bun upgraded to v1.3.8]]></title>
        <id>https://www.windmill.dev/changelog/bun-1-3-8</id>
        <link href="https://www.windmill.dev/changelog/bun-1-3-8"/>
        <updated>2026-02-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The bundled Bun runtime has been upgraded from v1.2.23 to v1.3.8, bringing performance improvements and bug fixes. The upgrade includes comprehensive regression tests covering execution, error handling, relative imports, dedicated workers, and private npm registries.]]></summary>
        <category label="Workers" term="Workers"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Kafka trigger filters]]></title>
        <id>https://www.windmill.dev/changelog/kafka-trigger-filters</id>
        <link href="https://www.windmill.dev/changelog/kafka-trigger-filters"/>
        <updated>2026-02-04T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Kafka triggers now support message filtering. Define key/value pairs to filter messages before they trigger a job. Uses JSON superset matching — the message value at a given key must contain all fields from the filter value.]]></summary>
        <category label="Enterprise" term="Enterprise"/>
        <category label="Triggers" term="Triggers"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[PocketID OAuth provider]]></title>
        <id>https://www.windmill.dev/changelog/pocketid-oauth</id>
        <link href="https://www.windmill.dev/changelog/pocketid-oauth"/>
        <updated>2026-01-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[PocketID is now supported as an SSO provider. Configure it from instance settings with your PocketID base URL, and OIDC endpoints are derived automatically.]]></summary>
        <category label="Authentication" term="Authentication"/>
        <category label="Self-hosting" term="Self-hosting"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[QuickJS for flow expressions]]></title>
        <id>https://www.windmill.dev/changelog/quickjs-flow-eval</id>
        <link href="https://www.windmill.dev/changelog/quickjs-flow-eval"/>
        <updated>2026-01-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Flow expressions (input transforms, branch predicates, for-loop iterators) can now be evaluated with QuickJS, a lightweight JS engine with 8-16x faster startup for simple expressions. Default on Community Edition; opt-in on Enterprise Edition via <code>USE_QUICKJS_FOR_FLOW_EVAL</code>.]]></summary>
        <category label="Workers" term="Workers"/>
        <category label="Performance" term="Performance"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[HTTP tracing]]></title>
        <id>https://www.windmill.dev/changelog/http-tracing</id>
        <link href="https://www.windmill.dev/changelog/http-tracing"/>
        <updated>2026-01-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Capture HTTP requests made by job scripts as observability spans]]></summary>
        <category label="Enterprise" term="Enterprise"/>
        <category label="Observability" term="Observability"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[TypeScript client ESM build and tree-shaking]]></title>
        <id>https://www.windmill.dev/changelog/typescript-client-esm</id>
        <link href="https://www.windmill.dev/changelog/typescript-client-esm"/>
        <updated>2026-01-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The windmill-client npm package now ships dual ESM/CJS builds using tsdown. Tree-shaking is enabled via sideEffects, false and unbundled ESM output, reducing simple imports from ~91KB to ~900 bytes.]]></summary>
        <category label="SDK" term="SDK"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Full Code UI builder Beta]]></title>
        <id>https://www.windmill.dev/changelog/full-code-ui-builder</id>
        <link href="https://www.windmill.dev/changelog/full-code-ui-builder"/>
        <updated>2026-01-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Write apps fully in code in React/Svelte with any libraries and see preview and code editor directly. If you like Lovable/v0.dev, you will love this since it is equivalent but much better integrated with Windmill backend flow/script/datatable capabilities.]]></summary>
        <category label="App Builder" term="App Builder"/>
        <category label="React" term="React"/>
        <category label="Svelte" term="Svelte"/>
        <category label="Vue" term="Vue"/>
        <category label="UI" term="UI"/>
    </entry>
</feed>