Repository navigation
Releasing
This page comes from
site/content/development/releasing.mdin the repository and is regenerated on every merge tomain. To correct it, edit that file; changes made here are overwritten.
Releases are cut by pull request. A version bump touches several user-facing texts that must agree, and a test fails until they do.
When version= in metadata.txt changes, update all of these in the same change. tests/test_release_docs_in_sync.py fails until they agree.
-
metadata.txt: prepend achangelog=block for the new version (never edit older blocks). Never write the percent character anywhere in this file; write "percent". plugins.qgis.org parses it with Python'sConfigParserand rejects the upload otherwise (it refused rc24 for exactly this;tests/test_metadata_parses.pyandplugin_upload.pyboth check). -
CHANGELOG.md: a new row in the "Recent releases" table and a new## [version]section with its<a id="v…">anchor. -
src/cartogen_ai/core/release_notes.py:WHATS_NEW_VERSION,NEW_MARK_VERSIONS,WHATS_NEW_ITEMS(shown in the plugin's Help dialog), and any new tool inHUMANITARIAN_WORKFLOWSwith itsTOOL_NEW_INentry. -
README.md: the version line, the status line, a new "What's new" section (keep the previous one below it), and the humanitarian table, regenerated fromrelease_notes.render_readme_table(). -
pyproject.toml: the version string. -
Counts: the tool count (README and
docs/TOOLS_REFERENCE.md, viapython docs/generate_tools_reference.py) and task and section counts (docs/USER_GUIDE.md); the Help dialog reads them live. -
Say plainly what was and was not verified (hand-tested or CI only), then build the zip with
python plugin_upload.py.
This documentation site reads the version, tool count and task count from the repository at build time, so it needs no edit for a release.
python plugin_upload.py writes dist/cartogen_ai_v<version>.zip (and a root cartogen_ai.zip). The top-level folder is cartogen_ai_plugin, never cartogen_ai or the GitHub-generated <repo>-<tag>. It excludes tests, tools, the site, service prototype, hidden files, binary documents and sample data, and ships only the user-facing documents. The zip must be at most 25 MB. See Repository layout for the reasons.
.github/workflows/release.yml is manual (workflow_dispatch): publishing is a deliberate act, never a side effect of a push.
| Input | Meaning |
|---|---|
ref |
The commit to build from: use the merged SHA on main, not the branch tip |
tag |
cartogen-ai-v<version>, for example cartogen-ai-v1.16.0-rc39
|
prerelease |
true for release candidates |
draft |
true (default) creates a draft: nobody is emailed until you publish it by hand from the Releases page |
It builds the zip with plugin_upload.py, checks it, and attaches cartogen_ai_v<version>.zip and SHA256.txt to a GitHub release. The same file is the one to upload to plugins.qgis.org, so the directory and GitHub carry one checksum.
Tag naming: new tags use cartogen-ai-v<version>. Older tags used a commercial-plugin- prefix that suggested a proprietary licence the project never had; they are left untouched because published releases reference them.
- Branch from
main, make the change, bump the version (checklist above), run the offline suite,ruff,mypyand the release-docs test. - Open a pull request; wait for all CI jobs to pass.
- Squash-merge. 4. Run the release workflow with the merged SHA. 5. Confirm the asset and its checksum. 6. For the plugin directory, upload the same zip with your plugins.qgis.org login, read the scan report, and fix anything it flags.
A release candidate becomes 1.16.0 only after the gates in Status and open work: a hand-tested pass of the live test pack, the clean-profile and upgrade checks, the directory scan, and the open issues closed on hand-verified evidence.
Cartogen AI 1.18.5 · generated from the repository at commit 26536e9f75 on 2026-11-12 · this wiki is rebuilt on every merge to main; edits made in the browser are overwritten, so correct the source files instead.
Get started
How it works
- Architecture overview
- The agent loop
- Threads, tasks and Stop
- Tools and routing
- Providers and networking
- Memory, state and results
- Guards and honesty checks
- The dock and dialogs
- Processing provider
Tools and data
- Tool reference
- AI Imagery Feature Extraction
- Data Analysis & Prediction
- Database & Workflows
- Export & Reporting
- Humanitarian Data (HDX / OSM / geoBoundaries)
- Humanitarian Logistics
- Monitoring & Scheduling
- Print Layouts
- Project Management
- Raster
- Reporting & Document Analysis
- Satellite Imagery & Vision
- Styling & Labeling
- System, Search & Scripting
- Task & Memory Management
- Vector & Geoprocessing
- More tools, by module
- Task register
- External data sources
Humanitarian GIS
Security and privacy
Develop
Project