Awesome!  It's wonderful to see this.

Thank you Kaxil, Ash, Elad, Jarek, Rahul and everyone else who contributed
to this and made this happen!
115 commits in the last couple of days! Wow!

Vikram

On Wed, Apr 16, 2025 at 8:49 AM Kaxil Naik <kaxiln...@gmail.com> wrote:

> Hey fellow Airflowers,
>
> I am thrilled to announce the availability of Apache Airflow 3.0.0rc3 &
> *Task
> SDK 1.0.0rc3* for testing!
>
> This email is calling for a vote on the release,
> which will last at least until 22nd April, 11 am GMT.
> and until 3 binding +1 votes have been received.
>
> Consider this my +1 binding vote.
>
> Airflow 3.0.0rc3 is available at:
> https://dist.apache.org/repos/dist/dev/airflow/3.0.0rc3/
>
> "apache-airflow" Meta package:
>
>
>    - *apache-airflow-3.0.0-source.tar.gz* is a source release that comes
>    with INSTALL instructions.
>    - *apache-airflow-3.0.0.tar.gz* is the binary Python "sdist" release.
>    - *apache_airflow-3.0.0-py3-none-any.whl* is the binary Python
>    wheel "binary" release.
>
> "apache-airflow-core" package
>
>
>    - *apache_airflow_core-3.0.0.tar.gz* is the binary Python "sdist"
>    release.
>    - *apache_airflow_3.0.0-py3-none-any.whl* is the binary Python
>    wheel "binary" release.
>
> Task SDK 1.0.0rc3 is available at:
> https://dist.apache.org/repos/dist/dev/airflow/task-sdk/1.0.0rc3/
>
> "apache-airflow-task-sdk" package
>
>    - *apache-airflow-task-sdk-1.0.0-source.tar.gz* is a source release
>    - *apache_airflow_task_sdk-1.0.0.tar.gz* is the binary Python "sdist"
>    release.
>    - *apache_airflow_task_sdk-1.0.0-py3-none-any.whl* is the binary Python
>    wheel "binary" release.
>
>
> Public keys are available at:
> https://dist.apache.org/repos/dist/release/airflow/KEYS
>
> Please vote accordingly:
>
> [ ] +1 approve
> [ ] +0 no opinion
> [ ] -1 disapprove with the reason
>
> Only votes from PMC members are binding, but all members of the community
> are encouraged to test the release and vote with "(non-binding)".
>
> The test procedure for PMC members is described in:
>
> https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOW.md\#verify-the-release-candidate-by-pmc-members
>
> The test procedure for contributors and members of the community who would
> like to test this RC is described in:
>
> https://github.com/apache/airflow/blob/main/dev/README_RELEASE_AIRFLOW.md\#verify-the-release-candidate-by-contributors
>
> Please note that the version number excludes the 'rcX' string, so it's now
> simply 3.0.0 for Airflow package and 1.0.0 for Task SDK. This will allow us
> to rename the artifact without modifying
> the artifact checksums when we actually release.
>
> Release Notes:
> https://github.com/apache/airflow/blob/3.0.0rc3/RELEASE_NOTES.rst
>
>
> *Testing Instructions using PyPI*:
>
> You can build a virtualenv that installs this and other required packages
> (e.g. task sdk), like this:
>
> ```
>
> uv venv
>
> uv pip install -U apache-airflow --pre
>
> ```
>
>
> Constraints files are at
> https://github.com/apache/airflow/tree/constraints-3.0.0rc3
>
> Get Involved
>
> We encourage the community to test this release and report any issues or
> feedback. Your contributions help us ensure a stable and reliable Airflow
> 3.0.0 release. Please report issues using Github at
> https://github.com/apache/airflow/issues and mark that this is an issue in
> 3.0.0. For an updated list of all known issues in the beta can also be
> found in the above link with the label “affected_version:3.0.0rc”
>
> A huge thank you to all the contributors who have worked on this milestone
> release! and a huge thank you to folks who helped out on various release
> issues: Ash, Elad, Jarek, Rahul and many others.
> Best,
> Kaxil
>
>
> Changes to Airflow Core and Task SDK since rc2 (115 commits):
>
> - Add back-compat for `get_unique_task_id` (#49084)
> - Fix `example_dag_decorator` (#49087)
> - Update docs on how to run behind a reverse proxy (#49086)
> - Use scheme-relative URLs for the UI so https works out of the box more
> often (#49106)
> - Cope with more "interesting" proxy configurations when accessing the UI
> (#49118)
> - Fix GetDagRunState and GetTICount response conversion (#49095)
> - Update dag version UI (#49088)
> - Add min-provider versions in apache-airflow pyproject.toml (#49103)
> - Bump vite (#49126)
> - Improve “Fundamental Concepts” Tutorial and Screenshot Organization
> (#49098)
> - Remove asset-name-ref and asset-uri-ref node after resolving them
> (#49008)
> - Remove cgroups extra since the dep has been removed (#49123)
> - Fix ExternalTaskSensor task_group_id check condition (#49027)
> - Adding type checking assert to cron.get_next (#49127)
> - Catch BrokenPipeError gracefully while servicing subprocess (#49128)
> - Remove @provide_session from Variable.set/update in models (#49107)
> - Fix bug in Serialization of templated fields set at Runtime (#49144)
> - Rewrite data pipeline tutorial to no longer use deprecated
> PostgresOperator (#49147)
> - Bump trove-classifiers in /airflow-core (#49134)
> - Move celery integration tests to celery provider. (#49178)
> - Remove dag_version as a create_dagrun argument (#49148)
> - Implement `Variable.delete` method in task SDK (#49141)
> - chore: use object type hint for __eq__ method (#48900)
> - chore: make the __enter__ method return Self instead of the class type
> (#48902)
> - Fix finding assets in serialized mapped operator (#49210)
> - update md5 type hints to respect PEP570 (#49195)
> - Move SQS message queue code example from core to provider docs (#49208)
> - remove Literal[local] type hint as it is included in str (#49194)
> - Collapse Cadwyn migrations (#49116)
> - fix(AssetSchedule): fix how asset_expression is accessed (#49214)
> - remove superfluous else block (#49199)
> - Update taskflow.rst (#47984)
> - fix(AssetSchedule): use asset.name if exists (#49225)
> - Rename directory for dag processor child process logs (#49227)
> - Improve logging of abnormal exit codes for supervised sub-processes.
> (#49217)
> - Update Object Storage tutorial to match learning path tone (#49170)
> - Nuke orm_deserialize_value refs in docs and docstring (#49220)
> - batch processing for updating TI UUIDs (#49015)
> - Bump min version of pre-installed providers to latest (#49222)
> - feat(dag_dependency): add unresolved asset ref node (#49231)
> - Add cross dependencies between airflow-core and task-sdk (#49221)
> - add callout for using multiple outputs in step 2 example (#49169)
> - Re-add section on getting Context in Taskflow API (#49240)
> - Properly allow variable delete from models (#49234)
> - Remove `STATE_COLORS` from Airflow Local Setting (#49228)
> - Rename edge provider to edgeexecutor provider. (#49184)
> - Fix deprecation warning for Variable utility imports from models (#49242)
> - Bump Serialized DAG to v2 and handle conversion from v1 (#49020)
> - Wrap dictionary iteration with list to prevent dictionary being changed
> during iteration. (#49241)
> - Cleanup AUTH_TYPE import comments in default_webserver_config.py (#49248)
> - Add ref default default node (#49233)
> - fix(serialized_dag): return original DagDependency if Asset Alias has not
> yet been resolved into asset (#49204)
> - docs: update connections how-to with 3.0 screenshots (#49264)
> - docs: add light mode screenshots for overview, move dark mode to folder
> (#49263)
> - docs: update email-config.rst how-to with 3.0 screenshots (#49269)
> - docs: update setup/teardown how-to with 3.0 screenshots (#49268)
> - docs: update and clean up "add tags to dags" how-to (#49266)
> - simplify isinstance conditions for otel in trigger_tasks method (#49253)
> - Load TI related objects when purging TIs without heartbeat (#49246)
> - Update stable rest API docs ref (#49279)
> - Use ``default`` in variable.get for task SDK variables (#49278)
> - Update airflow config lint to show breaking config changes by default
> (#49223)
> - Show pending states in historic metrics (#49267)
> - Make sure provider's manager is not left in a clean state (#49283)
> - docs: update variables how-to with Airflow 3.0 screenshots (#49265)
> - Move function to methods on models.TaskInstance (#49257)
> - docs: remove DAG owner links how-to since no feature parity (#49262)
> - Ensure scheduler uses best available serdag for dag run (#49097)
> - AIP-38: remove `default_ui_timezone` (#49176)
> - Removing init_dagbag from fastapi app (#49285)
> - Improvements to rendered API docs (#49287)
> - Document upgrading to Airflow 3 (#49271)
> - fix(serialized_objects): handle both inlet and outlet in v1 to v2 convert
> (#49286)
> - Make sure all openapi schemes have distinct names (#49290)
> - Remove 1.10 to 2 upgrade docs (#49289)
> - Update screenshots in the repo readme to Airflow 3  (#49293)
> - Feature/aip 38 add dag warning (#49236)
> - add sorting to Pools (#48442)
> - fix(serialized_objects): fix how dataset/asset dag_dependency is
> converted from v1 to v2 (#49281)
> - Remove FAB entry from `NOTICE` (#49063)
> - Fix failing tests after subdir path bundle URL merged (#49294)
> - Updating docs to reflect latest state of project for AF3 (#49280)
> - update _run_inline_trigger to make its logic clearer (#49198)
> - Return explicit 404 errors for `/helath` and `/api/v1/*` (#49284)
> - Update next run assets and asset expression types (#49137)
> - Force query cache to always refetch on opening mark/clear modals (#49298)
> - Change default page_size from 100 to 50 (#49243)
> - Fix Pool table modelName (#49303)
> - API - Fix pool ordering (#49302)
> - Pass mapIndex to filter the relevant task instance while clearing mapped
> tasks. (#49307)
> - Add possibility to have extra project metadata in providers (#49306)
> - Fix failing git bundle tests (#49313)
> - Split out the /ui routes from the "main" spec file (#49311)
> - use enumerate for index variable in for loop in Airflow core (#49252)
> - feat (api-airflowctl): Change ExtraLinksResponse to BaseModel  (#49250)
> - use key in dict instead of key in dict.keys in Airflow core (#49255)
> - Use contextlib.suppress(exception) instead of try-except-pass and add
> SIM105 ruff rule (#49251)
> - Fix DB migrations from 2.10.5 to 3.0.0 for SQlite (#49301)
> - fix(serialized_dag): expand DagDependency generation and add fallback
> value (#49327)
> - remove unnecessary True if <condition> else False (#49256)
> - Fix MySQL migration (#49315)
> - Remove `subdir` arg from CLI commands (#49317)
> - Clairfy that allowed_deserialization_classes is space-separated not just
> newlines (#49326)
> - Bump minimum ruff version required for upgrade utility (#49341)
> - docs: replace webserver with api-server in quick start (#49333)
> - Revert "use key in dict instead of key in dict.keys in Airflow core
> (#49255)" (#49322)
> - refactor: remove `navbar_logo_text_color` (#49161)
> - Improve dag bundle documentation (#49342)
> - fix(serialized_object): fix how timetable and schedule_interval are
> handled during v1 to v2 conversion (#49344)
> - Don't spend time adding `ti.try_id` only to remove it in a later
> migration (#49346)- Make `DatasetOrTimeSchedule` compatible with Airflow
> 2.10.x (#49350)
> - Improve execution time messages for DAG or Task not found (#49352)
> - Include trigger event payload in asset event (#49345)
> - Rename `edge` provider fom `edgeexecutor` to `edge3` provider (#49358)
> - Autorefresh dagrun breadcrumb state when dagrun is in pending
> state. (#49328)
> - refactor: refine schema assignment in `useConnectionTypeMeta` (#49165)
>
> PS: We will patch some of the docs in the coming days to add more details
> in the Release Notes and other Airflow core docs.
>

Reply via email to