<?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-30T00: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[Shared runners for dedicated workers]]></title>
        <id>https://www.windmill.dev/changelog/shared-runners</id>
        <link href="https://www.windmill.dev/changelog/shared-runners"/>
        <updated>2026-03-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Dedicated worker scripts sharing the same workspace dependency and language now automatically run in a single long-lived subprocess.]]></summary>
        <category label="Enterprise" term="Enterprise"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[DB Health Diagnostic Dashboard]]></title>
        <id>https://www.windmill.dev/changelog/db-health-dashboard</id>
        <link href="https://www.windmill.dev/changelog/db-health-dashboard"/>
        <updated>2026-03-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New on-demand database diagnostic dashboard for superadmins. Surfaces database size, job retention health, large job results, connection pool status, vacuum/bloat stats, slow queries, and datatable sizes — all from within Instance Settings.]]></summary>
        <category label="Instance Settings" term="Instance Settings"/>
        <category label="Monitoring" term="Monitoring"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Workflows as code v2]]></title>
        <id>https://www.windmill.dev/changelog/workflows-as-code-v2</id>
        <link href="https://www.windmill.dev/changelog/workflows-as-code-v2"/>
        <updated>2026-03-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Workflows as code v2 introduces checkpoint-based orchestration with <code>workflow()</code>, <code>task()</code>, <code>step()</code>, <code>sleep()</code>, <code>waitForApproval()</code>, and <code>parallel()</code> primitives. The workflow fully suspends between tasks, releasing its worker slot, eliminating deadlocks and enabling unlimited parallelism on any number of workers. Also adds script modules (<code>__mod/</code> folders), CLI sync support, and a timeline UI for visualizing task execution.]]></summary>
        <category label="Script editor" term="Script editor"/>
        <category label="Flow editor" term="Flow editor"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Self-managed GitHub App support]]></title>
        <id>https://www.windmill.dev/changelog/github-enterprise-app</id>
        <link href="https://www.windmill.dev/changelog/github-enterprise-app"/>
        <updated>2026-03-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Self-managed GitHub App support for GitHub.com and GitHub Enterprise Server instances, enabling Git sync without relying on the Windmill-managed GitHub App.]]></summary>
        <category label="Git Sync" term="Git Sync"/>
        <category label="Enterprise" term="Enterprise"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Unified generate-metadata CLI command]]></title>
        <id>https://www.windmill.dev/changelog/unified-generate-metadata</id>
        <link href="https://www.windmill.dev/changelog/unified-generate-metadata"/>
        <updated>2026-03-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The new `wmill generate-metadata` command consolidates metadata and lockfile generation for scripts, flows, and apps into a single unified command. The previous commands `wmill script generate-metadata`, `wmill flow generate-locks`, and `wmill app generate-locks` are now deprecated.]]></summary>
        <category label="CLI" term="CLI"/>
    </entry>
    <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>
</feed>