Skip to content

Commit 36422ed

Browse files
committed
Update version to 2.8.1
1 parent ee12a6d commit 36422ed

File tree

19 files changed

+116
-40
lines changed

19 files changed

+116
-40
lines changed

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,11 @@ Airflow is not a streaming solution, but it is often used to process real-time d
9797

9898
Apache Airflow is tested with:
9999

100-
| | Main version (dev) | Stable version (2.8.0) |
100+
| | Main version (dev) | Stable version (2.8.1) |
101101
|-------------|------------------------------|------------------------------|
102102
| Python | 3.8, 3.9, 3.10, 3.11 | 3.8, 3.9, 3.10, 3.11 |
103103
| Platform | AMD64/ARM64(\*) | AMD64/ARM64(\*) |
104-
| Kubernetes | 1.25, 1.26, 1.27, 1.28, 1.29 | 1.25, 1.26, 1.27, 1.28 |
104+
| Kubernetes | 1.25, 1.26, 1.27, 1.28, 1.29 | 1.25, 1.26, 1.27, 1.28, 1.29 |
105105
| PostgreSQL | 12, 13, 14, 15, 16 | 12, 13, 14, 15, 16 |
106106
| MySQL | 8.0, Innovation | 8.0, Innovation |
107107
| SQLite | 3.15.0+ | 3.15.0+ |
@@ -182,15 +182,15 @@ them to the appropriate format and workflow that your tool requires.
182182

183183

184184
```bash
185-
pip install 'apache-airflow==2.8.0' \
186-
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.8.0/constraints-3.8.txt"
185+
pip install 'apache-airflow==2.8.1' \
186+
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.8.1/constraints-3.8.txt"
187187
```
188188

189189
2. Installing with extras (i.e., postgres, google)
190190

191191
```bash
192-
pip install 'apache-airflow[postgres,google]==2.8.0' \
193-
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.8.0/constraints-3.8.txt"
192+
pip install 'apache-airflow[postgres,google]==2.8.1' \
193+
--constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.8.1/constraints-3.8.txt"
194194
```
195195

196196
For information on installing provider packages, check
@@ -295,7 +295,7 @@ Apache Airflow version life cycle:
295295

296296
| Version | Current Patch/Minor | State | First Release | Limited Support | EOL/Terminated |
297297
|-----------|-----------------------|-----------|-----------------|-------------------|------------------|
298-
| 2 | 2.8.0 | Supported | Dec 17, 2020 | TBD | TBD |
298+
| 2 | 2.8.1 | Supported | Dec 17, 2020 | TBD | TBD |
299299
| 1.10 | 1.10.15 | EOL | Aug 27, 2018 | Dec 17, 2020 | June 17, 2021 |
300300
| 1.9 | 1.9.0 | EOL | Jan 03, 2018 | Aug 27, 2018 | Aug 27, 2018 |
301301
| 1.8 | 1.8.2 | EOL | Mar 19, 2017 | Jan 03, 2018 | Jan 03, 2018 |

RELEASE_NOTES.rst

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,82 @@
2121

2222
.. towncrier release notes start
2323

