Releases: apache/airflow-client-python
3.0.0
This is the first release of the Airflow 3.0.0 Python client. It introduces compatibility with the new Airflow 3.0 REST API, and includes several breaking changes and behavior updates.
Below is a list of important changes. Refer to individual endpoint documentation for full details.
-
API v1 (
/api/v1
) has been dropped and replaced with API v2(/api/v2
). -
422 Validation Errors (instead of 400)
The API now returns
422 Unprocessable Entity
for validation errors (e.g. bad payload, path params, or query params), instead of400 Bad Request
. -
Partial response support removed (
fields
parameter)Endpoints like
GET /dags
no longer support thefields
query param for partial responses. Full objects are returned by default. This feature may return in a future 3.x release. -
Passing list in query parameters switched from
form, non exploded
toform, exploded
i.e before?my_list=item1,item2
now?my_list=item1&my_list=item2
-
execution_date
has been removedThe previously deprecated
execution_date
parameter and fields are now fully removed. Uselogical_date
instead. -
Datetime format updated to RFC3339-compliant
Datetimes returned are now in RFC3339 format (e.g.
2024-10-01T13:00:00Z
). BothZ
and+00:00
forms are accepted in inputs.
→ This change comes from FastAPI & Pydantic v2 behavior.
More info -
PATCH on
DagRun
andTaskInstance
are more generic and allow in addition to update the resource state and the note content.Therefore, the two legacy dedicated endpoints to update a
DagRun
note andTaskInstance
note have been removed.Same for the set task instance state, it is now handled by the broader PATCH on task instances.
-
assets/queuedEvent
endpoints have moved toassets/queuedEvents
for consistency. -
dag_parsing
returns 409 for duplicatesIf a
DagPriorityParsingRequest
already exists,POST /dag_parsing
now returns409 Conflict
instead of201 Created
. -
Default value change in
clearTaskInstances
The
reset_dag_runs
field now defaults totrue
instead offalse
. -
Pool name is no longer editable
PATCH /pools/{pool_name}
can no longer be used to rename a pool. Pool names are immutable via the API. -
logical_date
is now a required nullable fieldWhen triggering a DAG run (
POST /dags/{dag_id}/dagRuns
),logical_date
is now required but can explicitly be set tonull
.
2.10.0
Major changes:
- Add dag_stats rest api endpoint (#41017)
- AIP-64: Add task instance history list endpoint (#40988)
- Change DAG Audit log tab to Event Log (#40967)
- AIP-64: Add REST API endpoints for TI try level details (#40441)
- Make XCom display as react json (#40640)
- Replace usages of task context logger with the log table (#40867)
- Fix tasks API endpoint when DAG doesn't have
start_date
(#40878) - Add try_number to log table (#40739)
- Add executor field to the task instance API (#40034)
- Add task documentation to details tab in grid view. (#39899)
- Add max_consecutive_failed_dag_runs in API spec (#39830)
- Add task failed dependencies to details page. (#38449)
- Add dag re-parsing request endpoint (#39138)
- Reorder OpenAPI Spec tags alphabetically (#38717)
2.9.1
2.9.0
Major changes:
- Allow users to write dag_id and task_id in their national characters, added display name for dag / task (v2) (#38446)
- Add dataset_expression to grid dag details (#38121)
- Adding run_id column to log table (#37731)
- Show custom instance names for a mapped task in UI (#36797)
- Add excluded/included events to get_event_logs api (#37641)
- Filter Datasets by associated dag_ids (GET /datasets) (#37512)
- Add data_interval_start and data_interval_end in dagrun create API endpoint (#36630)
- Return the specified field when get dag/dagRun (#36641)
NEW API supported
Airflow Python Client v2.8.0
v2.8.0
Major changes:
- Allow filtering event logs by attributes (#34417)
- Add extra fields to plugins endpoint (#34913)
- Let auth managers provide their own API endpoints (#34349)
- Enable pools to consider deferred tasks (#32709)
- Add dag_run_ids and task_ids filter for the batch task instance API endpoint (#32705)
Major Fixes
- Add DagModel attributes before dumping DagDetailSchema for get_dag_details API endpoint (#34947)
- Add TriggerRule missing value in rest API (#35194)
- Fix wrong plugin schema (#34858)
- Make dry run optional for patch task instance (#34568)
- OpenAPI Spec fix nullable alongside $ref (#32887)
- Clarify new_state in OpenAPI spec (#34056)
NEW API supported
- NA
Airflow Python Client v2.7.3
Apache Airflow API 2.7.2
Major changes:
- NA
Major Fixes
- Fix: make dry run optional for patch task instance (#34568)
NEW API supported
- NA
Apache Airflow API v2.7.0
Major changes:
- Enable pools to consider deferred tasks (#32709)
- add dag_run_ids and task_ids filter for the batch task instance API endpoint (#32705)
- Add xcom map_index as a filter to xcom endpoint (#32453)
- Updates health check endpoint to include dag_processor status. (#32382)
- Add TriggererStatus to OpenAPI spec (#31579)
Major Fixes
- OpenAPI Spec fix nullable alongside $ref (#32887)
- Fix incorrect default on readonly property in our API (#32510)
- Fix broken links in openapi/v1.yaml (#31619)
- Update Dag trigger API and command docs (#32696)
NEW API supported
- NA
v2.6.2
v2.6.0
Apache Airflow API version: 2.6.0
Major changes:
- Minimum Python version is 3.7
- DAGRun dag_id parameter is properly validated as read-only and setting it might result in an error:
"dag_id
is a read-only attribute" This might break some workflows that used examples from the documentation.
Major Fixes
- Move read only property in order to fix Dagrun API docs (#30149)
- Fix clear dag run openapi spec responses by adding additional return type (#29600)
- Fix Rest API update user output (#29409)
- Add a param for get_dags endpoint to list only unpaused dags
(#28713) - Expose updated_at filter for dag run and task instance endpoints (#28636)
NEW API supported
- NA