Apache Airflow 2.3.3stable Released Jul 09, 2022
Impact Score: 5/10

Apache Airflow 2.3.3

Source available โ€” automated, not human-reviewed

Component: airflow ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Apache Airflow 2.3.3. Source highlight: Fix exception in mini task scheduler (#24865)

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (3)

  • Add imports to deferring code samples (#24544)
  • Add note about image regeneration in June 2022 (#24524)
  • Add ``typescript`` (#24337)

๐Ÿ”ง Bug Fixes & Patches (6)

  • Fix exception in mini task scheduler (#24865)
  • Fix cycle bug with attaching label to task group (#24847)
  • Fix timestamp defaults for ``sensorinstance`` (#24638)
  • Move fallible ``ti.task.dag`` assignment back inside ``try/except`` block (#24533) (#24592)
  • Add missing types to ``FSHook`` (#24470)
  • Mask secrets in ``stdout`` for ``airflow tasks test`` (#24362)
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
## Bug Fixes - Fix exception in mini task scheduler (#24865) - Fix cycle bug with attaching label to task group (#24847) - Fix timestamp defaults for ``sensorinstance`` (#24638) - Move fallible ``ti.task.dag`` assignment back inside ``try/except`` block (#24533) (#24592) - Add missing types to ``FSHook`` (#24470) - Mask secrets in ``stdout`` for ``airflow tasks test`` (#24362) - ``DebugExecutor`` use ``ti.run()`` instead of ``ti._run_raw_task`` (#24357) - Fix bugs in ``URI`` constructor for ``MySQL`` connection (#24320) - Missing ``scheduleinterval`` nullable true added in ``openapi`` (#24253) - Unify ``return_code`` interface for task runner (#24093) - Handle occasional deadlocks in trigger with retries (#24071) - Remove special serde logic for mapped ``op_kwargs`` (#23860) - ``ExternalTaskSensor`` respects ``soft_fail`` if the external task enters a ``failed_state`` (#23647) - Fix ``StatD`` timing metric units (#21106) - Add ``cache_ok`` flag to sqlalchemy TypeDecorators. (#24499) - Allow for ``LOGGING_LEVEL=DEBUG`` (#23360) - Fix grid date ticks (#24738, #24849) - Debounce status highlighting in Grid view (#24710) - Fix Grid vertical scrolling (#24684) - don't try to render child rows for closed groups (#24637) - Do not calculate grid root instances (#24528) - Maintain grid view selection on filtering upstream (#23779) - Speed up ``grid_data`` endpoint by 10x (#24284) - Apply per-run log templates to log handlers (#24153) - Don't crash scheduler if exec config has old k8s objects (#24117) - ``TI.log_url`` fix for ``map_index`` (#24335) - Fix migration ``0080_2_0_2`` - Replace null values before setting column not null (#24585) - Patch ``sql_alchemy_conn`` if old Postgres schemes used (#24569) - Seed ``log_template`` table (#24511) - Fix deprecated ``log_id_template`` value (#24506) - Fix toast messages (#24505) - Add indexes for CASCADE deletes for ``task_instance`` (#24488) - Return empty dict if Pod JSON encoding fails (#24478) - Improve grid rendering performance with a custom tooltip (#24417, #24449) - Check for ``run_id`` for grid group summaries (#24327) - Optimize calendar view for cron scheduled DAGs (#24262) - Use ``get_hostname`` instead of ``socket.getfqdn`` (#24260) - Check that edge nodes actually exist (#24166) - Fix ``useTasks`` crash on error (#24152) - Do not fail re-queued TIs (#23846) - Reduce grid view API calls (#24083) - Rename Permissions to Permission Pairs. (#24065) - Replace ``use_task_execution_date`` with ``use_task_logical_date`` (#23983) - Grid fix details button truncated and small UI tweaks (#23934) - Add TaskInstance State ``REMOVED`` to finished states and success states (#23797) - Fix mapped task immutability after clear (#23667) - Fix permission issue for dag that has dot in name (#23510) - Fix closing connection ``dbapi.get_pandas_df`` (#23452) - Check bag DAG ``schedule_interval`` match timetable (#23113) - Parse error for task added to multiple groups (#23071) - Fix flaky order of returned dag runs (#24405) - Migrate ``jsx`` files that affect run/task selection to ``tsx`` (#24509) - Fix links to sources for examples (#24386) - Set proper ``Content-Type`` and ``chartset`` on ``grid_data`` endpoint (#24375) ## Doc only changes - Fix doc description of ``[core]`` parallelism config setting (#23768) - Update templates doc to mention ``extras`` and format Airflow ``Vars`` / ``Conns`` (#24735) - Document built in Timetables (#23099) - Alphabetizes two tables (#23923) - Clarify that users should not use Maria DB (#24556) - Add imports to deferring code samples (#24544) - Add note about image regeneration in June 2022 (#24524) - Small cleanup of ``get_current_context()`` chapter (#24482) - Fix default 2.2.5 ``log_id_template`` (#24455) - Update description of installing providers separately from core (#24454) - Mention context variables and logging (#24304) ## Misc/Internal - Do not support ``MSSQL`` less than ``v2017`` in code (#24095) - Drop Python ``3.6`` compatibility objects/modules (#24048) - Remove upper-binding for SQLAlchemy (#24819) - Remove internet explorer support (#24495) - Removing magic status code numbers from ``api_connexion`` (#24050) - Upgrade FAB to ``4.1.2`` (#24619) - Switch Markdown engine to ``markdown-it-py`` (#19702) - Update ``rich`` to latest version across the board. (#24186) - Get rid of ``TimedJSONWebSignatureSerializer`` (#24519) - Update flask-appbuilder ``authlib``/ ``oauth`` dependency (#24516) - Upgrade to ``webpack`` 5 (#24485) - Add ``typescript`` (#24337) - The JWT claims in the request to retrieve logs have been standardized: we use ``nbf`` and ``aud`` claims for maturity and audience of the requests. Also "filename" payload field is used to keep log name. (#24519) - Address all ``yarn`` test warnings (#24722) - Upgrade to react 18 and chakra 2 (#24430) - Refactor ``DagRun.verify_integrity`` (#24114) - Upgrade FAB to ``4.1.1`` (#24399) - We now need at least ``Flask-WTF 0.15`` (#24621)