This Python script generates a visual timeline of the maintenance and security lifecycle for recent Drupal versions (10.3 to 11.3) using color-coded horizontal bars.
- β Green: The version is actively maintained.
- π‘ Yellow: Security fixes only.
- π΄ Red: The version is no longer supported.
- π A vertical dotted line indicates today's date.
- β³ Versions are sorted chronologically (oldest at the top).
β οΈ Future dates are estimates and will be updated when official release/support dates are confirmed by the Drupal team.
The chart displays:
- The version number on the left, with a background color matching the current support level.
- A time-based X-axis labeled in French, showing the month and year.
- Faded bars for phases that are in the past, to visually distinguish historical from current/future periods.
- A legend in the top-right corner.
πΌοΈ An example of the final output is available at the root of the repository as
graph_example.png.
Ensure Python and required libraries are installed.
# Install Python.
sudo apt update
sudo apt install python3
sudo apt install python3-pip
sudo apt install python3.12-venv
# Create and activate a virtual environment.
python3 -m venv .venv
source .venv/bin/activate
# Install required Python packages.
pip install matplotlib pandas
# Run the script.
python drupal_releases_graph.py
# Deactivate the virtual environment when done.
deactivateBy default, the script will open a preview window showing the generated chart.
This allows you to tweak the layout and manually export it if needed.
To automatically export the chart as a PNG without preview, edit the file:
- Comment out the preview line:
plt.show()
- Uncomment the PNG export lines:
plt.savefig("drupal_versions_lifecycle.png", dpi=300) print("β File saved: drupal_versions_lifecycle.png")
These lines are located near the end of the script (drupal_releases_graph.py, around line 137).
When the preview is disabled, the chart will be saved as:
drupal_versions_lifecycle.png
in the same directory as the script.
- This chart can help teams anticipate version transitions and end-of-life deadlines.
- If you'd like to generate an SVG version or change language settings, feel free to adapt the script.