Last 7 days
0
Features: 0
Changes: 0
Fixes: 0
Deprecations: 0
Workflow orchestration platform for authoring and monitoring data pipelines.
Latest Apache Airflow changelog updates, official release notes, breaking changes, security patches, pricing changes, and developer reactions in one product feed.
Follow this Apache Airflow release-notes page to spot useful features, risky migrations, noisy announcements, and source links before they hit your backlog.
Changes.Watch links back to official changelog and release-note sources so summaries stay easy to verify.
Use channels to follow groups of tools around a stack, workflow, or topic.
Rolling windows show how many product updates landed in the last 7, 30, 90, and 365 days, grouped by existing changelog semantics.
0
1
5
22
Updated XCom handling for pandas 3, now storing the class name; all components must be upgraded or DataFrames from pandas 3 become unreadable.
Expanded asset partitioning with new RollupMapper, FanOutMapper, FixedKeyMapper, SegmentWindow and runtime timetable support for dynamic partition keys.
Bump minimum Helm version to 3.19.0 and upgrade default Airflow image to 3.2.2, which may require adjustments for older Helm releases.
Added numerous new airflowctl commands: next‑execution for DAGs, bulk delete DagRuns, rerun with latest config, task‑group instance patching, remote version check, cursor‑based pagination for DagRuns and task instances, queueing new task...
✅ SMTP STARTTLS now validates server certificates by default; set `email.ssl_context="none"` to retain previous non‑validating behavior.
Workers configuration options are now nested under workers.celery and workers.kubernetes; the old keys are deprecated and will be removed later.
Read‑only users can no longer access the `/dags` endpoint without additional permissions, requiring role updates for DagAccessEntity.RUN, HITL_DETAIL, and TASK_INSTANCE (breaking change).
Adds asset partitioning for fine‑grained scheduling, experimental multi‑team deployments, and synchronous deadline callbacks.
Drop support for Airflow <2.11, set minimum to 2.11 and update default image to 3.1.8 (breaking change).
Added new auth token command, interactive login prompts, and headless environment support to airflowctl.
Backfill permissions now rely on DagAccessEntity.Run and the BaseAuthManager interface is deprecated, requiring permission updates for backfill operations.
Added new CLI commands: XCom operations, auth list environments, allowed run‑type whitelist, and default logical date now matches UI behavior
Added configurable StatsD cache with TTL/LRU options to limit memory growth.
Fixed numerous bugs across core components, including JWT token generation, DAG processing, UI rendering, permissions, and API pagination.
Improved CLI: pause/unpause commands are now positional and added team name/id options to connection and variable commands, plus active DAG run count in header.
Added `is_authorized_hitl_task()` method in auth managers for HITL task approval checks.
Extensive bug fixes across core components (e.g., JWT token handling, DAG hash consistency, backfill race condition, LocalExecutor memory spike, TriggerRunner timeout, serialized DAG write atomicity).
Implement automatic context detection with three secret‑backend chains, enabling hooks like GCSHook and S3Hook to operate correctly in API server, scheduler, and worker contexts without code changes.
Fixed numerous bugs such as import errors, task retry handling, DAG processor crashes, and API n+1 query issues
Fixed numerous crashes and execution issues (null dag run.conf, scheduler crashes, memory leak, task retry bugs) and improved error handling
Adds modern React UI with Calendar/Gantt views, enhanced filtering, drag‑and‑drop log grouping, RTL support, and a new plugin/iframe extension system.
Fix numerous UI and task execution bugs, including TriggerDagRunLink, remote logging, task queued timeout, DAG version detection, Kerberos replay cache handling, max active tasks persistence, task log preview errors, and local executor e...
Fix numerous UI bugs including JSON field dark‑mode display, pool name editing, graph view rendering, and task name indentation; restore proper DAG callback execution context
Fixed numerous bugs including scheduler heartbeat timeout, connection editing loss, BaseOperator kill handling, task notes refresh, and memory issues in large log reading.
Fixed numerous task execution and logging issues, including large data handling, sensor rescheduling, XCom pulling, and log streaming correctness.
Added ConfigMap and Secret references in apiServer.env and gitSync.env, and support for custom annotations on JWT Secret.
Upgrade default Airflow image to 3.0.2 and bump minimal Kubernetes version to 1.30
Fixed numerous bugs affecting stability, performance, and UI (e.g., memory leak in DAG processor, CPU spike prevention, virtualized log viewer, API schema fixes).
Introduces DeltaTriggerTimetable and a config option to opt‑in, enabling trigger‑based delta schedules and aligning timing metrics to milliseconds across backends.
Fixed numerous UI and task handling bugs (clickable task boxes, grid view, login redirects, dashboard overflow, etc.)
Introduces a service‑oriented architecture, a modern React UI, and enhanced security.
Upgrade default container images: Airflow to 2.10.5, git‑sync to 4.3.0, PgBouncer to 1.23.1 (with exporter 0.18.0) and StatsD exporter to 0.28.0.
Teardown tasks are now executed when a DAG run is manually marked as failed or success (if setup tasks ran), requiring the DAG to stay in a running state for scheduling.
Capped TaskInstance priority weight to 32‑bit signed integer range to prevent overflow errors.
Improved security with enhanced value masking for Airflow variables and suppression of masking warnings.
Reverted a DAG stale‑marking fix and added a missing OpenTelemetry span while correcting scheduled‑slots documentation.
Fixed numerous bugs affecting UI rendering, trigger processing, heartbeats, FAB provider compatibility, and XCom type handling.
Datasets will no longer trigger paused or removed DAGs, fixing a bug but introducing a breaking change for existing schedules.
Upgrade default Airflow image to 2.9.3 and PgBouncer exporter to a version fixing CVE‑2024‑24786.
Metrics for scheduled and queued duration are now emitted in milliseconds, aligning with StatsD conventions
Renamed ClusterRole and ClusterRoleBinding names to include the release namespace for uniqueness, requiring manifest updates (breaking change).
Fixed numerous bugs including UI button permissions, mini‑scheduler locking, security manager access, dataset URI handling, logging behavior, migration constraints, and Python 3.12 compatibility.
Fixed Stackdriver logging bug by passing the correct GCP log name and requiring Google provider >=10.17.0, breaking compatibility with earlier provider versions.
Listener API methods are now stable for production and many new features are added, including dataset URI validation, multi‑executor configuration, Matomo analytics, bulk pause/resume CLI, and extensive UI/Audit Log enhancements.
Fixed multiple bugs including FixedTimezone serialization, scheduler heartrate usage, task instance list linking, log task handler permissions, ObjectStoragePath hash caching, and added grid padding to prevent scroll overlap.
Update default Airflow image to version 2.8.3 (was 2.8.2).
Added SMTP provider as a pre‑installed provider in Airflow 2.8.3.
Updated default Airflow image to version 2.8.2.
Allowed deserialization classes flag now uses glob patterns (with a new regex list), requiring updates to custom configurations.
Upgrade bitnami/postgresql subchart to 13.2.24 and PostgreSQL binaries to 16.1.0, requiring a manual major version migration for existing users.
Core dependency pendulum upgraded to v3, dropping support for v2 – requires code updates (breaking change).
Raw HTML in DAG docs and params is disabled by default and controlled via `webserver.allow_raw_html_descriptions`, deprecating the custom HTML form for security.
Fix premature evaluation of tasks in mapped task groups and resolve scheduler crash loops when dagrun creation fails
Fixed numerous bugs including config sensitivity checks, Select count errors during DB migration, non‑deterministic datetime deserialization, and permission issues in DAG and task‑instance endpoints.
Adds an opt‑in `useStandardNaming` switch that renames key Helm resources (ConfigMaps, Secrets, Ingress, etc.) on upgrade, causing recreation of those objects – a breaking change.
CronTriggerTimetable now respects catchup=False more accurately, requiring a full cron period pause to truly skip a run.
Python 3.7 support and the legacy Graph View are removed; database init/upgrade commands are deprecated in favor of `airflow db migrate` with explicit default connections creation.
Extensive bug fixes covering triggerer health checks, XCom handling, DAG serialization, connection parsing, UI rendering, and various operator edge cases.
Updated default Airflow image to 2.6.2 and aligned chart defaults.
Fixed numerous bugs across the scheduler, Kubernetes executor, task mapping, UI components, CLI commands, and sensor implementations, improving stability and compatibility (including Python 3.11).
Clarified that external health checks should use the new `airflow jobs check` CLI instead of SchedulerJob ORM classes.
Async `BaseTrigger.cleanup()` now required, breaking custom trigger implementations that used synchronous code
- Updated default Airflow, PgBouncer, and PgBouncer Exporter images to newer multi‑platform versions (Airflow 2.5.3, PgBouncer 1.16.1, Exporter 0.14.0).
Fix DagProcessorJob integration, gunicorn termination, and XCom.get exception handling
Date/time API parameters now require RFC3339 format and proper URL‑encoding; ISO‑8601 remains supported with a deprecation warning.
PostgreSQL subchart upgraded to 12.1.9 with new auth variable names; upgrade may require release reinstall or manual object deletion (breaking change).
Fixed numerous bugs across UI, CLI, executor, task mapping, and DAG parsing (e.g., env‑var masking, XCom handling, deadlock with mapped tasks).
Added numerous features including TaskRunner start/finish notifications, DagRun state‑change listener plugin, dataset support in TaskFlow, a sensor decorator, PostgreSQL 15 support, and expanded audit logging for variables and connections.
Fixed numerous bugs such as double logging, mini‑scheduler mapped task expansion, DAG search behavior, executor job ID handling, and SQLAlchemy integrity errors.
Fixed numerous UI and task‑related bugs (graph view refresh, duration charts, dataset modal links, DAG audit log ordering, etc.)
Added numerous configurable options: cleanup job history, custom labels, podAnnotations, extra env vars, revisionHistoryLimit, and support for KEDA HPA and configurable webserver probes.
Fixed multiple bugs such as template rendering issues, XComArg zip handling, deadlock during reruns, and backfill scheduling anomalies
Introduced data‑aware scheduling, new TaskFlow decorators (e.g., @task.short_circuit, @task.kubernetes) and expanded task‑mapping APIs (expand_kwargs, map semantics, XComArg.zip).
Fixed numerous bugs in operators, scheduler, UI, and database handling (e.g., mapped operator state, pod serialization, session ID rotation, CORS origins, and zombie task handling).
Fixed a wide range of bugs in the scheduler, task execution, UI grid, connections, and migrations, enhancing overall stability.
Fixed several UI bugs and performance issues in grid and Gantt views, including icons, hover highlights, and null task handling.
Fix a wide range of bugs across the UI, executors, scheduler, and core components (e.g., task rescheduling, grid view actions, provider import errors, and Kubernetes job watcher).
Introduced numerous new Helm chart features: annotations on volume claim templates and DAG PVCs, topologySpreadConstraints, LocalKubernetesExecutor support, Redis securityContext, optional subPath for DAG volume, PgBouncer auth override,...
Introduced dynamic task mapping and TaskFlow API enhancements, including @task decorator and branch operator, for scalable parallel execution.
Fixed numerous bugs across executors, triggerer, scheduler, sensors, and DB load to improve stability and reliability.
Added support for custom command/args in jobs, priorityClassName, envFrom in Flower deployment, and pod cleanup annotations.
Fixed critical stability bugs including scheduler crashes, slow DAG deletion, task deadlocks, and session handling issues
Added support for extra secret types, securityContext, custom containers/volumes, multi‑hostname ingress, Kerberos keytab, and migration wait timeout
Extensive bug‑fix release covering race conditions, log handling, DB migrations, and executor issues across Airflow core and providers.
Fixed numerous bugs including variable existence checks, serialization of relativedelta and Params, SchedulerJob handling, and SQL Server task instance cleanup.
Add resources and configurability for cleanup/createuser jobs, migration jobs, custom pod annotations, and make PgBouncer command/args configurable while defaulting to Python 3.7.
Fixed numerous scheduler and task instance bugs, including unexpected commit errors, crashes with missing serialized DAGs, and incorrect task state changes
Added major new capabilities: customizable Timetable, deferrable (async) tasks, Docker Taskflow decorator, Airflow Standalone command, plus extensive UI and REST API enhancements (e.g., Next Run view, DAG tag filtering, user management e...
Add Triggerer component to the Helm chart and introduce extraContainers support for workers, migrateDatabaseJob, and pod templates.
Added many bug fixes including scheduler queue limits, DagRun ordering, task instance clearing, Sentry handler errors, pod state handling, and MySQL driver queries
Added a new “queued” state for DagRuns and task instances, along with related state types
Added numerous configurable features to the Helm chart, including krb5.conf support, custom ports, extraContainers/Volumes, pod resources, minReplicaCount for KEDA, custom commands/args, pgBouncer config, loadBalancer IPs, pod anti‑affin...
Fixed several bugs: webserver request restrictions, invalid JSON config handling, CeleryKubernetesExecutor issues, impersonation in LocalTaskJob, and token masking.
Fixed numerous bugs across UI, CLI, executors, and REST API, including a URL normalization vulnerability, DAG run state handling, and log redaction issues.
Add a check for non‑importable configuration in Airflow rules and update the upgrade rule to suggest renaming [scheduler] max threads to [scheduler] parsing processes.
Initial release of the official Apache Airflow Helm chart.
Fixed numerous bugs across executors, scheduler, UI, CLI, and API (e.g., TypeError in DAG serialization, KubernetesExecutor issues, and TaskInstance crashes).
Fix numerous bugs across DB upgrade, KubernetesExecutor, scheduler, plugin import, CLI, statsd timers, and webserver stability
Numerous bug fixes across XCom API, scheduler, webserver, DB migrations, and task handling improve overall stability
Added the TaskFlow API for simpler DAG authoring, a fully supported REST API with OpenAPI spec, and introduced Task Groups to replace SubDAGs.
Fixed numerous bugs: task scheduling dead‑locks, empty resources, Python 3.8 plugin import errors, and a setup.py typo; updated setup dependencies handling.
Introduces the Apache Airflow Upgrade Check module, initial 1.0.0 release.
Added Kubernetes and Azure enhancements such as an "already checked" flag for K8sPodOperator, yaml generation command, Azure Key Vault secrets backend, Gzip compression for S3, extra links permission, and SQLAlchemy engine options for FA...
Added several new features such as DateTimeSensor, ClusterPolicyViolation support, secret backend access for sensitive configs, PostgresHook upsert, custom XCom class, Snowflake support, and templatable images for KubernetesPodOperator.
Introduced many new features: task instance mutation hook, new secret backends (AWS Secrets Manager, Local Filesystem, Vault, Systems Manager), Python 3.8 support, new CLI commands (airflow info, config), SQL Branch operator, and extensi...
Added UI timezone selection and enhanced datetime picker support.
Pin Werkzeug dependency to versions below 1.0.0 to resolve compatibility issue [AIRFLOW-6751]
Introduce new UI features: filter DAGs by tags, center graph view on load, add DAG Run view config, and support AWS Athena workgroups.
Added serialized DAG persistence to the DB for better webserver scalability and introduced several new operators (Docker Swarm, Dataproc with custom images, GcsToGDrive, Slack blocks, etc.).
Added new features such as Google Analytics UI integration, Dataproc job labeling, secret git credentials for init containers, timeout support in GCP video intelligence, high‑availability Dataproc, custom Elasticsearch configs, and Slack...
Added numerous new operators, hooks, and sensors for Google Cloud, Azure, AWS, Slack, Opsgenie, and others, including enhancements like the none‑skipped trigger rule and Kubernetes annotations support.
Added numerous new operators and hooks (e.g., BigQuery UDF support, MySQL‑to‑GCS/BQ, Oracle, FTPS, SSH Execute, Qubole) and expanded existing ones with template and JSON config capabilities.
Bug fixes throughout the release
Added DAG run concept with parallelism limits, support for externally triggered runs, cron syntax and macros in the scheduler.
Added CI on Travis with coverage reports and full Python 2/3 compatibility via future imports
Fix XCom table creation timestamp bug
Added XCom for cross‑task communication, Alembic DB migration support, and flexible dependency trigger rules.
Added TimeDeltaSensor and new Slack hooks/operators