This repository hosts the source code for the website that creates 'visual changelogs' for QGIS releases:
Here you'll find everything you need to build, develop, and contribute to this site.
This repository is only for the QGIS Changelog Website (changelog.qgis.org).
If you are looking for the source code or want to contribute to other QGIS websites, please visit their respective repositories below. Each website has its own codebase and contribution process:
- qgis.org (GitHub: QGIS-Website) – QGIS Main Wesite
- hub.qgis.org (GitHub: QGIS-Hub-Website) – QGIS Resources Hub
- plugins.qgis.org (GitHub: QGIS-Plugins-Website) – QGIS Plugins Repository
- planet.qgis.org (GitHub: QGIS-Planet-Website) – QGIS Planet Blog Aggregator
- members.qgis.org (GitHub: QGIS-Members-Website) – QGIS Sustaining Members Portal
- certification.qgis.org (GitHub: QGIS-Certification-Website) – QGIS Certification Programme Platform
- feed.qgis.org (GitHub: qgis-feed) – QGIS Feed Manager
- uc2025.qgis.org (GitHub: QGIS-UC-Website) – QGIS User Conference Website
Table of Contents
This project is licensed under the GPLv3 License. See the COPYING file for details.
QGIS-Changelog-Website/
├── 📦 deployment/ # Deployment scripts and configuration
├── 🛰️ django_project/ # Main Django application source code
├── 🖼️ img/ # Images and media assets for this README
├── 🧪 codecov.yml # Codecov configuration for test coverage
├── 📜 COPYING # Project license file (GPL-2.0)
├── 📝 list-vscode-extensions.sh* # List recommended VSCode extensions for Nix shell
├── 👥 MAINTAINERS # Maintainers list
├── 📖 README.md # Project overview and documentation (this file)
├── 📦 REQUIREMENTS-dev.txt # Python dependencies for development
├── 📦 REQUIREMENTS.txt # Python dependencies for production
├── 🧊 shell.nix # Nix shell environment definition
└── 🖥️ vscode.sh* # VSCode helper script for Nix shell
We are fine with using LLM's and Generative Machine Learning to act as general assistants, but the following three guidelines should be followed:
- Repeatability: Although we understand that repeatability is not possible generally, whenever you are verbatim using LLM or Generative Machine Learning outputs in this project, you must also provide the prompt that you used to generate the resource.
- Declaration: Sharing the prompt above is implicit declaration that a machine learning assistant was used. If it is not obvious that a piece of work was generated, include the robot (🤖) icon next to a code snippet or text snippet.
- Validation: Outputs generated by a virtual assistant should always be validated by a human and you, as contributor, take ultimate responsibility for the correct functionality of any code and the correct expression in any text or media you submit to this project.
TODO: Refactor the models and remove unused app (ex: djstripe)
Please refer to the Nix section in CONTRIBUTING.md.
We welcome contributions! Please read the CONTRIBUTING.md for guidelines on how to get started.
Have questions or feedback? Feel free to open an issue or submit a Pull Request!
Thank you to the individual contributors who have helped to build the QGIS Changelog:
- Tim Sutton (Lead developer): tim@kartoza.com
- Dražen Odobašić: dodobas@geoinfo.geof.hr
- George Irwin: github@grvhi.com
- Ismail Sunni: imajimatika@gmail.com
- Richard Duivenvoorde: richard@duif.net
- Rischan Mafrur: @rischanlab
- Etienne Trimaille: @gustry
- Anita Hapsari: @ann26
- Muhammad Yarjuna Rohmat: @myarjunar
- Kontur Team – Responsible for the design of the current theme
- Lova Andriarimalala: @Xpirix
The original project called Projecta was funded and developed by Kartoza.com and individual contributors.
Made with ❤️ by Tim Sutton (@timlinux), Lova Andriarimalala (@Xpirix) and QGIS Contributors.