24+
Airflow 2.8.1 (2024-01-19)
25+
--------------------------
26+
27+
Significant Changes
28+
^^^^^^^^^^^^^^^^^^^
29+
30+
- Target version for core dependency ``pendulum`` package set to 3
31+
32+
Support for pendulum 2.1.2 will be saved for a while, presumably until the next feature version of Airflow.
33+
It is advised to upgrade user code to use pendulum 3 as soon as possible. (#36281)
34+
- Airflow packaging specification follows modern Python packaging standards.
35+
36+
We standardized Airflow dependency configuration to follow latest development in Python packaging by
37+
using pyproject.toml. Airflow is now compliant with those accepted PEPs:
38+
39+
* `PEP-440 Version Identification and Dependency Specification <https://www.python.org/dev/peps/pep-0440/>`__
40+
* `PEP-517 A build-system independent format for source trees <https://www.python.org/dev/peps/pep-0517/>`__
41+
* `PEP-518 Specifying Minimum Build System Requirements for Python Projects <https://www.python.org/dev/peps/pep-0518/>`__
42+
* `PEP-561 Distributing and Packaging Type Information <https://www.python.org/dev/peps/pep-0561/>`__
43+
* `PEP-621 Storing project metadata in pyproject.toml <https://www.python.org/dev/peps/pep-0621/>`__
44+
* `PEP-660 Editable installs for pyproject.toml based builds (wheel based) <https://www.python.org/dev/peps/pep-0660/>`__
45+
* `PEP-685 Comparison of extra names for optional distribution dependencies <https://www.python.org/dev/peps/pep-0685/>`__
46+
47+
Also we implement multiple license files support coming from Draft, not yet accepted (but supported by hatchling) PEP:
48+
* `PEP 639 Improving License Clarity with Better Package Metadata <https://peps.python.org/pep-0639/>`__
49+
50+
This has almost no noticeable impact on users if they are using modern Python packaging and development tools, generally
51+
speaking Airflow should behave as it did before when installing it from PyPI and it should be much easier to install
52+
it for development purposes using ``pip install -e ".[devel]"``.
53+
54+
The differences from the user side are:
55+
56+
* Airflow extras now get extras normalized to ``-`` (following PEP-685) instead of ``_`` and ``.``
57+
(as it was before in some extras). When you install airflow with such extras (for example ``dbt.core`` or
58+
``all_dbs``) you should use ``-`` instead of ``_`` and ``.``.
59+
60+
In most modern tools this will work in backwards-compatible way, but in some old version of those tools you might need to
61+
replace ``_`` and ``.`` with ``-``. You can also get warnings that the extra you are installing does not exist - but usually
62+
this warning is harmless and the extra is installed anyway. It is, however, recommended to change to use ``-`` in extras in your dependency
63+
specifications for all Airflow extras.
64+
65+
* Released airflow package does not contain ``devel``, ``devel-*``, ``doc`` and ``doc-gen`` extras.
66+
Those extras are only available when you install Airflow from sources in ``--editable`` mode. This is
67+
because those extras are only used for development and documentation building purposes and are not needed
68+
when you install Airflow for production use. Those dependencies had unspecified and varying behaviour for
69+
released packages anyway and you were not supposed to use them in released packages.
70+
71+
* The ``all`` and ``all-*`` extras were not always working correctly when installing Airflow using constraints
72+
because they were also considered as development-only dependencies. With this change, those dependencies are
73+
now properly handling constraints and they will install properly with constraints, pulling the right set
74+
of providers and dependencies when constraints are used. (#36537)
75+
- Graphviz dependency is now an optional one, not required one.
76+
77+
The ``graphviz`` dependency has been problematic as Airflow required dependency - especially for
78+
ARM-based installations. Graphviz packages require binary graphviz libraries - which is already a
79+
limitation, but they also require to install graphviz Python bindings to be build and installed.
80+
This does not work for older Linux installation but - more importantly - when you try to install
81+
Graphviz libraries for Python 3.8, 3.9 for ARM M1 MacBooks, the packages fail to install because
82+
Python bindings compilation for M1 can only work for Python 3.10+.
83+
84+
This is not a breaking change technically - the CLIs to render the DAGs is still there and IF you
85+
already have graphviz installed, it will continue working as it did before. The only problem when it
86+
does not work is where you do not have graphviz installed it will raise an error and inform that you need it.
87+
88+
Graphviz will remain to be installed for most users:
89+
90+
* the Airflow Image will still contain graphviz library, because
91+
it is added there as extra
92+
* when previous version of Airflow has been installed already, then
93+
graphviz library is already installed there and Airflow will
94+
continue working as it did
95+
96+
The only change will be a new installation of new version of Airflow from the scratch, where graphviz will
97+
need to be specified as extra or installed separately in order to enable DAG rendering option. (#36647)
98+
99+
24100
Airflow 2.8.0 (2023-12-18)
25101
--------------------------
26102

airflow/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"""
2727
from __future__ import annotations
2828

29-
__version__ = "2.8.1.dev0"
29+
__version__ = "2.8.1"
3030

3131
# flake8: noqa: F401
3232

airflow/api_connexion/openapi/v1.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ info:
231231
This means that the server encountered an unexpected condition that prevented it from
232232
fulfilling the request.
233233
234-
version: '2.8.0'
234+
version: '2.8.1'
235235
license:
236236
name: Apache 2.0
237237
url: http://www.apache.org/licenses/LICENSE-2.0.html

airflow/reproducible_build.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
release-notes-hash: 81a945804fc42c18f416b5aa1f4b0fde
2-
source-date-epoch: 1704922121
1+
release-notes-hash: b0d8fdf0caf6f957b63ee7f4ee2147b9
2+
source-date-epoch: 1705311983

docs/apache-airflow/installation/supported-versions.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Apache Airflow™ version life cycle:
2929
========= ===================== ========= =============== ================= ================
3030
Version Current Patch/Minor State First Release Limited Support EOL/Terminated
3131
========= ===================== ========= =============== ================= ================
32-
2 2.8.0 Supported Dec 17, 2020 TBD TBD
32+
2 2.8.1 Supported Dec 17, 2020 TBD TBD
3333
1.10 1.10.15 EOL Aug 27, 2018 Dec 17, 2020 June 17, 2021
3434
1.9 1.9.0 EOL Jan 03, 2018 Aug 27, 2018 Aug 27, 2018
3535
1.8 1.8.2 EOL Mar 19, 2017 Jan 03, 2018 Jan 03, 2018

docs/docker-stack/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ Every time a new version of Airflow is released, the images are prepared in the
3131
[apache/airflow DockerHub](https://hub.docker.com/r/apache/airflow)
3232
for all the supported Python versions.
3333

34-
You can find the following images there (Assuming Airflow version `2.8.1.dev0`):
34+
You can find the following images there (Assuming Airflow version `2.8.1`):
3535

3636
* `apache/airflow:latest` - the latest released Airflow image with default Python version (3.8 currently)
3737
* `apache/airflow:latest-pythonX.Y` - the latest released Airflow image with specific Python version
38-
* `apache/airflow:2.8.1.dev0` - the versioned Airflow image with default Python version (3.8 currently)
39-
* `apache/airflow:2.8.1.dev0-pythonX.Y` - the versioned Airflow image with specific Python version
38+
* `apache/airflow:2.8.1` - the versioned Airflow image with default Python version (3.8 currently)
39+
* `apache/airflow:2.8.1-pythonX.Y` - the versioned Airflow image with specific Python version
4040

4141
Those are "reference" regular images. They contain the most common set of extras, dependencies and providers that are
4242
often used by the users and they are good to "try-things-out" when you want to just take Airflow for a spin,
@@ -47,8 +47,8 @@ via [Building the image](https://airflow.apache.org/docs/docker-stack/build.html
4747

4848
* `apache/airflow:slim-latest` - the latest released Airflow image with default Python version (3.8 currently)
4949
* `apache/airflow:slim-latest-pythonX.Y` - the latest released Airflow image with specific Python version
50-
* `apache/airflow:slim-2.8.1.dev0` - the versioned Airflow image with default Python version (3.8 currently)
51-
* `apache/airflow:slim-2.8.1.dev0-pythonX.Y` - the versioned Airflow image with specific Python version
50+
* `apache/airflow:slim-2.8.1` - the versioned Airflow image with default Python version (3.8 currently)
51+
* `apache/airflow:slim-2.8.1-pythonX.Y` - the versioned Airflow image with specific Python version
5252

5353
The Apache Airflow image provided as convenience package is optimized for size, and
5454
it provides just a bare minimal set of the extras and dependencies installed and in most cases

docs/docker-stack/docker-examples/extending/add-airflow-configuration/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
# This is an example Dockerfile. It is not intended for PRODUCTION use
1717
# [START Dockerfile]
18-
FROM apache/airflow:2.8.1.dev0
18+
FROM apache/airflow:2.8.1
1919
ENV AIRFLOW__CORE__LOAD_EXAMPLES=True
2020
ENV AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=my_conn_string
2121
# [END Dockerfile]

docs/docker-stack/docker-examples/extending/add-apt-packages/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
# This is an example Dockerfile. It is not intended for PRODUCTION use
1717
# [START Dockerfile]
18-
FROM apache/airflow:2.8.1.dev0
18+
FROM apache/airflow:2.8.1
1919
USER root
2020
RUN apt-get update \
2121
&& apt-get install -y --no-install-recommends \

docs/docker-stack/docker-examples/extending/add-build-essential-extend/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
# This is an example Dockerfile. It is not intended for PRODUCTION use
1717
# [START Dockerfile]
18-
FROM apache/airflow:2.8.1.dev0
18+
FROM apache/airflow:2.8.1
1919
USER root
2020
RUN apt-get update \
2121
&& apt-get install -y --no-install-recommends \

0 commit comments

Comments
 (0)