potiuk opened a new pull request, #58076:
URL: https://github.com/apache/airflow/pull/58076
- **Switch all airflow logging to structlog (#52651)**
- **Add guards for registering middlewares from plugins (#55399)**
- **Allow attachment of multiple deadlines to a DAG (#55086)**
- **Optimize Gantt group expansion with debouncing and deferred rendering
(#55334)**
- **Fix graph export cropping when view is partial (#55012)**
- **Complete Arabic translation 2025-09-09 (#55435)**
- **Fix Dag processor crashing under `airflow standalone` (#55434)**
- **[I18N] Add Simplified Chinese (zh-CN) UI Translation (#55122)**
- **Fixup to structlog migration - logging folder not being created
correctly. (#55431)**
- **Fix static checks in boring-cyborg.yml (#55441)**
- **chore(ui): add bottom padding to DAG list (#55415)**
- **Update default branches for 3-1**
- **Pin Task-SDK for Airflow meta package**
- **Add release notes for 3.1.0b1**
- **Fix scheduler ``serve_logs`` subprocess file descriptor errors (#55443)**
- **Make /mnt writeable in publish-docs workflow back (#55450)**
- **feat(i18n): Fill Turkish translation gaps (#55424)**
- **Bump trove-classifiers from 2025.9.8.13 to 2025.9.9.12 (#55418)**
- **Bump trove-classifiers from 2025.9.8.13 to 2025.9.9.12 in /airflow-core
(#55421)**
- **Complete Hebrew translation 2025-09-09 (#55383)**
- **i18n(ko): add missing translations (#55379)**
- **Fix the misalignment of gantt view progress bars (#55061) (#55291)**
- **Add react-dom to default plugin external libraries (#55451)**
- **Update templating support in Deadline Alert docs (#55429)**
- **Update color palette and leverage Chakra semantic tokens (#53981)**
- **fix(i18n): move the filter translation for Taiwanese Mandarin nad
Mandarin Chinese (#55472)**
- **fix(NeedReviewButton): link to required_actions?response_received=false
instead (#55483)**
- **Adjust React Template color scheme after merge of PR 53981 (#55486)**
- **Disable backporting label auto-adding (#55461)**
- **CI: Bump UV and Ruff (#55480)**
- **Fix min version of keycloak after it's been released (#55491)**
- **Differentiate between triggers and watchers currently running for better
visibility. (#55376)**
- **[RFC] Feat(ui): Add portuguese translation + CODEOWNER (#52341)**
- **Close French Translation Gap (#55482)**
- **Add reusable FilterBar component for date, number, text input (#54895)**
- **Make the "Toggle Source" log display only hide source fields, not all
fields (#55474)**
- **Once again redact JWT tokens in task logs (#55499)**
- **Fix Python version for PROD images (#55507)**
- **[RFC] Feat(ui): add italian translation + CODEOWNER (#52342)**
- **Fix missing reset and filter translations (#55471)**
- **Fix grid view to handle long task name (#55332)**
- **Use httpbingo for example-dag-decorator (#55512)**
- **Make task stdout/stderr output filterable in the Sources list in the UI
(#55508)**
- **Update 3.1.0 release notes based on latest cherry-picks**
- **Add new Filter Bar to Audit Log (#55487)**
- **feat: Implemented Filters UI for Asset View (#54640)**
- **Fix prod image package test_required_providers_are_installed, exclude
fab for python3.13 (#55518)**
- **docs(ruff-AIR-rules-usage): remove --preview as it's stablized after
ruff==0.13.0 (#55516)**
- **build: upgrade important version (#55519)**
- **Update providers metadata 2025-09-09 (#55404)**
- **Fix fab tests to block broken dependency (#55592)**
- **adding link to api docs (#53346)**
- **Bump trove-classifiers from 2025.9.9.12 to 2025.9.11.17 (#55605)**
- **Bump trove-classifiers from 2025.9.9.12 to 2025.9.11.17 in /airflow-core
(#55606)**
- **fix(hitl): check whether task instance is deferring when fetching
pending actions (#55539)**
- **Fix alignment of arrows in RTL mode (#55619)**
- **CI: Bump zizmor hook (#55618)**
- **Fix xcom access in DAG processor callbacks for notifiers (#55542)**
- **Fix Dag/TI states names in Hebrew (#55621)**
- **Close Dutch translation gaps (2025-09-12) (#55583)**
- **Allow slash in Variable keys from TaskSDK read/write(#55324)**
- **Add missing `.level` property on our structlog shim. (#55638)**
- **Add documentation for context parameter (#55377)**
- **Removed unused config: dag_stale_not_seen_duration (#55601)**
- **Improve contrast in Clear Task Instance dialog selectors (#55423)**
- **Upgrade important versions of dependencies (#55646)**
- **Use FilterBar for Asset Event filters (#55522)**
- **Update query client strategy (#55528)**
- **Fix gantt chart rendering issues (#55554)**
- **Mark React Apps as Experimental for Airflow 3.1 (#55478)**
- **Be a little clearer when task likely OOM error (#55602)**
- **fix(ui): Connection Form Extras not inferring the correct type (#55492)**
- **fix(hitl): make the user model in HITLDetail consistent with airflow
user model (#55463)**
- **Bump axios (#55552)**
- **Bump axios from 1.11.0 to 1.12.0 in /airflow-core/src/airflow/ui
(#55551)**
- **Remove config loader from react tests (#55541)**
- **Add autorefresh to Required Actions button (#55543)**
- **Add hitl required action count (#55546)**
- **feat(hitl): get rid off "Fallback to defaults" in HITL (#55536)**
- **Remove FAB provider from expected providers for PROD image 3.13
verification (#55523)**
- **Unify datetime format in the UI (#55572)**
- **Prevent HITL from emitting reqeust for settled dag and tasks (#55575)**
- **Fix Grid cache invalidation for multi-run task operations (#55504)**
- **refactor(hitl): rename response_at to responded_at (#55535)**
- **Bump React and React-DOM (#55598)**
- **Include mypy upgrades to upgrade-important-versions prek hook (#55597)**
- **Separate GoLang precommit after prek supports monorepo setup (#54615)**
- **Update 3.1.0 release notes based on latest cherry-picks**
- **Restrict google-ads 28.0.0.post2 (#55640) (#55656)**
- **Upgrade octopin to bleeding edge (#55653)**
- **Fix selected color for gantt and grid (#55553)**
- **Display responder username for better audit. (#55509)**
- **Remove SDK dependency from SerializedDAG (#55538)**
- **Stop making pointless requests from Gantt view when there is no Run ID
(#55668)**
- **Remove duplicate entry in boostrapper package.json (#55666)**
- **feat: refine ui of asset events (#55652)**
- **feat(airflow-config-lint): add dag_stale_not_seen_duration to "airflow
config lint" (#55684)**
- **Fix: Incorrect log timestamps in UI when default_timezone is not UTC
(#54431)**
- **Complete italian and spanish translations (#55578)**
- **Fix handling of `priority_weight` for Dag Processor callbacks (#55436)**
- **Fix docs sigkill mention (#55690)**
- **Ensure that filename and lineno of logger calls are present in the Task
Logs (#55581)**
- **fix(docker/entrypoint_prod.sh): prevent the script from code 2 after db
migrate success (#52928)**
- **#55020 gantt view is not getting updatedin realtime (#55130)**
- **Fix task log URL generation with various `base_url` formats (#55699)**
- **refactor(hitl): make hitl under task instance (#55603)**
- **Front end for hitl endpoint update (#55674)**
- **Update release notes for 3.1.0b2**
- **Dev: Fix Python 3.13 compatibility in production image tests (#55700)**
- **Dev: Fix another Python 3.13 compat for Prod image tests (#55701)**
- **Upgrade prek to fix `invalid option: --no-pager` on CI failure (#55710)**
- **Fix error when retrieving logs of ti not run because of upstream
failures (#55517)**
- **Add HITLDetail.created_at (#55525)**
- **Add SELinux/AppArmor note for creating airflow.cfg in Docker-compose
stacks (#55662)**
- **Simplify serve_logs IPv4/v6 binding (#55716)**
- **Reduce default API server workers to 1 (#55707)**
- **Remove no-longer-needed execution interface hacks (#55681)**
- **Improve Airflow 3 import deprecation documentation (#55722)**
- **Fix update-breeze-cmd-output static check (#55731)**
- **Add newsfragment to call out new features available now with structlog
loggers (#55725)**
- **Fix dag import error modal pagination (#55719)**
- **Bugfix: Fix typo in theme.ts gray.500 color palette (#55739)**
- **Fix DB downgrade to Airflow 2 when fab tables exists (#55738)**
- **Fix DAG disappearing after callback execution in stale detection
(#55698)**
- **Add hover synchronization between Grid and Gantt chart (#55611)**
- **Add filter for HITL TaskInstances page (#55620)**
- **Add map_index filter to TaskInstance API queries (#55614)**
- **Update 3.1.0 release notes based on latest cherry-picks**
- **Restrict Flask-Limiter 3.13 (#55801)**
- **Fix trigger job log tests (#55563) (#55800)**
- **fix unintended print of dag not found in serialised_dag table (#54972)**
- **Adding a backcompat warning layer for
airflow.settings.MASK_SECRETS_IN_LOGS (#55712)**
- **Don't import/load executor if it's not necessary (#55742)**
- **UI fixes for calendar (#55476)**
- **Add hyperlinks to dag_id column in Dag Runs and Task Instances pages
(#55648)**
- **Correctly enable Connection "Save" button when editing 'Extra Fields'
(#55558)**
- **Fix Task header in full screen logs (#55784)**
- **Fix redirection to 'next' url raises an unsafe error (#55704)**
- **Enhance Grid view to support RWD (#55745)**
- **refactor(hitl): remove AirflowException from HITLTriggerEventError
inheritance (#55763)**
- **Fix mapIndex type validation error (#55794)**
- **fix(hitl): fix HITL timeout error handling (#55760)**
- **Call sys.exit instead of builtin exit in task runner parse method in
case of missing DAG or task. (#55786)**
- **refactor: Remove inactive asset check in scheduler (#55714)**
- **SLA-to-Deadlines migration guide and minor Deadlines-related docs
updates (#55743)**
- **Move rtl logic to react (#55808)**
- **Fix UI stats endpoint (#55733)**
- **Update 3.1.0 release notes based on latest cherry-picks**
- **(docs) Update HITL tutorial screenshots (#55798)**
- **Temporary fix to Bitnami psql chart licensing issues (#55820)**
- **fix(hitl): HITL ti state sorting (#55779)**
- **feat(hitl): add map_index filter to get_hitl_details endpoint (#55776)**
- **fix(hitl): fix missing responded_user rename (#55777)**
- **Respect old logging format if given so logs don't change unexpectedly.
(#55824)**
- **Validate plugins in /plugins API and skip invalid ones with warnings
(#55673)**
- **Bump DAG Serialization version to 3 (#55836)**
- **Set default html lang and dir (#55839)**
- **Update the list of nullable properties on LazyDeserializedDAG (#55833)**
- **Fix scheduler handling of orphaned tasks from airflow 2 (#55848)**
- **Fix _get_serdag query in grid ui (#55771)**
- **Optimize DAG serialization by excluding schema default values (#55849)**
- **Handle trigger calls to get_connection (#55799)**
- **Install ``greenback`` in Task SDK (#55855)**
- **Update 3.1.0 release notes based on latest cherry-picks**
- **fix: Set triggered_by='ui' for DAG runs triggered from UI (#54650)**
- **(docs) Update Overview screenshots (#55813)**
- **Fix filter in gantt and grid view (#55845)**
- **Bump `uv` to `0.8.18` and `ruff` to `0.13.1` (#55858)**
- **Add __repr__ methods to serialized classes for better debugging
(#55860)**
- **refresh screenshots for updated UI (#55863)**
- **refresh screenshots for updated UI (#55864)**
- **(docs) update architecture overview screenshots (#55859)**
- **Bump up mypy to 1.18.2 and ruff to 0.13.1 (#55870)**
- **Update responsive options handling in PanelButtons (#55868)**
- **Fix deprecation warnings for airflow v2 imports (#55881)**
- **Fall back to stringification for XCom (#55880)**
- **Fix migrations for sqlite (#55883)**
- **Fix:added none to lastupdated Date if event is not in queue (#54652)**
- **Fix (internationalization): Simplified Chinese fills in gaps and removes
extra content, optimizes description (#55564)**
- **Update 3.1.0 release notes based on latest cherry-picks**
- **(docs) update core concepts dags screenshots (#55865)**
- **Restrict click 8.3.0**
- **Fix DAG deserialization failure with non-default ``weight_rule``
(#55906)**
- **Fix formatting issue in Deadline Alerts' docs (#55911)**
- **Change the signature of BaseDBManager downgrade method (#55907)**
- **Add tests for DBManager upgrade and downgrade (#55940)**
- **Make Airflow 3 upgrade section visible in sidebar (#55965)**
- **Fix left navigation and public interface docs in core docs (#55967)**
- **Fix async connection retrieval in triggerer context (#55812)**
- **Updated Dag-Run Screenshots (#55921)**
- **Fix 'All Log Levels' option in TaskLogHeader (#55851)**
- **Fix `breeze run` command to respect `--backend` flag (#55977)**
- **Use ``SecretCache`` for connection and variable access in task sdk
(#55972)**
- **Fix pytest collection failure for classes decorated with context
managers (#55915)**
- **Bump `uv` to `0.8.20` (#55978)**
- **Fix grid scrollbar overlapping on firefox (#55960)**
- **Fix PoolBar flex values (#55957)**
- **Handle Serialized DAG Format from v3 to v2 when downgrading Airflow
(#55975)**
- **Regenerate the rest API spec to fix CI (#55986)**
- **Fix reset button text in pools dialog (#55991)**
- **Fix Gantt misalignment (#55995)**
- **Fix grid small task names (#55997)**
- **fix: add timetable_summary to serialized DAG (#55998)**
- **fix(ui): Reset pagination on filter change (#55999)**
- **Doc : UI-Guide Remaining Screenshot Updates (#56000)**
- **Fix issue where LocalExecutor could start tasks before the state was
commited (#56010)**
- **Update 3.1.0 release notes**
- **Temporarily mark `test_reading_from_pipes` as xfail**
- **Relax requirement on Task SDK for meta package**
- **Bump ruff up to 0.13.2 (#56102)**
- **Remove self-reference in best practices documentation (#56111)**
- **Bump Airflow to 3.1.1 and Task SDK to 1.1.1**
- **Fix Python 3.12+ fork warning in async connection tests (#56019)**
- **Bump apache-airflow from 3.0.6 to 3.1.0 (#56151)**
- **[v3-1-test] Detect interactive terminal to set colored logging + support
override env variables (#56132) (#56157)**
- **Fix upgrade checks with prek in v3-1-test (#56171)**
- **[v3-1-test] Update changelog of dockerfile to include Fab missing in
Python 3.13 (#56176) (#56179)**
- **[v3-1-test] Add react-router-dom to external deps in plugins (#56205)
(#56213)**
- **[v3-1-test] Fix upgrade checks with prek (#56222) (#56231)**
- **[v3-1-test] Bump version of providers (#56208) (#56251)**
- **[v3-1-test] Replace defaultValue with value in TaskTrySelect (#56141)
(#56258)**
- **[v3-1-test] Support Dynamic UI Alerts (#54677) (#56259)**
- **[v3-1-test] Fix cron expression display for Day-of-Month and Day-of-Week
conflicts (#54644) (#56255)**
- **[v3-1-test] fix(api_fastapi): adjust model validator signature of
TriggerDAGRunPostBody (#56025) (#56026) (#56256)**
- **[v3-1-test] UI: Add Expand/Collapse all to XComs page (#56083) (#56285)**
- **[v3-1-test] Fix scheduler crash during 3.0 to 3.1 migration when
retry_delay is None (#56202) (#56236)**
- **[v3-1-test] Fix multi-line drag selection in task log view (#56238)
(#56300)**
- **[v3-1-test] Fix FAB provider name in auth manager section of release
notes (#56301) (#56317)**
- **[v3-1-test] Use TI duration from db instead of UI calculated (#56310)
(#56329)**
- **[v3-1-test] Fix failed image build in v3-1-test (#56352)**
- **[v3-1-test] Cleanup disk space in image cache push jobs (#56198)
(#56203)**
- **[v3-1-test] Expand and collapse group component (#56293) (#56334)**
- **Upgrade tools on v3-1-test (#56375)**
- **[v3-1-test] Restrict universal-pathlib 0.3.0 (#56370) (#56376)**
- **[v3-1-test] Temporarily limit fastapi to less than 0.118.0 to fix CI
(#56239) (#56386)**
- **[v3-1-test] Make Dag Run ID visible in Dag Header Card (#56392)
(#56409)**
- **[v3-1-test] Use Task Display Name in Grid if existing (#56393) (#56410)**
- **[v3-1-test] fix: show appropriate time units in grid view (#56403)
(#56414)**
- **[v3-1-test] Fix scheduler crash with email notifications (#56429)
(#56431)**
- **Limit astroid to < 4 to fix broken docs builds (#56419)**
- **[v3-1-test] Add uvicorn to spelling ignore list (#56441) (#56442)**
- **[v3-1-test] Emit log stream stopped warning as ndjson (#56474) (#56480)**
- **[v3-1-test] Fix broken main after pydantic 2.12.0 (#56483) (#56489)**
- **[v3-1-test] Bump uv version to 0.9.0 and ruff to 0.14.0 (#56467)
(#56491)**
- **[v3-1-test] 56058: Validating latestRun before accessing its properties
(#56303) (#56488)**
- **[v3-1-test] Allow sub-pages in React UI plugins (#56413) (#56485)**
- **[v3-1-test] feat: make clipboard hover (#56382) (#56484)**
- **[v3-1-test] Use Task Display Name in Graph if existing (#56455)
(#56511)**
- **[v3-1-test] Fix broken main after pydantic 2.12.0 - partly cleanup
(#56514) (#56569)**
- **[v3-1-test] Add rancher-desktop to PREFERRED_CONTEXTS in
docker_command_utils (#56525) (#56530)**
- **[v3-1-test] Fix install_java.sh (#56211) (#56358)**
- **[v3-1-test] Upgrade important dependencies for 3-1 branch (#56577)**
- **[v3-1-test] Fix migration errors for Pydantic 2.12.0 (#56579) (#56581)**
- **[v3-1-test] UI: Fix Grid for cleared runs when tasks were removed
(#56085) (#56297)**
- **[v3-1-test] Use name passed to `@asset` decorator when fetching the
asset. (#56434) (#56611)**
- **[v3-1-test] Update ASF logos in documentation to the new Oak logo
(#56598) (#56601)**
- **[v3-1-test] Remove some irrelevant TODOs in task sdk (#56506) (#56600)**
- **[v3-1-test] Fix: Correctly parse JSON for --dag_run_conf in airflow dags
backfill CLI (#56380) (#56599)**
- **[v3-1-test] Fix retry callbacks not executing for externally killed
tasks (#56586) (#56607)**
- **[v3-1-test] Upgrade to latest versions of prek, uv, golang (#56618)**
- **[v3-1-test] Complete `snowflake-snowpark-python` pip resolver hint
(#56606) (#56619)**
- **[v3-1-test] Upgrade zizmor and uv to latest versions (#56620) (#56622)**
- **[v3-1-test] Remove ``dagReports`` API endpoint (#56609) (#56621)**
- **Fix UI keeps poking pools API when no permission (#56163) (#56626)**
- **Fix Connection or Variable access in Server context (#56602)**
- **Improve API doc for ordering query param (#55988)**
- **Improve API sort documentation (#56617)**
- **Add optional pending dag runs check to auto refresh (#56014) (#56648)**
- **[v3-1-test] bump zizmor and python 3.13 patch level version in
global_constants (#56639) (#56644)**
- **[v3-1-test] Bump hatch version to 1.15.0 (#56652) (#56659)**
- **[v3-1-test] Finalising Core Documentation Pages Screenshot Update
(#56167) (#56637)**
- **Fix AutoRefresh when only 1 dag run is running (#56623) (#56649)**
- **[v3-1-test] Fix task SDK connection error handling to match airflow-core
behavior (#56650) (#56653)**
- **[v3-1-test] chore: add credentials to access local airflow instance
(#56636) (#56662)**
- **[v3-1-test] Improve UI retry strategy on client errors (#56625)
(#56638)**
- **Update bulk API permission check to handle `action_on_existence`
(#56672)**
- **[v3-1-test] Add cleanup of free space for provider tests (#56681)
(#56682)**
- **Update authentication to handle JWT token in backend (#56677)**
- **Fix KeyError when accessing retry_delay on MappedOperator without
explicit value (#56605)**
- **[v3-1-test] Free disk space for mypy jobs (#56703) (#56709)**
- **[v3-1-test] Fix custom timetable generate_run_id not called for manual
triggers (#56373) (#56699)**
- **[v3-1-test] Add ANSI support to log viewer (#56463) (#56721)**
- **[v3-1-test] fix: corrects otel serialization of file paths in dag
processor (#56665) (#56718)**
- **[v3-1-test] Add Audit Logs detailed documentation (#56640) (#56719)**
- **[v3-1-test] Added missing babel dependency in Task SDK (#56553)
(#56592)**
- **Add resize function for Dag Documentation (#56344)**
- **[v3-1-test] Add Greek UI translation (#56229) (#56724)**
- **[v3-1-test] Remove mock_supervisor_comms in core connection tests
(#56714) (#56728)**
- **[v3-1-test] Fix task retries executing wrong method after deferred state
(#56731) (#56737)**
- **attempt to update 3.0.1 release notes for serialization interface change
(#56318)**
- **[v3-1-test] Free up disk space in k8s tests (#56746) (#56748)**
- **[v3-1-test] Fix: Preserve key structure when adding plural forms in
add_keys (#56753) (#56765)**
- **Bump upgrade check versions (#56743) (#56757)**
- **[v3-1-test] Add auto refresh to backfill banner (#56226) (#56774)**
- **Migrate CreateAssetEventsBody to Pydantic v2 ConfigDict (#56697)
(#56772)**
- **[v3-1-test] Clean prek cache before running static checks (#56788)
(#56792)**
- **[v3-1-test] Updated codeowners for ci/dev tooling (#56798) (#56799)**
- **[v3-1-test] Update all hatch versions in all files (#56784) (#56817)**
- **[v3-1-test] Restore prek cache in a more robust way (#56796) (#56826)**
- **[v3-1-test] Ensure dag.test uses serialized dag for testing (#56660)
(#56820)**
- **[v3-1-test] Switch mypy prek hooks to be executed on pre-push, not on
pre-commit (#56829) (#56830)**
- **[v3-1-test] Fix DAG processor crash with pre-import module optimization
(#56773) (#56779)**
- **[v3-1-test] Fix .airflowignore order precedence (#56509) (#56832)**
- **Upgrade to latest versions**
- **[v3-1-test] Upgrade uv and remove accidental uv sync (#56834) (#56838)**
- **[v3-1-test] When prek install-hooks fails, log is now shown in CI
(#56839) (#56842)**
- **Replace custom breeze upgrade check with uv tool upgrade (#56844)
(#56851)**
- **[v3-1-test] Add build-info to summarize-warnings prerequisites (#56850)
(#56853)**
- **[v3-1-test] update serializer document to reflect the latest change in
codebase (#56269) (#56857)**
- **[v3-1-test] Synchronize and fix ARM CI workflows (#56856) (#56858)**
- **Fix get_ti_count and get_task_states access in callbackrequests (#56822)
(#56860)**
- **Fix Advanced Search button overlap in DAG List View (#56588) (#56777)**
- **Fix log text selection contrast in light mode (#56216) (#56893)**
- **[v3-1-test] Check for console in validate_cmd_result (#56876) (#56877)**
- **fix(scheduler): load dag_run eagering for execution API validation
(#56919)**
- **[v3-1-test] Dag task named 'root' causes blue screen on hover (#56902)
(#56926)**
- **[v3-1-test] Bump psutil from 7.1.0 to 7.1.1 in /dev/breeze (#56899)
(#56933)**
- **[v3-1-test] Add English as a fallback locale in the UI (#56028)
(#56934)**
- **[v3-1-test] Add Thai UI translation (#56353) (#56946)**
- **[WEBSERVER] SerializedDagModel query bug fix impacting Grid view
performance (#56257) (#56938)**
- **style: modify log highlight color (#56379) (#56894)**
- **[v3-1-test] fix: enable api to clear ti instances by specifying map
indexes (#56346) (#56945)**
- **[v3-1-test] Modify min width for task names in grid view (#56378)
(#56952)**
- **[v3-1-test] Revert "fix(scheduler): load dag_run eagering for execution
API validation (#56916)" (#56943) (#56956)**
- **[v3-1-test] Improve get dag grid structure endpoint speed (#55942)
(#56937)**
- **[v3-1-test] Serialize pydantic models in json mode. This ensures the
dict is json serializable. (#56736) (#56878) (#56939)**
- **[v3-1-test] fix: Add ``max_retry_delay`` to ``MappedOperator`` model
(#56396) (#56951)**
- **[v3-1-test] Update duration format to show milliseconds (#56775)
(#56961)**
- **[v3-1-test] docs: Enhance triggering_asset_event retrieval documentation
in DAGs (#52666) (#52674) (#56957)**
- **Fix asset name text overflow in DAGs list view (#55914)**
- **fix: Gracefully handle fastAPI plugins with empty url_prefix (#55262)**
- **Add back Deprecation warning for sla_miss_callback (#56127)**
- **UI: Fix note modal does not change markdown text after change (#56092)**
- **Use welcome on dashboard instead of airflow (#56074)**
- **Fix a tiny Hebrew typo (#56168)**
- **Add more comprehensive tests on DagCards (#55904)**
- **Disable Gantt view by default (#56242)**
- **fix(ui): modify calendar cell colors (#56161)**
- **fix(i18n): Add translation keys and remove fallback (#56274)**
- **Default checkPendingRuns to false (#56307)**
- **fix: allow mapped tasks to accept zero-length inputs on rerun (#56162)**
- **include task instance id in log printed by supervisor (#56383)**
- **Optimize grid structure query with DISTINCT for dag_version_id lookup
(#56565)**
- **Prevent unnecessary kubernetes client imports in workers (#56692)**
- **Fix view for many DAG tags (#55604)**
- **Lazy import PodGenerator for deserialization (#56733)**
- **Add PL translations 2025.10.18 (#56825)**
- **Fix topological sort for Grid View (#56963)**
- **Restore timtable active_runs_limit check (#56922)**
- **Update recent runs bar chart and improve responsiveness (#56314)**
- **Add configurable timeout for Execution API requests (#56969)**
- **Fix test_schedulable_task_exist_when_rerun_removed_upstream_mapped_task
(#56065)**
- **Fix execution failures with NULL dag_run.conf during upgrades (#56729)**
- **Fix supported Python versions in README (#56734)**
- **Update Dockerfile & README to bump Airflow version**
- **Improve DAG and task missing error handling in callbacks (#56725)**
- **Fix memory leak in remote logging connection cache (#56695)**
- **Avoid using rem for icons for safari compatibility (#56304)**
- **Add executor, hostname, and queue columns to TaskInstances page
(#55922)**
- **Reduce default columns of Dag Run and Task Instance lists (#55968)**
- **Tests for message type consistency between various supervisor and task
comms (#55665)**
- **Fix deprecated GitHub API authentication in airflow-github script
(#56978)**
- **Move natsort dependency to airflow-core (#56582)**
- **Add is_favorite to ui dags list (#56341)**
- **Close German translation gaps for full UI translation 2025-10-21 on
v3-1-test (#56981)**
- **[v3-1-test] Fix FlexibleForm rendering when all params have sections
(#56870) (#56984)**
- **Add release notes for 3.1.1rc1**
- **Fix failing tests**
- **[v3-1-test] Fix Extra Links translation key. (#57030) (#57040)**
- **[v3-1-test] Fix dags list not rendering (#57037) (#57046)**
- **[v3-1-test] fix(scheduler): load dag_run eagering for execution API
validation (#57010) (#57045)**
- **[v3-1-test] Fix dag list cache invalidation on favouriting a dag
(#57039) (#57047)**
- **[v3-1-test] Add new PL translations. (#56359) (#57055)**
- **Add last missing translation for 3.1.1 (#57057)**
- **[v3-1-test] Close German translation gaps for full UI translation
2025-10-21 (#56980) (#57048)**
- **[v3-1-test] Update French local for 3.1.1 (#57043) (#57058)**
- **Fix connection access in triggerer for deferrable operators (#57154)**
- **[v3-1-test] Fix Outlet Event Extra Data is Empty in Task Instance
Success Listener (#54568) (#57031)**
- **[v3-1-test] Fix: Adjust PanelButtons spacing and alignment (#56570)
(#57062)**
- **Manual backport 56177 (#57068)**
- **[v3-1-test] Fix grid links for tasks with retries (#57063) (#57097)**
- **[v3-1-test] Port Airflow Python client changes (#57103) (#57107)**
- **[v3-1-test] fix get latest serialized_dag model query to prevent "Out of
sort memory" error (#55589) (#57042)**
- **[v3-1-test] Use `exc_info` for task instance heartbeat failure exception
logging (#57172) (#57179)**
- **[v3-1-test] Implement integration test for airflowctl with 3.1 (#56124)
(#56986)**
- **[v3-1-test] Add possibility of removing extra translations missing in en
(#57060) (#57064)**
- **Upgrade CI/dev tooling to latest versions (#57245)**
- **[v3-1-test] Bump zizmor version to 1.16.0 to fix CI (#57190) (#57195)**
- **[v3-1-test] Fix systemd service files issues (#57126) (#57231)**
- **[v3-1-test] Make single workflow to run both AMD and ARM builds (#56887)
(#57232)**
- **[v3-1-test] Automatically publish "apache-airflow-providers" docs
(#57229) (#57244)**
- **[v3-1-test] CI: Fix workflow name (#57246) (#57251)**
- **[v3-1-test] Review and modernize release check process for Airflow:
(#57203) (#57252)**
- **Close German translation gaps for full UI translation 2025-10-21 on
v3-1-test 2nd (#57100)**
- **[v3-1-test] Auto-compile UI assets on Breeze start-airflow command
(#57219) (#57253)**
- **[v3-1-test] Update release docs for Helm Chart to use breeze
workflow-run (#57255) (#57257)**
- **Fix runner type assignment in selective checks (#57254) (#57258)**
- **[v3-1-test] Extract prek hooks for Providers (#57250) (#57260)**
- **[v3-1-test] Disable some integration tests for ARM (#57259) (#57261)**
- **[v3-1-test] Only show latest minor versions in version drop-down in docs
(#57243) (#57262)**
- **Sync airflowctl from main to v3-1-test to include all changes in
integration tests (#57171)**
- **[v3-1-test] Add better platform diagnostics to see which platform is
used (#57284) (#57285)**
- **[v3-1-test] Fix 3-1-test breeze unit tests (#57300)**
- **[v3-1-test] Clean up some root discovery in prek scripts (#57290)
(#57291)**
- **Upgrade Happy-Dom in Plugin Template as well (#57287) (#57301)**
- **[v3-1-test] Extract prek hooks for Task-SDK (#57264) (#57282)**
- **DagBag re-added to exclusion list for task-sdk imports (#57304)**
- **[v3-1-test] Extract prek hooks for Helm (#57263) (#57303)**
- **[v3-1-test] Replace last pylint usage by ruff rule (#57294) (#57307)**
- **[v3-1-test] Extract prek hooks for airflowctl (#57308) (#57312)**
- **[v3-1-test] Fix wrong path pattern after moving prek check to chart
folder (#57311) (#57313)**
- **fix: Add auto-refresh functionality to Required Actions page (#56404)
(#57207)**
- **Fix dag processor crash by ignoring callbacks from other bundles
(#57192) (#57330)**
- **[v3-1-test] remove outdated note from upgrading docs (#57338) (#57345)**
- **Move structlog imports into a TYPE_CHECKING block to untie version bumps
(#57335)**
- **[v3-1-test] Fix job label extraction from the workflow jobs response
(#57375) (#57376)**
- **[v3-1-test] Add better logging for jobs label (#57378) (#57379)**
- **[v3-1-test] Fix asset name overflow in DAG list view (#57108) (#57363)**
- **[v3-1-test] Add initial docs for airflow-ctl release process (#57318)
(#57332)**
- **[v3-1-test] Fix formatting of commands to download RAT and unpacking it
(#57327) (#57331)**
- **[v3-1-test] Add typer-slim as a common development dependency (#57383)
(#57387)**
- **[v3-1-test] Add Content-Type to Request Header in Task SDK calls
(#57377) (#57386)**
- **[v3-1-test] Fix memory leak in Client via SSL context creation (#57334)
(#57374)**
- **[v3-1-test] Move docker to /mnt for the "Publish docs" workflow (#57371)
(#57394)**
- **[v3-1-test] Synchronize boto3 and sqlalchemy dependency lower-binds
(#57385) (#57396)**
- **[v3-1-test] Protect against reproducibility issue with Python client
(#57390) (#57391)**
- **[v3-1-test] Upgrade prek to most recent version (#57384) (#57395)**
- **[v3-1-test] Update main with Airflow 3.1.1 release details (#57392)
(#57402)**
- **[v3-1-test] fix: make _get_ssl_context_cached a static method (#57401)
(#57403)**
- **[v3-1-test] Improve clarity on api workers recommendation in docs
(#57273) (#57404)**
- **[v3-1-test] Update reproducible hash (#57407)**
- **[v3-1-test] Log execution API server URL at task startup (#57343)
(#57409)**
- **[v3-1-test] [API] Use BulkTaskInstanceBody for patching tis with new
state (#57226) (#57412)**
- **[v3-1-test] Fix n+1 queries in ui/dags endpoint and use a compact
response model. (#57425) (#57444)**
- **[v3-1-test] Feat: Add XCom 'Timestamp' and unify task columns (#57053)
(#57447)**
- **[v3-1-test] Fix text selection jumping in logs pane to match text editor
behavior (#57309) (#57453)**
- **[v3-1-test] Add hover rotation animation to AirflowPin (#57326)
(#57440)**
- **[v3-1-test] Add Guan-Ming as committer (#57462) (#57484)**
- **[v3-1-test] Add number of queries guard in public connection list
endpoints (#57442) (#57489)**
- **[v3-1-test] Add number of queries guard in public backfill list
endpoints (#57439) (#57482)**
- **[v3-1-test] fix: dag_docs content not scrollable when too long (#57509)
(#57518)**
- **[v3-1-test] chore: update navigation z-index using Chakra token (#57493)
(#57520)**
- **[v3-1-test] [Doc] Fixing some typos and spelling errors (#57225)
(#57521)**
- **[v3-1-test] Fix instance_name in UI docs (#57380) (#57523)**
- **[v3-1-test] Add number of queries guard in public dag tags list
endpoints (#57499) (#57540)**
- **Add query guard in public asset list endpoints (#57438) (#57543)**
- **[v3-1-test] Fix HITL operators failing when using notifiers (#57494)
(#57551)**
- **[v3-1-test] Better highlighting of selected task instance and edges in
grid view (#57275) (#57560)**
- **[v3-1-test] Add number of queries guard in public xcom entries list
endpoints (#55936) (#57554)**
- **[v3-1-test] Fix pre-commit zizmor hook version update to fix CI upgrade
check failure. (#57476) (#57486)**
- **Fix n+1 query to fetch tags in the dags list page (#57270) (#57570)**
- **[v3-1-test] Add number of queries guard in public import errors list
endpoints (#57557) (#57569)**
- **[v3-1-test] Add number of queries guard in public dag warnings list
endpoint (#57503) (#57546)**
- **Fix connection retrieval in `DagProcessorManager` for bundle
initialization (#57459)**
- **[v3-1-test] Add `--answer` flag support to breeze run command (#57589)
(#57591)**
- **[v3-1-test] Enable ruff PLW0120 rule (#57456) (#57525)**
- **[v3-1-test] Remove duplicate trove classifier (#57595) (#57597)**
- **ci(github-actions): Upgrade uv and ruff versions to fix CI (#57602)**
- **Add number of queries guard in public dags list endpoints (#57506)
(#57556)**
- **Alias `task_display_name` for `EventLogResponse` (#55160) (#57609)**
- **[v3-1-test] Add number of queries guard in public event logs list
endpoints (#57508) (#57558)**
- **Add number of queries guard in public plugins list endpoints (#57562)
(#57617)**
- **[v3-1-test] Add number of queries guard in public import jobs endpoints
(#57559) (#57611)**
- **[v3-1-test] Add number of queries guard in public dag reports list
endpoints (#57496) (#57612)**
- **[v3-1-test] SerDe: Check more strictly for pydantic model (#56758)
(#57616)**
- **Reduce log level for Connection not found event from error to debug in
task-sdk. (#57548)**
- **Fix tasks unable to access triggering_user_name` (#56193)**
- **Remove callbacks from DAG `default_args` when serializating it (#57397)**
- **Fix triggerer errors after Airflow 2 to 3 migration (#55884)**
- **Migrate retry handler in task SDK API client to use tenacity instead of
retryhttp (#56762)**
- **Fix dag-processor crash when renaming DAG tag case on MySQL (#57113)**
- **Respect task retries for signal killed tasks (#55767)**
- **Optimize DAG list query for users with limited access (#57460)**
- **Fix airflow macro list in template document (#57529)**
- **UI - Download Tasks Logs button (#56771)**
- **Fix iterating through `ObjectStoragePath` (#57156)**
- **Fix task instances counting in task group header (#55670)**
- **Bump Airflow to 3.1.2 and Task SDK to 1.1.2**
- **Refine the visual design, interaction, and accessibility of the global
navigation (#57455)(#57565)**
- **Optimize dynamic DAG updates to avoid loading large serialized DAGs
(#57592)**
- **Add release notes for 3.1.2rc1**
- **Fix Execution API migration version to be consistent with released 3.1.1
(#57748)**
- **[v3-1-test] Fix plugin import error alignment issue (#57787) (#57790)**
- **Fix upgrade failure when xcom contains NaN in string values (#57614)**
- **[v3-1-test] Remove leftovers from unlimited parallelism in local
executor (#57579) (#57644)**
- **[v3-1-test] Fix: Prevent AttributeError crash in prek when run inside
container (#57497) (#57649)**
- **[v3-1-test] Enable ruff PLW0602 rule (apache#57588) (#57638)**
- **[v3-1-test] Upgrade Python Runtime to 3.9.25 (#57656) (#57661)**
- **[v3-1-test] Fix code formatting via ruff preview (#57641) (#57670)**
- **[v3-1-test] Enable ruff PLW1508 rule (#57653) (#57673)**
- **[v3-1-test] Enable ruff PLW1510 rule (#57660) (#57674)**
- **[v3-1-test] Dev: Add Task SDK support to `start-release` command
(#57658) (#57666)**
- **Add `localstack` Breeze integration (#54050) (#57668)**
- **[v3-1-test] Support PR number with use-airflow-version in Breeze
(#57667) (#57688)**
- **[v3-1-test] Refactor trigger method (#57678) (#57687)**
- **[v3-1-test] Enable ruff PLW0211 rule (#57522) (#57684)**
- **[v3-1-test] Shorten German Translation of Asset in Navigation (#57671)
(#57690)**
- **[v3-1-test] Update diagrams>=0.24.4 (#57483) (#57698)**
- **[v3-1-test] Upgrade Zizmor to 1.16.2 (#57708) (#57709)**
- **[v3-1-test] Use eralchemy instead of eralchemy2 (#55758) (#57715)**
- **[v3-1-test] Enable ruff PLW1641 rule (#57679) (#57701)**
- **[v3-1-test] Make `extra` of Asset, AssetAlias, AssetEvent a `dict[str,
JsonValue]` (#57352) (#57728)**
- **[v3-1-test] Add number of queries guard for public variables (#57647)
(#57732)**
- **[v3-1-test] Remove Python 3.9 since we are not cherry-picking to 3.0
(#57662) (#57669)**
- **[v3-1-test] Add link to Airflow CVEs in MITRE CVE database. (#57683)
(#57689)**
- **Add number of queries guard in public dag runs list endpoints (#57450)
(#57736)**
- **[v3-1-test] Add number of queries guard in public providers list
endpoints (#57635) (#57643)**
- **[v3-1-test] Simplify typing in TriggerRuleDep (#57733) (#57779)**
- **[v3-1-test] update docs (#57770) (#57788)**
- **[v3-1-test] Note asset event extra storage (#57727) (#57734)**
- **[v3-1-test] fix(task_instance): Ignore NotFullyPopulated if the task
might be triggered due to trigger rule setup (#57474) (#57786)**
- **[v3-1-test] Add number of queries guard for public hitls (#57549)
(#57738)**
- **[v3-1-test] Fix duplicate mention of 'Dags' and 'tasks' in overview.rst
(#57524) (#57793)**
- **Add number of queries guard in public dag version list endpoints
(#57500) (#57735)**
- **[v3-1-test] Add number of queries guard for public tasks (#57646)
(#57664)**
- **Add number of queries guard in public task instances list endpoints
(#57645) (#57794)**
- **[v3-1-test] Update release docs to reflect versioning decision and
yanked versions (#57677) (#57686)**
- **[v3-1-test] Fix loading providers hooks fields w/o FAB provider
installed (#57717) (#57830)**
- **[v3-1-test] Minor fixes for the release candidate command (#57806)
(#57849)**
- **[v3-1-test] Change airflowctl version to 0.* (#57773) (#57829)**
- **[v3-1-test] Update version of Grafana and statsd-exporter used for
`--integration statsd` (#57855) (#57858)**
- **[v3-1-test] Configure uvicorn `timeout_worker_healthcheck` from
worker-timeout CLI option (#57731) (#57854)**
- **[v3-1-test] UI - Fix test connection (#57811) (#57852)**
- **[v3-1-test] Add pause and unpause commands for dags (#57685) (#57714)**
- **[v3-1-test] Update release documentation for airflowctl and tarballs
(#57337) (#57876)**
- **[v3-1-test] Update release process for source tarballs prepared during
release (#57364) (#57877)**
- **Revert "[v3-1-test] Fix text selection jumping in logs pane to match
text edi…" (#57874)**
- **[v3-1-test] Fix start-rc-process command test in CI (#57870) (#57875)**
- **[v3-1-test] Ensure `task` in the context is always correct. (#57884)
(#57892)**
- **Ensure that DB migrations handles all kinds of NaN values in historical
xcoms (#57866) (#57893)**
- **[v3-1-test] Don't fetch ImportError until modal opens. Use limit as 1
since the UI shows total_entries value and rest of the response is ignored.
(#57624) (#57757)**
- **[v3-1-test] Fix pin-versions prek hook and upgrade hooks (#57857)
(#57905)**
- **[v3-1-test] Improve preparation and verification of source tarballs
(#57901) (#57906)**
- **[v3-1-test] Upgrade important versions in v3-1-test (#57908)**
- **[v3-1-test] Bump prek, zizmor, go to fix the CI (#57930) (#57946)**
- **Fix scheduler using stale max_active_runs from SerializedDAG (#57619)
(#57959)**
- **[v3-1-test] Add number of queries guard for ui config (#57868) (#57918)**
- **[v3-1-test] Add number of queries guard for ui connections (#57869)
(#57882)**
- **[v3-1-test] Add number of queries guard for ui dependencies (#57957)
(#57972)**
- **[v3-1-test] Release Notes change (#57895) (#57960)**
- **[v3-1-test] Add `breeze ci upgrade` command to automate CI
infrastructure upgrade (#57958) (#57987)**
- **[v3-1-test] Further fixes for release preparation process for tarballs
(#57996) (#57997)**
- **[v3-1-test] Remove unnecessary `--tag` flag from git push (#57999)
(#58000)**
- **[v3-1-test] Use VERSION_SUFFIX in airflow-ctl when preparing PyPI
packages. (#58001) (#58002)**
- **[v3-1-test] build: upgrade ruff to 0.14.4 (#58017) (#58024)**
- **[v3-1-test] Add number of queries guard for ui dashboard (#57956)
(#57973)**
- **[v3-1-test] fix: Add .txt extension for log download function (#57991)
(#58040)**
- **[v3-1-test] Adjustments in release docs (#58008) (#58026)**
- **[v3-1-test] Add number of queries guard for ui backfill (#57820)
(#57856)**
- **Fix logout in airflow-core (#57990) (#58043)**
- **[v3-1-test] Update Hebrew translation 2025-11-07 (#58041) (#58048)**
- **[v3-1-test] Update Arabic translation 2025-11-07 (#58042)**
- **[v3-1-test] Add number of queries guard for ui next_run_assets (#58052)
(#58064)**
- **[v3-1-test]Add missing PL translations in 3.1 branch**
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
Thank you for contributing! Please make sure that your code changes
are covered with tests. And in case of new features or big changes
remember to adjust the documentation.
Feel free to ping committers for the review!
In case of an existing issue, reference it using one of the following:
closes: #ISSUE
related: #ISSUE
How to write a good git commit message:
http://chris.beams.io/posts/git-commit/
-->
<!-- Please keep an empty line above the dashes. -->
---
**^ Add meaningful description above**
Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
for more information.
In case of fundamental code changes, an Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
is needed.
In case of a new dependency, check compliance with the [ASF 3rd Party
License Policy](https://www.apache.org/legal/resolved.html#category-x).
In case of backwards incompatible changes please leave a note in a
newsfragment file, named `{pr_number}.significant.rst` or
`{issue_number}.significant.rst`, in
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]