Docker images are now available:

apache/airflow:slim-3.0.0rc3-python3.10
apache/airflow:slim-3.0.0rc3-python3.11
apache/airflow:slim-3.0.0rc3-python3.12
apache/airflow:3.0.0rc3-python3.10
apache/airflow:3.0.0rc3-python3.11
apache/airflow:3.0.0rc3-python3.12

3.9 images will be available in few minutes -- once
https://github.com/apache/airflow/actions/runs/14499577949/job/40676786095
succeeds.



On Wed, 16 Apr 2025 at 22:01, Kaxil Naik <kaxiln...@gmail.com> wrote:

> I have also uploaded docs here:
> https://airflow3rc3.surge.sh/release_notes.html so it is easier to check
> rendered HTML than rst.
>
> On Wed, 16 Apr 2025 at 21:29, Kaxil Naik <kaxiln...@gmail.com> wrote:
>
>> As last time, docker images will be available in few hours.
>>
>> On Wed, 16 Apr 2025 at 21:28, Kaxil Naik <kaxiln...@gmail.com> wrote:
>>
>>> Yea 115 commits just to Task SDK & Airflow Core -- and overall
>>> (providers, ci scripts) 207 commits:
>>> https://github.com/apache/airflow/compare/3.0.0rc2...3.0.0rc3
>>>
>>> On Wed, 16 Apr 2025 at 21:21, Vikram Koka <vik...@astronomer.io.invalid>
>>> wrote:
>>>
>>>> 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