A big thank you to the release team that has been working so hard, the Airflow PMC, the active committers, and the hundreds of contributors who are making Apache Airflow 2.0 a reality. It will be a great foundation for Airflow's continued success.
It's a strong, yet non-binding +1 from me! -Ry On Wed, Dec 9, 2020 at 11:58 AM Ash Berlin-Taylor <a...@apache.org> wrote: > Hi my lovely Airflowers, > > I have cut Airflow 2.0.0 RC1. This email is calling a vote on the release, > which will run for five days, until 2020-12-14T17:00:00Z > https://www.timeanddate.com/worldclock/fixedtime.html?msg=8&iso=20201214T17&p1=1440 > (or until 3 +1 binding votes have been recieved) > > Consider this my +1 bindind vote > > Airflow 2.0.0 RC1 is available at: > https://dist.apache.org/repos/dist/dev/airflow/2.0.0rc1/ > > > **apache-airflow-2.0.0rc1-source.tar.gz** is a source release that comes > with INSTALL instructions. > **apache-airflow-2.0.0rc1-bin.tar.gz** is the binary Python "sdist" > release. > **apache_airflow-2.0.0rc1-py3-none-any.whl** is a Python wheel release > > Public keys are available at: > https://dist.apache.org/repos/dist/release/airflow/KEYS > > > Only votes from PMC members are binding, but the release manager should > encourage members of the community > to test the release and vote with "(non-binding)". > > The test procedure for PMCs and Contributors who would like to test this > RC are described in > > https://github.com/apache/airflow/blob/2.0.0rc1/dev/README_RELEASE_AIRFLOW.md#verify-the-release-candidate-by-pmcs > > Please note that the version number excludes the `rcX` string, so it's now > simply 2.0.0. This will allow us to rename the artifact without modifying > the artifact checksums when we actually release. > > List of commits affecting "core" (i.e. excluding providers or CI pipeline > only changes) since 2.0.0b3: > > bee2cb531 Don't reference sphinx airflow theme via `@` URL in > requirements. (#12957) > b8844535d Minor HTML fixes (#12477) > f96b3dfbe Update version to 2.0.0 (#12954) > 5eeb66ce1 Fix case of GitHub (#12950) > ec3b15988 Clean up redirects.txt (#12948) > 62a5b2dfa Fix return type in prev-date context variables (#12910) > d2b4dea6b Update theme to show hidden ToC in sidebar (#12949) > 1d91ca70f Infer multiple outputs from dict annotations in TaskFlow API > (#10349) > 0bf386fdf Rename airflow.operators.dagrun_operator to > airflow.operators.trigger_dagrun (#12933) > 3e402880b Upgrading to Airflow 2.0 doc (#12930) > 18a7a35ea Enhanced TaskFlow API tutorial to use @dag decorator (#12937) > 8d6840b19 Fix typo in setup.cfg (#12935) > d7ddf16a3 Fixed failed pylint in master (#12938) > 53c48471a shorten name of hook re imports of provide_session and > create_session (#12936) > 63ea88d1b Apply labels to Docker images in a single instruction (#12931) > 38350620b Add Clarification to pod_template_file exmaples (#12932) > a075b6df9 Rename remaining Sensors to match AIP-21 (#12927) > e595d35bf Simplify publishing of documentation (#12892) > 73843d05f Disable Pause/Unpause switch if user doesn't have edit access > for DAG. (#12911) > 3da939bbe Update doc to reflect the changes for DAG-Level access control > (#12928) > abce78c53 Disable experimental REST API by default (#12337) > d5589673a Move dummy_operator.py to dummy.py (#11178) (#11293) > c704293f7 Warning about unsafe migrations (#10254) > b40dffa08 Rename remaing modules to match AIP-21 (#12917) > ed6eb4278 Use "auto" instead of "scroll" to prevent visible (unused) > scrollbars in some browsers (#12923) > 738c95367 Add missing licences. (#12922) > bfbd4bbb7 Moved subdag_operator.py to subdag.py (#11307) > 7c028f527 ImportErrors are collapsed by default (#12811) > bc4d9d04c Remove duplicate entry in Updating.md (#12919) > e7c1771cb Adds predefined providers to install_requires. (#12916) > 9b39f2478 Add support for dynamic connection form fields per provider > (#12558) > 4d24c5ee5 Update comments in setup.py (#12903) > ff25bd6ff Make xcom_pull results order deterministic (#12905) > 85dd092a8 Make sure perms list isn't None before looking within list > (#12915) > ef523b4c2 Move branch_operator.py to branch.py (#12900) > cb70150bf Fix broken MySQL Migration (#12904) > 5f65cec77 Add docs for new scheduler "clean-up" tunables. (#12899) > 7d37391a2 Fix Multiple Migrations Heads (#12901) > d8906ab59 Minor changes in description of API docs (#12532) > 29d78489e Fix plugin macros not being exposed through airflow.macros > (#12788) > f66a46db8 Changes the type of source_code field in DagCode to MEDIUMTEXT > (#12890) > b11551278 Use consistent style for detecting current DB type in migrations > (#12898) > 190066cf2 Kubernetes worker pod doesn't use docker container entrypoint > (#12766) > c2411e3cd Make Migrations 1.10.14 Compatible (#12896) > 312a2813c Bugfix: Entrypoint Import Exception masked by attribute error > (#12862) > 01707d71d Improve support for special characters in DbApiHook.get_uri > (#12775) > 4fb312140 Refactor `@provide_session` to do less "at runtime" (#12868) > eed65768a Adjust inner/nested radius to remove unwanted visual gap (#12887) > 818195f0e Remove first_task_scheduling_delay from Updating.md (#12885) > 5d328a2f7 Show DAG serialization errors in the UI. (#12866) > 7cfd240cf Add start_date and end_date to DagRun View in UI (#12871) > a70cace08 Don't show "Access deined" message on login page (#12846) > a878959b2 Remove old option - git_password from sensitive_config_values > (#12821) > ed1825c02 Production images on CI are now built from packages (#12685) > c045ff335 Store per-task TIDeps in serialized blob (#12858) > 75d8ff96b Mark required fields in Forms as required (#12856) > a64997bdc Added reference to 2.0 CLI commands in 1.10.14 (#12864) > 3d2ad30a7 Add missing crypto and s3 extras (#12850) > 537aba738 Add conditional version retrieval from setup. (#12853) > 3f24d0e35 Updated UPGRADING TO 2.0 guide based on new releases (#12847) > 4a02e0a28 Don't emit first_task_scheduling_delay metric for only-once dags > (#12835) > 37b267911 Make `airflow --help` run five times quicker (#12836) > e9b2ff57b Add notes about PIP 20.3 breaking Airflow installation (#12840) > 1f4152b55 Fix docstring for models.Variable.get() (#12828) > 1dcd3e13f Add support for extra links coming from the providers (#12472) > 6150e265a Add `-o` as short form option for `--output` in CLI (#12831) > 3ff5a3549 Add paused column to `dags list` sub-command (#12830) > 12ce5be77 Fix for empty Graph View when task does not have a DAG during > relationship setting (#12829) > cd66450b4 Add Telegram hook and operator (#11850) > 252b04718 Configuration.getsection copes with sections that only exist in > user config (#12816) > fbb8a4a15 Cleanup & improvements around scheduling (#12815) > c85f49454 Updating documentation to specify sensitive config options > (#12820) > e82cf0d01 Dagrun object doesn't exist in the TriggerDagRunOperator (#12819) > 37afe5577 Fix paths to images in README.md (#12756) > 70b1cc2cf Move secret backends guides to provider docs (#12798) > 71d874515 Add expandable groups in the docs build log (#12799) > 2936c13a4 Get airflow version from importlib.metadata rather than > hard-coding (#12786) > 6878a7baa Add more json-schama checks + display all errors (#12805) > 88aa17404 Add SMTP timeout and retry limit for SMTP email backend. (#12801) > 1bd98cd54 Improve error handling in cli and introduce consistency (#12764) > abf510435 Convert state arguments to ExternalTaskSensor to list (#12794) > 4da94b5a1 Clean noqa labels wrongly handled by black linter (#12791) > 28e83c30e Prevent unused scrollbars from appearing in FF on Linux (#12795) > d9d6dafb1 Fix the exception that the port is empty when using db shell > (#12740) > be7d86745 BugFix: Editing a DAG run or Task Instance on UI causes an Error > (#12770) > b62abfbfa Handle ParserError when dag is triggered with invalid > execution_date (#12618) > 56f82ba22 Change DEBUG color to green in coloured logger (#12784) > 8f48f1212 Fix typo in airflow/serialization/serialized_objects.py (#12767) > 386f6b2ec Refactor and speed up "DAG:" prefix permissions migration > (#12720) > 67acdbdf9 Remove store_serialized_dags from config (#12754) > 0400ee32d Allow using _CMD / _SECRET to set `[webserver] secret_key` > config (#12742) > 03fa6edc7 Order broken DAG messages in UI (#12749) > 101da213c Optimize subclasses of DummyOperator for Scheduling (#12745) > dab783fcd Don't let webserver run with dangerous config (#12747) > cba8d6255 Refactor list rendering in commands (#12704) > ae0e8f473 Move config item 'worker_precheck' from section [core] to > [celery] (#12746) > 0451d84ea Pins PIP to 20.2.4 in our Dockerfiles (#12738) > ac3a8bfb0 Allow switching xcom_pickling to JSON/Pickle (#12724) > 027fd743d Fix static checks - #12715 (#12729) > 42f0a3d62 Move apache-airflow docs to subdirectory (#12715) > 4ac66cf8c Deprecate BaseHook.get_connections method (#10135) (#10192) > 5e13c3728 Remove deprecated dagbag metrics (#12695) > bd90136aa Move operator guides to provider documentation packages (#12681) > bb00f164d Refine the DB query logics in www.views.task_stats() (#12707) > 2037303ee Adds support for Connection/Hook discovery from providers > (#12466) > c9d1ea5cf Refactor airflow plugins command (#12697) > 02d94349b Don't use time.time() or timezone.utcnow() for duration > calculations (#12353) > 8291fabaf Ensure that tasks set to up_for_retry have an end date (#12675) > 7ef9aa7d5 Replace pkg_resources with importlib.metadata to avoid > VersionConflict errors (#12694) > 850b74bef Use rich to render info and cheat-sheet command (#12689) > 64f14759e Fix typos and added missing descriptions in provider.yaml schema > (#12690) > b858683ab Adds providers information to `airflow info` command (#12687) > 66b552513 The Pyarrow limitation in install_requires is not needed. > (#12683) > 08bc62b64 Validate JSON schema files with JSON Schema (#12682) > de3b1e687 Move connection guides to provider documentation packages > (#12653) > 944bd4c65 Fix packages errors summary for docs build (#12658) > 704e724cc Make migrations using kube_resource_version idempotent (#12670) > fa8af2d16 Enable PIP check for both CI and PROD image (#12664) > 6b3c6add9 Update setup.py to get non-conflicting set of dependencies > (#12636) > 41a699a7b Implement reading provider information from packages/sources > (#12512) > 531e00660 Typo Fix: Deprecated config force_log_out_after was not used > (#12661) > 456a1c5dc Restructure the extras in setup.py and described them (#12548) > 5fafd982c Replace foreign key constraints with foreign annotation (#12603) > 6e9c110e8 Housekeeping: Remove 'dirty_ids' in www/viewspy (#12645) > 3a8c344d7 Add Changelog for Airflow 1.10.13 (#12623) > f16fa095e Clean-up airflow/kubernetes/kube_config.py (#12627) > eacf40d85 Ensure that the `prohibit_commit` guard only applies to _one_ > session. (#12575) > 8f29c6d5b fix db migration downgrade actions (#12608) > 4f4714fa3 Fix session_lifetime_minutes config docs (#12628) > 324bc6f72 Make AzureKeyVaultBackend backwards-compatible (#12626) > c5700a56b Sync Airflow 1.10.13 Updating.md with Master (#12624) > cdaaff12c Fix Connection.description migration for MySQL8 (#12596) > 486134426 Rename `[scheduler] max_threads` to `[scheduler] > parsing_processes` (#12605) > c457c975b Use AIRFLOW_CONSTRAINTS_LOCATION when passed during docker build > (#12604) > 08251c145 Remove foreign key constraint on SerializedDagModel's dag_runs > field (#12586) > c6467ba12 Update logging & doc for LocalFilesystem Secrets Backend (#12597) > 663259d4b Fix AWS DataSync tests failing (#11020) > 58e21ed94 Adds missing licence headers (#12593) > 6caf2607e Don't set child tasks to schedulable in test runs (#12595) > a66d29f44 Dev documentation uses sphinx-airflow-theme (#12582) > b57b93211 Improve code quality of ExternalTaskSensor (#12574) > 74ed92b3f Drop random.choice() in BaseHook.get_connection() (#12573) > 6d0dcd2f3 Use html urls instead of onclick for dags view links. (#12539) > 01ff088df Fix Dag Serialization crash caused by preset DagContext (#12530) > f6ba8b575 Doc Fix around Secret/Connection/Variable (#12571) > 753f53f77 Housekeeping for www/security.py (#12516) > 8e1a6e17e Fix build on RTD (#12551) > ff990f245 Add capability to specify gunicorn access log format (#10261) > de15aa30d Deprecate Read the Docs (#12541) > ef4af2135 Move providers docs to separate package + Spell-check in a > common job with docs-build (#12527) > 9eb92e734 Support installing providers with no dependencies via extras > (#12497) > 397d9128b Return nonzero exit codes on pool import errors. (#12095) > 37548f09a Fixes unneeded docker-context-files added in CI (#12534) > be8f1ac0d Fix build on RTD (#12529) > f0b9aae56 Enable v1-10-stable branch protection (#12525) > 449568555 Temporarily allow force-push on v1-10-stable (#12524) > 20843ff89 Add missing file_token field to get dag details API endpoint > (#12463) > c34ef853c Separate out documentation building per provider (#12444) > 7d55d4549 Reorder Migrations to make it 1.10.13 compatible (#12496) > 442823507 Fixes taskInstances API endpoint when start_date, end_date or > state are None(null) (#12453) > e9cfa393a Turn off foreign keys before altering table to prevent sqlite > issue. (#12487) > e93b7e30a Improvements for transfer operators references (#12482) > 502e883bb Make kubernetes requirement optional for Example DAGs (#12494) > de9d2fa3a ensure Moment date is valid before attempting to render it > (#12492) > 93d64e557 Update tag color to be neutral (and match DAGs index view) > (#12493) > fedf63322 Remove unused/uncompiled JS file (#12490) > 8b95e5137 Improve www.security.get_accessible_dags() and webserver > performance (#12458) > bc01907ee Improve UI file naming/patterns (#12486) > 13128f44e Fix Python docstring parameter (#12483) > 3241719e7 Fix setup.py to install the right provider for mysql (#12476) > a3dfd04ce Webserver: Further Sanitize values passed to origin param > (#12459) > > >