From noreply at github.com Tue Sep 1 03:08:36 2026 From: noreply at github.com (renovate[bot]) Date: Tue, 01 Sep 2026 03:08:36 -0700 Subject: [GRASS-git] [OSGeo/grass] 646bca: CI(deps): Update rui314/setup-mold digest to 7e4f2... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 646bcad565ea162b3aec16e9226367c819c42ed3 https://github.com/OSGeo/grass/commit/646bcad565ea162b3aec16e9226367c819c42ed3 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M .github/workflows/codeql-analysis.yml M .github/workflows/documentation.yml M .github/workflows/pytest.yml M .github/workflows/python-code-quality.yml Log Message: ----------- CI(deps): Update rui314/setup-mold digest to 7e4f20a (main) (#7873) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 03:11:00 2026 From: noreply at github.com (renovate[bot]) Date: Tue, 01 Sep 2026 03:11:00 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/renovate/main-rui314-setup-mold-digest Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 04:44:30 2026 From: noreply at github.com (renovate[bot]) Date: Tue, 01 Sep 2026 04:44:30 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 5973a9: Update dependency prek to v0.5.1 Message-ID: Branch: refs/heads/renovate/prek-0.x Home: https://github.com/OSGeo/grass-website Commit: 5973a9d9d5513c2d36713007005d3720f2b454b1 https://github.com/OSGeo/grass-website/commit/5973a9d9d5513c2d36713007005d3720f2b454b1 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M .github/workflows/additional_checks.yml Log Message: ----------- Update dependency prek to v0.5.1 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Tue Sep 1 05:35:47 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Tue, 01 Sep 2026 05:35:47 -0700 Subject: [GRASS-git] [OSGeo/grass] 3fec3e: Apply batched suggestions from code review Message-ID: Branch: refs/heads/renovate/main-ubuntu-26.x Home: https://github.com/OSGeo/grass Commit: 3fec3efbdcd3f1d19c1c4c5e5b385c1bedf47dde https://github.com/OSGeo/grass/commit/3fec3efbdcd3f1d19c1c4c5e5b385c1bedf47dde Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M Dockerfile Log Message: ----------- Apply batched suggestions from code review Co-authored-by: Edouard Choini?re <27212526+echoix at users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 05:35:58 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Tue, 01 Sep 2026 05:35:58 -0700 Subject: [GRASS-git] [OSGeo/grass] bde472: r.support: migrate tests from gunittest to pytest ... Message-ID: Branch: refs/heads/renovate/main-ubuntu-26.x Home: https://github.com/OSGeo/grass Commit: bde472e763a87b33aca0aaaa7422828fdfb8d760 https://github.com/OSGeo/grass/commit/bde472e763a87b33aca0aaaa7422828fdfb8d760 Author: Rajveer* Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: A raster/r.support/tests/r_support_test.py R raster/r.support/testsuite/test_r_support.py Log Message: ----------- r.support: migrate tests from gunittest to pytest (#7821) Commit: 3ed23b47d5d05cb267c4a03c3a9e319abb6c101d https://github.com/OSGeo/grass/commit/3ed23b47d5d05cb267c4a03c3a9e319abb6c101d Author: Vaclav Petras Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M README.md Log Message: ----------- doc: Add fair-software.eu badge to README (#7856) GRASS meets all five fair-software.eu recommendations, so the README now can carry the green badge. Verified with howfairis 0.15.0: open repository, GPL license, the conda-forge registry, CITATION.cff and Zenodo badge (one would be enough), and the OpenSSF Best Practices checklist. Commit: cf16f86c6aa063d66640fc65488a7694b1a48906 https://github.com/OSGeo/grass/commit/cf16f86c6aa063d66640fc65488a7694b1a48906 Author: OSGeo Weblate <97247866+osgeoweblate at users.noreply.github.com> Date: 2026-08-29 (Sat, 29 Aug 2026) Changed paths: M locale/po/grasslibs_ar.po M locale/po/grasslibs_bn.po M locale/po/grasslibs_cs.po M locale/po/grasslibs_de.po M locale/po/grasslibs_el.po M locale/po/grasslibs_es.po M locale/po/grasslibs_fi.po M locale/po/grasslibs_fr.po M locale/po/grasslibs_hi.po M locale/po/grasslibs_hu.po M locale/po/grasslibs_id_ID.po M locale/po/grasslibs_it.po M locale/po/grasslibs_ja.po M locale/po/grasslibs_ko.po M locale/po/grasslibs_lv.po M locale/po/grasslibs_ml.po M locale/po/grasslibs_pl.po M locale/po/grasslibs_pt.po M locale/po/grasslibs_pt_BR.po M locale/po/grasslibs_ro.po M locale/po/grasslibs_ru.po M locale/po/grasslibs_si.po M locale/po/grasslibs_sl.po M locale/po/grasslibs_sv.po M locale/po/grasslibs_ta.po M locale/po/grasslibs_th.po M locale/po/grasslibs_tr.po M locale/po/grasslibs_uk.po M locale/po/grasslibs_vi.po M locale/po/grasslibs_zh.po M locale/po/grasslibs_zh_Hant.po M locale/po/grassmods_ar.po M locale/po/grassmods_bn.po M locale/po/grassmods_cs.po M locale/po/grassmods_de.po M locale/po/grassmods_el.po M locale/po/grassmods_es.po M locale/po/grassmods_fi.po M locale/po/grassmods_fr.po M locale/po/grassmods_hi.po M locale/po/grassmods_hu.po M locale/po/grassmods_id_ID.po M locale/po/grassmods_it.po M locale/po/grassmods_ja.po M locale/po/grassmods_ko.po M locale/po/grassmods_lv.po M locale/po/grassmods_ml.po M locale/po/grassmods_pl.po M locale/po/grassmods_pt.po M locale/po/grassmods_pt_BR.po M locale/po/grassmods_ro.po M locale/po/grassmods_ru.po M locale/po/grassmods_si.po M locale/po/grassmods_sl.po M locale/po/grassmods_sv.po M locale/po/grassmods_ta.po M locale/po/grassmods_th.po M locale/po/grassmods_tr.po M locale/po/grassmods_uk.po M locale/po/grassmods_vi.po M locale/po/grassmods_zh.po M locale/po/grassmods_zh_Hant.po M locale/po/grasswxpy_ar.po M locale/po/grasswxpy_bn.po M locale/po/grasswxpy_cs.po M locale/po/grasswxpy_de.po M locale/po/grasswxpy_el.po M locale/po/grasswxpy_es.po M locale/po/grasswxpy_fi.po M locale/po/grasswxpy_fr.po M locale/po/grasswxpy_hi.po M locale/po/grasswxpy_hu.po M locale/po/grasswxpy_id_ID.po M locale/po/grasswxpy_it.po M locale/po/grasswxpy_ja.po M locale/po/grasswxpy_ko.po M locale/po/grasswxpy_lv.po M locale/po/grasswxpy_ml.po M locale/po/grasswxpy_pl.po M locale/po/grasswxpy_pt.po M locale/po/grasswxpy_pt_BR.po M locale/po/grasswxpy_ro.po M locale/po/grasswxpy_ru.po M locale/po/grasswxpy_si.po M locale/po/grasswxpy_sl.po M locale/po/grasswxpy_sv.po M locale/po/grasswxpy_ta.po M locale/po/grasswxpy_th.po M locale/po/grasswxpy_tr.po M locale/po/grasswxpy_uk.po M locale/po/grasswxpy_vi.po M locale/po/grasswxpy_zh.po M locale/po/grasswxpy_zh_Hant.po Log Message: ----------- Translations update from OSGeo Weblate (#7867) Commit: 6874d10c01b2ae4fa10dcd57c47d91f6a20e983b https://github.com/OSGeo/grass/commit/6874d10c01b2ae4fa10dcd57c47d91f6a20e983b Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: 2026-08-29 (Sat, 29 Aug 2026) Changed paths: M locale/templates/grasslibs.pot M locale/templates/grassmods.pot M locale/templates/grasswxpy.pot Log Message: ----------- locale: Update translation files (124) (#7870) Commit: 6b1ebbe6c939c93f0bf0716c516434c8d5bd14f5 https://github.com/OSGeo/grass/commit/6b1ebbe6c939c93f0bf0716c516434c8d5bd14f5 Author: Stefan Blumentrath Date: 2026-08-29 (Sat, 29 Aug 2026) Changed paths: M .github/workflows/apt.txt M .github/workflows/osgeo4w.yml M .github/workflows/pytest.yml M raster/r.out.gdal/main.c M raster/r.out.gdal/tests/test_r_out_gdal.py Log Message: ----------- r.out.gdal: increase limit for the number of overviews (#7865) * allow larger number of overviews * add multi overview test * add GDAL python-bindings as test dependency * Match GDALs overview limit Commit: 1191c27919c42a063c34f4a52a2d3a1b5f6a258a https://github.com/OSGeo/grass/commit/1191c27919c42a063c34f4a52a2d3a1b5f6a258a Author: Anna Petrasova Date: 2026-08-31 (Mon, 31 Aug 2026) Changed paths: M gui/wxpython/startup/locdownload.py Log Message: ----------- gui: add new datasets (Raleigh, NC and Flagstaff, AZ) for download (#7866) This adds to the GUI download list two new GRASS projects (sample datasets): - Raleigh, NC - New version of the NC dataset. It's closer to the basic version, but the idea is it will eventually replace the NC datasets in documentation/tutorials. - Flagstaff, AZ - Developed by Michael Barton (@cmbarton). Uses the same names, so the tutorials that were developed can be run with both of these datasets. Tutorials using it are already online. Also related is this tutorial: https://github.com/OSGeo/grass-tutorials/pull/144 that describes how to create a dataset like that (focused on US data). Unrelated change: Natural Earth dataset moved closer to the top, since it is likely more relevant than the others. Commit: 646bcad565ea162b3aec16e9226367c819c42ed3 https://github.com/OSGeo/grass/commit/646bcad565ea162b3aec16e9226367c819c42ed3 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M .github/workflows/codeql-analysis.yml M .github/workflows/documentation.yml M .github/workflows/pytest.yml M .github/workflows/python-code-quality.yml Log Message: ----------- CI(deps): Update rui314/setup-mold digest to 7e4f20a (main) (#7873) Commit: 342414ff51897749d38b46aaf4e17148d26a16c8 https://github.com/OSGeo/grass/commit/342414ff51897749d38b46aaf4e17148d26a16c8 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M .github/workflows/apt.txt M .github/workflows/codeql-analysis.yml M .github/workflows/documentation.yml M .github/workflows/osgeo4w.yml M .github/workflows/pytest.yml M .github/workflows/python-code-quality.yml M README.md M gui/wxpython/startup/locdownload.py M locale/po/grasslibs_ar.po M locale/po/grasslibs_bn.po M locale/po/grasslibs_cs.po M locale/po/grasslibs_de.po M locale/po/grasslibs_el.po M locale/po/grasslibs_es.po M locale/po/grasslibs_fi.po M locale/po/grasslibs_fr.po M locale/po/grasslibs_hi.po M locale/po/grasslibs_hu.po M locale/po/grasslibs_id_ID.po M locale/po/grasslibs_it.po M locale/po/grasslibs_ja.po M locale/po/grasslibs_ko.po M locale/po/grasslibs_lv.po M locale/po/grasslibs_ml.po M locale/po/grasslibs_pl.po M locale/po/grasslibs_pt.po M locale/po/grasslibs_pt_BR.po M locale/po/grasslibs_ro.po M locale/po/grasslibs_ru.po M locale/po/grasslibs_si.po M locale/po/grasslibs_sl.po M locale/po/grasslibs_sv.po M locale/po/grasslibs_ta.po M locale/po/grasslibs_th.po M locale/po/grasslibs_tr.po M locale/po/grasslibs_uk.po M locale/po/grasslibs_vi.po M locale/po/grasslibs_zh.po M locale/po/grasslibs_zh_Hant.po M locale/po/grassmods_ar.po M locale/po/grassmods_bn.po M locale/po/grassmods_cs.po M locale/po/grassmods_de.po M locale/po/grassmods_el.po M locale/po/grassmods_es.po M locale/po/grassmods_fi.po M locale/po/grassmods_fr.po M locale/po/grassmods_hi.po M locale/po/grassmods_hu.po M locale/po/grassmods_id_ID.po M locale/po/grassmods_it.po M locale/po/grassmods_ja.po M locale/po/grassmods_ko.po M locale/po/grassmods_lv.po M locale/po/grassmods_ml.po M locale/po/grassmods_pl.po M locale/po/grassmods_pt.po M locale/po/grassmods_pt_BR.po M locale/po/grassmods_ro.po M locale/po/grassmods_ru.po M locale/po/grassmods_si.po M locale/po/grassmods_sl.po M locale/po/grassmods_sv.po M locale/po/grassmods_ta.po M locale/po/grassmods_th.po M locale/po/grassmods_tr.po M locale/po/grassmods_uk.po M locale/po/grassmods_vi.po M locale/po/grassmods_zh.po M locale/po/grassmods_zh_Hant.po M locale/po/grasswxpy_ar.po M locale/po/grasswxpy_bn.po M locale/po/grasswxpy_cs.po M locale/po/grasswxpy_de.po M locale/po/grasswxpy_el.po M locale/po/grasswxpy_es.po M locale/po/grasswxpy_fi.po M locale/po/grasswxpy_fr.po M locale/po/grasswxpy_hi.po M locale/po/grasswxpy_hu.po M locale/po/grasswxpy_id_ID.po M locale/po/grasswxpy_it.po M locale/po/grasswxpy_ja.po M locale/po/grasswxpy_ko.po M locale/po/grasswxpy_lv.po M locale/po/grasswxpy_ml.po M locale/po/grasswxpy_pl.po M locale/po/grasswxpy_pt.po M locale/po/grasswxpy_pt_BR.po M locale/po/grasswxpy_ro.po M locale/po/grasswxpy_ru.po M locale/po/grasswxpy_si.po M locale/po/grasswxpy_sl.po M locale/po/grasswxpy_sv.po M locale/po/grasswxpy_ta.po M locale/po/grasswxpy_th.po M locale/po/grasswxpy_tr.po M locale/po/grasswxpy_uk.po M locale/po/grasswxpy_vi.po M locale/po/grasswxpy_zh.po M locale/po/grasswxpy_zh_Hant.po M locale/templates/grasslibs.pot M locale/templates/grassmods.pot M locale/templates/grasswxpy.pot M raster/r.out.gdal/main.c M raster/r.out.gdal/tests/test_r_out_gdal.py A raster/r.support/tests/r_support_test.py R raster/r.support/testsuite/test_r_support.py Log Message: ----------- Merge branch 'main' into renovate/main-ubuntu-26.x Compare: https://github.com/OSGeo/grass/compare/3fec3efbdcd3...342414ff5189 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 07:29:22 2026 From: noreply at github.com (renovate[bot]) Date: Tue, 01 Sep 2026 07:29:22 -0700 Subject: [GRASS-git] [OSGeo/grass] def017: CI(deps): Update debian:13.6-slim Docker digest to... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: def0177cfa3223604162b7e705e4476cee5dc270 https://github.com/OSGeo/grass/commit/def0177cfa3223604162b7e705e4476cee5dc270 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M docker/debian/Dockerfile Log Message: ----------- CI(deps): Update debian:13.6-slim Docker digest to d7e1218 (main) (#7872) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 07:30:59 2026 From: noreply at github.com (renovate[bot]) Date: Tue, 01 Sep 2026 07:30:59 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/renovate/main-debian-13.6-slim Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 13:03:04 2026 From: noreply at github.com (Regina Obe) Date: Tue, 01 Sep 2026 13:03:04 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 94c586: Update _index.en.md (#713) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass-website Commit: 94c5862050ce3f047039e3cf7c3c27d112bef55b https://github.com/OSGeo/grass-website/commit/94c5862050ce3f047039e3cf7c3c27d112bef55b Author: Regina Obe <4734450+robe2 at users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M content/contribute/_index.en.md Log Message: ----------- Update _index.en.md (#713) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Tue Sep 1 13:59:43 2026 From: noreply at github.com (Aditya Shinde) Date: Tue, 01 Sep 2026 13:59:43 -0700 Subject: [GRASS-git] [OSGeo/grass] a8b867: r.lake: Only set seed point when coordinates are g... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: a8b86707781b3ac72b9ab4d95324b7c344e25b73 https://github.com/OSGeo/grass/commit/a8b86707781b3ac72b9ab4d95324b7c344e25b73 Author: Aditya Shinde Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M raster/r.lake/main.c A raster/r.lake/tests/r_lake_test.py Log Message: ----------- r.lake: Only set seed point when coordinates are given (#7874) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 14:28:39 2026 From: noreply at github.com (github-actions[bot]) Date: Tue, 01 Sep 2026 14:28:39 -0700 Subject: [GRASS-git] [OSGeo/grass-website] Message-ID: Branch: refs/tags/site-20260901-212808-94c5862 Home: https://github.com/OSGeo/grass-website To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Tue Sep 1 14:28:41 2026 From: noreply at github.com (github-actions[bot]) Date: Tue, 01 Sep 2026 14:28:41 -0700 Subject: [GRASS-git] [OSGeo/grass-website] Message-ID: Branch: refs/tags/site-20260811-160413-1f9baa1 Home: https://github.com/OSGeo/grass-website To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Tue Sep 1 17:56:29 2026 From: noreply at github.com (renovate[bot]) Date: Tue, 01 Sep 2026 17:56:29 -0700 Subject: [GRASS-git] [OSGeo/grass-website] e28b91: Update actions/deploy-pages action to v5.0.1 Message-ID: Branch: refs/heads/renovate/actions-deploy-pages-5.x Home: https://github.com/OSGeo/grass-website Commit: e28b91b2f0cde210f8bcae44b34d1f38ed9bbe1d https://github.com/OSGeo/grass-website/commit/e28b91b2f0cde210f8bcae44b34d1f38ed9bbe1d Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-02 (Wed, 02 Sep 2026) Changed paths: M .github/workflows/hugo.yml Log Message: ----------- Update actions/deploy-pages action to v5.0.1 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Tue Sep 1 18:04:03 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Tue, 01 Sep 2026 18:04:03 -0700 Subject: [GRASS-git] [OSGeo/grass] eb599e: Apply batched suggestions from code review Message-ID: Branch: refs/heads/renovate/main-ubuntu-26.x Home: https://github.com/OSGeo/grass Commit: eb599e3fa4816e5f04fba52698fcdd7c0d51a43d https://github.com/OSGeo/grass/commit/eb599e3fa4816e5f04fba52698fcdd7c0d51a43d Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M docker/ubuntu/Dockerfile Log Message: ----------- Apply batched suggestions from code review Co-authored-by: Edouard Choini?re <27212526+echoix at users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 18:04:17 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Tue, 01 Sep 2026 18:04:17 -0700 Subject: [GRASS-git] [OSGeo/grass] def017: CI(deps): Update debian:13.6-slim Docker digest to... Message-ID: Branch: refs/heads/renovate/main-ubuntu-26.x Home: https://github.com/OSGeo/grass Commit: def0177cfa3223604162b7e705e4476cee5dc270 https://github.com/OSGeo/grass/commit/def0177cfa3223604162b7e705e4476cee5dc270 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M docker/debian/Dockerfile Log Message: ----------- CI(deps): Update debian:13.6-slim Docker digest to d7e1218 (main) (#7872) Commit: a8b86707781b3ac72b9ab4d95324b7c344e25b73 https://github.com/OSGeo/grass/commit/a8b86707781b3ac72b9ab4d95324b7c344e25b73 Author: Aditya Shinde Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M raster/r.lake/main.c A raster/r.lake/tests/r_lake_test.py Log Message: ----------- r.lake: Only set seed point when coordinates are given (#7874) Commit: 643190853912a60f9cc88aa557840f80b7b06a79 https://github.com/OSGeo/grass/commit/643190853912a60f9cc88aa557840f80b7b06a79 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M docker/debian/Dockerfile M raster/r.lake/main.c A raster/r.lake/tests/r_lake_test.py Log Message: ----------- Merge branch 'main' into renovate/main-ubuntu-26.x Compare: https://github.com/OSGeo/grass/compare/eb599e3fa481...643190853912 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 1 18:29:27 2026 From: noreply at github.com (Corey White) Date: Tue, 01 Sep 2026 18:29:27 -0700 Subject: [GRASS-git] [OSGeo/grass] 6990da: Python: Replace eval with safer alternatives (#7709) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 6990dad0ceb98e09c3459e9753f70eb0162a3083 https://github.com/OSGeo/grass/commit/6990dad0ceb98e09c3459e9753f70eb0162a3083 Author: Corey White Date: 2026-09-01 (Tue, 01 Sep 2026) Changed paths: M gui/wxpython/core/menutree.py M gui/wxpython/gmodeler/model.py M gui/wxpython/gui_core/menu.py M python/grass/temporal/temporal_algebra.py A python/grass/temporal/tests/temporal_algebra_compare_values_test.py M scripts/i.tasscap/i.tasscap.py Log Message: ----------- Python: Replace eval with safer alternatives (#7709) In temporal algebra, compare values directly instead of eval of stringified comparisons, and route the td and global-variable comparisons through the same helper; the remaining eval of the internally built boolean string is documented and marked nosec. In the wxGUI, resolve wx ids and menu handlers with getattr instead of eval, and document the gmodeler loop-condition eval, which runs the model author's own expression. In i.tasscap, dispatch to the band combination function via globals() lookup. Fixes 14 Bandit B307 (eval) alerts. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Wed Sep 2 03:39:21 2026 From: noreply at github.com (Jal Patel) Date: Wed, 02 Sep 2026 03:39:21 -0700 Subject: [GRASS-git] [OSGeo/grass] c0f7ea: lib/datetime: Add pytest unit tests for datetime_s... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: c0f7eab88a179f7792588cf7b13eb48bbecbd230 https://github.com/OSGeo/grass/commit/c0f7eab88a179f7792588cf7b13eb48bbecbd230 Author: Jal Patel <102137104+jalpatel11 at users.noreply.github.com> Date: 2026-09-02 (Wed, 02 Sep 2026) Changed paths: A lib/datetime/tests/lib_datetime_calendar_ctypes_test.py A lib/datetime/tests/lib_datetime_change_from_to_ctypes_test.py A lib/datetime/tests/lib_datetime_ctypes_test.py A lib/datetime/tests/lib_datetime_difference_ctypes_test.py A lib/datetime/tests/lib_datetime_error_ctypes_test.py A lib/datetime/tests/lib_datetime_increment_ctypes_test.py A lib/datetime/tests/lib_datetime_sign_ctypes_test.py A lib/datetime/tests/lib_datetime_timezone_ctypes_test.py A lib/datetime/tests/lib_datetime_type_ctypes_test.py A lib/datetime/tests/lib_datetime_values_ctypes_test.py Log Message: ----------- lib/datetime: Add pytest unit tests for datetime_scan and datetime_format (#7871) * lib/datetime: Add pytest test suite for datetime_scan and datetime_format * lib/datetime: Extend pytest coverage beyond datetime_scan and datetime_format * lib/datetime: Add pytest coverage for the global error-state functions To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Wed Sep 2 09:28:59 2026 From: noreply at github.com (Paulo van Breugel) Date: Wed, 02 Sep 2026 09:28:59 -0700 Subject: [GRASS-git] [OSGeo/grass-addons] 48e748: t.rast.stl: Improving error message (#1843) Message-ID: Branch: refs/heads/grass8 Home: https://github.com/OSGeo/grass-addons Commit: 48e748caeb287516b4874bba2ecd2570de46e210 https://github.com/OSGeo/grass-addons/commit/48e748caeb287516b4874bba2ecd2570de46e210 Author: Paulo van Breugel Date: 2026-09-02 (Wed, 02 Sep 2026) Changed paths: M src/temporal/t.rast.stl/t.rast.stl.py Log Message: ----------- t.rast.stl: Improving error message (#1843) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-addons/settings/notifications From noreply at github.com Wed Sep 2 18:01:27 2026 From: noreply at github.com (renovate[bot]) Date: Wed, 02 Sep 2026 18:01:27 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 7c5cd5: Update nginx Docker tag to v1.31.5 Message-ID: Branch: refs/heads/renovate/nginx-1.x Home: https://github.com/OSGeo/grass-website Commit: 7c5cd5571d382148a6863b3f595269d88f4d691d https://github.com/OSGeo/grass-website/commit/7c5cd5571d382148a6863b3f595269d88f4d691d Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M docker-compose.yml Log Message: ----------- Update nginx Docker tag to v1.31.5 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Wed Sep 2 18:01:35 2026 From: noreply at github.com (renovate[bot]) Date: Wed, 02 Sep 2026 18:01:35 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 8c41ee: Update dependency prek to v0.5.2 Message-ID: Branch: refs/heads/renovate/prek-0.x Home: https://github.com/OSGeo/grass-website Commit: 8c41ee566ba30381b7fe6457b52f65dff799973b https://github.com/OSGeo/grass-website/commit/8c41ee566ba30381b7fe6457b52f65dff799973b Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .github/workflows/additional_checks.yml Log Message: ----------- Update dependency prek to v0.5.2 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Wed Sep 2 19:26:23 2026 From: noreply at github.com (Vaclav Petras) Date: Wed, 02 Sep 2026 19:26:23 -0700 Subject: [GRASS-git] [OSGeo/grass] ba172c: contributing: Use SPDX copyright tags in file head... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: ba172cdc5e8f3bd458e070d5098b7421a937f932 https://github.com/OSGeo/grass/commit/ba172cdc5e8f3bd458e070d5098b7421a937f932 Author: Vaclav Petras Date: 2026-09-02 (Wed, 02 Sep 2026) Changed paths: M CMakeLists.txt M Makefile M cmake/ctypesgen.cmake M cmake/find_scripts/FindCBLAS.cmake M cmake/find_scripts/FindLAPACKE.cmake M cmake/find_scripts/FindNetCDF.cmake M cmake/find_scripts/FindReadline.cmake M cmake/locale_strings.cmake M cmake/modules/build_addon.cmake M cmake/modules/build_gui_in_subdir.cmake M cmake/modules/build_library_in_subdir.cmake M cmake/modules/build_module.cmake M cmake/modules/build_program.cmake M cmake/modules/build_program_in_subdir.cmake M cmake/modules/build_script_in_subdir.cmake M cmake/modules/copy_python_files_in_subdir.cmake M cmake/modules/generate_docs.cmake M cmake/modules/get_host_arch.cmake M cmake/modules/get_versions.cmake M cmake/modules/repo_status.cmake M cmake/stubs/build_library_in_subdir_stub.cmake M cmake/stubs/build_program_in_subdir_stub.cmake M cmake/stubs/build_program_stub.cmake M configure.ac M db/db.columns/main.c M db/db.connect/main.c M db/db.copy/main.c M db/db.createdb/main.c M db/db.databases/main.c M db/db.describe/main.c M db/db.drivers/main.c M db/db.dropdb/main.c M db/db.execute/main.c M db/db.login/main.c M db/db.select/main.c M db/db.select/testsuite/test_db_select_json_csv.py M db/db.tables/main.c M db/drivers/dbf/column.c M db/drivers/dbf/cursor.c M db/drivers/dbf/db.c M db/drivers/dbf/dbfexe.c M db/drivers/dbf/describe.c M db/drivers/dbf/driver.c M db/drivers/dbf/execute.c M db/drivers/dbf/fetch.c M db/drivers/dbf/listtab.c M db/drivers/dbf/main.c M db/drivers/dbf/select.c M db/drivers/dbf/str.c M db/drivers/dbf/table.c M db/drivers/mysql/create_table.c M db/drivers/mysql/cursor.c M db/drivers/mysql/db.c M db/drivers/mysql/dbe.c M db/drivers/mysql/describe.c M db/drivers/mysql/driver.c M db/drivers/mysql/error.c M db/drivers/mysql/execute.c M db/drivers/mysql/fetch.c M db/drivers/mysql/index.c M db/drivers/mysql/listtab.c M db/drivers/mysql/main.c M db/drivers/mysql/parse.c M db/drivers/mysql/replace.c M db/drivers/mysql/select.c M db/drivers/odbc/execute.c M db/drivers/ogr/globals.h M db/drivers/ogr/main.c M db/drivers/ogr/proto.h M db/drivers/sqlite/cursor.c M db/drivers/sqlite/driver.c M db/drivers/sqlite/error.c M db/drivers/sqlite/main.c M display/d.barscale/main.c M display/d.colorlist/main.c M display/d.colortable/main.c M display/d.erase/main.c M display/d.extract/main.c M display/d.font/main.c M display/d.fontlist/main.c M display/d.geodesic/main.c M display/d.graph/main.c M display/d.grid/main.c M display/d.his/main.c M display/d.histogram/main.c M display/d.info/main.c M display/d.labels/color.c M display/d.labels/main.c M display/d.legend.vect/main.c M display/d.legend/main.c M display/d.linegraph/main.c M display/d.mon/main.c M display/d.northarrow/main.c M display/d.path/main.c M display/d.profile/main.c M display/d.rast.arrow/main.c M display/d.rast.num/main.c M display/d.rast/main.c M display/d.redraw/main.c M display/d.rgb/main.c M display/d.rhumbline/main.c M display/d.text/main.c M display/d.title/main.c M display/d.vect.chart/main.c M display/d.vect.thematic/main.c M display/d.vect/main.c M display/d.where/main.c M doc/examples/gui/wxpython/g.gui.example.py M doc/examples/python/m.distance.py M doc/examples/raster/r.example/main.c M doc/examples/vector/v.example/main.c M general/g.access/main.c M general/g.cairocomp/main.c M general/g.copy/main.c M general/g.dirseps/main.c M general/g.filename/main.c M general/g.findetc/main.c M general/g.findfile/main.c M general/g.gisenv/main.c M general/g.gui/main.c M general/g.list/main.c M general/g.mapset/main.c M general/g.mapsets/main.c M general/g.mapsets/tests/g_mapsets_list_format_test.py M general/g.message/main.c M general/g.mkfontcap/freetype_fonts.c M general/g.mkfontcap/main.c M general/g.mkfontcap/stroke_fonts.c M general/g.parser/main.c M general/g.pnmcomp/main.c M general/g.ppmtopng/main.c M general/g.proj/datumtrans.c M general/g.proj/input.c M general/g.proj/main.c M general/g.proj/output.c M general/g.region/main.c M general/g.remove/main.c M general/g.rename/main.c M general/g.setproj/main.c M general/g.tempfile/main.c M general/g.version/main.c M general/manage/lister/README M gui/scripts/d.rast3d.py M gui/scripts/d.wms.py M gui/wxpython/animation/g.gui.animation.py M gui/wxpython/datacatalog/g.gui.datacatalog.py M gui/wxpython/dbmgr/g.gui.dbmgr.py M gui/wxpython/gcp/g.gui.gcp.py M gui/wxpython/gmodeler/g.gui.gmodeler.py M gui/wxpython/iclass/g.gui.iclass.py M gui/wxpython/image2target/g.gui.image2target.py M gui/wxpython/mapdisp/test_mapdisp.py M gui/wxpython/mapswipe/g.gui.mapswipe.py M gui/wxpython/photo2image/g.gui.photo2image.py M gui/wxpython/psmap/g.gui.psmap.py M gui/wxpython/rdigit/g.gui.rdigit.py M gui/wxpython/rlisetup/g.gui.rlisetup.py M gui/wxpython/timeline/g.gui.timeline.py M gui/wxpython/tplot/g.gui.tplot.py M gui/wxpython/vdigit/g.gui.vdigit.py M imagery/i.biomass/main.c M imagery/i.cca/main.c M imagery/i.cluster/main.c M imagery/i.eb.eta/main.c M imagery/i.eb.evapfr/main.c M imagery/i.eb.hsebal01/main.c M imagery/i.eb.netrad/main.c M imagery/i.eb.soilheatflux/main.c M imagery/i.emissivity/main.c M imagery/i.evapo.mh/main.c M imagery/i.evapo.pm/main.c M imagery/i.evapo.pt/main.c M imagery/i.fft/main.c M imagery/i.find/main.c M imagery/i.gensig/main.c M imagery/i.gensigset/main.c M imagery/i.group/main.c M imagery/i.his.rgb/main.c M imagery/i.ifft/main.c M imagery/i.landsat.acca/algorithm.c M imagery/i.landsat.acca/main.c M imagery/i.landsat.toar/main.c M imagery/i.maxlik/main.c M imagery/i.modis.qc/main.c M imagery/i.ortho.photo/README M imagery/i.ortho.photo/i.ortho.camera/main.c M imagery/i.ortho.photo/i.ortho.elev/main.c M imagery/i.ortho.photo/i.ortho.init/main.c M imagery/i.ortho.photo/i.ortho.photo/menu.c M imagery/i.ortho.photo/i.ortho.rectify/main.c M imagery/i.ortho.photo/i.ortho.target/main.c M imagery/i.ortho.photo/i.ortho.transform/main.c M imagery/i.ortho.photo/lib/orthoref.c M imagery/i.pca/main.c M imagery/i.rectify/main.c M imagery/i.rgb.his/main.c M imagery/i.segment/cluster.c M imagery/i.segment/iseg.h M imagery/i.segment/main.c M imagery/i.signatures/main.c M imagery/i.smap/main.c M imagery/i.smap/segment.c M imagery/i.svm.predict/main.c M imagery/i.svm.train/main.c M imagery/i.target/main.c M imagery/i.topo.corr/correction.c M imagery/i.topo.corr/illumination.c M imagery/i.topo.corr/main.c M imagery/i.vi/main.c M imagery/i.zc/main.c M include/Make/Platform.make.in M include/grass/defs/gis.h M include/grass/gis.h M include/grass/gprojects.h M include/grass/neta.h M lib/bitmap/main.c M lib/btree/test/try.c M lib/cdhc/README M lib/datetime/README M lib/db/dbmi_base/test/test_columns.c M lib/db/dbmi_base/test/test_dbmi_base_lib.h M lib/db/dbmi_base/test/test_main.c M lib/db/dbmi_base/test/test_table.c M lib/db/sqlp/alloc.c M lib/db/sqlp/print.c M lib/db/sqlp/sql.c M lib/db/sqlp/sqlp.l M lib/db/sqlp/sqlp.y M lib/display/symbol.c M lib/dspf/README M lib/external/parson/gjson.c M lib/external/parson/test/test_gjson_lib.h M lib/external/parson/test/test_main.c M lib/external/parson/test/test_parson_wrapper.c M lib/gis/cmprbzip.c M lib/gis/cmprlz4.c M lib/gis/cmprrle.c M lib/gis/cmprzlib.c M lib/gis/cmprzstd.c M lib/gis/compress.c M lib/gis/copy_file.c M lib/gis/datum.c M lib/gis/ilist.c M lib/gis/win32_pipes.c M lib/gmath/CBLAS_wrapper_blas_level_1.c M lib/gmath/blas_level_1.c M lib/gmath/blas_level_2.c M lib/gmath/blas_level_3.c M lib/gmath/ccmath_grass_wrapper.c M lib/gmath/solvers_classic_iter.c M lib/gmath/solvers_direct.c M lib/gmath/solvers_krylov.c M lib/gmath/sparse_matrix.c M lib/gmath/test/bench_blas2.c M lib/gmath/test/bench_blas3.c M lib/gmath/test/bench_solver_direct.c M lib/gmath/test/bench_solver_krylov.c M lib/gmath/test/test_blas1.c M lib/gmath/test/test_blas2.c M lib/gmath/test/test_blas3.c M lib/gmath/test/test_ccmath_wrapper.c M lib/gmath/test/test_gmath_lib.h M lib/gmath/test/test_main.c M lib/gmath/test/test_matrix_conversion.c M lib/gmath/test/test_solvers.c M lib/gmath/test/test_tools.c M lib/gmath/test/test_tools_les.c M lib/gpde/N_gwflow.h M lib/gpde/N_heatflow.h M lib/gpde/N_pde.h M lib/gpde/N_solute_transport.h M lib/gpde/n_arrays.c M lib/gpde/n_arrays_calc.c M lib/gpde/n_arrays_io.c M lib/gpde/n_geom.c M lib/gpde/n_gradient.c M lib/gpde/n_gradient_calc.c M lib/gpde/n_gwflow.c M lib/gpde/n_heatflow.c M lib/gpde/n_les.c M lib/gpde/n_les_assemble.c M lib/gpde/n_parse_options.c M lib/gpde/n_solute_transport.c M lib/gpde/n_tools.c M lib/gpde/n_upwind.c M lib/gpde/test/test_arrays.c M lib/gpde/test/test_assemble.c M lib/gpde/test/test_geom.c M lib/gpde/test/test_gpde_lib.h M lib/gpde/test/test_gradient.c M lib/gpde/test/test_gwflow.c M lib/gpde/test/test_heat.c M lib/gpde/test/test_les.c M lib/gpde/test/test_main.c M lib/gpde/test/test_solute_transport.c M lib/gpde/test/test_tools.c M lib/htmldriver/driver.c M lib/imagery/georef.c M lib/imagery/georef_tps.c M lib/imagery/group.c M lib/imagery/ref.c M lib/init/grass.py M lib/init/grass.sh M lib/init/testsuite/test_grass_tmp_mapset.py M lib/lidar/InterpSpline.c M lib/lidar/lidar.h M lib/linkm/init.c M lib/psdriver/driver.c M lib/psdriver/psdriver.ps M lib/psdriver/set_window.c M lib/raster/rast_to_img_string.c M lib/raster3d/maskfn.c M lib/raster3d/test/test_main.c M lib/raster3d/test/test_put_get_value.c M lib/raster3d/test/test_put_get_value_large_file.c M lib/raster3d/test/test_raster3d_lib.h M lib/raster3d/test/test_tools.c M lib/segment/init.c M lib/symbol/read.c M lib/symbol/stroke.c M lib/temporal/lib/map_list.c M lib/vector/Vlib/testsuite/test_vlib_box.py M lib/vector/Vlib/testsuite/test_vlib_intersect.py M lib/vector/diglib/allocation.c M lib/vector/diglib/angle.c M lib/vector/diglib/box.c M lib/vector/diglib/cindex.c M lib/vector/diglib/cindex_rw.c M lib/vector/diglib/frmt.c M lib/vector/diglib/head.c M lib/vector/diglib/inside.c M lib/vector/diglib/line_dist.c M lib/vector/diglib/linecros.c M lib/vector/diglib/list.c M lib/vector/diglib/plus_struct.c M lib/vector/diglib/poly.c M lib/vector/diglib/port_test.c M lib/vector/diglib/prune.c M lib/vector/diglib/test.c M lib/vector/rtree/card.c M lib/vector/rtree/card.h M lib/vector/rtree/docs/test.c M lib/vector/rtree/gammavol.c M lib/vector/rtree/index.h M lib/vector/rtree/indexf.c M lib/vector/rtree/indexm.c M lib/vector/rtree/io.c M lib/vector/rtree/node.c M lib/vector/rtree/rect.c M lib/vector/rtree/rtree.h M lib/vector/rtree/split.c M lib/vector/rtree/split.h M lib/vector/rtree/test_suite/test_basics.c M lib/vector/rtree/test_suite/test_main.c M lib/vector/rtree/test_suite/test_rtree_lib.h M lib/vector/testsuite/test_topology_vgeneralize.sh M locale/grass_po_stats.py M macos/files/configure-grass.sh M macos/files/grass.sh.in M macos/files/liblas-install.sh M man/build_class_graphical.py M man/build_graphical_index.py M man/build_manual_gallery.py M man/mkdocs/overrides/fragments/tags/default/listing.html M misc/m.cogo/main.c M misc/m.measure/main.c M misc/m.nviz.image/main.c M misc/m.nviz.script/main.c M misc/m.transform/main.c M mswindows/crosscompile.sh M ps/ps.map/border.h M ps/ps.map/catval.c M ps/ps.map/main.c M ps/ps.map/r_border.c M python/grass/__init__.py M python/grass/app/__main__.py M python/grass/app/cli.py M python/grass/benchmark/__init__.py M python/grass/benchmark/__main__.py M python/grass/benchmark/app.py M python/grass/benchmark/plots.py M python/grass/benchmark/results.py M python/grass/benchmark/runners.py M python/grass/benchmark/testsuite/test_benchmark.py M python/grass/benchmark/testsuite/test_benchmark_cli.py M python/grass/grassdb/testsuite/test_checks.py M python/grass/grassdb/testsuite/test_manage.py M python/grass/jupyter/__init__.py M python/grass/jupyter/baseseriesmap.py M python/grass/jupyter/interactivemap.py M python/grass/jupyter/map.py M python/grass/jupyter/map3d.py M python/grass/jupyter/region.py M python/grass/jupyter/reprojection_renderer.py M python/grass/jupyter/seriesmap.py M python/grass/jupyter/setup.py M python/grass/jupyter/testsuite/interactivemap_test.py M python/grass/jupyter/testsuite/map3d_test.py M python/grass/jupyter/testsuite/map_test.py M python/grass/jupyter/timeseriesmap.py M python/grass/jupyter/utils.py M python/grass/tools/session_tools.py M python/grass/tools/support.py M python/grass/utils/download.py M python/libgrass_interface_generator/CMakeLists.txt M raster/r.basins.fill/local_proto.h M raster/r.basins.fill/main.c M raster/r.basins.fill/read_map.c M raster/r.buffer/distance.h M raster/r.buffer/execute.c M raster/r.buffer/find_dist.c M raster/r.buffer/init.c M raster/r.buffer/local_proto.h M raster/r.buffer/main.c M raster/r.buffer/parse_dist.c M raster/r.buffer/process_at.c M raster/r.buffer/process_left.c M raster/r.buffer/process_rite.c M raster/r.buffer/process_row.c M raster/r.buffer/read_map.c M raster/r.buffer/support.c M raster/r.buffer/write_map.c M raster/r.buildvrt/main.c M raster/r.carve/enforce.h M raster/r.carve/enforce_ds.c M raster/r.carve/lobf.c M raster/r.carve/main.c M raster/r.carve/support.c M raster/r.carve/vect.c M raster/r.category/cats.c M raster/r.category/local_proto.h M raster/r.category/main.c M raster/r.circle/main.c M raster/r.clump/clump.c M raster/r.clump/local_proto.h M raster/r.clump/main.c M raster/r.coin/coin.h M raster/r.coin/format.c M raster/r.coin/local_proto.h M raster/r.coin/main.c M raster/r.coin/make_coin.c M raster/r.coin/print_coin.c M raster/r.coin/print_hdr.c M raster/r.coin/prnt_entry.c M raster/r.coin/totals.c M raster/r.colors.out/raster3d_main.c M raster/r.colors.out/raster_main.c M raster/r.colors/edit_colors.c M raster/r.colors/local_proto.h M raster/r.colors/raster3d_main.c M raster/r.colors/raster_main.c M raster/r.colors/rules.c M raster/r.colors/stats.c M raster/r.composite/main.c M raster/r.compress/main.c M raster/r.contour/cont.c M raster/r.contour/local_proto.h M raster/r.contour/main.c M raster/r.cost/heap.c M raster/r.cost/main.c M raster/r.covar/main.c M raster/r.cross/cats.c M raster/r.cross/cross.c M raster/r.cross/glob.h M raster/r.cross/local_proto.h M raster/r.cross/main.c M raster/r.cross/renumber.c M raster/r.cross/store.c M raster/r.describe/describe.c M raster/r.describe/dumplist.c M raster/r.describe/local_proto.h M raster/r.describe/main.c M raster/r.describe/tree.c M raster/r.distance/defs.h M raster/r.distance/distance.c M raster/r.distance/edges.c M raster/r.distance/labels.c M raster/r.distance/main.c M raster/r.distance/parse.c M raster/r.distance/report.c M raster/r.drain/main.c M raster/r.external.out/main.c M raster/r.external/main.c M raster/r.fill.dir/main.c M raster/r.fill.stats/cell_funcs.c M raster/r.fill.stats/cell_funcs.h M raster/r.fill.stats/main.c M raster/r.grow.distance/main.c M raster/r.gwflow/main.c M raster/r.his/main.c M raster/r.horizon/testsuite/test_r_horizon.py M raster/r.horizon/testsuite/test_r_horizon_parallel.py M raster/r.in.ascii/main.c M raster/r.in.bin/main.c M raster/r.in.gdal/main.c M raster/r.in.lidar/local_proto.h M raster/r.in.lidar/main.c M raster/r.in.pdal/bin_update.h M raster/r.in.pdal/grasslidarfilter.cpp M raster/r.in.pdal/grasslidarfilter.h M raster/r.in.pdal/grassrasterwriter.h M raster/r.in.pdal/lidar.c M raster/r.in.pdal/lidar.h M raster/r.in.pdal/main.cpp M raster/r.in.pdal/projection.h M raster/r.in.pdal/rast_segment.c M raster/r.in.pdal/rast_segment.h M raster/r.in.pdal/string_list.c M raster/r.in.pdal/string_list.h M raster/r.in.png/main.c M raster/r.in.poly/main.c M raster/r.info/main.c M raster/r.kappa/main.c M raster/r.lake/main.c M raster/r.latlong/main.c M raster/r.li/r.li.cwed/cwed.c M raster/r.li/r.li.dominance/dominance.c M raster/r.li/r.li.edgedensity/edgedensity.c M raster/r.li/r.li.mpa/mpa.c M raster/r.li/r.li.mps/mps.c M raster/r.li/r.li.padcv/padcv.c M raster/r.li/r.li.padrange/padrange.c M raster/r.li/r.li.padsd/padsd.c M raster/r.li/r.li.patchdensity/main.c M raster/r.li/r.li.patchnum/main.c M raster/r.li/r.li.shannon/shannon.c M raster/r.li/r.li.shape/main.c M raster/r.li/r.li.simpson/simpson.c M raster/r.mapcalc/main.c M raster/r.mapcalc/testsuite/test_median_mode.py M raster/r.mapcalc/testsuite/test_nmedian_bug_3296.py M raster/r.mapcalc/testsuite/test_row_above_below_bug.py M raster/r.mask.status/main.c M raster/r.mfilter/main.c M raster/r.mode/main.c M raster/r.neighbors/main.c M raster/r.null/main.c M raster/r.object.geometry/main.c M raster/r.out.ascii/main.c M raster/r.out.gdal/export_band.c M raster/r.out.gdal/main.c M raster/r.out.mpeg/main.c M raster/r.out.png/main.c M raster/r.out.pov/main.c M raster/r.out.ppm/main.c M raster/r.out.ppm3/main.c M raster/r.out.vrml/main.c M raster/r.out.vtk/globaldefs.h M raster/r.out.vtk/main.c M raster/r.out.vtk/parameters.c M raster/r.out.vtk/parameters.h M raster/r.out.vtk/writeascii.c M raster/r.out.vtk/writeascii.h M raster/r.param.scale/main.c M raster/r.patch/main.c M raster/r.patch/testsuite/test_rpatch_artificial.py M raster/r.path/main.c M raster/r.proj/main.c M raster/r.quant/main.c M raster/r.random.cells/README M raster/r.random.cells/main.c M raster/r.random.cells/testsuite/test_random_cells.py M raster/r.random.surface/main.c M raster/r.random/main.c M raster/r.reclass/main.c M raster/r.recode/main.c M raster/r.region/main.c M raster/r.regression.line/main.c M raster/r.regression.multi/main.c M raster/r.relief/main.c M raster/r.report/main.c M raster/r.resamp.bspline/bspline.h M raster/r.resamp.bspline/crosscorr.c M raster/r.resamp.bspline/main.c M raster/r.resamp.bspline/resamp.c M raster/r.resamp.filter/main.c M raster/r.resamp.interp/main.c M raster/r.resamp.stats/main.c M raster/r.resample/main.c M raster/r.rescale.eq/main.c M raster/r.rescale/main.c M raster/r.ros/main.c M raster/r.series.accumulate/main.c M raster/r.series.interp/main.c M raster/r.series/main.c M raster/r.sim/r.sim.sediment/main.c M raster/r.sim/r.sim.water/main.c M raster/r.sim/simlib/erod.c M raster/r.sim/simlib/hydro.c M raster/r.slope.aspect/main.c M raster/r.smooth.edgepreserve/main.c M raster/r.solute.transport/main.c M raster/r.spread/main.c M raster/r.spreadpath/main.c M raster/r.statistics/main.c M raster/r.stats/main.c M raster/r.stats/testsuite/test_r_stats.py M raster/r.stream.extract/main.c M raster/r.sunhours/main.c M raster/r.sunmask/main.c M raster/r.support.stats/check.c M raster/r.support.stats/histo.c M raster/r.support.stats/local_proto.h M raster/r.support.stats/main.c M raster/r.support/main.c M raster/r.surf.contour/main.c M raster/r.surf.fractal/main.c M raster/r.surf.fractal/testsuite/test_r_surf_fractal.py M raster/r.surf.gauss/main.c M raster/r.surf.gauss/testsuite/test_r_surf_gauss.py M raster/r.surf.idw/main.c M raster/r.surf.random/main.c M raster/r.surf.random/testsuite/test_min_max.py M raster/r.texture/h_measure.c M raster/r.texture/h_measure.h M raster/r.texture/matvec.h M raster/r.thin/main.c M raster/r.tile/main.c M raster/r.timestamp/main.c M raster/r.to.rast3/main.c M raster/r.to.rast3elev/main.c M raster/r.to.vect/main.c M raster/r.topidx/main.c M raster/r.topmodel/main.c M raster/r.transect/main.c M raster/r.uslek/main.c M raster/r.usler/main.c M raster/r.viewshed/distribute.cpp M raster/r.viewshed/distribute.h M raster/r.viewshed/eventlist.cpp M raster/r.viewshed/eventlist.h M raster/r.viewshed/grass.cpp M raster/r.viewshed/grass.h M raster/r.viewshed/grid.cpp M raster/r.viewshed/grid.h M raster/r.viewshed/main.cpp M raster/r.viewshed/rbbst.cpp M raster/r.viewshed/rbbst.h M raster/r.viewshed/statusstructure.cpp M raster/r.viewshed/statusstructure.h M raster/r.viewshed/viewshed.cpp M raster/r.viewshed/viewshed.h M raster/r.viewshed/visibility.cpp M raster/r.viewshed/visibility.h M raster/r.volume/main.c M raster/r.walk/heap.c M raster/r.walk/main.c M raster/r.water.outlet/main.c M raster/r.watershed/front/main.c M raster/r.watershed/ram/main.c M raster/r.watershed/seg/main.c M raster/r.watershed/shed/main.c M raster/r.what.color/main.c M raster/r.what/main.c M raster3d/r3.cross.rast/main.c M raster3d/r3.flow/main.c M raster3d/r3.gradient/main.c M raster3d/r3.gwflow/main.c M raster3d/r3.in.ascii/main.c M raster3d/r3.in.bin/main.c M raster3d/r3.in.lidar/main.c M raster3d/r3.info/main.c M raster3d/r3.mask/main.c M raster3d/r3.mkdspf/main.c M raster3d/r3.neighbors/main.c M raster3d/r3.null/main.c M raster3d/r3.out.ascii/main.c M raster3d/r3.out.bin/main.c M raster3d/r3.out.netcdf/main.c M raster3d/r3.out.vtk/errorHandling.c M raster3d/r3.out.vtk/errorHandling.h M raster3d/r3.out.vtk/globalDefs.h M raster3d/r3.out.vtk/main.c M raster3d/r3.out.vtk/parameters.c M raster3d/r3.out.vtk/parameters.h M raster3d/r3.out.vtk/writeVTKData.c M raster3d/r3.out.vtk/writeVTKData.h M raster3d/r3.out.vtk/writeVTKHead.c M raster3d/r3.out.vtk/writeVTKHead.h M raster3d/r3.retile/main.c M raster3d/r3.showdspf/main_ogl.c M raster3d/r3.support/main.c M raster3d/r3.timestamp/main.c M raster3d/r3.to.rast/main.c M raster3d/r3.to.rast/testsuite/test_a_b_coeff.py M raster3d/r3.to.rast/testsuite/test_integer_rounding.py M raster3d/r3.to.rast/testsuite/test_nulls.py M raster3d/r3.to.rast/testsuite/test_small_data.py M scripts/d.background/d.background.py M scripts/d.correlate/d.correlate.py M scripts/d.frame/d.frame.py M scripts/d.out.file/d.out.file.py M scripts/d.polar/d.polar.py M scripts/d.rast.edit/d.rast.edit.py M scripts/d.rast.leg/d.rast.leg.py M scripts/d.shade/d.shade.py M scripts/d.to.rast/d.to.rast.py M scripts/d.what.rast/d.what.rast.py M scripts/d.what.vect/d.what.vect.py M scripts/db.dropcolumn/db.dropcolumn.py M scripts/db.droptable/db.droptable.py M scripts/db.in.ogr/db.in.ogr.py M scripts/db.out.ogr/db.out.ogr.py M scripts/db.test/db.test.py M scripts/db.univar/db.univar.py M scripts/g.download.location/g.download.location.py M scripts/g.download.project/g.download.project.py M scripts/g.extension.all/g.extension.all.py M scripts/g.extension/g.extension.py M scripts/g.extension/testsuite/test_addons_download.py M scripts/g.extension/testsuite/test_addons_modules.py M scripts/g.extension/testsuite/test_addons_toolboxes.py M scripts/g.manual/g.manual.py M scripts/g.search.modules/g.search.modules.py M scripts/g.search.modules/testsuite/test_g_search_modules.py M scripts/i.colors.enhance/i.colors.enhance.py M scripts/i.image.mosaic/i.image.mosaic.py M scripts/i.in.spotvgt/i.in.spotvgt.py M scripts/i.oif/i.oif.py M scripts/i.pansharpen/i.pansharpen.py M scripts/i.spectral/i.spectral.py M scripts/i.tasscap/i.tasscap.py M scripts/m.proj/m.proj.py M scripts/r.blend/r.blend.py M scripts/r.buffer.lowmem/r.buffer.lowmem.py M scripts/r.colors.stddev/r.colors.stddev.py M scripts/r.drain/r.drain.py M scripts/r.fillnulls/r.fillnulls.py M scripts/r.grow/r.grow.py M scripts/r.import/r.import.py M scripts/r.in.aster/r.in.aster.py M scripts/r.in.srtm/r.in.srtm.py M scripts/r.in.wms/r.in.wms.py M scripts/r.mapcalc.simple/r.mapcalc.simple.py M scripts/r.mask/r.mask.py M scripts/r.pack/r.pack.py M scripts/r.plane/r.plane.py M scripts/r.reclass.area/r.reclass.area.py M scripts/r.rgb/r.rgb.py M scripts/r.shade/r.shade.py M scripts/r.unpack/r.unpack.py M scripts/v.build.all/v.build.all.py M scripts/v.centroids/v.centroids.py M scripts/v.clip/v.clip.py M scripts/v.db.addcolumn/v.db.addcolumn.py M scripts/v.db.addtable/v.db.addtable.py M scripts/v.db.dropcolumn/v.db.dropcolumn.py M scripts/v.db.droprow/v.db.droprow.py M scripts/v.db.droptable/v.db.droptable.py M scripts/v.db.join/testsuite/test_v_db_join.py M scripts/v.db.join/v.db.join.py M scripts/v.db.reconnect.all/v.db.reconnect.all.py M scripts/v.db.renamecolumn/v.db.renamecolumn.py M scripts/v.db.univar/v.db.univar.py M scripts/v.db.update/v.db.update.py M scripts/v.dissolve/v.dissolve.py M scripts/v.geometry/v.geometry.py M scripts/v.import/v.import.py M scripts/v.in.geonames/v.in.geonames.py M scripts/v.in.lines/v.in.lines.py M scripts/v.in.wfs/v.in.wfs.py M scripts/v.pack/v.pack.py M scripts/v.rast.stats/v.rast.stats.py M scripts/v.report/v.report.py M scripts/v.to.lines/v.to.lines.py M scripts/v.unpack/v.unpack.py M scripts/v.what.strds/v.what.strds.py M scripts/v.what.vect/v.what.vect.py M scripts/wxpyimgview/wxpyimgview.py M scripts/wxpyimgview/wxpyimgview_gui.py M temporal/t.connect/main.c M temporal/t.copy/t.copy.py M temporal/t.create/t.create.py M temporal/t.info/t.info.py M temporal/t.list/t.list.py M temporal/t.merge/t.merge.py M temporal/t.rast.accdetect/t.rast.accdetect.py M temporal/t.rast.accumulate/t.rast.accumulate.py M temporal/t.rast.aggregate.ds/t.rast.aggregate.ds.py M temporal/t.rast.aggregate/t.rast.aggregate.py M temporal/t.rast.algebra/t.rast.algebra.py M temporal/t.rast.colors/t.rast.colors.py M temporal/t.rast.contour/t.rast.contour.py M temporal/t.rast.export/t.rast.export.py M temporal/t.rast.extract/t.rast.extract.py M temporal/t.rast.gapfill/t.rast.gapfill.py M temporal/t.rast.import/t.rast.import.py M temporal/t.rast.list/t.rast.list.py M temporal/t.rast.mapcalc/t.rast.mapcalc.py M temporal/t.rast.neighbors/t.rast.neighbors.py M temporal/t.rast.out.vtk/t.rast.out.vtk.py M temporal/t.rast.series/t.rast.series.py M temporal/t.rast.to.rast3/t.rast.to.rast3.py M temporal/t.rast.to.vect/t.rast.to.vect.py M temporal/t.rast.univar/t.rast.univar.py M temporal/t.rast.what/t.rast.what.py M temporal/t.rast3d.algebra/t.rast3d.algebra.py M temporal/t.rast3d.extract/t.rast3d.extract.py M temporal/t.rast3d.list/t.rast3d.list.py M temporal/t.rast3d.mapcalc/t.rast3d.mapcalc.py M temporal/t.rast3d.univar/t.rast3d.univar.py M temporal/t.register/t.register.py M temporal/t.remove/t.remove.py M temporal/t.rename/t.rename.py M temporal/t.sample/t.sample.py M temporal/t.select/t.select.py M temporal/t.shift/t.shift.py M temporal/t.snap/t.snap.py M temporal/t.support/t.support.py M temporal/t.topology/t.topology.py M temporal/t.unregister/t.unregister.py M temporal/t.upgrade/t.upgrade.py M temporal/t.vect.algebra/t.vect.algebra.py M temporal/t.vect.db.select/t.vect.db.select.py M temporal/t.vect.export/t.vect.export.py M temporal/t.vect.extract/t.vect.extract.py M temporal/t.vect.import/t.vect.import.py M temporal/t.vect.list/t.vect.list.py M temporal/t.vect.observe.strds/t.vect.observe.strds.py M temporal/t.vect.univar/t.vect.univar.py M temporal/t.vect.what.strds/t.vect.what.strds.py M utils/dep_tree2sql.sh M utils/grass_clang_format.sh M utils/grass_html2md.sh M utils/mkhtml.py M utils/mkmarkdown.py M utils/mkrest.py M utils/module_synopsis.sh M utils/symbol_to_img.sh M utils/timer/main.c M vector/v.buffer/main.c M vector/v.build.polylines/main.c M vector/v.build/main.c M vector/v.category/main.c M vector/v.class/main.c M vector/v.clean/main.c M vector/v.clean/prune.c M vector/v.clean/rmdac.c M vector/v.clean/rmline.c M vector/v.clean/split.c M vector/v.clean/test/topocheck.c M vector/v.cluster/main.c M vector/v.colors.out/main.c M vector/v.colors/main.c M vector/v.db.connect/main.c M vector/v.db.select/main.c M vector/v.db.select/testsuite/test_v_db_select_json_csv.py M vector/v.decimate/count_decimation.c M vector/v.decimate/count_decimation.h M vector/v.decimate/grid_decimation.c M vector/v.decimate/grid_decimation.h M vector/v.decimate/main.c M vector/v.distance/main.c M vector/v.distance/testsuite/test_areas_points.py M vector/v.drape/main.c M vector/v.edit/main.c M vector/v.edit/max_distance.c M vector/v.edit/select.c M vector/v.edit/snap.c M vector/v.external.out/main.c M vector/v.external/main.c M vector/v.extract/main.c M vector/v.extrude/main.c M vector/v.fill.holes/main.c M vector/v.generalize/displacement.c M vector/v.generalize/main.c M vector/v.generalize/matrix.c M vector/v.generalize/matrix.h M vector/v.generalize/misc.c M vector/v.generalize/network.c M vector/v.generalize/point.c M vector/v.generalize/point.h M vector/v.generalize/pq.c M vector/v.generalize/pq.h M vector/v.generalize/simplification.c M vector/v.generalize/smoothing.c M vector/v.hull/main.c M vector/v.in.ascii/main.c M vector/v.in.db/main.c M vector/v.in.dxf/main.c M vector/v.in.lidar/attributes.h M vector/v.in.lidar/count_decimation.c M vector/v.in.lidar/count_decimation.h M vector/v.in.lidar/info.h M vector/v.in.lidar/lidar.c M vector/v.in.lidar/lidar.h M vector/v.in.lidar/main.c M vector/v.in.lidar/projection.h M vector/v.in.lidar/vector_mask.h M vector/v.in.ogr/geom.c M vector/v.in.ogr/global.h M vector/v.in.ogr/main.c M vector/v.in.pdal/lidar.c M vector/v.in.pdal/lidar.h M vector/v.in.pdal/main.cpp M vector/v.in.pdal/projection.h M vector/v.in.region/main.c M vector/v.info/main.c M vector/v.kcv/main.c M vector/v.kernel/main.c M vector/v.label.sa/annealing.c M vector/v.label.sa/main.c M vector/v.label/main.c M vector/v.lidar.correction/correction.c M vector/v.lidar.correction/main.c M vector/v.lidar.edgedetection/edgedetection.c M vector/v.lidar.edgedetection/edgedetection.h M vector/v.lidar.edgedetection/main.c M vector/v.lidar.growing/main.c M vector/v.mkgrid/main.c M vector/v.neighbors/main.c M vector/v.net.alloc/main.c M vector/v.net.allpairs/main.c M vector/v.net.bridge/main.c M vector/v.net.centrality/main.c M vector/v.net.components/main.c M vector/v.net.connectivity/main.c M vector/v.net.distance/main.c M vector/v.net.flow/main.c M vector/v.net.iso/main.c M vector/v.net.path/main.c M vector/v.net.salesman/main.c M vector/v.net.spanningtree/main.c M vector/v.net.steiner/main.c M vector/v.net.timetable/main.c M vector/v.net.visibility/data_structures.c M vector/v.net.visibility/data_structures.h M vector/v.net.visibility/geometry.c M vector/v.net.visibility/geometry.h M vector/v.net.visibility/main.c M vector/v.net.visibility/proto.h M vector/v.net.visibility/rotation_tree.c M vector/v.net.visibility/rotation_tree.h M vector/v.net.visibility/visibility.c M vector/v.net.visibility/visibility.h M vector/v.net/main.c M vector/v.normal/main.c M vector/v.out.ascii/main.c M vector/v.out.dxf/main.c M vector/v.out.lidar/main.c M vector/v.out.ogr/main.c M vector/v.out.postgis/main.c M vector/v.out.pov/main.c M vector/v.out.svg/main.c M vector/v.out.vtk/head.c M vector/v.out.vtk/local_proto.h M vector/v.out.vtk/main.c M vector/v.out.vtk/writeVTK.c M vector/v.out.vtk/writeVTK.h M vector/v.outlier/main.c M vector/v.overlay/main.c M vector/v.parallel/main.c M vector/v.patch/main.c M vector/v.profile/main.c M vector/v.proj/main.c M vector/v.qcount/main.c M vector/v.random/main.c M vector/v.reclass/main.c M vector/v.rectify/main.c M vector/v.sample/main.c M vector/v.segment/main.c M vector/v.select/main.c M vector/v.split/main.c M vector/v.support/main.c M vector/v.surf.bspline/bspline.h M vector/v.surf.bspline/crosscorr.c M vector/v.surf.bspline/main.c M vector/v.surf.bspline/resamp.c M vector/v.surf.idw/main.c M vector/v.surf.rst/main.c M vector/v.timestamp/main.c M vector/v.to.3d/main.c M vector/v.to.db/main.c M vector/v.to.points/main.c M vector/v.to.rast/main.c M vector/v.to.rast3/main.c M vector/v.transform/main.c M vector/v.type/main.c M vector/v.univar/main.c M vector/v.vect.stats/main.c M vector/v.voronoi/main.c M vector/v.what.rast/main.c M vector/v.what.rast3/main.c M vector/v.what/main.c M visualization/ximgview/main.c Log Message: ----------- contributing: Use SPDX copyright tags in file headers (#7743) Replace the COPYRIGHT field and the GPL paragraph with SPDX tags in the 985 files where the conversion is mechanical. The notice text is the only input: neither AUTHOR(S) nor the git history was consulted. Years are copied verbatim, including where they are plainly wrong, such as 2002-20014 in v.net.connectivity. Correcting them is a separate question from converting the header, and guessing at them is how the previous attempt invented copyright holders. The collective line carries years only where it is the sole copyright line. Where a holder is named, the named line carries the years and the collective line is bare. The headers that define the convention are converted in a separate pull request and so are the more complicated cases which were left out of this one. The conversion was performed by a deterministic script, not by a language model. The script and its report are attached to the pull request. It was written with AI assistance (Claude Fable and Opus) and AI harness running the script; the decisions are the author's. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Wed Sep 2 19:30:20 2026 From: noreply at github.com (Vaclav Petras) Date: Wed, 02 Sep 2026 19:30:20 -0700 Subject: [GRASS-git] [OSGeo/grass] c1d264: contributing: Use SPDX copyright tags in individua... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: c1d26452e11fb2bc542ade2ec75a5366931109bc https://github.com/OSGeo/grass/commit/c1d26452e11fb2bc542ade2ec75a5366931109bc Author: Vaclav Petras Date: 2026-09-02 (Wed, 02 Sep 2026) Changed paths: M display/d.legend.vect/draw.c M display/d.legend/draw.c M display/d.legend/histogram.c M gui/wxpython/gui_core/forms.py M gui/wxpython/xml/grass-gxm.dtd M gui/wxpython/xml/grass-gxw.dtd M imagery/i.svm.train/fill.c M imagery/i.svm.train/fill.h M lib/cairodriver/draw.c M lib/datetime/between.c M lib/datetime/change.c M lib/datetime/copy.c M lib/datetime/diff.c M lib/datetime/error.c M lib/datetime/format.c M lib/datetime/incr1.c M lib/datetime/incr2.c M lib/datetime/incr3.c M lib/datetime/local.c M lib/datetime/misc.c M lib/datetime/same.c M lib/datetime/scan.c M lib/datetime/sign.c M lib/datetime/type.c M lib/datetime/tz1.c M lib/datetime/tz2.c M lib/datetime/values.c M lib/db/README.md M lib/gis/asprintf.c M lib/gis/find_rast3d.c M lib/linkm/README M lib/linkm/dispose.c M lib/linkm/new.c M lib/linkm/next.c M lib/linkm/test/linkm.c M lib/linkm/test/malloc.c M lib/linkm/test/speed.c M lib/linkm/test/speed2.c M lib/linkm/test/speed3.c M lib/linkm/test/try.c M lib/linkm/test/try2.c M lib/ogsf/gsd_img_ppm.c M lib/ogsf/gsd_img_tif.c M lib/raster/raster_metadata.c M man/build_check.py M raster/r.in.gridatb/main.c M raster/r.in.lidar/filters.c M raster/r.in.lidar/filters.h M raster/r.in.lidar/info.c M raster/r.in.lidar/point_binning.c M raster/r.in.lidar/point_binning.h M raster/r.in.lidar/projection.c M raster/r.in.lidar/support.c M raster/r.in.mat/main.c M raster/r.in.pdal/bin_update.c M raster/r.in.pdal/bin_write.c M raster/r.in.pdal/bin_write.h M raster/r.in.pdal/filters.c M raster/r.in.pdal/filters.h M raster/r.in.pdal/info.cpp M raster/r.in.pdal/info.h M raster/r.in.pdal/point_binning.c M raster/r.in.pdal/point_binning.h M raster/r.in.pdal/projection.c M raster/r.in.xyz/local_proto.h M raster/r.in.xyz/main.c M raster/r.in.xyz/support.c M raster/r.out.bin/main.c M raster/r.out.gridatb/main.c M raster/r.out.mat/main.c M raster/r.profile/main.c M raster/r.profile/read_rast.c M raster/r.smooth.edgepreserve/local_proto.h M raster/r.smooth.edgepreserve/pm.c M raster/r.smooth.edgepreserve/row_cache.c M raster/r.univar/globals.h M raster/r.univar/r.univar_main.c M raster/r.univar/r3.univar_main.c M raster/r.univar/sort.c M raster/r.univar/stats.c M raster3d/r3.stats/main.c M raster3d/r3.stats/support.c M vector/v.in.lidar/attributes.c M vector/v.in.lidar/filters.c M vector/v.in.lidar/filters.h M vector/v.in.lidar/info.c M vector/v.in.lidar/projection.c M vector/v.in.pdal/filters.c M vector/v.in.pdal/filters.h M vector/v.in.pdal/projection.c Log Message: ----------- contributing: Use SPDX copyright tags in individually resolved file headers (#7762) Convert 90 files whose notices the bulk conversions left for a person: notices naming several holders, notices whose license text is separated from them by an author list, and a handful of one-off shapes. Holders are split into one line per person with a shared year range repeated on each line, keeping email addresses and affiliations as written. Author lists and other text interleaved with the old notices stay in place. The USA-CERL notices from 1992 in lib/linkm convert with the identifier under the CERL-era rule, without carrying over the "All rights reserved" phrase. In lib/gis/asprintf.c, with its own clause for the team next to a named one, both the named holder and the collective line keep their years. The edits were generated as one reviewed replacement per file by a script that asserts each old text occurs exactly once and refuses anything it cannot resolve safely. The script was written and this conversion prepared with AI assistance (Claude Code with Opus 4.8 and Fable 5) and executed by an AI harness; the decisions are the author's. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Wed Sep 2 19:43:51 2026 From: noreply at github.com (Corey White) Date: Wed, 02 Sep 2026 19:43:51 -0700 Subject: [GRASS-git] [OSGeo/grass-addons] 96c6e4: r.soils.rosetta: new addon (#1788) Message-ID: Branch: refs/heads/grass8 Home: https://github.com/OSGeo/grass-addons Commit: 96c6e42cd95e800e6a2234a1b1d69fc2f0a05488 https://github.com/OSGeo/grass-addons/commit/96c6e42cd95e800e6a2234a1b1d69fc2f0a05488 Author: Corey White Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M src/raster/r.in.ssurgo/r.in.ssurgo.html M src/raster/r.in.ssurgo/r.in.ssurgo.md M src/raster/r.in.ssurgo/r.in.ssurgo.py M src/raster/r.in.ssurgo/tests/r_in_ssurgo_test.py A src/raster/r.soils.rosetta/CMakeLists.txt A src/raster/r.soils.rosetta/Makefile A src/raster/r.soils.rosetta/r.soils.rosetta.html A src/raster/r.soils.rosetta/r.soils.rosetta.md A src/raster/r.soils.rosetta/r.soils.rosetta.py A src/raster/r.soils.rosetta/r_soils_rosetta.ipynb A src/raster/r.soils.rosetta/r_soils_rosetta.png A src/raster/r.soils.rosetta/r_soils_rosetta_theta_s.png A src/raster/r.soils.rosetta/requirements.txt A src/raster/r.soils.rosetta/tests/conftest.py A src/raster/r.soils.rosetta/tests/test_r_soils_rosetta.py Log Message: ----------- r.soils.rosetta: new addon (#1788) * Init commit for Rosetta addon * Added raster output options for silt, clay, and bulk density for use with the new r.soils.rosetta tool * Added first implementation of with python libary support and API backup * r.in.ssurgo: Keep NULL map units NULL when rasterizing attributes v.to.rast replaces NULL attribute values with 0, which fakes meaningful values (Ksat 0 mm/hr, sand 0 percent, bulk density 0 g/cm3) for map units without soil data such as urban land and water. Filter those records out with a where clause so their cells stay NULL in 2D and sliced 3D outputs. * r.soils.rosetta: Add demo notebook, manual figures, and CMake build The notebook runs the manual workflow on the NC sample dataset with live SSURGO data from Soil Data Access and saves the manual page figures. The CMakeLists.txt enables g.extension installation with a CMake-built GRASS. * Apply suggestions from code review Co-authored-by: Anna Petrasova * Apply suggestions from code review Co-authored-by: Corey White --------- Co-authored-by: Anna Petrasova To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-addons/settings/notifications From noreply at github.com Thu Sep 3 02:52:26 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 02:52:26 -0700 Subject: [GRASS-git] [OSGeo/grass] 99fb72: CI(deps): Update pre-commit hook editorconfig-chec... Message-ID: Branch: refs/heads/renovate/main-editorconfig-checker-editorconfig-checker-3.x Home: https://github.com/OSGeo/grass Commit: 99fb7244df527850f62389102a947123f9c0a6af https://github.com/OSGeo/grass/commit/99fb7244df527850f62389102a947123f9c0a6af Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .pre-commit-config.yaml Log Message: ----------- CI(deps): Update pre-commit hook editorconfig-checker/editorconfig-checker to v3.11.2 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 3 02:52:33 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 02:52:33 -0700 Subject: [GRASS-git] [OSGeo/grass] c31e5e: CI(deps): Update super-linter/super-linter action ... Message-ID: Branch: refs/heads/renovate/main-super-linter-super-linter-8.x Home: https://github.com/OSGeo/grass Commit: c31e5e516b76ab98feae475c4c098365efa322f5 https://github.com/OSGeo/grass/commit/c31e5e516b76ab98feae475c4c098365efa322f5 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .github/workflows/super-linter.yml Log Message: ----------- CI(deps): Update super-linter/super-linter action to v8.7.0 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 3 02:52:41 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 02:52:41 -0700 Subject: [GRASS-git] [OSGeo/grass] bd8cae: CI(deps): Update ruff to v0.16.5 Message-ID: Branch: refs/heads/renovate/releasebranch_8_5-ruff Home: https://github.com/OSGeo/grass Commit: bd8caea554591bdb36438d7fcb3a9b5ec7b614ad https://github.com/OSGeo/grass/commit/bd8caea554591bdb36438d7fcb3a9b5ec7b614ad Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .github/workflows/python-code-quality.yml M .pre-commit-config.yaml Log Message: ----------- CI(deps): Update ruff to v0.16.5 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 3 05:34:23 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 05:34:23 -0700 Subject: [GRASS-git] [OSGeo/grass-addons] ef47ef: CI(deps): Update actions/checkout action to v7.0.1 Message-ID: Branch: refs/heads/renovate/actions-checkout-7.x Home: https://github.com/OSGeo/grass-addons Commit: ef47efb13524d7bb60085705ec01912ab5029d2c https://github.com/OSGeo/grass-addons/commit/ef47efb13524d7bb60085705ec01912ab5029d2c Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .github/workflows/ci-windows.yml Log Message: ----------- CI(deps): Update actions/checkout action to v7.0.1 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-addons/settings/notifications From noreply at github.com Thu Sep 3 05:34:26 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 05:34:26 -0700 Subject: [GRASS-git] [OSGeo/grass-addons] f56f5f: CI(deps): Update hendrikmuhs/ccache-action action ... Message-ID: Branch: refs/heads/renovate/hendrikmuhs-ccache-action-1.x Home: https://github.com/OSGeo/grass-addons Commit: f56f5f6352216e070e1bd080be1124fb271fb2c7 https://github.com/OSGeo/grass-addons/commit/f56f5f6352216e070e1bd080be1124fb271fb2c7 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .github/workflows/ci.yml Log Message: ----------- CI(deps): Update hendrikmuhs/ccache-action action to v1.2.24 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-addons/settings/notifications From noreply at github.com Thu Sep 3 10:43:07 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 10:43:07 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 7d4957: Update astral-sh/setup-uv action to v10 Message-ID: Branch: refs/heads/renovate/astral-sh-setup-uv-10.x Home: https://github.com/OSGeo/grass-website Commit: 7d4957cbc2e0739d0eac57d942651939fff5ae84 https://github.com/OSGeo/grass-website/commit/7d4957cbc2e0739d0eac57d942651939fff5ae84 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .github/workflows/additional_checks.yml Log Message: ----------- Update astral-sh/setup-uv action to v10 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Thu Sep 3 12:58:00 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Thu, 03 Sep 2026 12:58:00 -0700 Subject: [GRASS-git] [OSGeo/grass] 5734e2: r.mfilter: Avoid reopening NamedTemporaryFile on W... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 5734e23731e5bbdbc95dc760865a1c38df12c3b4 https://github.com/OSGeo/grass/commit/5734e23731e5bbdbc95dc760865a1c38df12c3b4 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M raster/r.mfilter/testsuite/test_r_mfilter.py Log Message: ----------- r.mfilter: Avoid reopening NamedTemporaryFile on Windows in testsuite (#7878) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 3 13:01:19 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 13:01:19 -0700 Subject: [GRASS-git] [OSGeo/grass] 1510e9: CI(deps): Update pre-commit hook astral-sh/ruff-pr... Message-ID: Branch: refs/heads/renovate/releasebranch_8_5-ruff Home: https://github.com/OSGeo/grass Commit: 1510e9bc89865cbbcb56d097b15dbdd04fc1661f https://github.com/OSGeo/grass/commit/1510e9bc89865cbbcb56d097b15dbdd04fc1661f Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .pre-commit-config.yaml Log Message: ----------- CI(deps): Update pre-commit hook astral-sh/ruff-pre-commit to v0.16.6 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 3 14:58:35 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 14:58:35 -0700 Subject: [GRASS-git] [OSGeo/grass] 2fe4ee: CI(deps): Update pre-commit hook editorconfig-chec... Message-ID: Branch: refs/heads/renovate/main-editorconfig-checker-editorconfig-checker-3.x Home: https://github.com/OSGeo/grass Commit: 2fe4eeb3adc57433a4ca0ec89d1e595caf9c41b2 https://github.com/OSGeo/grass/commit/2fe4eeb3adc57433a4ca0ec89d1e595caf9c41b2 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .pre-commit-config.yaml Log Message: ----------- CI(deps): Update pre-commit hook editorconfig-checker/editorconfig-checker to v3.11.3 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 3 14:58:50 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 14:58:50 -0700 Subject: [GRASS-git] [OSGeo/grass] 02c396: CI(deps): Update ruff to v0.16.6 Message-ID: Branch: refs/heads/renovate/releasebranch_8_5-ruff Home: https://github.com/OSGeo/grass Commit: 02c3960ce2575bdb6205a18c0c995d12c9ea37cf https://github.com/OSGeo/grass/commit/02c3960ce2575bdb6205a18c0c995d12c9ea37cf Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M .github/workflows/python-code-quality.yml M .pre-commit-config.yaml Log Message: ----------- CI(deps): Update ruff to v0.16.6 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 3 18:16:15 2026 From: noreply at github.com (renovate[bot]) Date: Thu, 03 Sep 2026 18:16:15 -0700 Subject: [GRASS-git] [OSGeo/grass-website] c73d45: Update dependency sass/dart-sass to v1.104.0 Message-ID: Branch: refs/heads/renovate/sass-dart-sass-1.x Home: https://github.com/OSGeo/grass-website Commit: c73d45ea77618357c21e383d3af1cb70815bafe1 https://github.com/OSGeo/grass-website/commit/c73d45ea77618357c21e383d3af1cb70815bafe1 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-04 (Fri, 04 Sep 2026) Changed paths: M .github/workflows/build-production-site.yml Log Message: ----------- Update dependency sass/dart-sass to v1.104.0 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Thu Sep 3 19:10:36 2026 From: noreply at github.com (Vaclav Petras) Date: Thu, 03 Sep 2026 19:10:36 -0700 Subject: [GRASS-git] [OSGeo/grass] f80363: contributing: Use SPDX copyright tags in complicat... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: f80363fb6df198dc4e4e2f6e73d9f15382bb5ec6 https://github.com/OSGeo/grass/commit/f80363fb6df198dc4e4e2f6e73d9f15382bb5ec6 Author: Vaclav Petras Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M lib/rst/interp_float/distance.c M lib/rst/interp_float/minmax.c M lib/rst/interp_float/resout2d.c M lib/rst/interp_float/ressegm2d.c M raster/r.resamp.rst/main.c M raster/r.sun/main.c M raster/r.sun/rsunglobals.h M raster/r.sun/rsunlib.c M raster/r.sun/sunradstruct.h M raster/r.surf.area/main.c M vector/v.lrs/v.lrs.segment/main.c M vector/v.normal/scancats.c M vector/v.perturb/fische.c M vector/v.perturb/myrng.c M vector/v.perturb/normal00.c M vector/v.perturb/normalen.c M vector/v.perturb/normalrs.c M vector/v.perturb/normalsv.c M vector/v.perturb/zufall.h M vector/v.qcount/count.c M vector/v.qcount/findquads.c M vector/v.qcount/indices.c M vector/v.qcount/quaddefs.h Log Message: ----------- contributing: Use SPDX copyright tags in complicated file headers (#7763) Convert 23 files whose headers needed complex, full reading. r.sun names Jaro Hofierka with GeoModel, s.r.o. as his affiliation on one line for 2002, with 2011 Hamish Bowman in rsunlib.c. Postal addresses and email lists are not carried into holder lines. The team clause in main.c keeps its own years on the collective line. The lib/rst interp_float files convert with the identifier by maintainer decision: r.resamp.rst in the same code family states the GPL explicitly with the same holders. The McCauley files in v.perturb, v.qcount, and v.normal use the name alone, because the line with the email address would pass the 80-column limit at which clang-format breaks the tag. Bill Brown's email fits and stays in r.surf.area. v.lrs.segment/main.c is MIT licensed and converts to SPDX-License-Identifier: MIT, with Radim Blazek and Hamish Bowman on their own lines and the license text replaced by the identifier, the same operation as for the GPL files. Four files are deferred as third party: mysql_config is Oracle's, gitlog2changelog.py is Marcus D. Hanwell's via NUT, and two files under man are vendored web assets. The edits were applied by a per-file replacement script that asserts each old text occurs exactly once and that trailing bytes never change. Written with AI assistance (Claude Code with Opus 4.8 and Fable 5); the decisions are the author's. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 3 19:12:13 2026 From: noreply at github.com (Vaclav Petras) Date: Thu, 03 Sep 2026 19:12:13 -0700 Subject: [GRASS-git] [OSGeo/grass] 985dd2: contributing: Use SPDX copyright tags in unlabeled... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 985dd2421bb43d3805b709cd98cc06ee2ebae31a https://github.com/OSGeo/grass/commit/985dd2421bb43d3805b709cd98cc06ee2ebae31a Author: Vaclav Petras Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M db/drivers/ogr/cursor.c M db/drivers/ogr/db.c M db/drivers/ogr/describe.c M db/drivers/ogr/driver.c M db/drivers/ogr/error.c M db/drivers/ogr/execute.c M db/drivers/ogr/fetch.c M db/drivers/ogr/listtab.c M db/drivers/ogr/select.c M doc/examples/gui/wxpython/dialogs.py M doc/examples/gui/wxpython/frame.py M doc/examples/gui/wxpython/toolbars.py M general/g.proj/testsuite/test_g_proj.py M general/g.rename/testsuite/test_overwrite.py M gui/wxpython/animation/anim.py M gui/wxpython/animation/controller.py M gui/wxpython/animation/data.py M gui/wxpython/animation/dialogs.py M gui/wxpython/animation/frame.py M gui/wxpython/animation/mapwindow.py M gui/wxpython/animation/nviztask.py M gui/wxpython/animation/panels.py M gui/wxpython/animation/provider.py M gui/wxpython/animation/temporal_manager.py M gui/wxpython/animation/toolbars.py M gui/wxpython/animation/utils.py M gui/wxpython/core/debug.py M gui/wxpython/core/gcmd.py M gui/wxpython/core/gconsole.py M gui/wxpython/core/giface.py M gui/wxpython/core/globalvar.py M gui/wxpython/core/gthread.py M gui/wxpython/core/layerlist.py M gui/wxpython/core/menutree.py M gui/wxpython/core/render.py M gui/wxpython/core/settings.py M gui/wxpython/core/toolboxes.py M gui/wxpython/core/treemodel.py M gui/wxpython/core/units.py M gui/wxpython/core/utils.py M gui/wxpython/core/watchdog.py M gui/wxpython/core/workspace.py M gui/wxpython/core/ws.py M gui/wxpython/datacatalog/catalog.py M gui/wxpython/datacatalog/dialogs.py M gui/wxpython/datacatalog/frame.py M gui/wxpython/datacatalog/infomanager.py M gui/wxpython/datacatalog/toolbars.py M gui/wxpython/datacatalog/tree.py M gui/wxpython/dbmgr/base.py M gui/wxpython/dbmgr/dialogs.py M gui/wxpython/dbmgr/manager.py M gui/wxpython/dbmgr/sqlbuilder.py M gui/wxpython/dbmgr/vinfo.py M gui/wxpython/gcp/manager.py M gui/wxpython/gcp/mapdisplay.py M gui/wxpython/gcp/statusbar.py M gui/wxpython/gcp/toolbars.py M gui/wxpython/gmodeler/canvas.py M gui/wxpython/gmodeler/dialogs.py M gui/wxpython/gmodeler/frame.py M gui/wxpython/gmodeler/giface.py M gui/wxpython/gmodeler/menudata.py M gui/wxpython/gmodeler/model.py M gui/wxpython/gmodeler/model_convert.py M gui/wxpython/gmodeler/model_items.py M gui/wxpython/gmodeler/panels.py M gui/wxpython/gmodeler/preferences.py M gui/wxpython/gmodeler/toolbars.py M gui/wxpython/gui_core/dialogs.py M gui/wxpython/gui_core/ghelp.py M gui/wxpython/gui_core/goutput.py M gui/wxpython/gui_core/gselect.py M gui/wxpython/gui_core/infobar.py M gui/wxpython/gui_core/mapdisp.py M gui/wxpython/gui_core/menu.py M gui/wxpython/gui_core/preferences.py M gui/wxpython/gui_core/prompt.py M gui/wxpython/gui_core/pyedit.py M gui/wxpython/gui_core/pystc.py M gui/wxpython/gui_core/query.py M gui/wxpython/gui_core/simplelmgr.py M gui/wxpython/gui_core/toolbars.py M gui/wxpython/gui_core/treeview.py M gui/wxpython/gui_core/vselect.py M gui/wxpython/gui_core/widgets.py M gui/wxpython/gui_core/wrap.py M gui/wxpython/history/browser.py M gui/wxpython/history/tree.py M gui/wxpython/iclass/dialogs.py M gui/wxpython/iclass/digit.py M gui/wxpython/iclass/frame.py M gui/wxpython/iclass/plots.py M gui/wxpython/iclass/statistics.py M gui/wxpython/iclass/toolbars.py M gui/wxpython/icons/icon.py M gui/wxpython/image2target/ii2t_gis_set.py M gui/wxpython/image2target/ii2t_gis_set_error.py M gui/wxpython/image2target/ii2t_manager.py M gui/wxpython/image2target/ii2t_mapdisplay.py M gui/wxpython/image2target/ii2t_statusbar.py M gui/wxpython/image2target/ii2t_toolbars.py M gui/wxpython/iscatt/controllers.py M gui/wxpython/iscatt/core_c.py M gui/wxpython/iscatt/dialogs.py M gui/wxpython/iscatt/frame.py M gui/wxpython/iscatt/iscatt_core.py M gui/wxpython/iscatt/plots.py M gui/wxpython/iscatt/toolbars.py M gui/wxpython/iscatt/utils.py M gui/wxpython/jupyter_notebook/dialogs.py M gui/wxpython/jupyter_notebook/environment.py M gui/wxpython/jupyter_notebook/frame.py M gui/wxpython/jupyter_notebook/notebook.py M gui/wxpython/jupyter_notebook/panel.py M gui/wxpython/jupyter_notebook/server.py M gui/wxpython/jupyter_notebook/storage.py M gui/wxpython/jupyter_notebook/toolbars.py M gui/wxpython/jupyter_notebook/utils.py M gui/wxpython/lmgr/frame.py M gui/wxpython/lmgr/giface.py M gui/wxpython/lmgr/layertree.py M gui/wxpython/lmgr/menudata.py M gui/wxpython/lmgr/pyshell.py M gui/wxpython/lmgr/statusbar.py M gui/wxpython/lmgr/toolbars.py M gui/wxpython/lmgr/workspace.py M gui/wxpython/location_wizard/base.py M gui/wxpython/location_wizard/dialogs.py M gui/wxpython/location_wizard/wizard.py M gui/wxpython/main_window/frame.py M gui/wxpython/main_window/notebook.py M gui/wxpython/main_window/page.py M gui/wxpython/mapdisp/frame.py M gui/wxpython/mapdisp/gprint.py M gui/wxpython/mapdisp/main.py M gui/wxpython/mapdisp/properties.py M gui/wxpython/mapdisp/statusbar.py M gui/wxpython/mapdisp/toolbars.py M gui/wxpython/mapswipe/dialogs.py M gui/wxpython/mapswipe/frame.py M gui/wxpython/mapswipe/mapwindow.py M gui/wxpython/mapswipe/toolbars.py M gui/wxpython/mapwin/analysis.py M gui/wxpython/mapwin/base.py M gui/wxpython/mapwin/buffered.py M gui/wxpython/mapwin/decorations.py M gui/wxpython/mapwin/graphics.py M gui/wxpython/modules/colorrules.py M gui/wxpython/modules/extensions.py M gui/wxpython/modules/histogram.py M gui/wxpython/modules/import_export.py M gui/wxpython/modules/mcalc_builder.py M gui/wxpython/nviz/animation.py M gui/wxpython/nviz/main.py M gui/wxpython/nviz/mapwindow.py M gui/wxpython/nviz/preferences.py M gui/wxpython/nviz/tools.py M gui/wxpython/nviz/workspace.py M gui/wxpython/nviz/wxnviz.py M gui/wxpython/photo2image/ip2i_manager.py M gui/wxpython/photo2image/ip2i_mapdisplay.py M gui/wxpython/photo2image/ip2i_statusbar.py M gui/wxpython/photo2image/ip2i_toolbars.py M gui/wxpython/psmap/dialogs.py M gui/wxpython/psmap/frame.py M gui/wxpython/psmap/instructions.py M gui/wxpython/psmap/menudata.py M gui/wxpython/psmap/toolbars.py M gui/wxpython/psmap/utils.py M gui/wxpython/rdigit/controller.py M gui/wxpython/rdigit/dialogs.py M gui/wxpython/rdigit/toolbars.py M gui/wxpython/rlisetup/sampling_frame.py M gui/wxpython/rlisetup/wizard.py M gui/wxpython/startup/guiutils.py M gui/wxpython/startup/locdownload.py M gui/wxpython/timeline/frame.py M gui/wxpython/tools/build_modules_xml.py M gui/wxpython/tools/update_menudata.py M gui/wxpython/tplot/frame.py M gui/wxpython/vdigit/dialogs.py M gui/wxpython/vdigit/main.py M gui/wxpython/vdigit/mapwindow.py M gui/wxpython/vdigit/preferences.py M gui/wxpython/vdigit/toolbars.py M gui/wxpython/vdigit/wxdigit.py M gui/wxpython/vdigit/wxdisplay.py M gui/wxpython/vnet/dialogs.py M gui/wxpython/vnet/toolbars.py M gui/wxpython/vnet/vnet_core.py M gui/wxpython/vnet/vnet_data.py M gui/wxpython/vnet/vnet_utils.py M gui/wxpython/vnet/widgets.py M gui/wxpython/web_services/cap_interface.py M gui/wxpython/web_services/dialogs.py M gui/wxpython/web_services/widgets.py M gui/wxpython/wxgui.py M gui/wxpython/wxplot/base.py M gui/wxpython/wxplot/dialogs.py M gui/wxpython/wxplot/histogram.py M gui/wxpython/wxplot/profile.py M gui/wxpython/wxplot/scatter.py M gui/xml/grass-interface.dtd M imagery/i.gensig/testsuite/test_i_gensig.py M imagery/i.maxlik/testsuite/test_i_maxlik.py M imagery/i.pca/testsuite/test_pca.py M imagery/i.segment/ngbrtree.c M imagery/i.segment/regtree.c M imagery/i.segment/testsuite/test_isegment.py M imagery/i.svm.predict/testsuite/test_i_svm_predict.py M imagery/i.svm.train/testsuite/test_i_svm_train.py M imagery/i.vi/testsuite/test_vi.py M include/grass/dbmi.h M include/grass/ogsf.h M lib/btree2/kdtree.c M lib/btree2/kdtree.h M lib/btree2/rbtree.c M lib/cairodriver/box.c M lib/cairodriver/cairodriver.h M lib/cairodriver/color.c M lib/cairodriver/draw_bitmap.c M lib/cairodriver/driver.c M lib/cairodriver/erase.c M lib/cairodriver/graph.c M lib/cairodriver/line_width.c M lib/cairodriver/raster.c M lib/cairodriver/read.c M lib/cairodriver/read_bmp.c M lib/cairodriver/read_ppm.c M lib/cairodriver/set_window.c M lib/cairodriver/text.c M lib/cairodriver/write.c M lib/cairodriver/write_bmp.c M lib/cairodriver/write_ppm.c M lib/cluster/c_assign.c M lib/cluster/c_begin.c M lib/cluster/c_clear.c M lib/cluster/c_distinct.c M lib/cluster/c_exec.c M lib/cluster/c_execmem.c M lib/cluster/c_means.c M lib/cluster/c_merge.c M lib/cluster/c_nclasses.c M lib/cluster/c_point.c M lib/cluster/c_reassign.c M lib/cluster/c_reclass.c M lib/cluster/c_sep.c M lib/cluster/c_sig.c M lib/cluster/c_sum2.c M lib/db/dbmi_base/alloc.c M lib/db/dbmi_base/case.c M lib/db/dbmi_base/column.c M lib/db/dbmi_base/columnfmt.c M lib/db/dbmi_base/connect.c M lib/db/dbmi_base/cursor.c M lib/db/dbmi_base/datetime.c M lib/db/dbmi_base/dbmscap.c M lib/db/dbmi_base/default_name.c M lib/db/dbmi_base/dirent.c M lib/db/dbmi_base/error.c M lib/db/dbmi_base/handle.c M lib/db/dbmi_base/index.c M lib/db/dbmi_base/interval.c M lib/db/dbmi_base/isdir.c M lib/db/dbmi_base/legal_dbname.c M lib/db/dbmi_base/login.c M lib/db/dbmi_base/ret_codes.c M lib/db/dbmi_base/sqlCtype.c M lib/db/dbmi_base/sqltype.c M lib/db/dbmi_base/string.c M lib/db/dbmi_base/strip.c M lib/db/dbmi_base/table.c M lib/db/dbmi_base/token.c M lib/db/dbmi_base/value.c M lib/db/dbmi_base/valuefmt.c M lib/db/dbmi_base/whoami.c M lib/db/dbmi_base/xdr.c M lib/db/dbmi_base/xdrchar.c M lib/db/dbmi_base/xdrcolumn.c M lib/db/dbmi_base/xdrdatetime.c M lib/db/dbmi_base/xdrdouble.c M lib/db/dbmi_base/xdrfloat.c M lib/db/dbmi_base/xdrhandle.c M lib/db/dbmi_base/xdrindex.c M lib/db/dbmi_base/xdrint.c M lib/db/dbmi_base/xdrprocedure.c M lib/db/dbmi_base/xdrshort.c M lib/db/dbmi_base/xdrstring.c M lib/db/dbmi_base/xdrtable.c M lib/db/dbmi_base/xdrtoken.c M lib/db/dbmi_base/xdrvalue.c M lib/db/dbmi_base/zero.c M lib/db/dbmi_client/c_add_col.c M lib/db/dbmi_client/c_bindupdate.c M lib/db/dbmi_client/c_close_cur.c M lib/db/dbmi_client/c_closedb.c M lib/db/dbmi_client/c_create_idx.c M lib/db/dbmi_client/c_create_tab.c M lib/db/dbmi_client/c_createdb.c M lib/db/dbmi_client/c_delete.c M lib/db/dbmi_client/c_deletedb.c M lib/db/dbmi_client/c_desc_table.c M lib/db/dbmi_client/c_drop_col.c M lib/db/dbmi_client/c_drop_index.c M lib/db/dbmi_client/c_drop_tab.c M lib/db/dbmi_client/c_execute.c M lib/db/dbmi_client/c_fetch.c M lib/db/dbmi_client/c_finddb.c M lib/db/dbmi_client/c_insert.c M lib/db/dbmi_client/c_list_drivers.c M lib/db/dbmi_client/c_list_idx.c M lib/db/dbmi_client/c_list_tabs.c M lib/db/dbmi_client/c_listdb.c M lib/db/dbmi_client/c_opendb.c M lib/db/dbmi_client/c_openinsert.c M lib/db/dbmi_client/c_openselect.c M lib/db/dbmi_client/c_openupdate.c M lib/db/dbmi_client/c_priv.c M lib/db/dbmi_client/c_rows.c M lib/db/dbmi_client/c_update.c M lib/db/dbmi_client/c_version.c M lib/db/dbmi_client/column.c M lib/db/dbmi_client/copy_tab.c M lib/db/dbmi_client/db.c M lib/db/dbmi_client/delete_tab.c M lib/db/dbmi_client/handler.c M lib/db/dbmi_client/printtab.c M lib/db/dbmi_client/select.c M lib/db/dbmi_client/shutdown.c M lib/db/dbmi_client/start.c M lib/db/dbmi_client/table.c M lib/db/dbmi_driver/d_add_col.c M lib/db/dbmi_driver/d_bindupdate.c M lib/db/dbmi_driver/d_close_cur.c M lib/db/dbmi_driver/d_closedb.c M lib/db/dbmi_driver/d_create_idx.c M lib/db/dbmi_driver/d_create_tab.c M lib/db/dbmi_driver/d_createdb.c M lib/db/dbmi_driver/d_delete.c M lib/db/dbmi_driver/d_deletedb.c M lib/db/dbmi_driver/d_desc_table.c M lib/db/dbmi_driver/d_drop_col.c M lib/db/dbmi_driver/d_drop_index.c M lib/db/dbmi_driver/d_drop_tab.c M lib/db/dbmi_driver/d_error.c M lib/db/dbmi_driver/d_execute.c M lib/db/dbmi_driver/d_fetch.c M lib/db/dbmi_driver/d_finddb.c M lib/db/dbmi_driver/d_insert.c M lib/db/dbmi_driver/d_list_idx.c M lib/db/dbmi_driver/d_list_tabs.c M lib/db/dbmi_driver/d_listdb.c M lib/db/dbmi_driver/d_mkdir.c M lib/db/dbmi_driver/d_opendb.c M lib/db/dbmi_driver/d_openinsert.c M lib/db/dbmi_driver/d_openselect.c M lib/db/dbmi_driver/d_openupdate.c M lib/db/dbmi_driver/d_priv.c M lib/db/dbmi_driver/d_rows.c M lib/db/dbmi_driver/d_update.c M lib/db/dbmi_driver/d_version.c M lib/db/dbmi_driver/driver.c M lib/db/dbmi_driver/driver_state.c M lib/display/icon.c M lib/display/r_raster.c M lib/display/raster.c M lib/display/setup.c M lib/driver/init.c M lib/driver/parse_ftcap.c M lib/gis/adj_cellhd.c M lib/gis/alloc.c M lib/gis/aprintf.c M lib/gis/area.c M lib/gis/area_ellipse.c M lib/gis/area_poly1.c M lib/gis/area_poly2.c M lib/gis/area_sphere.c M lib/gis/ascii_chk.c M lib/gis/basename.c M lib/gis/bres_line.c M lib/gis/color_rules.c M lib/gis/color_str.c M lib/gis/commas.c M lib/gis/copy_dir.c M lib/gis/date.c M lib/gis/debug.c M lib/gis/distance.c M lib/gis/done_msg.c M lib/gis/endian.c M lib/gis/env.c M lib/gis/error.c M lib/gis/file_name.c M lib/gis/find_file.c M lib/gis/find_rast.c M lib/gis/find_vect.c M lib/gis/geodist.c M lib/gis/get_ellipse.c M lib/gis/get_projinfo.c M lib/gis/get_window.c M lib/gis/getl.c M lib/gis/gisdbase.c M lib/gis/gisinit.c M lib/gis/handler.c M lib/gis/home.c M lib/gis/is.c M lib/gis/key_value1.c M lib/gis/key_value2.c M lib/gis/key_value3.c M lib/gis/key_value4.c M lib/gis/legal_name.c M lib/gis/list.c M lib/gis/locale.c M lib/gis/location.c M lib/gis/lrand48.c M lib/gis/ls.c M lib/gis/ls_filter.c M lib/gis/make_loc.c M lib/gis/make_mapset.c M lib/gis/mapset.c M lib/gis/mapset_msc.c M lib/gis/mapset_nme.c M lib/gis/mkstemp.c M lib/gis/myname.c M lib/gis/nme_in_mps.c M lib/gis/open.c M lib/gis/overwrite.c M lib/gis/parser.c M lib/gis/parser_dependencies.c M lib/gis/parser_help.c M lib/gis/parser_html.c M lib/gis/parser_interface.c M lib/gis/parser_json.c M lib/gis/parser_md.c M lib/gis/parser_md_cli.c M lib/gis/parser_md_common.c M lib/gis/parser_md_python.c M lib/gis/parser_rest.c M lib/gis/parser_standard_options.c M lib/gis/percent.c M lib/gis/plot.c M lib/gis/pole_in_poly.c M lib/gis/progrm_nme.c M lib/gis/proj1.c M lib/gis/proj2.c M lib/gis/proj3.c M lib/gis/put_window.c M lib/gis/putenv.c M lib/gis/radii.c M lib/gis/rd_cellhd.c M lib/gis/remove.c M lib/gis/rename.c M lib/gis/rhumbline.c M lib/gis/rotate.c M lib/gis/seek.c M lib/gis/set_window.c M lib/gis/short_way.c M lib/gis/snprintf.c M lib/gis/spawn.c M lib/gis/strings.c M lib/gis/tempfile.c M lib/gis/testsuite/test_parser_json.py M lib/gis/timestamp.c M lib/gis/token.c M lib/gis/trim_dec.c M lib/gis/units.c M lib/gis/user_config.c M lib/gis/verbose.c M lib/gis/view.c M lib/gis/whoami.c M lib/gis/wind_2_box.c M lib/gis/wind_format.c M lib/gis/wind_limits.c M lib/gis/wind_overlap.c M lib/gis/wind_scan.c M lib/gis/window_map.c M lib/gis/worker.c M lib/gis/wr_cellhd.c M lib/gis/writ_zeros.c M lib/gis/xdr.c M lib/gis/zero.c M lib/imagery/iclass.c M lib/imagery/iclass_bands.c M lib/imagery/iclass_local_proto.h M lib/imagery/iclass_perimeter.c M lib/imagery/iclass_signatures.c M lib/imagery/iclass_statistics.c M lib/imagery/iscatt_core.c M lib/imagery/iscatt_structs.c M lib/imagery/list_gp.c M lib/imagery/list_subgp.c M lib/imagery/manage_signatures.c M lib/imagery/sigfile.c M lib/imagery/sigsetfile.c M lib/manage/add_elem.c M lib/manage/do_copy.c M lib/manage/do_list.c M lib/manage/do_remove.c M lib/manage/do_rename.c M lib/manage/empty.c M lib/manage/find.c M lib/manage/get_len.c M lib/manage/list.c M lib/manage/option.c M lib/manage/read_list.c M lib/manage/show_elem.c M lib/manage/sighold.c M lib/nviz/change_view.c M lib/nviz/cplanes_obj.c M lib/nviz/draw.c M lib/nviz/exag.c M lib/nviz/lights.c M lib/nviz/map_obj.c M lib/nviz/nviz.c M lib/nviz/position.c M lib/nviz/render.c M lib/ogsf/gk.c M lib/ogsf/gk2.c M lib/ogsf/gp.c M lib/ogsf/gp2.c M lib/ogsf/gp3.c M lib/ogsf/gpd.c M lib/ogsf/gs.c M lib/ogsf/gs2.c M lib/ogsf/gs3.c M lib/ogsf/gs_bm.c M lib/ogsf/gs_norms.c M lib/ogsf/gs_query.c M lib/ogsf/gs_util.c M lib/ogsf/gsd_cplane.c M lib/ogsf/gsd_fonts.c M lib/ogsf/gsd_fringe.c M lib/ogsf/gsd_label.c M lib/ogsf/gsd_legend.c M lib/ogsf/gsd_objs.c M lib/ogsf/gsd_prim.c M lib/ogsf/gsd_surf.c M lib/ogsf/gsd_views.c M lib/ogsf/gsd_wire.c M lib/ogsf/gsdiff.c M lib/ogsf/gsdrape.c M lib/ogsf/gsds.c M lib/ogsf/gsget.c M lib/ogsf/gsx.c M lib/ogsf/gv.c M lib/ogsf/gv2.c M lib/ogsf/gv3.c M lib/ogsf/gv_quick.c M lib/ogsf/gvd.c M lib/ogsf/gvl.c M lib/ogsf/gvl2.c M lib/ogsf/gvl3.c M lib/ogsf/gvl_calc.c M lib/ogsf/gvl_calc2.c M lib/ogsf/gvl_file.c M lib/ogsf/gvld.c M lib/ogsf/mc33_table.h M lib/ogsf/trans.c M lib/pngdriver/box.c M lib/pngdriver/color.c M lib/pngdriver/draw.c M lib/pngdriver/draw_bitmap.c M lib/pngdriver/driver.c M lib/pngdriver/erase.c M lib/pngdriver/graph_close.c M lib/pngdriver/graph_set.c M lib/pngdriver/line_width.c M lib/pngdriver/pngdriver.h M lib/pngdriver/point.c M lib/pngdriver/polygon.c M lib/pngdriver/raster.c M lib/pngdriver/read.c M lib/pngdriver/read_bmp.c M lib/pngdriver/read_png.c M lib/pngdriver/read_ppm.c M lib/pngdriver/set_window.c M lib/pngdriver/write.c M lib/pngdriver/write_bmp.c M lib/pngdriver/write_png.c M lib/pngdriver/write_ppm.c M lib/proj/convert.c M lib/proj/datum.c M lib/proj/do_proj.c M lib/proj/ellipse.c M lib/proj/get_proj.c M lib/proj/local_proto.h M lib/psdriver/draw.c M lib/raster/align_window.c M lib/raster/alloc_cell.c M lib/raster/auto_mask.c M lib/raster/cats.c M lib/raster/cell_stats.c M lib/raster/close.c M lib/raster/color_compat.c M lib/raster/color_free.c M lib/raster/color_get.c M lib/raster/color_hist.c M lib/raster/color_init.c M lib/raster/color_invrt.c M lib/raster/color_look.c M lib/raster/color_out.c M lib/raster/color_range.c M lib/raster/color_read.c M lib/raster/color_remove.c M lib/raster/color_rule.c M lib/raster/color_rule_get.c M lib/raster/color_rules.c M lib/raster/color_set.c M lib/raster/color_shift.c M lib/raster/color_write.c M lib/raster/color_xform.c M lib/raster/gdal.c M lib/raster/get_cellhd.c M lib/raster/get_row.c M lib/raster/get_row_colr.c M lib/raster/history.c M lib/raster/init.c M lib/raster/interp.c M lib/raster/json_color_out.c M lib/raster/mask_info.c M lib/raster/maskfd.c M lib/raster/null_val.c M lib/raster/open.c M lib/raster/put_cellhd.c M lib/raster/put_row.c M lib/raster/quant.c M lib/raster/quant_io.c M lib/raster/quant_rw.c M lib/raster/range.c M lib/raster/raster.c M lib/raster/reclass.c M lib/raster/sample.c M lib/raster/set_window.c M lib/raster/vrt.c M lib/raster/window.c M lib/raster/window_map.c M lib/raster/zero_cell.c M lib/raster3d/close.c M lib/raster3d/gradient.c M lib/rowio/fileno.c M lib/rowio/forget.c M lib/rowio/get.c M lib/rowio/put.c M lib/rowio/setup.c M lib/rst/data/dataquad.c M lib/rst/data/dataquad.h M lib/rst/interp_float/func2d.c M lib/rst/interp_float/init2d.c M lib/rst/interp_float/input2d.c M lib/rst/interp_float/interp2d.c M lib/rst/interp_float/matrix.c M lib/rst/interp_float/output2d.c M lib/rst/interp_float/point2d.c M lib/rst/interp_float/point2d_parallel.c M lib/rst/interp_float/secpar2d.c M lib/rst/interp_float/segmen2d.c M lib/rst/interp_float/segmen2d_parallel.c M lib/rst/interp_float/vinput2d.c M lib/rst/interp_float/write2d.c M lib/rst/qtree/qtree.c M lib/rst/qtree/qtree.h M lib/temporal/lib/connect.c M lib/temporal/lib/default_name.c M lib/vector/Vlib/area.c M lib/vector/Vlib/area_pg.c M lib/vector/Vlib/array.c M lib/vector/Vlib/ascii.c M lib/vector/Vlib/box.c M lib/vector/Vlib/break_lines.c M lib/vector/Vlib/break_polygons.c M lib/vector/Vlib/bridges.c M lib/vector/Vlib/buffer.c M lib/vector/Vlib/buffer2.c M lib/vector/Vlib/build.c M lib/vector/Vlib/build_nat.c M lib/vector/Vlib/build_ogr.c M lib/vector/Vlib/build_pg.c M lib/vector/Vlib/build_sfa.c M lib/vector/Vlib/cats.c M lib/vector/Vlib/cindex.c M lib/vector/Vlib/clean_nodes.c M lib/vector/Vlib/close.c M lib/vector/Vlib/close_nat.c M lib/vector/Vlib/close_ogr.c M lib/vector/Vlib/close_pg.c M lib/vector/Vlib/color_read.c M lib/vector/Vlib/color_remove.c M lib/vector/Vlib/color_write.c M lib/vector/Vlib/constraint.c M lib/vector/Vlib/copy.c M lib/vector/Vlib/dangles.c M lib/vector/Vlib/dbcolumns.c M lib/vector/Vlib/dgraph.c M lib/vector/Vlib/e_intersect.c M lib/vector/Vlib/field.c M lib/vector/Vlib/find.c M lib/vector/Vlib/geos.c M lib/vector/Vlib/geos_to_wktb.c M lib/vector/Vlib/graph.c M lib/vector/Vlib/handler.c M lib/vector/Vlib/header.c M lib/vector/Vlib/header_finfo.c M lib/vector/Vlib/hist.c M lib/vector/Vlib/init_head.c M lib/vector/Vlib/intersect.c M lib/vector/Vlib/intersect2.c M lib/vector/Vlib/legal_vname.c M lib/vector/Vlib/level.c M lib/vector/Vlib/level_two.c M lib/vector/Vlib/line.c M lib/vector/Vlib/list.c M lib/vector/Vlib/map.c M lib/vector/Vlib/merge_lines.c M lib/vector/Vlib/net_analyze.c M lib/vector/Vlib/net_build.c M lib/vector/Vlib/open.c M lib/vector/Vlib/open_nat.c M lib/vector/Vlib/open_ogr.c M lib/vector/Vlib/open_pg.c M lib/vector/Vlib/overlap.c M lib/vector/Vlib/overlay.c M lib/vector/Vlib/poly.c M lib/vector/Vlib/read.c M lib/vector/Vlib/read_nat.c M lib/vector/Vlib/read_ogr.c M lib/vector/Vlib/read_pg.c M lib/vector/Vlib/read_sfa.c M lib/vector/Vlib/remove_areas.c M lib/vector/Vlib/remove_duplicates.c M lib/vector/Vlib/rewind.c M lib/vector/Vlib/rewind_nat.c M lib/vector/Vlib/rewind_ogr.c M lib/vector/Vlib/rewind_pg.c M lib/vector/Vlib/rtree_search.c M lib/vector/Vlib/select.c M lib/vector/Vlib/simple_features.c M lib/vector/Vlib/sindex.c M lib/vector/Vlib/snap.c M lib/vector/Vlib/tin.c M lib/vector/Vlib/type.c M lib/vector/Vlib/window.c M lib/vector/Vlib/write.c M lib/vector/Vlib/write_nat.c M lib/vector/Vlib/write_ogr.c M lib/vector/Vlib/write_pg.c M lib/vector/Vlib/write_sfa.c M lib/vector/dglib/edgemgmt-template.c M lib/vector/dglib/examples/components.c M lib/vector/dglib/examples/cr_from_a.c M lib/vector/dglib/examples/cr_large_graph.c M lib/vector/dglib/examples/delnode.c M lib/vector/dglib/examples/minspan.c M lib/vector/dglib/examples/opt.c M lib/vector/dglib/examples/opt.h M lib/vector/dglib/examples/parse.c M lib/vector/dglib/examples/shortest_path.c M lib/vector/dglib/examples/span.c M lib/vector/dglib/examples/unflatten.c M lib/vector/dglib/examples/view.c M lib/vector/dglib/graph.c M lib/vector/dglib/graph.h M lib/vector/dglib/graph_v1.c M lib/vector/dglib/graph_v1.h M lib/vector/dglib/graph_v2.c M lib/vector/dglib/graph_v2.h M lib/vector/dglib/heap.c M lib/vector/dglib/heap.h M lib/vector/dglib/helpers.c M lib/vector/dglib/helpers.h M lib/vector/dglib/misc-template.c M lib/vector/dglib/nodemgmt-template.c M lib/vector/dglib/sp-template.c M lib/vector/dglib/span-template.c M lib/vector/dglib/tree.c M lib/vector/dglib/tree.h M lib/vector/dglib/type.h M lib/vector/dglib/v1-defs.h M lib/vector/dglib/v2-defs.h M lib/vector/diglib/file.c M lib/vector/diglib/port_init.c M lib/vector/diglib/portable.c M lib/vector/diglib/spindex.c M lib/vector/diglib/spindex_rw.c M lib/vector/diglib/update.c M lib/vector/neta/articulation_point.c M lib/vector/neta/bridge.c M lib/vector/neta/centrality.c M lib/vector/neta/components.c M lib/vector/neta/flow.c M lib/vector/neta/path.c M lib/vector/neta/spanningtree.c M lib/vector/neta/timetables.c M lib/vector/neta/utils.c M lib/vector/rtree/index.c M lib/vector/vedit/break.c M lib/vector/vedit/cats.c M lib/vector/vedit/chtype.c M lib/vector/vedit/copy.c M lib/vector/vedit/delete.c M lib/vector/vedit/distance.c M lib/vector/vedit/extend.c M lib/vector/vedit/flip.c M lib/vector/vedit/merge.c M lib/vector/vedit/move.c M lib/vector/vedit/render.c M lib/vector/vedit/select.c M lib/vector/vedit/snap.c M lib/vector/vedit/vertex.c M lib/vector/vedit/zbulk.c M macos/files/main.m M macos/files/main.swift M man/build.py M man/build_check_rest.py M man/build_class.py M man/build_class_rest.py M man/build_full_index.py M man/build_full_index_rest.py M man/build_index.py M man/build_index_rest.py M man/build_manpages.py M man/build_rest.py M man/build_topics.py M man/parser_standard_options.py M misc/m.nviz.image/args.c M misc/m.nviz.image/cplane.c M misc/m.nviz.image/surface.c M misc/m.nviz.image/vector.c M misc/m.nviz.image/volume.c M misc/m.nviz.image/write_img.c M msvc/fcntl.c M msvc/fcntl.h M python/grass/app/data.py M python/grass/app/resource_paths.py M python/grass/app/runtime.py M python/grass/grassdb/checks.py M python/grass/grassdb/config.py M python/grass/grassdb/create.py M python/grass/grassdb/data.py M python/grass/grassdb/history.py M python/grass/grassdb/manage.py M python/grass/gunittest/__init__.py M python/grass/gunittest/case.py M python/grass/gunittest/checkers.py M python/grass/gunittest/gmodules.py M python/grass/gunittest/gutils.py M python/grass/gunittest/invoker.py M python/grass/gunittest/loader.py M python/grass/gunittest/main.py M python/grass/gunittest/multireport.py M python/grass/gunittest/multirunner.py M python/grass/gunittest/reporters.py M python/grass/gunittest/runner.py M python/grass/gunittest/testsuite/test_checkers.py M python/grass/gunittest/utils.py M python/grass/imaging/operations.py M python/grass/pygrass/messages/__init__.py M python/grass/pygrass/modules/testsuite/test_import_isolation.py M python/grass/pygrass/rpc/__init__.py M python/grass/pygrass/rpc/base.py M python/grass/script/array.py M python/grass/script/core.py M python/grass/script/db.py M python/grass/script/imagery.py M python/grass/script/raster.py M python/grass/script/raster3d.py M python/grass/script/setup.py M python/grass/script/task.py M python/grass/script/utils.py M python/grass/script/vector.py M python/grass/temporal/abstract_dataset.py M python/grass/temporal/abstract_map_dataset.py M python/grass/temporal/abstract_space_time_dataset.py M python/grass/temporal/aggregation.py M python/grass/temporal/base.py M python/grass/temporal/c_libraries_interface.py M python/grass/temporal/core.py M python/grass/temporal/datetime_math.py M python/grass/temporal/extract.py M python/grass/temporal/factory.py M python/grass/temporal/gui_support.py M python/grass/temporal/list_stds.py M python/grass/temporal/mapcalc.py M python/grass/temporal/metadata.py M python/grass/temporal/open_stds.py M python/grass/temporal/register.py M python/grass/temporal/sampling.py M python/grass/temporal/space_time_datasets.py M python/grass/temporal/spatial_extent.py M python/grass/temporal/spatial_topology_dataset_connector.py M python/grass/temporal/spatio_temporal_relationships.py M python/grass/temporal/stds_export.py M python/grass/temporal/stds_import.py M python/grass/temporal/temporal_algebra.py M python/grass/temporal/temporal_extent.py M python/grass/temporal/temporal_granularity.py M python/grass/temporal/temporal_operator.py M python/grass/temporal/temporal_raster3d_algebra.py M python/grass/temporal/temporal_raster_algebra.py M python/grass/temporal/temporal_raster_base_algebra.py M python/grass/temporal/temporal_topology_dataset_connector.py M python/grass/temporal/temporal_vector_algebra.py M python/grass/temporal/testsuite/test_mapset_change.py M python/grass/temporal/testsuite/test_register_function.py M python/grass/temporal/testsuite/unittests_temporal_algebra.py M python/grass/temporal/testsuite/unittests_temporal_algebra_grs.py M python/grass/temporal/testsuite/unittests_temporal_algebra_mixed_stds.py M python/grass/temporal/testsuite/unittests_temporal_conditionals.py M python/grass/temporal/testsuite/unittests_temporal_raster3d_algebra.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_equal_ts.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_grs.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_spatial_topology.py M python/grass/temporal/testsuite/unittests_temporal_raster_conditionals.py M python/grass/temporal/testsuite/unittests_temporal_raster_conditionals_complement_else.py M python/grass/temporal/testsuite/unittests_temporal_vector_algebra.py M python/grass/temporal/univar_statistics.py M raster/r.basins.fill/testsuite/test_r_basins_fill.py M raster/r.contour/testsuite/test_r_contour.py M raster/r.in.ascii/testsuite/test_r_in_ascii.py M raster/r.in.pdal/testsuite/test_r_in_pdal_binning.py M raster/r.in.pdal/testsuite/test_r_in_pdal_print.py M raster/r.in.pdal/testsuite/test_r_in_pdal_selection.py M raster/r.info/testsuite/test_r_info.py M raster/r.kappa/testsuite/test_r_kappa.py M raster/r.mode/testsuite/testrmode.py M raster/r.random/testsuite/test_r_random.py M raster/r.random/testsuite/testrandom.py M raster/r.reclass/testsuite/test_r_reclass.py M raster/r.report/testsuite/test_r_report.py M raster/r.smooth.edgepreserve/testsuite/test_r_smooth_edgepreserve.py M raster/r.texture/testsuite/test_rtexture.py M raster/r.texture/testsuite/test_rtexture_parallel.py M raster/r.tile/testsuite/test_r_tile.py M raster/r.tile/testsuite/testrt.py M raster/r.to.vect/testsuite/test_r_to_vect.py M raster/r.what/testsuite/test_r_what.py M raster/r.what/testsuite/testrw.py M raster3d/r3.flow/flowline.c M raster3d/r3.flow/integrate.c M raster3d/r3.flow/interpolate.c M raster3d/r3.in.lidar/filters.c M raster3d/r3.in.lidar/filters.h M raster3d/r3.in.lidar/info.c M raster3d/r3.in.lidar/info.h M raster3d/r3.in.lidar/projection.c M raster3d/r3.in.lidar/projection.h M raster3d/r3.in.lidar/rast_segment.c M raster3d/r3.in.lidar/rast_segment.h M raster3d/r3.in.lidar/string_list.c M raster3d/r3.in.lidar/string_list.h M scripts/r.in.wms/srs.py M scripts/r.in.wms/wms_base.py M scripts/r.in.wms/wms_cap_parsers.py M scripts/r.in.wms/wms_drv.py M scripts/r.in.wms/wms_gdal_drv.py M scripts/r.mapcalc.simple/testsuite/test_rmapcalcsimple.py M scripts/r.reclass.area/testsuite/test_r_reclass_area.py M scripts/r.reclass.area/testsuite/testrra.py M scripts/v.clip/testsuite/test_v_clip.py M scripts/v.what.strds/testsuite/test_what_strds.py M temporal/t.connect/testsuite/test_distr_tgis_db_raster.py M temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py M temporal/t.connect/testsuite/test_distr_tgis_db_vector.py M temporal/t.copy/testsuite/test_t_copy.py M temporal/t.rast.accdetect/testsuite/test_simple.py M temporal/t.rast.accumulate/testsuite/test_accumulation.py M temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py M temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py M temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_arithmetic.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_operators.py M temporal/t.rast.contour/testsuite/test_convert.py M temporal/t.rast.export/testsuite/test_rast_export.py M temporal/t.rast.extract/tests/test_t_rast_extract_pytest.py M temporal/t.rast.extract/testsuite/test_t_rast_extract.py M temporal/t.rast.gapfill/testsuite/test_gapfill.py M temporal/t.rast.import/tests/conftest.py M temporal/t.rast.import/tests/t_rast_import_test.py M temporal/t.rast.mapcalc/tests/conftest.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_basic.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_operators.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_where_pytest.py M temporal/t.rast.series/testsuite/test_series.py M temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py M temporal/t.rast.to.vect/testsuite/test_to_vect.py M temporal/t.rast.univar/testsuite/test_t_rast_univar.py M temporal/t.rast.what/testsuite/test_what.py M temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py M temporal/t.rast3d.extract/testsuite/test_t_rast3d_extract.py M temporal/t.rast3d.univar/testsuite/test_t_rast3d_univar.py M temporal/t.register/tests/conftest.py M temporal/t.register/tests/t_register_file_test.py M temporal/t.register/testsuite/test_t_register_raster.py M temporal/t.register/testsuite/test_t_register_raster_different_local.py M temporal/t.register/testsuite/test_t_register_raster_file.py M temporal/t.register/testsuite/test_t_register_raster_mapmetadata.py M temporal/t.rename/testsuite/test_t_rename.py M temporal/t.shift/testsuite/test_shift.py M temporal/t.snap/testsuite/test_snap.py M temporal/t.support/testsuite/test_support_str3ds.py M temporal/t.support/testsuite/test_support_strds.py M temporal/t.support/testsuite/test_support_stvds.py M temporal/t.unregister/testsuite/test_unregister.py M temporal/t.vect.algebra/testsuite/test_vector_algebra.py M temporal/t.vect.extract/testsuite/test_vect_extract.py M temporal/t.vect.import/tests/conftest.py M temporal/t.vect.import/tests/t_vect_import_test.py M utils/create_python_init_file.py M utils/g.md2man/g.md2man.py M utils/g.md2man/gmd.py M utils/pep8config.txt M utils/ppmrotate.py M utils/thumbnails.py M vector/v.db.select/testsuite/test_v_db_select.py M vector/v.extract/testsuite/test_v_extract.py M vector/v.in.lidar/testsuite/decimation_test.py M vector/v.in.lidar/testsuite/mask_test.py M vector/v.in.lidar/testsuite/test_v_in_lidar_basic.py M vector/v.in.lidar/testsuite/test_v_in_lidar_filter.py M vector/v.in.lidar/vector_mask.c M vector/v.in.pdal/testsuite/test_v_in_pdal_basic.py M vector/v.in.pdal/testsuite/test_v_in_pdal_filter.py M vector/v.out.lidar/testsuite/test_v_out_lidar.py M vector/v.profile/testsuite/test_v_profile.py M vector/v.random/testsuite/test_v_random.py M vector/v.select/testsuite/test_v_select.py M vector/v.to.rast/testsuite/test_v_to_rast.py M vector/v.univar/testsuite/test_v_univar.py M vector/v.vect.stats/testsuite/test_vect_stats.py Log Message: ----------- contributing: Use SPDX copyright tags in unlabeled file headers (#7756) Convert the 1032 files whose copyright notice does not use the labeled COPYRIGHT field: Doxygen file blocks in the C libraries, Python module docstrings in the GUI and the Python packages, and assorted headers. Names and years stay verbatim; each holder gets its own line and year when available, fallback is collective author with or without a year. Files whose notice carries no license text at all get the identifier when the notice is team-held, covered by the repository-wide grant in COPYING, or when all its years fall in the CERL era, in or before 1992. Individual-held notices from 1993 on with no license text are left alone in the change. Vendored code is excluded by directory and by the holder named in the notice. Translation catalogs under locale are excluded: their gettext headers already state the license and are rewritten by the translation platform sync. Files half-converted earlier, carrying an identifier but a legacy notice, are completely converted without duplicating the identifier. The conversion was performed by a deterministic script, not by a language model. The script was created and executed with AI assistance (Claude Code with Opus 4.8 and Fable 5); the decisions are the author's. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Fri Sep 4 11:09:32 2026 From: noreply at github.com (Corey White) Date: Fri, 04 Sep 2026 11:09:32 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 89e01b: Self-host Fira Sans and Fira Mono so the brand fon... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass-website Commit: 89e01b50e1cc3c59708d659fd270cebcab1b997b https://github.com/OSGeo/grass-website/commit/89e01b50e1cc3c59708d659fd270cebcab1b997b Author: Corey White Date: 2026-09-04 (Fri, 04 Sep 2026) Changed paths: M config.toml M package-lock.json M package.json A themes/grass/assets/sass/_font-faces.scss M themes/grass/assets/sass/_fonts.scss M themes/grass/assets/sass/main.scss M themes/grass/assets/sass/styles/_base.scss M themes/grass/layouts/partials/head.html R themes/grass/static/plugins/fira-sans/fira-sans.css R themes/grass/static/plugins/fira-sans/fonts/firasans-medium-webfont.eot R themes/grass/static/plugins/fira-sans/fonts/firasans-medium-webfont.svg R themes/grass/static/plugins/fira-sans/fonts/firasans-medium-webfont.ttf R themes/grass/static/plugins/fira-sans/fonts/firasans-medium-webfont.woff R themes/grass/static/plugins/fira-sans/fonts/firasans-medium-webfont.woff2 R themes/grass/static/plugins/fira-sans/fonts/firasans-thin-webfont.eot R themes/grass/static/plugins/fira-sans/fonts/firasans-thin-webfont.svg R themes/grass/static/plugins/fira-sans/fonts/firasans-thin-webfont.ttf R themes/grass/static/plugins/fira-sans/fonts/firasans-thin-webfont.woff R themes/grass/static/plugins/fira-sans/fonts/firasans-thin-webfont.woff2 Log Message: ----------- Self-host Fira Sans and Fira Mono so the brand fonts load (#710) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Fri Sep 4 11:14:48 2026 From: noreply at github.com (dependabot[bot]) Date: Fri, 04 Sep 2026 11:14:48 -0700 Subject: [GRASS-git] [OSGeo/grass-website] fcc048: build(deps-dev): bump browserslist from 4.28.1 to ... Message-ID: Branch: refs/heads/dependabot/npm_and_yarn/browserslist-4.28.9 Home: https://github.com/OSGeo/grass-website Commit: fcc0486433f433dcca5db3b545984473914ea612 https://github.com/OSGeo/grass-website/commit/fcc0486433f433dcca5db3b545984473914ea612 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-09-04 (Fri, 04 Sep 2026) Changed paths: M package-lock.json Log Message: ----------- build(deps-dev): bump browserslist from 4.28.1 to 4.28.9 Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.28.1 to 4.28.9. - [Release notes](https://github.com/browserslist/browserslist/releases) - [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md) - [Commits](https://github.com/browserslist/browserslist/compare/4.28.1...4.28.9) --- updated-dependencies: - dependency-name: browserslist dependency-version: 4.28.9 dependency-type: indirect ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Fri Sep 4 12:20:40 2026 From: noreply at github.com (github-actions[bot]) Date: Fri, 04 Sep 2026 12:20:40 -0700 Subject: [GRASS-git] [OSGeo/grass-website] Message-ID: Branch: refs/tags/site-20260904-192006-89e01b5 Home: https://github.com/OSGeo/grass-website To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Fri Sep 4 12:21:11 2026 From: noreply at github.com (github-actions[bot]) Date: Fri, 04 Sep 2026 12:21:11 -0700 Subject: [GRASS-git] [OSGeo/grass-website] Message-ID: Branch: refs/tags/site-20260815-040459-2847708 Home: https://github.com/OSGeo/grass-website To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Fri Sep 4 13:23:41 2026 From: noreply at github.com (Nicklas Larsson) Date: Fri, 04 Sep 2026 13:23:41 -0700 Subject: [GRASS-git] [OSGeo/grass] a768b6: r.in.pdal: fix new Coverity Scan issues (#7883) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: a768b6892909c99adfd8fbbfc0f570282c3715ac https://github.com/OSGeo/grass/commit/a768b6892909c99adfd8fbbfc0f570282c3715ac Author: Nicklas Larsson Date: 2026-09-04 (Fri, 04 Sep 2026) Changed paths: M raster/r.in.pdal/info.cpp Log Message: ----------- r.in.pdal: fix new Coverity Scan issues (#7883) introduced with 1c684328ebea801f9838e5723bccd4af6b12001e - Uncaught exception of PointView::setField (CID1685510) - Move reproject_option instead of passed-by-value for reproject->setOptions (CID1685509) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Fri Sep 4 19:10:39 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Fri, 04 Sep 2026 19:10:39 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/periodic/update-i18n-29639224481 Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Fri Sep 4 19:10:40 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Fri, 04 Sep 2026 19:10:40 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/periodic/update-i18n-29651948408 Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Fri Sep 4 19:10:44 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Fri, 04 Sep 2026 19:10:44 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/periodic/update-i18n-33260839694 Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Fri Sep 4 19:10:46 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Fri, 04 Sep 2026 19:10:46 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/periodic/update-i18n-31321581157 Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Fri Sep 4 19:10:47 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Fri, 04 Sep 2026 19:10:47 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/periodic/update-i18n-31265676928 Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 06:42:43 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 06:42:43 -0700 Subject: [GRASS-git] [OSGeo/grass] 38e552: Disable EditorConfig in super-linter, as it is ran... Message-ID: Branch: refs/heads/renovate/main-super-linter-super-linter-8.x Home: https://github.com/OSGeo/grass Commit: 38e55220ee9ee9cadb2acecfde13fd63efeb73d9 https://github.com/OSGeo/grass/commit/38e55220ee9ee9cadb2acecfde13fd63efeb73d9 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M .github/workflows/super-linter.yml Log Message: ----------- Disable EditorConfig in super-linter, as it is ran in pre-commit. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 06:42:55 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 06:42:55 -0700 Subject: [GRASS-git] [OSGeo/grass] 5734e2: r.mfilter: Avoid reopening NamedTemporaryFile on W... Message-ID: Branch: refs/heads/renovate/main-super-linter-super-linter-8.x Home: https://github.com/OSGeo/grass Commit: 5734e23731e5bbdbc95dc760865a1c38df12c3b4 https://github.com/OSGeo/grass/commit/5734e23731e5bbdbc95dc760865a1c38df12c3b4 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M raster/r.mfilter/testsuite/test_r_mfilter.py Log Message: ----------- r.mfilter: Avoid reopening NamedTemporaryFile on Windows in testsuite (#7878) Commit: f80363fb6df198dc4e4e2f6e73d9f15382bb5ec6 https://github.com/OSGeo/grass/commit/f80363fb6df198dc4e4e2f6e73d9f15382bb5ec6 Author: Vaclav Petras Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M lib/rst/interp_float/distance.c M lib/rst/interp_float/minmax.c M lib/rst/interp_float/resout2d.c M lib/rst/interp_float/ressegm2d.c M raster/r.resamp.rst/main.c M raster/r.sun/main.c M raster/r.sun/rsunglobals.h M raster/r.sun/rsunlib.c M raster/r.sun/sunradstruct.h M raster/r.surf.area/main.c M vector/v.lrs/v.lrs.segment/main.c M vector/v.normal/scancats.c M vector/v.perturb/fische.c M vector/v.perturb/myrng.c M vector/v.perturb/normal00.c M vector/v.perturb/normalen.c M vector/v.perturb/normalrs.c M vector/v.perturb/normalsv.c M vector/v.perturb/zufall.h M vector/v.qcount/count.c M vector/v.qcount/findquads.c M vector/v.qcount/indices.c M vector/v.qcount/quaddefs.h Log Message: ----------- contributing: Use SPDX copyright tags in complicated file headers (#7763) Convert 23 files whose headers needed complex, full reading. r.sun names Jaro Hofierka with GeoModel, s.r.o. as his affiliation on one line for 2002, with 2011 Hamish Bowman in rsunlib.c. Postal addresses and email lists are not carried into holder lines. The team clause in main.c keeps its own years on the collective line. The lib/rst interp_float files convert with the identifier by maintainer decision: r.resamp.rst in the same code family states the GPL explicitly with the same holders. The McCauley files in v.perturb, v.qcount, and v.normal use the name alone, because the line with the email address would pass the 80-column limit at which clang-format breaks the tag. Bill Brown's email fits and stays in r.surf.area. v.lrs.segment/main.c is MIT licensed and converts to SPDX-License-Identifier: MIT, with Radim Blazek and Hamish Bowman on their own lines and the license text replaced by the identifier, the same operation as for the GPL files. Four files are deferred as third party: mysql_config is Oracle's, gitlog2changelog.py is Marcus D. Hanwell's via NUT, and two files under man are vendored web assets. The edits were applied by a per-file replacement script that asserts each old text occurs exactly once and that trailing bytes never change. Written with AI assistance (Claude Code with Opus 4.8 and Fable 5); the decisions are the author's. Commit: 985dd2421bb43d3805b709cd98cc06ee2ebae31a https://github.com/OSGeo/grass/commit/985dd2421bb43d3805b709cd98cc06ee2ebae31a Author: Vaclav Petras Date: 2026-09-03 (Thu, 03 Sep 2026) Changed paths: M db/drivers/ogr/cursor.c M db/drivers/ogr/db.c M db/drivers/ogr/describe.c M db/drivers/ogr/driver.c M db/drivers/ogr/error.c M db/drivers/ogr/execute.c M db/drivers/ogr/fetch.c M db/drivers/ogr/listtab.c M db/drivers/ogr/select.c M doc/examples/gui/wxpython/dialogs.py M doc/examples/gui/wxpython/frame.py M doc/examples/gui/wxpython/toolbars.py M general/g.proj/testsuite/test_g_proj.py M general/g.rename/testsuite/test_overwrite.py M gui/wxpython/animation/anim.py M gui/wxpython/animation/controller.py M gui/wxpython/animation/data.py M gui/wxpython/animation/dialogs.py M gui/wxpython/animation/frame.py M gui/wxpython/animation/mapwindow.py M gui/wxpython/animation/nviztask.py M gui/wxpython/animation/panels.py M gui/wxpython/animation/provider.py M gui/wxpython/animation/temporal_manager.py M gui/wxpython/animation/toolbars.py M gui/wxpython/animation/utils.py M gui/wxpython/core/debug.py M gui/wxpython/core/gcmd.py M gui/wxpython/core/gconsole.py M gui/wxpython/core/giface.py M gui/wxpython/core/globalvar.py M gui/wxpython/core/gthread.py M gui/wxpython/core/layerlist.py M gui/wxpython/core/menutree.py M gui/wxpython/core/render.py M gui/wxpython/core/settings.py M gui/wxpython/core/toolboxes.py M gui/wxpython/core/treemodel.py M gui/wxpython/core/units.py M gui/wxpython/core/utils.py M gui/wxpython/core/watchdog.py M gui/wxpython/core/workspace.py M gui/wxpython/core/ws.py M gui/wxpython/datacatalog/catalog.py M gui/wxpython/datacatalog/dialogs.py M gui/wxpython/datacatalog/frame.py M gui/wxpython/datacatalog/infomanager.py M gui/wxpython/datacatalog/toolbars.py M gui/wxpython/datacatalog/tree.py M gui/wxpython/dbmgr/base.py M gui/wxpython/dbmgr/dialogs.py M gui/wxpython/dbmgr/manager.py M gui/wxpython/dbmgr/sqlbuilder.py M gui/wxpython/dbmgr/vinfo.py M gui/wxpython/gcp/manager.py M gui/wxpython/gcp/mapdisplay.py M gui/wxpython/gcp/statusbar.py M gui/wxpython/gcp/toolbars.py M gui/wxpython/gmodeler/canvas.py M gui/wxpython/gmodeler/dialogs.py M gui/wxpython/gmodeler/frame.py M gui/wxpython/gmodeler/giface.py M gui/wxpython/gmodeler/menudata.py M gui/wxpython/gmodeler/model.py M gui/wxpython/gmodeler/model_convert.py M gui/wxpython/gmodeler/model_items.py M gui/wxpython/gmodeler/panels.py M gui/wxpython/gmodeler/preferences.py M gui/wxpython/gmodeler/toolbars.py M gui/wxpython/gui_core/dialogs.py M gui/wxpython/gui_core/ghelp.py M gui/wxpython/gui_core/goutput.py M gui/wxpython/gui_core/gselect.py M gui/wxpython/gui_core/infobar.py M gui/wxpython/gui_core/mapdisp.py M gui/wxpython/gui_core/menu.py M gui/wxpython/gui_core/preferences.py M gui/wxpython/gui_core/prompt.py M gui/wxpython/gui_core/pyedit.py M gui/wxpython/gui_core/pystc.py M gui/wxpython/gui_core/query.py M gui/wxpython/gui_core/simplelmgr.py M gui/wxpython/gui_core/toolbars.py M gui/wxpython/gui_core/treeview.py M gui/wxpython/gui_core/vselect.py M gui/wxpython/gui_core/widgets.py M gui/wxpython/gui_core/wrap.py M gui/wxpython/history/browser.py M gui/wxpython/history/tree.py M gui/wxpython/iclass/dialogs.py M gui/wxpython/iclass/digit.py M gui/wxpython/iclass/frame.py M gui/wxpython/iclass/plots.py M gui/wxpython/iclass/statistics.py M gui/wxpython/iclass/toolbars.py M gui/wxpython/icons/icon.py M gui/wxpython/image2target/ii2t_gis_set.py M gui/wxpython/image2target/ii2t_gis_set_error.py M gui/wxpython/image2target/ii2t_manager.py M gui/wxpython/image2target/ii2t_mapdisplay.py M gui/wxpython/image2target/ii2t_statusbar.py M gui/wxpython/image2target/ii2t_toolbars.py M gui/wxpython/iscatt/controllers.py M gui/wxpython/iscatt/core_c.py M gui/wxpython/iscatt/dialogs.py M gui/wxpython/iscatt/frame.py M gui/wxpython/iscatt/iscatt_core.py M gui/wxpython/iscatt/plots.py M gui/wxpython/iscatt/toolbars.py M gui/wxpython/iscatt/utils.py M gui/wxpython/jupyter_notebook/dialogs.py M gui/wxpython/jupyter_notebook/environment.py M gui/wxpython/jupyter_notebook/frame.py M gui/wxpython/jupyter_notebook/notebook.py M gui/wxpython/jupyter_notebook/panel.py M gui/wxpython/jupyter_notebook/server.py M gui/wxpython/jupyter_notebook/storage.py M gui/wxpython/jupyter_notebook/toolbars.py M gui/wxpython/jupyter_notebook/utils.py M gui/wxpython/lmgr/frame.py M gui/wxpython/lmgr/giface.py M gui/wxpython/lmgr/layertree.py M gui/wxpython/lmgr/menudata.py M gui/wxpython/lmgr/pyshell.py M gui/wxpython/lmgr/statusbar.py M gui/wxpython/lmgr/toolbars.py M gui/wxpython/lmgr/workspace.py M gui/wxpython/location_wizard/base.py M gui/wxpython/location_wizard/dialogs.py M gui/wxpython/location_wizard/wizard.py M gui/wxpython/main_window/frame.py M gui/wxpython/main_window/notebook.py M gui/wxpython/main_window/page.py M gui/wxpython/mapdisp/frame.py M gui/wxpython/mapdisp/gprint.py M gui/wxpython/mapdisp/main.py M gui/wxpython/mapdisp/properties.py M gui/wxpython/mapdisp/statusbar.py M gui/wxpython/mapdisp/toolbars.py M gui/wxpython/mapswipe/dialogs.py M gui/wxpython/mapswipe/frame.py M gui/wxpython/mapswipe/mapwindow.py M gui/wxpython/mapswipe/toolbars.py M gui/wxpython/mapwin/analysis.py M gui/wxpython/mapwin/base.py M gui/wxpython/mapwin/buffered.py M gui/wxpython/mapwin/decorations.py M gui/wxpython/mapwin/graphics.py M gui/wxpython/modules/colorrules.py M gui/wxpython/modules/extensions.py M gui/wxpython/modules/histogram.py M gui/wxpython/modules/import_export.py M gui/wxpython/modules/mcalc_builder.py M gui/wxpython/nviz/animation.py M gui/wxpython/nviz/main.py M gui/wxpython/nviz/mapwindow.py M gui/wxpython/nviz/preferences.py M gui/wxpython/nviz/tools.py M gui/wxpython/nviz/workspace.py M gui/wxpython/nviz/wxnviz.py M gui/wxpython/photo2image/ip2i_manager.py M gui/wxpython/photo2image/ip2i_mapdisplay.py M gui/wxpython/photo2image/ip2i_statusbar.py M gui/wxpython/photo2image/ip2i_toolbars.py M gui/wxpython/psmap/dialogs.py M gui/wxpython/psmap/frame.py M gui/wxpython/psmap/instructions.py M gui/wxpython/psmap/menudata.py M gui/wxpython/psmap/toolbars.py M gui/wxpython/psmap/utils.py M gui/wxpython/rdigit/controller.py M gui/wxpython/rdigit/dialogs.py M gui/wxpython/rdigit/toolbars.py M gui/wxpython/rlisetup/sampling_frame.py M gui/wxpython/rlisetup/wizard.py M gui/wxpython/startup/guiutils.py M gui/wxpython/startup/locdownload.py M gui/wxpython/timeline/frame.py M gui/wxpython/tools/build_modules_xml.py M gui/wxpython/tools/update_menudata.py M gui/wxpython/tplot/frame.py M gui/wxpython/vdigit/dialogs.py M gui/wxpython/vdigit/main.py M gui/wxpython/vdigit/mapwindow.py M gui/wxpython/vdigit/preferences.py M gui/wxpython/vdigit/toolbars.py M gui/wxpython/vdigit/wxdigit.py M gui/wxpython/vdigit/wxdisplay.py M gui/wxpython/vnet/dialogs.py M gui/wxpython/vnet/toolbars.py M gui/wxpython/vnet/vnet_core.py M gui/wxpython/vnet/vnet_data.py M gui/wxpython/vnet/vnet_utils.py M gui/wxpython/vnet/widgets.py M gui/wxpython/web_services/cap_interface.py M gui/wxpython/web_services/dialogs.py M gui/wxpython/web_services/widgets.py M gui/wxpython/wxgui.py M gui/wxpython/wxplot/base.py M gui/wxpython/wxplot/dialogs.py M gui/wxpython/wxplot/histogram.py M gui/wxpython/wxplot/profile.py M gui/wxpython/wxplot/scatter.py M gui/xml/grass-interface.dtd M imagery/i.gensig/testsuite/test_i_gensig.py M imagery/i.maxlik/testsuite/test_i_maxlik.py M imagery/i.pca/testsuite/test_pca.py M imagery/i.segment/ngbrtree.c M imagery/i.segment/regtree.c M imagery/i.segment/testsuite/test_isegment.py M imagery/i.svm.predict/testsuite/test_i_svm_predict.py M imagery/i.svm.train/testsuite/test_i_svm_train.py M imagery/i.vi/testsuite/test_vi.py M include/grass/dbmi.h M include/grass/ogsf.h M lib/btree2/kdtree.c M lib/btree2/kdtree.h M lib/btree2/rbtree.c M lib/cairodriver/box.c M lib/cairodriver/cairodriver.h M lib/cairodriver/color.c M lib/cairodriver/draw_bitmap.c M lib/cairodriver/driver.c M lib/cairodriver/erase.c M lib/cairodriver/graph.c M lib/cairodriver/line_width.c M lib/cairodriver/raster.c M lib/cairodriver/read.c M lib/cairodriver/read_bmp.c M lib/cairodriver/read_ppm.c M lib/cairodriver/set_window.c M lib/cairodriver/text.c M lib/cairodriver/write.c M lib/cairodriver/write_bmp.c M lib/cairodriver/write_ppm.c M lib/cluster/c_assign.c M lib/cluster/c_begin.c M lib/cluster/c_clear.c M lib/cluster/c_distinct.c M lib/cluster/c_exec.c M lib/cluster/c_execmem.c M lib/cluster/c_means.c M lib/cluster/c_merge.c M lib/cluster/c_nclasses.c M lib/cluster/c_point.c M lib/cluster/c_reassign.c M lib/cluster/c_reclass.c M lib/cluster/c_sep.c M lib/cluster/c_sig.c M lib/cluster/c_sum2.c M lib/db/dbmi_base/alloc.c M lib/db/dbmi_base/case.c M lib/db/dbmi_base/column.c M lib/db/dbmi_base/columnfmt.c M lib/db/dbmi_base/connect.c M lib/db/dbmi_base/cursor.c M lib/db/dbmi_base/datetime.c M lib/db/dbmi_base/dbmscap.c M lib/db/dbmi_base/default_name.c M lib/db/dbmi_base/dirent.c M lib/db/dbmi_base/error.c M lib/db/dbmi_base/handle.c M lib/db/dbmi_base/index.c M lib/db/dbmi_base/interval.c M lib/db/dbmi_base/isdir.c M lib/db/dbmi_base/legal_dbname.c M lib/db/dbmi_base/login.c M lib/db/dbmi_base/ret_codes.c M lib/db/dbmi_base/sqlCtype.c M lib/db/dbmi_base/sqltype.c M lib/db/dbmi_base/string.c M lib/db/dbmi_base/strip.c M lib/db/dbmi_base/table.c M lib/db/dbmi_base/token.c M lib/db/dbmi_base/value.c M lib/db/dbmi_base/valuefmt.c M lib/db/dbmi_base/whoami.c M lib/db/dbmi_base/xdr.c M lib/db/dbmi_base/xdrchar.c M lib/db/dbmi_base/xdrcolumn.c M lib/db/dbmi_base/xdrdatetime.c M lib/db/dbmi_base/xdrdouble.c M lib/db/dbmi_base/xdrfloat.c M lib/db/dbmi_base/xdrhandle.c M lib/db/dbmi_base/xdrindex.c M lib/db/dbmi_base/xdrint.c M lib/db/dbmi_base/xdrprocedure.c M lib/db/dbmi_base/xdrshort.c M lib/db/dbmi_base/xdrstring.c M lib/db/dbmi_base/xdrtable.c M lib/db/dbmi_base/xdrtoken.c M lib/db/dbmi_base/xdrvalue.c M lib/db/dbmi_base/zero.c M lib/db/dbmi_client/c_add_col.c M lib/db/dbmi_client/c_bindupdate.c M lib/db/dbmi_client/c_close_cur.c M lib/db/dbmi_client/c_closedb.c M lib/db/dbmi_client/c_create_idx.c M lib/db/dbmi_client/c_create_tab.c M lib/db/dbmi_client/c_createdb.c M lib/db/dbmi_client/c_delete.c M lib/db/dbmi_client/c_deletedb.c M lib/db/dbmi_client/c_desc_table.c M lib/db/dbmi_client/c_drop_col.c M lib/db/dbmi_client/c_drop_index.c M lib/db/dbmi_client/c_drop_tab.c M lib/db/dbmi_client/c_execute.c M lib/db/dbmi_client/c_fetch.c M lib/db/dbmi_client/c_finddb.c M lib/db/dbmi_client/c_insert.c M lib/db/dbmi_client/c_list_drivers.c M lib/db/dbmi_client/c_list_idx.c M lib/db/dbmi_client/c_list_tabs.c M lib/db/dbmi_client/c_listdb.c M lib/db/dbmi_client/c_opendb.c M lib/db/dbmi_client/c_openinsert.c M lib/db/dbmi_client/c_openselect.c M lib/db/dbmi_client/c_openupdate.c M lib/db/dbmi_client/c_priv.c M lib/db/dbmi_client/c_rows.c M lib/db/dbmi_client/c_update.c M lib/db/dbmi_client/c_version.c M lib/db/dbmi_client/column.c M lib/db/dbmi_client/copy_tab.c M lib/db/dbmi_client/db.c M lib/db/dbmi_client/delete_tab.c M lib/db/dbmi_client/handler.c M lib/db/dbmi_client/printtab.c M lib/db/dbmi_client/select.c M lib/db/dbmi_client/shutdown.c M lib/db/dbmi_client/start.c M lib/db/dbmi_client/table.c M lib/db/dbmi_driver/d_add_col.c M lib/db/dbmi_driver/d_bindupdate.c M lib/db/dbmi_driver/d_close_cur.c M lib/db/dbmi_driver/d_closedb.c M lib/db/dbmi_driver/d_create_idx.c M lib/db/dbmi_driver/d_create_tab.c M lib/db/dbmi_driver/d_createdb.c M lib/db/dbmi_driver/d_delete.c M lib/db/dbmi_driver/d_deletedb.c M lib/db/dbmi_driver/d_desc_table.c M lib/db/dbmi_driver/d_drop_col.c M lib/db/dbmi_driver/d_drop_index.c M lib/db/dbmi_driver/d_drop_tab.c M lib/db/dbmi_driver/d_error.c M lib/db/dbmi_driver/d_execute.c M lib/db/dbmi_driver/d_fetch.c M lib/db/dbmi_driver/d_finddb.c M lib/db/dbmi_driver/d_insert.c M lib/db/dbmi_driver/d_list_idx.c M lib/db/dbmi_driver/d_list_tabs.c M lib/db/dbmi_driver/d_listdb.c M lib/db/dbmi_driver/d_mkdir.c M lib/db/dbmi_driver/d_opendb.c M lib/db/dbmi_driver/d_openinsert.c M lib/db/dbmi_driver/d_openselect.c M lib/db/dbmi_driver/d_openupdate.c M lib/db/dbmi_driver/d_priv.c M lib/db/dbmi_driver/d_rows.c M lib/db/dbmi_driver/d_update.c M lib/db/dbmi_driver/d_version.c M lib/db/dbmi_driver/driver.c M lib/db/dbmi_driver/driver_state.c M lib/display/icon.c M lib/display/r_raster.c M lib/display/raster.c M lib/display/setup.c M lib/driver/init.c M lib/driver/parse_ftcap.c M lib/gis/adj_cellhd.c M lib/gis/alloc.c M lib/gis/aprintf.c M lib/gis/area.c M lib/gis/area_ellipse.c M lib/gis/area_poly1.c M lib/gis/area_poly2.c M lib/gis/area_sphere.c M lib/gis/ascii_chk.c M lib/gis/basename.c M lib/gis/bres_line.c M lib/gis/color_rules.c M lib/gis/color_str.c M lib/gis/commas.c M lib/gis/copy_dir.c M lib/gis/date.c M lib/gis/debug.c M lib/gis/distance.c M lib/gis/done_msg.c M lib/gis/endian.c M lib/gis/env.c M lib/gis/error.c M lib/gis/file_name.c M lib/gis/find_file.c M lib/gis/find_rast.c M lib/gis/find_vect.c M lib/gis/geodist.c M lib/gis/get_ellipse.c M lib/gis/get_projinfo.c M lib/gis/get_window.c M lib/gis/getl.c M lib/gis/gisdbase.c M lib/gis/gisinit.c M lib/gis/handler.c M lib/gis/home.c M lib/gis/is.c M lib/gis/key_value1.c M lib/gis/key_value2.c M lib/gis/key_value3.c M lib/gis/key_value4.c M lib/gis/legal_name.c M lib/gis/list.c M lib/gis/locale.c M lib/gis/location.c M lib/gis/lrand48.c M lib/gis/ls.c M lib/gis/ls_filter.c M lib/gis/make_loc.c M lib/gis/make_mapset.c M lib/gis/mapset.c M lib/gis/mapset_msc.c M lib/gis/mapset_nme.c M lib/gis/mkstemp.c M lib/gis/myname.c M lib/gis/nme_in_mps.c M lib/gis/open.c M lib/gis/overwrite.c M lib/gis/parser.c M lib/gis/parser_dependencies.c M lib/gis/parser_help.c M lib/gis/parser_html.c M lib/gis/parser_interface.c M lib/gis/parser_json.c M lib/gis/parser_md.c M lib/gis/parser_md_cli.c M lib/gis/parser_md_common.c M lib/gis/parser_md_python.c M lib/gis/parser_rest.c M lib/gis/parser_standard_options.c M lib/gis/percent.c M lib/gis/plot.c M lib/gis/pole_in_poly.c M lib/gis/progrm_nme.c M lib/gis/proj1.c M lib/gis/proj2.c M lib/gis/proj3.c M lib/gis/put_window.c M lib/gis/putenv.c M lib/gis/radii.c M lib/gis/rd_cellhd.c M lib/gis/remove.c M lib/gis/rename.c M lib/gis/rhumbline.c M lib/gis/rotate.c M lib/gis/seek.c M lib/gis/set_window.c M lib/gis/short_way.c M lib/gis/snprintf.c M lib/gis/spawn.c M lib/gis/strings.c M lib/gis/tempfile.c M lib/gis/testsuite/test_parser_json.py M lib/gis/timestamp.c M lib/gis/token.c M lib/gis/trim_dec.c M lib/gis/units.c M lib/gis/user_config.c M lib/gis/verbose.c M lib/gis/view.c M lib/gis/whoami.c M lib/gis/wind_2_box.c M lib/gis/wind_format.c M lib/gis/wind_limits.c M lib/gis/wind_overlap.c M lib/gis/wind_scan.c M lib/gis/window_map.c M lib/gis/worker.c M lib/gis/wr_cellhd.c M lib/gis/writ_zeros.c M lib/gis/xdr.c M lib/gis/zero.c M lib/imagery/iclass.c M lib/imagery/iclass_bands.c M lib/imagery/iclass_local_proto.h M lib/imagery/iclass_perimeter.c M lib/imagery/iclass_signatures.c M lib/imagery/iclass_statistics.c M lib/imagery/iscatt_core.c M lib/imagery/iscatt_structs.c M lib/imagery/list_gp.c M lib/imagery/list_subgp.c M lib/imagery/manage_signatures.c M lib/imagery/sigfile.c M lib/imagery/sigsetfile.c M lib/manage/add_elem.c M lib/manage/do_copy.c M lib/manage/do_list.c M lib/manage/do_remove.c M lib/manage/do_rename.c M lib/manage/empty.c M lib/manage/find.c M lib/manage/get_len.c M lib/manage/list.c M lib/manage/option.c M lib/manage/read_list.c M lib/manage/show_elem.c M lib/manage/sighold.c M lib/nviz/change_view.c M lib/nviz/cplanes_obj.c M lib/nviz/draw.c M lib/nviz/exag.c M lib/nviz/lights.c M lib/nviz/map_obj.c M lib/nviz/nviz.c M lib/nviz/position.c M lib/nviz/render.c M lib/ogsf/gk.c M lib/ogsf/gk2.c M lib/ogsf/gp.c M lib/ogsf/gp2.c M lib/ogsf/gp3.c M lib/ogsf/gpd.c M lib/ogsf/gs.c M lib/ogsf/gs2.c M lib/ogsf/gs3.c M lib/ogsf/gs_bm.c M lib/ogsf/gs_norms.c M lib/ogsf/gs_query.c M lib/ogsf/gs_util.c M lib/ogsf/gsd_cplane.c M lib/ogsf/gsd_fonts.c M lib/ogsf/gsd_fringe.c M lib/ogsf/gsd_label.c M lib/ogsf/gsd_legend.c M lib/ogsf/gsd_objs.c M lib/ogsf/gsd_prim.c M lib/ogsf/gsd_surf.c M lib/ogsf/gsd_views.c M lib/ogsf/gsd_wire.c M lib/ogsf/gsdiff.c M lib/ogsf/gsdrape.c M lib/ogsf/gsds.c M lib/ogsf/gsget.c M lib/ogsf/gsx.c M lib/ogsf/gv.c M lib/ogsf/gv2.c M lib/ogsf/gv3.c M lib/ogsf/gv_quick.c M lib/ogsf/gvd.c M lib/ogsf/gvl.c M lib/ogsf/gvl2.c M lib/ogsf/gvl3.c M lib/ogsf/gvl_calc.c M lib/ogsf/gvl_calc2.c M lib/ogsf/gvl_file.c M lib/ogsf/gvld.c M lib/ogsf/mc33_table.h M lib/ogsf/trans.c M lib/pngdriver/box.c M lib/pngdriver/color.c M lib/pngdriver/draw.c M lib/pngdriver/draw_bitmap.c M lib/pngdriver/driver.c M lib/pngdriver/erase.c M lib/pngdriver/graph_close.c M lib/pngdriver/graph_set.c M lib/pngdriver/line_width.c M lib/pngdriver/pngdriver.h M lib/pngdriver/point.c M lib/pngdriver/polygon.c M lib/pngdriver/raster.c M lib/pngdriver/read.c M lib/pngdriver/read_bmp.c M lib/pngdriver/read_png.c M lib/pngdriver/read_ppm.c M lib/pngdriver/set_window.c M lib/pngdriver/write.c M lib/pngdriver/write_bmp.c M lib/pngdriver/write_png.c M lib/pngdriver/write_ppm.c M lib/proj/convert.c M lib/proj/datum.c M lib/proj/do_proj.c M lib/proj/ellipse.c M lib/proj/get_proj.c M lib/proj/local_proto.h M lib/psdriver/draw.c M lib/raster/align_window.c M lib/raster/alloc_cell.c M lib/raster/auto_mask.c M lib/raster/cats.c M lib/raster/cell_stats.c M lib/raster/close.c M lib/raster/color_compat.c M lib/raster/color_free.c M lib/raster/color_get.c M lib/raster/color_hist.c M lib/raster/color_init.c M lib/raster/color_invrt.c M lib/raster/color_look.c M lib/raster/color_out.c M lib/raster/color_range.c M lib/raster/color_read.c M lib/raster/color_remove.c M lib/raster/color_rule.c M lib/raster/color_rule_get.c M lib/raster/color_rules.c M lib/raster/color_set.c M lib/raster/color_shift.c M lib/raster/color_write.c M lib/raster/color_xform.c M lib/raster/gdal.c M lib/raster/get_cellhd.c M lib/raster/get_row.c M lib/raster/get_row_colr.c M lib/raster/history.c M lib/raster/init.c M lib/raster/interp.c M lib/raster/json_color_out.c M lib/raster/mask_info.c M lib/raster/maskfd.c M lib/raster/null_val.c M lib/raster/open.c M lib/raster/put_cellhd.c M lib/raster/put_row.c M lib/raster/quant.c M lib/raster/quant_io.c M lib/raster/quant_rw.c M lib/raster/range.c M lib/raster/raster.c M lib/raster/reclass.c M lib/raster/sample.c M lib/raster/set_window.c M lib/raster/vrt.c M lib/raster/window.c M lib/raster/window_map.c M lib/raster/zero_cell.c M lib/raster3d/close.c M lib/raster3d/gradient.c M lib/rowio/fileno.c M lib/rowio/forget.c M lib/rowio/get.c M lib/rowio/put.c M lib/rowio/setup.c M lib/rst/data/dataquad.c M lib/rst/data/dataquad.h M lib/rst/interp_float/func2d.c M lib/rst/interp_float/init2d.c M lib/rst/interp_float/input2d.c M lib/rst/interp_float/interp2d.c M lib/rst/interp_float/matrix.c M lib/rst/interp_float/output2d.c M lib/rst/interp_float/point2d.c M lib/rst/interp_float/point2d_parallel.c M lib/rst/interp_float/secpar2d.c M lib/rst/interp_float/segmen2d.c M lib/rst/interp_float/segmen2d_parallel.c M lib/rst/interp_float/vinput2d.c M lib/rst/interp_float/write2d.c M lib/rst/qtree/qtree.c M lib/rst/qtree/qtree.h M lib/temporal/lib/connect.c M lib/temporal/lib/default_name.c M lib/vector/Vlib/area.c M lib/vector/Vlib/area_pg.c M lib/vector/Vlib/array.c M lib/vector/Vlib/ascii.c M lib/vector/Vlib/box.c M lib/vector/Vlib/break_lines.c M lib/vector/Vlib/break_polygons.c M lib/vector/Vlib/bridges.c M lib/vector/Vlib/buffer.c M lib/vector/Vlib/buffer2.c M lib/vector/Vlib/build.c M lib/vector/Vlib/build_nat.c M lib/vector/Vlib/build_ogr.c M lib/vector/Vlib/build_pg.c M lib/vector/Vlib/build_sfa.c M lib/vector/Vlib/cats.c M lib/vector/Vlib/cindex.c M lib/vector/Vlib/clean_nodes.c M lib/vector/Vlib/close.c M lib/vector/Vlib/close_nat.c M lib/vector/Vlib/close_ogr.c M lib/vector/Vlib/close_pg.c M lib/vector/Vlib/color_read.c M lib/vector/Vlib/color_remove.c M lib/vector/Vlib/color_write.c M lib/vector/Vlib/constraint.c M lib/vector/Vlib/copy.c M lib/vector/Vlib/dangles.c M lib/vector/Vlib/dbcolumns.c M lib/vector/Vlib/dgraph.c M lib/vector/Vlib/e_intersect.c M lib/vector/Vlib/field.c M lib/vector/Vlib/find.c M lib/vector/Vlib/geos.c M lib/vector/Vlib/geos_to_wktb.c M lib/vector/Vlib/graph.c M lib/vector/Vlib/handler.c M lib/vector/Vlib/header.c M lib/vector/Vlib/header_finfo.c M lib/vector/Vlib/hist.c M lib/vector/Vlib/init_head.c M lib/vector/Vlib/intersect.c M lib/vector/Vlib/intersect2.c M lib/vector/Vlib/legal_vname.c M lib/vector/Vlib/level.c M lib/vector/Vlib/level_two.c M lib/vector/Vlib/line.c M lib/vector/Vlib/list.c M lib/vector/Vlib/map.c M lib/vector/Vlib/merge_lines.c M lib/vector/Vlib/net_analyze.c M lib/vector/Vlib/net_build.c M lib/vector/Vlib/open.c M lib/vector/Vlib/open_nat.c M lib/vector/Vlib/open_ogr.c M lib/vector/Vlib/open_pg.c M lib/vector/Vlib/overlap.c M lib/vector/Vlib/overlay.c M lib/vector/Vlib/poly.c M lib/vector/Vlib/read.c M lib/vector/Vlib/read_nat.c M lib/vector/Vlib/read_ogr.c M lib/vector/Vlib/read_pg.c M lib/vector/Vlib/read_sfa.c M lib/vector/Vlib/remove_areas.c M lib/vector/Vlib/remove_duplicates.c M lib/vector/Vlib/rewind.c M lib/vector/Vlib/rewind_nat.c M lib/vector/Vlib/rewind_ogr.c M lib/vector/Vlib/rewind_pg.c M lib/vector/Vlib/rtree_search.c M lib/vector/Vlib/select.c M lib/vector/Vlib/simple_features.c M lib/vector/Vlib/sindex.c M lib/vector/Vlib/snap.c M lib/vector/Vlib/tin.c M lib/vector/Vlib/type.c M lib/vector/Vlib/window.c M lib/vector/Vlib/write.c M lib/vector/Vlib/write_nat.c M lib/vector/Vlib/write_ogr.c M lib/vector/Vlib/write_pg.c M lib/vector/Vlib/write_sfa.c M lib/vector/dglib/edgemgmt-template.c M lib/vector/dglib/examples/components.c M lib/vector/dglib/examples/cr_from_a.c M lib/vector/dglib/examples/cr_large_graph.c M lib/vector/dglib/examples/delnode.c M lib/vector/dglib/examples/minspan.c M lib/vector/dglib/examples/opt.c M lib/vector/dglib/examples/opt.h M lib/vector/dglib/examples/parse.c M lib/vector/dglib/examples/shortest_path.c M lib/vector/dglib/examples/span.c M lib/vector/dglib/examples/unflatten.c M lib/vector/dglib/examples/view.c M lib/vector/dglib/graph.c M lib/vector/dglib/graph.h M lib/vector/dglib/graph_v1.c M lib/vector/dglib/graph_v1.h M lib/vector/dglib/graph_v2.c M lib/vector/dglib/graph_v2.h M lib/vector/dglib/heap.c M lib/vector/dglib/heap.h M lib/vector/dglib/helpers.c M lib/vector/dglib/helpers.h M lib/vector/dglib/misc-template.c M lib/vector/dglib/nodemgmt-template.c M lib/vector/dglib/sp-template.c M lib/vector/dglib/span-template.c M lib/vector/dglib/tree.c M lib/vector/dglib/tree.h M lib/vector/dglib/type.h M lib/vector/dglib/v1-defs.h M lib/vector/dglib/v2-defs.h M lib/vector/diglib/file.c M lib/vector/diglib/port_init.c M lib/vector/diglib/portable.c M lib/vector/diglib/spindex.c M lib/vector/diglib/spindex_rw.c M lib/vector/diglib/update.c M lib/vector/neta/articulation_point.c M lib/vector/neta/bridge.c M lib/vector/neta/centrality.c M lib/vector/neta/components.c M lib/vector/neta/flow.c M lib/vector/neta/path.c M lib/vector/neta/spanningtree.c M lib/vector/neta/timetables.c M lib/vector/neta/utils.c M lib/vector/rtree/index.c M lib/vector/vedit/break.c M lib/vector/vedit/cats.c M lib/vector/vedit/chtype.c M lib/vector/vedit/copy.c M lib/vector/vedit/delete.c M lib/vector/vedit/distance.c M lib/vector/vedit/extend.c M lib/vector/vedit/flip.c M lib/vector/vedit/merge.c M lib/vector/vedit/move.c M lib/vector/vedit/render.c M lib/vector/vedit/select.c M lib/vector/vedit/snap.c M lib/vector/vedit/vertex.c M lib/vector/vedit/zbulk.c M macos/files/main.m M macos/files/main.swift M man/build.py M man/build_check_rest.py M man/build_class.py M man/build_class_rest.py M man/build_full_index.py M man/build_full_index_rest.py M man/build_index.py M man/build_index_rest.py M man/build_manpages.py M man/build_rest.py M man/build_topics.py M man/parser_standard_options.py M misc/m.nviz.image/args.c M misc/m.nviz.image/cplane.c M misc/m.nviz.image/surface.c M misc/m.nviz.image/vector.c M misc/m.nviz.image/volume.c M misc/m.nviz.image/write_img.c M msvc/fcntl.c M msvc/fcntl.h M python/grass/app/data.py M python/grass/app/resource_paths.py M python/grass/app/runtime.py M python/grass/grassdb/checks.py M python/grass/grassdb/config.py M python/grass/grassdb/create.py M python/grass/grassdb/data.py M python/grass/grassdb/history.py M python/grass/grassdb/manage.py M python/grass/gunittest/__init__.py M python/grass/gunittest/case.py M python/grass/gunittest/checkers.py M python/grass/gunittest/gmodules.py M python/grass/gunittest/gutils.py M python/grass/gunittest/invoker.py M python/grass/gunittest/loader.py M python/grass/gunittest/main.py M python/grass/gunittest/multireport.py M python/grass/gunittest/multirunner.py M python/grass/gunittest/reporters.py M python/grass/gunittest/runner.py M python/grass/gunittest/testsuite/test_checkers.py M python/grass/gunittest/utils.py M python/grass/imaging/operations.py M python/grass/pygrass/messages/__init__.py M python/grass/pygrass/modules/testsuite/test_import_isolation.py M python/grass/pygrass/rpc/__init__.py M python/grass/pygrass/rpc/base.py M python/grass/script/array.py M python/grass/script/core.py M python/grass/script/db.py M python/grass/script/imagery.py M python/grass/script/raster.py M python/grass/script/raster3d.py M python/grass/script/setup.py M python/grass/script/task.py M python/grass/script/utils.py M python/grass/script/vector.py M python/grass/temporal/abstract_dataset.py M python/grass/temporal/abstract_map_dataset.py M python/grass/temporal/abstract_space_time_dataset.py M python/grass/temporal/aggregation.py M python/grass/temporal/base.py M python/grass/temporal/c_libraries_interface.py M python/grass/temporal/core.py M python/grass/temporal/datetime_math.py M python/grass/temporal/extract.py M python/grass/temporal/factory.py M python/grass/temporal/gui_support.py M python/grass/temporal/list_stds.py M python/grass/temporal/mapcalc.py M python/grass/temporal/metadata.py M python/grass/temporal/open_stds.py M python/grass/temporal/register.py M python/grass/temporal/sampling.py M python/grass/temporal/space_time_datasets.py M python/grass/temporal/spatial_extent.py M python/grass/temporal/spatial_topology_dataset_connector.py M python/grass/temporal/spatio_temporal_relationships.py M python/grass/temporal/stds_export.py M python/grass/temporal/stds_import.py M python/grass/temporal/temporal_algebra.py M python/grass/temporal/temporal_extent.py M python/grass/temporal/temporal_granularity.py M python/grass/temporal/temporal_operator.py M python/grass/temporal/temporal_raster3d_algebra.py M python/grass/temporal/temporal_raster_algebra.py M python/grass/temporal/temporal_raster_base_algebra.py M python/grass/temporal/temporal_topology_dataset_connector.py M python/grass/temporal/temporal_vector_algebra.py M python/grass/temporal/testsuite/test_mapset_change.py M python/grass/temporal/testsuite/test_register_function.py M python/grass/temporal/testsuite/unittests_temporal_algebra.py M python/grass/temporal/testsuite/unittests_temporal_algebra_grs.py M python/grass/temporal/testsuite/unittests_temporal_algebra_mixed_stds.py M python/grass/temporal/testsuite/unittests_temporal_conditionals.py M python/grass/temporal/testsuite/unittests_temporal_raster3d_algebra.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_equal_ts.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_grs.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_spatial_topology.py M python/grass/temporal/testsuite/unittests_temporal_raster_conditionals.py M python/grass/temporal/testsuite/unittests_temporal_raster_conditionals_complement_else.py M python/grass/temporal/testsuite/unittests_temporal_vector_algebra.py M python/grass/temporal/univar_statistics.py M raster/r.basins.fill/testsuite/test_r_basins_fill.py M raster/r.contour/testsuite/test_r_contour.py M raster/r.in.ascii/testsuite/test_r_in_ascii.py M raster/r.in.pdal/testsuite/test_r_in_pdal_binning.py M raster/r.in.pdal/testsuite/test_r_in_pdal_print.py M raster/r.in.pdal/testsuite/test_r_in_pdal_selection.py M raster/r.info/testsuite/test_r_info.py M raster/r.kappa/testsuite/test_r_kappa.py M raster/r.mode/testsuite/testrmode.py M raster/r.random/testsuite/test_r_random.py M raster/r.random/testsuite/testrandom.py M raster/r.reclass/testsuite/test_r_reclass.py M raster/r.report/testsuite/test_r_report.py M raster/r.smooth.edgepreserve/testsuite/test_r_smooth_edgepreserve.py M raster/r.texture/testsuite/test_rtexture.py M raster/r.texture/testsuite/test_rtexture_parallel.py M raster/r.tile/testsuite/test_r_tile.py M raster/r.tile/testsuite/testrt.py M raster/r.to.vect/testsuite/test_r_to_vect.py M raster/r.what/testsuite/test_r_what.py M raster/r.what/testsuite/testrw.py M raster3d/r3.flow/flowline.c M raster3d/r3.flow/integrate.c M raster3d/r3.flow/interpolate.c M raster3d/r3.in.lidar/filters.c M raster3d/r3.in.lidar/filters.h M raster3d/r3.in.lidar/info.c M raster3d/r3.in.lidar/info.h M raster3d/r3.in.lidar/projection.c M raster3d/r3.in.lidar/projection.h M raster3d/r3.in.lidar/rast_segment.c M raster3d/r3.in.lidar/rast_segment.h M raster3d/r3.in.lidar/string_list.c M raster3d/r3.in.lidar/string_list.h M scripts/r.in.wms/srs.py M scripts/r.in.wms/wms_base.py M scripts/r.in.wms/wms_cap_parsers.py M scripts/r.in.wms/wms_drv.py M scripts/r.in.wms/wms_gdal_drv.py M scripts/r.mapcalc.simple/testsuite/test_rmapcalcsimple.py M scripts/r.reclass.area/testsuite/test_r_reclass_area.py M scripts/r.reclass.area/testsuite/testrra.py M scripts/v.clip/testsuite/test_v_clip.py M scripts/v.what.strds/testsuite/test_what_strds.py M temporal/t.connect/testsuite/test_distr_tgis_db_raster.py M temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py M temporal/t.connect/testsuite/test_distr_tgis_db_vector.py M temporal/t.copy/testsuite/test_t_copy.py M temporal/t.rast.accdetect/testsuite/test_simple.py M temporal/t.rast.accumulate/testsuite/test_accumulation.py M temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py M temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py M temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_arithmetic.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_operators.py M temporal/t.rast.contour/testsuite/test_convert.py M temporal/t.rast.export/testsuite/test_rast_export.py M temporal/t.rast.extract/tests/test_t_rast_extract_pytest.py M temporal/t.rast.extract/testsuite/test_t_rast_extract.py M temporal/t.rast.gapfill/testsuite/test_gapfill.py M temporal/t.rast.import/tests/conftest.py M temporal/t.rast.import/tests/t_rast_import_test.py M temporal/t.rast.mapcalc/tests/conftest.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_basic.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_operators.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_where_pytest.py M temporal/t.rast.series/testsuite/test_series.py M temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py M temporal/t.rast.to.vect/testsuite/test_to_vect.py M temporal/t.rast.univar/testsuite/test_t_rast_univar.py M temporal/t.rast.what/testsuite/test_what.py M temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py M temporal/t.rast3d.extract/testsuite/test_t_rast3d_extract.py M temporal/t.rast3d.univar/testsuite/test_t_rast3d_univar.py M temporal/t.register/tests/conftest.py M temporal/t.register/tests/t_register_file_test.py M temporal/t.register/testsuite/test_t_register_raster.py M temporal/t.register/testsuite/test_t_register_raster_different_local.py M temporal/t.register/testsuite/test_t_register_raster_file.py M temporal/t.register/testsuite/test_t_register_raster_mapmetadata.py M temporal/t.rename/testsuite/test_t_rename.py M temporal/t.shift/testsuite/test_shift.py M temporal/t.snap/testsuite/test_snap.py M temporal/t.support/testsuite/test_support_str3ds.py M temporal/t.support/testsuite/test_support_strds.py M temporal/t.support/testsuite/test_support_stvds.py M temporal/t.unregister/testsuite/test_unregister.py M temporal/t.vect.algebra/testsuite/test_vector_algebra.py M temporal/t.vect.extract/testsuite/test_vect_extract.py M temporal/t.vect.import/tests/conftest.py M temporal/t.vect.import/tests/t_vect_import_test.py M utils/create_python_init_file.py M utils/g.md2man/g.md2man.py M utils/g.md2man/gmd.py M utils/pep8config.txt M utils/ppmrotate.py M utils/thumbnails.py M vector/v.db.select/testsuite/test_v_db_select.py M vector/v.extract/testsuite/test_v_extract.py M vector/v.in.lidar/testsuite/decimation_test.py M vector/v.in.lidar/testsuite/mask_test.py M vector/v.in.lidar/testsuite/test_v_in_lidar_basic.py M vector/v.in.lidar/testsuite/test_v_in_lidar_filter.py M vector/v.in.lidar/vector_mask.c M vector/v.in.pdal/testsuite/test_v_in_pdal_basic.py M vector/v.in.pdal/testsuite/test_v_in_pdal_filter.py M vector/v.out.lidar/testsuite/test_v_out_lidar.py M vector/v.profile/testsuite/test_v_profile.py M vector/v.random/testsuite/test_v_random.py M vector/v.select/testsuite/test_v_select.py M vector/v.to.rast/testsuite/test_v_to_rast.py M vector/v.univar/testsuite/test_v_univar.py M vector/v.vect.stats/testsuite/test_vect_stats.py Log Message: ----------- contributing: Use SPDX copyright tags in unlabeled file headers (#7756) Convert the 1032 files whose copyright notice does not use the labeled COPYRIGHT field: Doxygen file blocks in the C libraries, Python module docstrings in the GUI and the Python packages, and assorted headers. Names and years stay verbatim; each holder gets its own line and year when available, fallback is collective author with or without a year. Files whose notice carries no license text at all get the identifier when the notice is team-held, covered by the repository-wide grant in COPYING, or when all its years fall in the CERL era, in or before 1992. Individual-held notices from 1993 on with no license text are left alone in the change. Vendored code is excluded by directory and by the holder named in the notice. Translation catalogs under locale are excluded: their gettext headers already state the license and are rewritten by the translation platform sync. Files half-converted earlier, carrying an identifier but a legacy notice, are completely converted without duplicating the identifier. The conversion was performed by a deterministic script, not by a language model. The script was created and executed with AI assistance (Claude Code with Opus 4.8 and Fable 5); the decisions are the author's. Commit: a768b6892909c99adfd8fbbfc0f570282c3715ac https://github.com/OSGeo/grass/commit/a768b6892909c99adfd8fbbfc0f570282c3715ac Author: Nicklas Larsson Date: 2026-09-04 (Fri, 04 Sep 2026) Changed paths: M raster/r.in.pdal/info.cpp Log Message: ----------- r.in.pdal: fix new Coverity Scan issues (#7883) introduced with 1c684328ebea801f9838e5723bccd4af6b12001e - Uncaught exception of PointView::setField (CID1685510) - Move reproject_option instead of passed-by-value for reproject->setOptions (CID1685509) Commit: e1f2e41b2b08d84b47b786601c303104bffaf9ea https://github.com/OSGeo/grass/commit/e1f2e41b2b08d84b47b786601c303104bffaf9ea Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M db/drivers/ogr/cursor.c M db/drivers/ogr/db.c M db/drivers/ogr/describe.c M db/drivers/ogr/driver.c M db/drivers/ogr/error.c M db/drivers/ogr/execute.c M db/drivers/ogr/fetch.c M db/drivers/ogr/listtab.c M db/drivers/ogr/select.c M doc/examples/gui/wxpython/dialogs.py M doc/examples/gui/wxpython/frame.py M doc/examples/gui/wxpython/toolbars.py M general/g.proj/testsuite/test_g_proj.py M general/g.rename/testsuite/test_overwrite.py M gui/wxpython/animation/anim.py M gui/wxpython/animation/controller.py M gui/wxpython/animation/data.py M gui/wxpython/animation/dialogs.py M gui/wxpython/animation/frame.py M gui/wxpython/animation/mapwindow.py M gui/wxpython/animation/nviztask.py M gui/wxpython/animation/panels.py M gui/wxpython/animation/provider.py M gui/wxpython/animation/temporal_manager.py M gui/wxpython/animation/toolbars.py M gui/wxpython/animation/utils.py M gui/wxpython/core/debug.py M gui/wxpython/core/gcmd.py M gui/wxpython/core/gconsole.py M gui/wxpython/core/giface.py M gui/wxpython/core/globalvar.py M gui/wxpython/core/gthread.py M gui/wxpython/core/layerlist.py M gui/wxpython/core/menutree.py M gui/wxpython/core/render.py M gui/wxpython/core/settings.py M gui/wxpython/core/toolboxes.py M gui/wxpython/core/treemodel.py M gui/wxpython/core/units.py M gui/wxpython/core/utils.py M gui/wxpython/core/watchdog.py M gui/wxpython/core/workspace.py M gui/wxpython/core/ws.py M gui/wxpython/datacatalog/catalog.py M gui/wxpython/datacatalog/dialogs.py M gui/wxpython/datacatalog/frame.py M gui/wxpython/datacatalog/infomanager.py M gui/wxpython/datacatalog/toolbars.py M gui/wxpython/datacatalog/tree.py M gui/wxpython/dbmgr/base.py M gui/wxpython/dbmgr/dialogs.py M gui/wxpython/dbmgr/manager.py M gui/wxpython/dbmgr/sqlbuilder.py M gui/wxpython/dbmgr/vinfo.py M gui/wxpython/gcp/manager.py M gui/wxpython/gcp/mapdisplay.py M gui/wxpython/gcp/statusbar.py M gui/wxpython/gcp/toolbars.py M gui/wxpython/gmodeler/canvas.py M gui/wxpython/gmodeler/dialogs.py M gui/wxpython/gmodeler/frame.py M gui/wxpython/gmodeler/giface.py M gui/wxpython/gmodeler/menudata.py M gui/wxpython/gmodeler/model.py M gui/wxpython/gmodeler/model_convert.py M gui/wxpython/gmodeler/model_items.py M gui/wxpython/gmodeler/panels.py M gui/wxpython/gmodeler/preferences.py M gui/wxpython/gmodeler/toolbars.py M gui/wxpython/gui_core/dialogs.py M gui/wxpython/gui_core/ghelp.py M gui/wxpython/gui_core/goutput.py M gui/wxpython/gui_core/gselect.py M gui/wxpython/gui_core/infobar.py M gui/wxpython/gui_core/mapdisp.py M gui/wxpython/gui_core/menu.py M gui/wxpython/gui_core/preferences.py M gui/wxpython/gui_core/prompt.py M gui/wxpython/gui_core/pyedit.py M gui/wxpython/gui_core/pystc.py M gui/wxpython/gui_core/query.py M gui/wxpython/gui_core/simplelmgr.py M gui/wxpython/gui_core/toolbars.py M gui/wxpython/gui_core/treeview.py M gui/wxpython/gui_core/vselect.py M gui/wxpython/gui_core/widgets.py M gui/wxpython/gui_core/wrap.py M gui/wxpython/history/browser.py M gui/wxpython/history/tree.py M gui/wxpython/iclass/dialogs.py M gui/wxpython/iclass/digit.py M gui/wxpython/iclass/frame.py M gui/wxpython/iclass/plots.py M gui/wxpython/iclass/statistics.py M gui/wxpython/iclass/toolbars.py M gui/wxpython/icons/icon.py M gui/wxpython/image2target/ii2t_gis_set.py M gui/wxpython/image2target/ii2t_gis_set_error.py M gui/wxpython/image2target/ii2t_manager.py M gui/wxpython/image2target/ii2t_mapdisplay.py M gui/wxpython/image2target/ii2t_statusbar.py M gui/wxpython/image2target/ii2t_toolbars.py M gui/wxpython/iscatt/controllers.py M gui/wxpython/iscatt/core_c.py M gui/wxpython/iscatt/dialogs.py M gui/wxpython/iscatt/frame.py M gui/wxpython/iscatt/iscatt_core.py M gui/wxpython/iscatt/plots.py M gui/wxpython/iscatt/toolbars.py M gui/wxpython/iscatt/utils.py M gui/wxpython/jupyter_notebook/dialogs.py M gui/wxpython/jupyter_notebook/environment.py M gui/wxpython/jupyter_notebook/frame.py M gui/wxpython/jupyter_notebook/notebook.py M gui/wxpython/jupyter_notebook/panel.py M gui/wxpython/jupyter_notebook/server.py M gui/wxpython/jupyter_notebook/storage.py M gui/wxpython/jupyter_notebook/toolbars.py M gui/wxpython/jupyter_notebook/utils.py M gui/wxpython/lmgr/frame.py M gui/wxpython/lmgr/giface.py M gui/wxpython/lmgr/layertree.py M gui/wxpython/lmgr/menudata.py M gui/wxpython/lmgr/pyshell.py M gui/wxpython/lmgr/statusbar.py M gui/wxpython/lmgr/toolbars.py M gui/wxpython/lmgr/workspace.py M gui/wxpython/location_wizard/base.py M gui/wxpython/location_wizard/dialogs.py M gui/wxpython/location_wizard/wizard.py M gui/wxpython/main_window/frame.py M gui/wxpython/main_window/notebook.py M gui/wxpython/main_window/page.py M gui/wxpython/mapdisp/frame.py M gui/wxpython/mapdisp/gprint.py M gui/wxpython/mapdisp/main.py M gui/wxpython/mapdisp/properties.py M gui/wxpython/mapdisp/statusbar.py M gui/wxpython/mapdisp/toolbars.py M gui/wxpython/mapswipe/dialogs.py M gui/wxpython/mapswipe/frame.py M gui/wxpython/mapswipe/mapwindow.py M gui/wxpython/mapswipe/toolbars.py M gui/wxpython/mapwin/analysis.py M gui/wxpython/mapwin/base.py M gui/wxpython/mapwin/buffered.py M gui/wxpython/mapwin/decorations.py M gui/wxpython/mapwin/graphics.py M gui/wxpython/modules/colorrules.py M gui/wxpython/modules/extensions.py M gui/wxpython/modules/histogram.py M gui/wxpython/modules/import_export.py M gui/wxpython/modules/mcalc_builder.py M gui/wxpython/nviz/animation.py M gui/wxpython/nviz/main.py M gui/wxpython/nviz/mapwindow.py M gui/wxpython/nviz/preferences.py M gui/wxpython/nviz/tools.py M gui/wxpython/nviz/workspace.py M gui/wxpython/nviz/wxnviz.py M gui/wxpython/photo2image/ip2i_manager.py M gui/wxpython/photo2image/ip2i_mapdisplay.py M gui/wxpython/photo2image/ip2i_statusbar.py M gui/wxpython/photo2image/ip2i_toolbars.py M gui/wxpython/psmap/dialogs.py M gui/wxpython/psmap/frame.py M gui/wxpython/psmap/instructions.py M gui/wxpython/psmap/menudata.py M gui/wxpython/psmap/toolbars.py M gui/wxpython/psmap/utils.py M gui/wxpython/rdigit/controller.py M gui/wxpython/rdigit/dialogs.py M gui/wxpython/rdigit/toolbars.py M gui/wxpython/rlisetup/sampling_frame.py M gui/wxpython/rlisetup/wizard.py M gui/wxpython/startup/guiutils.py M gui/wxpython/startup/locdownload.py M gui/wxpython/timeline/frame.py M gui/wxpython/tools/build_modules_xml.py M gui/wxpython/tools/update_menudata.py M gui/wxpython/tplot/frame.py M gui/wxpython/vdigit/dialogs.py M gui/wxpython/vdigit/main.py M gui/wxpython/vdigit/mapwindow.py M gui/wxpython/vdigit/preferences.py M gui/wxpython/vdigit/toolbars.py M gui/wxpython/vdigit/wxdigit.py M gui/wxpython/vdigit/wxdisplay.py M gui/wxpython/vnet/dialogs.py M gui/wxpython/vnet/toolbars.py M gui/wxpython/vnet/vnet_core.py M gui/wxpython/vnet/vnet_data.py M gui/wxpython/vnet/vnet_utils.py M gui/wxpython/vnet/widgets.py M gui/wxpython/web_services/cap_interface.py M gui/wxpython/web_services/dialogs.py M gui/wxpython/web_services/widgets.py M gui/wxpython/wxgui.py M gui/wxpython/wxplot/base.py M gui/wxpython/wxplot/dialogs.py M gui/wxpython/wxplot/histogram.py M gui/wxpython/wxplot/profile.py M gui/wxpython/wxplot/scatter.py M gui/xml/grass-interface.dtd M imagery/i.gensig/testsuite/test_i_gensig.py M imagery/i.maxlik/testsuite/test_i_maxlik.py M imagery/i.pca/testsuite/test_pca.py M imagery/i.segment/ngbrtree.c M imagery/i.segment/regtree.c M imagery/i.segment/testsuite/test_isegment.py M imagery/i.svm.predict/testsuite/test_i_svm_predict.py M imagery/i.svm.train/testsuite/test_i_svm_train.py M imagery/i.vi/testsuite/test_vi.py M include/grass/dbmi.h M include/grass/ogsf.h M lib/btree2/kdtree.c M lib/btree2/kdtree.h M lib/btree2/rbtree.c M lib/cairodriver/box.c M lib/cairodriver/cairodriver.h M lib/cairodriver/color.c M lib/cairodriver/draw_bitmap.c M lib/cairodriver/driver.c M lib/cairodriver/erase.c M lib/cairodriver/graph.c M lib/cairodriver/line_width.c M lib/cairodriver/raster.c M lib/cairodriver/read.c M lib/cairodriver/read_bmp.c M lib/cairodriver/read_ppm.c M lib/cairodriver/set_window.c M lib/cairodriver/text.c M lib/cairodriver/write.c M lib/cairodriver/write_bmp.c M lib/cairodriver/write_ppm.c M lib/cluster/c_assign.c M lib/cluster/c_begin.c M lib/cluster/c_clear.c M lib/cluster/c_distinct.c M lib/cluster/c_exec.c M lib/cluster/c_execmem.c M lib/cluster/c_means.c M lib/cluster/c_merge.c M lib/cluster/c_nclasses.c M lib/cluster/c_point.c M lib/cluster/c_reassign.c M lib/cluster/c_reclass.c M lib/cluster/c_sep.c M lib/cluster/c_sig.c M lib/cluster/c_sum2.c M lib/db/dbmi_base/alloc.c M lib/db/dbmi_base/case.c M lib/db/dbmi_base/column.c M lib/db/dbmi_base/columnfmt.c M lib/db/dbmi_base/connect.c M lib/db/dbmi_base/cursor.c M lib/db/dbmi_base/datetime.c M lib/db/dbmi_base/dbmscap.c M lib/db/dbmi_base/default_name.c M lib/db/dbmi_base/dirent.c M lib/db/dbmi_base/error.c M lib/db/dbmi_base/handle.c M lib/db/dbmi_base/index.c M lib/db/dbmi_base/interval.c M lib/db/dbmi_base/isdir.c M lib/db/dbmi_base/legal_dbname.c M lib/db/dbmi_base/login.c M lib/db/dbmi_base/ret_codes.c M lib/db/dbmi_base/sqlCtype.c M lib/db/dbmi_base/sqltype.c M lib/db/dbmi_base/string.c M lib/db/dbmi_base/strip.c M lib/db/dbmi_base/table.c M lib/db/dbmi_base/token.c M lib/db/dbmi_base/value.c M lib/db/dbmi_base/valuefmt.c M lib/db/dbmi_base/whoami.c M lib/db/dbmi_base/xdr.c M lib/db/dbmi_base/xdrchar.c M lib/db/dbmi_base/xdrcolumn.c M lib/db/dbmi_base/xdrdatetime.c M lib/db/dbmi_base/xdrdouble.c M lib/db/dbmi_base/xdrfloat.c M lib/db/dbmi_base/xdrhandle.c M lib/db/dbmi_base/xdrindex.c M lib/db/dbmi_base/xdrint.c M lib/db/dbmi_base/xdrprocedure.c M lib/db/dbmi_base/xdrshort.c M lib/db/dbmi_base/xdrstring.c M lib/db/dbmi_base/xdrtable.c M lib/db/dbmi_base/xdrtoken.c M lib/db/dbmi_base/xdrvalue.c M lib/db/dbmi_base/zero.c M lib/db/dbmi_client/c_add_col.c M lib/db/dbmi_client/c_bindupdate.c M lib/db/dbmi_client/c_close_cur.c M lib/db/dbmi_client/c_closedb.c M lib/db/dbmi_client/c_create_idx.c M lib/db/dbmi_client/c_create_tab.c M lib/db/dbmi_client/c_createdb.c M lib/db/dbmi_client/c_delete.c M lib/db/dbmi_client/c_deletedb.c M lib/db/dbmi_client/c_desc_table.c M lib/db/dbmi_client/c_drop_col.c M lib/db/dbmi_client/c_drop_index.c M lib/db/dbmi_client/c_drop_tab.c M lib/db/dbmi_client/c_execute.c M lib/db/dbmi_client/c_fetch.c M lib/db/dbmi_client/c_finddb.c M lib/db/dbmi_client/c_insert.c M lib/db/dbmi_client/c_list_drivers.c M lib/db/dbmi_client/c_list_idx.c M lib/db/dbmi_client/c_list_tabs.c M lib/db/dbmi_client/c_listdb.c M lib/db/dbmi_client/c_opendb.c M lib/db/dbmi_client/c_openinsert.c M lib/db/dbmi_client/c_openselect.c M lib/db/dbmi_client/c_openupdate.c M lib/db/dbmi_client/c_priv.c M lib/db/dbmi_client/c_rows.c M lib/db/dbmi_client/c_update.c M lib/db/dbmi_client/c_version.c M lib/db/dbmi_client/column.c M lib/db/dbmi_client/copy_tab.c M lib/db/dbmi_client/db.c M lib/db/dbmi_client/delete_tab.c M lib/db/dbmi_client/handler.c M lib/db/dbmi_client/printtab.c M lib/db/dbmi_client/select.c M lib/db/dbmi_client/shutdown.c M lib/db/dbmi_client/start.c M lib/db/dbmi_client/table.c M lib/db/dbmi_driver/d_add_col.c M lib/db/dbmi_driver/d_bindupdate.c M lib/db/dbmi_driver/d_close_cur.c M lib/db/dbmi_driver/d_closedb.c M lib/db/dbmi_driver/d_create_idx.c M lib/db/dbmi_driver/d_create_tab.c M lib/db/dbmi_driver/d_createdb.c M lib/db/dbmi_driver/d_delete.c M lib/db/dbmi_driver/d_deletedb.c M lib/db/dbmi_driver/d_desc_table.c M lib/db/dbmi_driver/d_drop_col.c M lib/db/dbmi_driver/d_drop_index.c M lib/db/dbmi_driver/d_drop_tab.c M lib/db/dbmi_driver/d_error.c M lib/db/dbmi_driver/d_execute.c M lib/db/dbmi_driver/d_fetch.c M lib/db/dbmi_driver/d_finddb.c M lib/db/dbmi_driver/d_insert.c M lib/db/dbmi_driver/d_list_idx.c M lib/db/dbmi_driver/d_list_tabs.c M lib/db/dbmi_driver/d_listdb.c M lib/db/dbmi_driver/d_mkdir.c M lib/db/dbmi_driver/d_opendb.c M lib/db/dbmi_driver/d_openinsert.c M lib/db/dbmi_driver/d_openselect.c M lib/db/dbmi_driver/d_openupdate.c M lib/db/dbmi_driver/d_priv.c M lib/db/dbmi_driver/d_rows.c M lib/db/dbmi_driver/d_update.c M lib/db/dbmi_driver/d_version.c M lib/db/dbmi_driver/driver.c M lib/db/dbmi_driver/driver_state.c M lib/display/icon.c M lib/display/r_raster.c M lib/display/raster.c M lib/display/setup.c M lib/driver/init.c M lib/driver/parse_ftcap.c M lib/gis/adj_cellhd.c M lib/gis/alloc.c M lib/gis/aprintf.c M lib/gis/area.c M lib/gis/area_ellipse.c M lib/gis/area_poly1.c M lib/gis/area_poly2.c M lib/gis/area_sphere.c M lib/gis/ascii_chk.c M lib/gis/basename.c M lib/gis/bres_line.c M lib/gis/color_rules.c M lib/gis/color_str.c M lib/gis/commas.c M lib/gis/copy_dir.c M lib/gis/date.c M lib/gis/debug.c M lib/gis/distance.c M lib/gis/done_msg.c M lib/gis/endian.c M lib/gis/env.c M lib/gis/error.c M lib/gis/file_name.c M lib/gis/find_file.c M lib/gis/find_rast.c M lib/gis/find_vect.c M lib/gis/geodist.c M lib/gis/get_ellipse.c M lib/gis/get_projinfo.c M lib/gis/get_window.c M lib/gis/getl.c M lib/gis/gisdbase.c M lib/gis/gisinit.c M lib/gis/handler.c M lib/gis/home.c M lib/gis/is.c M lib/gis/key_value1.c M lib/gis/key_value2.c M lib/gis/key_value3.c M lib/gis/key_value4.c M lib/gis/legal_name.c M lib/gis/list.c M lib/gis/locale.c M lib/gis/location.c M lib/gis/lrand48.c M lib/gis/ls.c M lib/gis/ls_filter.c M lib/gis/make_loc.c M lib/gis/make_mapset.c M lib/gis/mapset.c M lib/gis/mapset_msc.c M lib/gis/mapset_nme.c M lib/gis/mkstemp.c M lib/gis/myname.c M lib/gis/nme_in_mps.c M lib/gis/open.c M lib/gis/overwrite.c M lib/gis/parser.c M lib/gis/parser_dependencies.c M lib/gis/parser_help.c M lib/gis/parser_html.c M lib/gis/parser_interface.c M lib/gis/parser_json.c M lib/gis/parser_md.c M lib/gis/parser_md_cli.c M lib/gis/parser_md_common.c M lib/gis/parser_md_python.c M lib/gis/parser_rest.c M lib/gis/parser_standard_options.c M lib/gis/percent.c M lib/gis/plot.c M lib/gis/pole_in_poly.c M lib/gis/progrm_nme.c M lib/gis/proj1.c M lib/gis/proj2.c M lib/gis/proj3.c M lib/gis/put_window.c M lib/gis/putenv.c M lib/gis/radii.c M lib/gis/rd_cellhd.c M lib/gis/remove.c M lib/gis/rename.c M lib/gis/rhumbline.c M lib/gis/rotate.c M lib/gis/seek.c M lib/gis/set_window.c M lib/gis/short_way.c M lib/gis/snprintf.c M lib/gis/spawn.c M lib/gis/strings.c M lib/gis/tempfile.c M lib/gis/testsuite/test_parser_json.py M lib/gis/timestamp.c M lib/gis/token.c M lib/gis/trim_dec.c M lib/gis/units.c M lib/gis/user_config.c M lib/gis/verbose.c M lib/gis/view.c M lib/gis/whoami.c M lib/gis/wind_2_box.c M lib/gis/wind_format.c M lib/gis/wind_limits.c M lib/gis/wind_overlap.c M lib/gis/wind_scan.c M lib/gis/window_map.c M lib/gis/worker.c M lib/gis/wr_cellhd.c M lib/gis/writ_zeros.c M lib/gis/xdr.c M lib/gis/zero.c M lib/imagery/iclass.c M lib/imagery/iclass_bands.c M lib/imagery/iclass_local_proto.h M lib/imagery/iclass_perimeter.c M lib/imagery/iclass_signatures.c M lib/imagery/iclass_statistics.c M lib/imagery/iscatt_core.c M lib/imagery/iscatt_structs.c M lib/imagery/list_gp.c M lib/imagery/list_subgp.c M lib/imagery/manage_signatures.c M lib/imagery/sigfile.c M lib/imagery/sigsetfile.c M lib/manage/add_elem.c M lib/manage/do_copy.c M lib/manage/do_list.c M lib/manage/do_remove.c M lib/manage/do_rename.c M lib/manage/empty.c M lib/manage/find.c M lib/manage/get_len.c M lib/manage/list.c M lib/manage/option.c M lib/manage/read_list.c M lib/manage/show_elem.c M lib/manage/sighold.c M lib/nviz/change_view.c M lib/nviz/cplanes_obj.c M lib/nviz/draw.c M lib/nviz/exag.c M lib/nviz/lights.c M lib/nviz/map_obj.c M lib/nviz/nviz.c M lib/nviz/position.c M lib/nviz/render.c M lib/ogsf/gk.c M lib/ogsf/gk2.c M lib/ogsf/gp.c M lib/ogsf/gp2.c M lib/ogsf/gp3.c M lib/ogsf/gpd.c M lib/ogsf/gs.c M lib/ogsf/gs2.c M lib/ogsf/gs3.c M lib/ogsf/gs_bm.c M lib/ogsf/gs_norms.c M lib/ogsf/gs_query.c M lib/ogsf/gs_util.c M lib/ogsf/gsd_cplane.c M lib/ogsf/gsd_fonts.c M lib/ogsf/gsd_fringe.c M lib/ogsf/gsd_label.c M lib/ogsf/gsd_legend.c M lib/ogsf/gsd_objs.c M lib/ogsf/gsd_prim.c M lib/ogsf/gsd_surf.c M lib/ogsf/gsd_views.c M lib/ogsf/gsd_wire.c M lib/ogsf/gsdiff.c M lib/ogsf/gsdrape.c M lib/ogsf/gsds.c M lib/ogsf/gsget.c M lib/ogsf/gsx.c M lib/ogsf/gv.c M lib/ogsf/gv2.c M lib/ogsf/gv3.c M lib/ogsf/gv_quick.c M lib/ogsf/gvd.c M lib/ogsf/gvl.c M lib/ogsf/gvl2.c M lib/ogsf/gvl3.c M lib/ogsf/gvl_calc.c M lib/ogsf/gvl_calc2.c M lib/ogsf/gvl_file.c M lib/ogsf/gvld.c M lib/ogsf/mc33_table.h M lib/ogsf/trans.c M lib/pngdriver/box.c M lib/pngdriver/color.c M lib/pngdriver/draw.c M lib/pngdriver/draw_bitmap.c M lib/pngdriver/driver.c M lib/pngdriver/erase.c M lib/pngdriver/graph_close.c M lib/pngdriver/graph_set.c M lib/pngdriver/line_width.c M lib/pngdriver/pngdriver.h M lib/pngdriver/point.c M lib/pngdriver/polygon.c M lib/pngdriver/raster.c M lib/pngdriver/read.c M lib/pngdriver/read_bmp.c M lib/pngdriver/read_png.c M lib/pngdriver/read_ppm.c M lib/pngdriver/set_window.c M lib/pngdriver/write.c M lib/pngdriver/write_bmp.c M lib/pngdriver/write_png.c M lib/pngdriver/write_ppm.c M lib/proj/convert.c M lib/proj/datum.c M lib/proj/do_proj.c M lib/proj/ellipse.c M lib/proj/get_proj.c M lib/proj/local_proto.h M lib/psdriver/draw.c M lib/raster/align_window.c M lib/raster/alloc_cell.c M lib/raster/auto_mask.c M lib/raster/cats.c M lib/raster/cell_stats.c M lib/raster/close.c M lib/raster/color_compat.c M lib/raster/color_free.c M lib/raster/color_get.c M lib/raster/color_hist.c M lib/raster/color_init.c M lib/raster/color_invrt.c M lib/raster/color_look.c M lib/raster/color_out.c M lib/raster/color_range.c M lib/raster/color_read.c M lib/raster/color_remove.c M lib/raster/color_rule.c M lib/raster/color_rule_get.c M lib/raster/color_rules.c M lib/raster/color_set.c M lib/raster/color_shift.c M lib/raster/color_write.c M lib/raster/color_xform.c M lib/raster/gdal.c M lib/raster/get_cellhd.c M lib/raster/get_row.c M lib/raster/get_row_colr.c M lib/raster/history.c M lib/raster/init.c M lib/raster/interp.c M lib/raster/json_color_out.c M lib/raster/mask_info.c M lib/raster/maskfd.c M lib/raster/null_val.c M lib/raster/open.c M lib/raster/put_cellhd.c M lib/raster/put_row.c M lib/raster/quant.c M lib/raster/quant_io.c M lib/raster/quant_rw.c M lib/raster/range.c M lib/raster/raster.c M lib/raster/reclass.c M lib/raster/sample.c M lib/raster/set_window.c M lib/raster/vrt.c M lib/raster/window.c M lib/raster/window_map.c M lib/raster/zero_cell.c M lib/raster3d/close.c M lib/raster3d/gradient.c M lib/rowio/fileno.c M lib/rowio/forget.c M lib/rowio/get.c M lib/rowio/put.c M lib/rowio/setup.c M lib/rst/data/dataquad.c M lib/rst/data/dataquad.h M lib/rst/interp_float/distance.c M lib/rst/interp_float/func2d.c M lib/rst/interp_float/init2d.c M lib/rst/interp_float/input2d.c M lib/rst/interp_float/interp2d.c M lib/rst/interp_float/matrix.c M lib/rst/interp_float/minmax.c M lib/rst/interp_float/output2d.c M lib/rst/interp_float/point2d.c M lib/rst/interp_float/point2d_parallel.c M lib/rst/interp_float/resout2d.c M lib/rst/interp_float/ressegm2d.c M lib/rst/interp_float/secpar2d.c M lib/rst/interp_float/segmen2d.c M lib/rst/interp_float/segmen2d_parallel.c M lib/rst/interp_float/vinput2d.c M lib/rst/interp_float/write2d.c M lib/rst/qtree/qtree.c M lib/rst/qtree/qtree.h M lib/temporal/lib/connect.c M lib/temporal/lib/default_name.c M lib/vector/Vlib/area.c M lib/vector/Vlib/area_pg.c M lib/vector/Vlib/array.c M lib/vector/Vlib/ascii.c M lib/vector/Vlib/box.c M lib/vector/Vlib/break_lines.c M lib/vector/Vlib/break_polygons.c M lib/vector/Vlib/bridges.c M lib/vector/Vlib/buffer.c M lib/vector/Vlib/buffer2.c M lib/vector/Vlib/build.c M lib/vector/Vlib/build_nat.c M lib/vector/Vlib/build_ogr.c M lib/vector/Vlib/build_pg.c M lib/vector/Vlib/build_sfa.c M lib/vector/Vlib/cats.c M lib/vector/Vlib/cindex.c M lib/vector/Vlib/clean_nodes.c M lib/vector/Vlib/close.c M lib/vector/Vlib/close_nat.c M lib/vector/Vlib/close_ogr.c M lib/vector/Vlib/close_pg.c M lib/vector/Vlib/color_read.c M lib/vector/Vlib/color_remove.c M lib/vector/Vlib/color_write.c M lib/vector/Vlib/constraint.c M lib/vector/Vlib/copy.c M lib/vector/Vlib/dangles.c M lib/vector/Vlib/dbcolumns.c M lib/vector/Vlib/dgraph.c M lib/vector/Vlib/e_intersect.c M lib/vector/Vlib/field.c M lib/vector/Vlib/find.c M lib/vector/Vlib/geos.c M lib/vector/Vlib/geos_to_wktb.c M lib/vector/Vlib/graph.c M lib/vector/Vlib/handler.c M lib/vector/Vlib/header.c M lib/vector/Vlib/header_finfo.c M lib/vector/Vlib/hist.c M lib/vector/Vlib/init_head.c M lib/vector/Vlib/intersect.c M lib/vector/Vlib/intersect2.c M lib/vector/Vlib/legal_vname.c M lib/vector/Vlib/level.c M lib/vector/Vlib/level_two.c M lib/vector/Vlib/line.c M lib/vector/Vlib/list.c M lib/vector/Vlib/map.c M lib/vector/Vlib/merge_lines.c M lib/vector/Vlib/net_analyze.c M lib/vector/Vlib/net_build.c M lib/vector/Vlib/open.c M lib/vector/Vlib/open_nat.c M lib/vector/Vlib/open_ogr.c M lib/vector/Vlib/open_pg.c M lib/vector/Vlib/overlap.c M lib/vector/Vlib/overlay.c M lib/vector/Vlib/poly.c M lib/vector/Vlib/read.c M lib/vector/Vlib/read_nat.c M lib/vector/Vlib/read_ogr.c M lib/vector/Vlib/read_pg.c M lib/vector/Vlib/read_sfa.c M lib/vector/Vlib/remove_areas.c M lib/vector/Vlib/remove_duplicates.c M lib/vector/Vlib/rewind.c M lib/vector/Vlib/rewind_nat.c M lib/vector/Vlib/rewind_ogr.c M lib/vector/Vlib/rewind_pg.c M lib/vector/Vlib/rtree_search.c M lib/vector/Vlib/select.c M lib/vector/Vlib/simple_features.c M lib/vector/Vlib/sindex.c M lib/vector/Vlib/snap.c M lib/vector/Vlib/tin.c M lib/vector/Vlib/type.c M lib/vector/Vlib/window.c M lib/vector/Vlib/write.c M lib/vector/Vlib/write_nat.c M lib/vector/Vlib/write_ogr.c M lib/vector/Vlib/write_pg.c M lib/vector/Vlib/write_sfa.c M lib/vector/dglib/edgemgmt-template.c M lib/vector/dglib/examples/components.c M lib/vector/dglib/examples/cr_from_a.c M lib/vector/dglib/examples/cr_large_graph.c M lib/vector/dglib/examples/delnode.c M lib/vector/dglib/examples/minspan.c M lib/vector/dglib/examples/opt.c M lib/vector/dglib/examples/opt.h M lib/vector/dglib/examples/parse.c M lib/vector/dglib/examples/shortest_path.c M lib/vector/dglib/examples/span.c M lib/vector/dglib/examples/unflatten.c M lib/vector/dglib/examples/view.c M lib/vector/dglib/graph.c M lib/vector/dglib/graph.h M lib/vector/dglib/graph_v1.c M lib/vector/dglib/graph_v1.h M lib/vector/dglib/graph_v2.c M lib/vector/dglib/graph_v2.h M lib/vector/dglib/heap.c M lib/vector/dglib/heap.h M lib/vector/dglib/helpers.c M lib/vector/dglib/helpers.h M lib/vector/dglib/misc-template.c M lib/vector/dglib/nodemgmt-template.c M lib/vector/dglib/sp-template.c M lib/vector/dglib/span-template.c M lib/vector/dglib/tree.c M lib/vector/dglib/tree.h M lib/vector/dglib/type.h M lib/vector/dglib/v1-defs.h M lib/vector/dglib/v2-defs.h M lib/vector/diglib/file.c M lib/vector/diglib/port_init.c M lib/vector/diglib/portable.c M lib/vector/diglib/spindex.c M lib/vector/diglib/spindex_rw.c M lib/vector/diglib/update.c M lib/vector/neta/articulation_point.c M lib/vector/neta/bridge.c M lib/vector/neta/centrality.c M lib/vector/neta/components.c M lib/vector/neta/flow.c M lib/vector/neta/path.c M lib/vector/neta/spanningtree.c M lib/vector/neta/timetables.c M lib/vector/neta/utils.c M lib/vector/rtree/index.c M lib/vector/vedit/break.c M lib/vector/vedit/cats.c M lib/vector/vedit/chtype.c M lib/vector/vedit/copy.c M lib/vector/vedit/delete.c M lib/vector/vedit/distance.c M lib/vector/vedit/extend.c M lib/vector/vedit/flip.c M lib/vector/vedit/merge.c M lib/vector/vedit/move.c M lib/vector/vedit/render.c M lib/vector/vedit/select.c M lib/vector/vedit/snap.c M lib/vector/vedit/vertex.c M lib/vector/vedit/zbulk.c M macos/files/main.m M macos/files/main.swift M man/build.py M man/build_check_rest.py M man/build_class.py M man/build_class_rest.py M man/build_full_index.py M man/build_full_index_rest.py M man/build_index.py M man/build_index_rest.py M man/build_manpages.py M man/build_rest.py M man/build_topics.py M man/parser_standard_options.py M misc/m.nviz.image/args.c M misc/m.nviz.image/cplane.c M misc/m.nviz.image/surface.c M misc/m.nviz.image/vector.c M misc/m.nviz.image/volume.c M misc/m.nviz.image/write_img.c M msvc/fcntl.c M msvc/fcntl.h M python/grass/app/data.py M python/grass/app/resource_paths.py M python/grass/app/runtime.py M python/grass/grassdb/checks.py M python/grass/grassdb/config.py M python/grass/grassdb/create.py M python/grass/grassdb/data.py M python/grass/grassdb/history.py M python/grass/grassdb/manage.py M python/grass/gunittest/__init__.py M python/grass/gunittest/case.py M python/grass/gunittest/checkers.py M python/grass/gunittest/gmodules.py M python/grass/gunittest/gutils.py M python/grass/gunittest/invoker.py M python/grass/gunittest/loader.py M python/grass/gunittest/main.py M python/grass/gunittest/multireport.py M python/grass/gunittest/multirunner.py M python/grass/gunittest/reporters.py M python/grass/gunittest/runner.py M python/grass/gunittest/testsuite/test_checkers.py M python/grass/gunittest/utils.py M python/grass/imaging/operations.py M python/grass/pygrass/messages/__init__.py M python/grass/pygrass/modules/testsuite/test_import_isolation.py M python/grass/pygrass/rpc/__init__.py M python/grass/pygrass/rpc/base.py M python/grass/script/array.py M python/grass/script/core.py M python/grass/script/db.py M python/grass/script/imagery.py M python/grass/script/raster.py M python/grass/script/raster3d.py M python/grass/script/setup.py M python/grass/script/task.py M python/grass/script/utils.py M python/grass/script/vector.py M python/grass/temporal/abstract_dataset.py M python/grass/temporal/abstract_map_dataset.py M python/grass/temporal/abstract_space_time_dataset.py M python/grass/temporal/aggregation.py M python/grass/temporal/base.py M python/grass/temporal/c_libraries_interface.py M python/grass/temporal/core.py M python/grass/temporal/datetime_math.py M python/grass/temporal/extract.py M python/grass/temporal/factory.py M python/grass/temporal/gui_support.py M python/grass/temporal/list_stds.py M python/grass/temporal/mapcalc.py M python/grass/temporal/metadata.py M python/grass/temporal/open_stds.py M python/grass/temporal/register.py M python/grass/temporal/sampling.py M python/grass/temporal/space_time_datasets.py M python/grass/temporal/spatial_extent.py M python/grass/temporal/spatial_topology_dataset_connector.py M python/grass/temporal/spatio_temporal_relationships.py M python/grass/temporal/stds_export.py M python/grass/temporal/stds_import.py M python/grass/temporal/temporal_algebra.py M python/grass/temporal/temporal_extent.py M python/grass/temporal/temporal_granularity.py M python/grass/temporal/temporal_operator.py M python/grass/temporal/temporal_raster3d_algebra.py M python/grass/temporal/temporal_raster_algebra.py M python/grass/temporal/temporal_raster_base_algebra.py M python/grass/temporal/temporal_topology_dataset_connector.py M python/grass/temporal/temporal_vector_algebra.py M python/grass/temporal/testsuite/test_mapset_change.py M python/grass/temporal/testsuite/test_register_function.py M python/grass/temporal/testsuite/unittests_temporal_algebra.py M python/grass/temporal/testsuite/unittests_temporal_algebra_grs.py M python/grass/temporal/testsuite/unittests_temporal_algebra_mixed_stds.py M python/grass/temporal/testsuite/unittests_temporal_conditionals.py M python/grass/temporal/testsuite/unittests_temporal_raster3d_algebra.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_equal_ts.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_grs.py M python/grass/temporal/testsuite/unittests_temporal_raster_algebra_spatial_topology.py M python/grass/temporal/testsuite/unittests_temporal_raster_conditionals.py M python/grass/temporal/testsuite/unittests_temporal_raster_conditionals_complement_else.py M python/grass/temporal/testsuite/unittests_temporal_vector_algebra.py M python/grass/temporal/univar_statistics.py M raster/r.basins.fill/testsuite/test_r_basins_fill.py M raster/r.contour/testsuite/test_r_contour.py M raster/r.in.ascii/testsuite/test_r_in_ascii.py M raster/r.in.pdal/info.cpp M raster/r.in.pdal/testsuite/test_r_in_pdal_binning.py M raster/r.in.pdal/testsuite/test_r_in_pdal_print.py M raster/r.in.pdal/testsuite/test_r_in_pdal_selection.py M raster/r.info/testsuite/test_r_info.py M raster/r.kappa/testsuite/test_r_kappa.py M raster/r.mfilter/testsuite/test_r_mfilter.py M raster/r.mode/testsuite/testrmode.py M raster/r.random/testsuite/test_r_random.py M raster/r.random/testsuite/testrandom.py M raster/r.reclass/testsuite/test_r_reclass.py M raster/r.report/testsuite/test_r_report.py M raster/r.resamp.rst/main.c M raster/r.smooth.edgepreserve/testsuite/test_r_smooth_edgepreserve.py M raster/r.sun/main.c M raster/r.sun/rsunglobals.h M raster/r.sun/rsunlib.c M raster/r.sun/sunradstruct.h M raster/r.surf.area/main.c M raster/r.texture/testsuite/test_rtexture.py M raster/r.texture/testsuite/test_rtexture_parallel.py M raster/r.tile/testsuite/test_r_tile.py M raster/r.tile/testsuite/testrt.py M raster/r.to.vect/testsuite/test_r_to_vect.py M raster/r.what/testsuite/test_r_what.py M raster/r.what/testsuite/testrw.py M raster3d/r3.flow/flowline.c M raster3d/r3.flow/integrate.c M raster3d/r3.flow/interpolate.c M raster3d/r3.in.lidar/filters.c M raster3d/r3.in.lidar/filters.h M raster3d/r3.in.lidar/info.c M raster3d/r3.in.lidar/info.h M raster3d/r3.in.lidar/projection.c M raster3d/r3.in.lidar/projection.h M raster3d/r3.in.lidar/rast_segment.c M raster3d/r3.in.lidar/rast_segment.h M raster3d/r3.in.lidar/string_list.c M raster3d/r3.in.lidar/string_list.h M scripts/r.in.wms/srs.py M scripts/r.in.wms/wms_base.py M scripts/r.in.wms/wms_cap_parsers.py M scripts/r.in.wms/wms_drv.py M scripts/r.in.wms/wms_gdal_drv.py M scripts/r.mapcalc.simple/testsuite/test_rmapcalcsimple.py M scripts/r.reclass.area/testsuite/test_r_reclass_area.py M scripts/r.reclass.area/testsuite/testrra.py M scripts/v.clip/testsuite/test_v_clip.py M scripts/v.what.strds/testsuite/test_what_strds.py M temporal/t.connect/testsuite/test_distr_tgis_db_raster.py M temporal/t.connect/testsuite/test_distr_tgis_db_raster3d.py M temporal/t.connect/testsuite/test_distr_tgis_db_vector.py M temporal/t.copy/testsuite/test_t_copy.py M temporal/t.rast.accdetect/testsuite/test_simple.py M temporal/t.rast.accumulate/testsuite/test_accumulation.py M temporal/t.rast.aggregate/testsuite/test_aggregation_absolute.py M temporal/t.rast.aggregate/testsuite/test_aggregation_absolute_parallel.py M temporal/t.rast.aggregate/testsuite/test_aggregation_relative.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_arithmetic.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_fails.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_granularity_fails.py M temporal/t.rast.algebra/testsuite/test_raster_algebra_operators.py M temporal/t.rast.contour/testsuite/test_convert.py M temporal/t.rast.export/testsuite/test_rast_export.py M temporal/t.rast.extract/tests/test_t_rast_extract_pytest.py M temporal/t.rast.extract/testsuite/test_t_rast_extract.py M temporal/t.rast.gapfill/testsuite/test_gapfill.py M temporal/t.rast.import/tests/conftest.py M temporal/t.rast.import/tests/t_rast_import_test.py M temporal/t.rast.mapcalc/tests/conftest.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_basic.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_operators.py M temporal/t.rast.mapcalc/tests/test_t_rast_mapcalc_where_pytest.py M temporal/t.rast.series/testsuite/test_series.py M temporal/t.rast.to.rast3/testsuite/test_strds_to_rast3.py M temporal/t.rast.to.vect/testsuite/test_to_vect.py M temporal/t.rast.univar/testsuite/test_t_rast_univar.py M temporal/t.rast.what/testsuite/test_what.py M temporal/t.rast3d.algebra/testsuite/test_raster3d_algebra.py M temporal/t.rast3d.extract/testsuite/test_t_rast3d_extract.py M temporal/t.rast3d.univar/testsuite/test_t_rast3d_univar.py M temporal/t.register/tests/conftest.py M temporal/t.register/tests/t_register_file_test.py M temporal/t.register/testsuite/test_t_register_raster.py M temporal/t.register/testsuite/test_t_register_raster_different_local.py M temporal/t.register/testsuite/test_t_register_raster_file.py M temporal/t.register/testsuite/test_t_register_raster_mapmetadata.py M temporal/t.rename/testsuite/test_t_rename.py M temporal/t.shift/testsuite/test_shift.py M temporal/t.snap/testsuite/test_snap.py M temporal/t.support/testsuite/test_support_str3ds.py M temporal/t.support/testsuite/test_support_strds.py M temporal/t.support/testsuite/test_support_stvds.py M temporal/t.unregister/testsuite/test_unregister.py M temporal/t.vect.algebra/testsuite/test_vector_algebra.py M temporal/t.vect.extract/testsuite/test_vect_extract.py M temporal/t.vect.import/tests/conftest.py M temporal/t.vect.import/tests/t_vect_import_test.py M utils/create_python_init_file.py M utils/g.md2man/g.md2man.py M utils/g.md2man/gmd.py M utils/pep8config.txt M utils/ppmrotate.py M utils/thumbnails.py M vector/v.db.select/testsuite/test_v_db_select.py M vector/v.extract/testsuite/test_v_extract.py M vector/v.in.lidar/testsuite/decimation_test.py M vector/v.in.lidar/testsuite/mask_test.py M vector/v.in.lidar/testsuite/test_v_in_lidar_basic.py M vector/v.in.lidar/testsuite/test_v_in_lidar_filter.py M vector/v.in.lidar/vector_mask.c M vector/v.in.pdal/testsuite/test_v_in_pdal_basic.py M vector/v.in.pdal/testsuite/test_v_in_pdal_filter.py M vector/v.lrs/v.lrs.segment/main.c M vector/v.normal/scancats.c M vector/v.out.lidar/testsuite/test_v_out_lidar.py M vector/v.perturb/fische.c M vector/v.perturb/myrng.c M vector/v.perturb/normal00.c M vector/v.perturb/normalen.c M vector/v.perturb/normalrs.c M vector/v.perturb/normalsv.c M vector/v.perturb/zufall.h M vector/v.profile/testsuite/test_v_profile.py M vector/v.qcount/count.c M vector/v.qcount/findquads.c M vector/v.qcount/indices.c M vector/v.qcount/quaddefs.h M vector/v.random/testsuite/test_v_random.py M vector/v.select/testsuite/test_v_select.py M vector/v.to.rast/testsuite/test_v_to_rast.py M vector/v.univar/testsuite/test_v_univar.py M vector/v.vect.stats/testsuite/test_vect_stats.py Log Message: ----------- Merge branch 'main' into renovate/main-super-linter-super-linter-8.x Compare: https://github.com/OSGeo/grass/compare/38e55220ee9e...e1f2e41b2b08 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 07:07:14 2026 From: noreply at github.com (renovate[bot]) Date: Sat, 05 Sep 2026 07:07:14 -0700 Subject: [GRASS-git] [OSGeo/grass] b393f1: CI(deps): Update pre-commit hook editorconfig-chec... Message-ID: Branch: refs/heads/renovate/main-editorconfig-checker-editorconfig-checker-3.x Home: https://github.com/OSGeo/grass Commit: b393f1f5b591627e83913572417cf19cc0467283 https://github.com/OSGeo/grass/commit/b393f1f5b591627e83913572417cf19cc0467283 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M .pre-commit-config.yaml Log Message: ----------- CI(deps): Update pre-commit hook editorconfig-checker/editorconfig-checker to v3.11.3 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 07:16:54 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 07:16:54 -0700 Subject: [GRASS-git] [OSGeo/grass] 905cf8: editorconfig: Mark files with stray control bytes ... Message-ID: Branch: refs/heads/renovate/main-editorconfig-checker-editorconfig-checker-3.x Home: https://github.com/OSGeo/grass Commit: 905cf8b08cc184503f5cb879e1e0af014ddf5994 https://github.com/OSGeo/grass/commit/905cf8b08cc184503f5cb879e1e0af014ddf5994 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M .editorconfig Log Message: ----------- editorconfig: Mark files with stray control bytes as charset unset editorconfig-checker v3.7.0 added a pre-decode binary-detection check that flags a file as binary (and thus failing the utf-8 charset check) if it contains any C0 control byte, even when the file otherwise decodes as valid UTF-8. Four files in the tree contain such stray control bytes and newly fail with the v3.11.3 bump in this PR: configure (a BEL byte, part of a legitimate autoconf-generated awk field separator), lib/external/ccmath/C01-matrix (vendored third-party code), and raster/r.drain/README and scripts/r.drain/README (a duplicated, historical email preserved as documentation). None of these are appropriate to hand-edit, so mark them charset = unset in .editorconfig, matching the existing convention used for other known non-utf-8 files. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 08:08:29 2026 From: noreply at github.com (OSGeo Weblate) Date: Sat, 05 Sep 2026 08:08:29 -0700 Subject: [GRASS-git] [OSGeo/grass] 437a39: Translations update from OSGeo Weblate (#7889) Message-ID: Branch: refs/heads/releasebranch_8_5 Home: https://github.com/OSGeo/grass Commit: 437a39563a2f40b9d76851e9117943a89d69d40f https://github.com/OSGeo/grass/commit/437a39563a2f40b9d76851e9117943a89d69d40f Author: OSGeo Weblate <97247866+osgeoweblate at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M locale/po/grasslibs_ar.po M locale/po/grasslibs_bn.po M locale/po/grasslibs_cs.po M locale/po/grasslibs_de.po M locale/po/grasslibs_el.po M locale/po/grasslibs_es.po M locale/po/grasslibs_fi.po M locale/po/grasslibs_fr.po M locale/po/grasslibs_hi.po M locale/po/grasslibs_hu.po M locale/po/grasslibs_id_ID.po M locale/po/grasslibs_it.po M locale/po/grasslibs_ja.po M locale/po/grasslibs_ko.po M locale/po/grasslibs_lv.po M locale/po/grasslibs_ml.po M locale/po/grasslibs_pl.po M locale/po/grasslibs_pt.po M locale/po/grasslibs_pt_BR.po M locale/po/grasslibs_ro.po M locale/po/grasslibs_ru.po M locale/po/grasslibs_si.po M locale/po/grasslibs_sl.po M locale/po/grasslibs_sv.po M locale/po/grasslibs_ta.po M locale/po/grasslibs_th.po M locale/po/grasslibs_tr.po M locale/po/grasslibs_uk.po M locale/po/grasslibs_vi.po M locale/po/grasslibs_zh.po M locale/po/grasslibs_zh_Hant.po M locale/po/grassmods_ar.po M locale/po/grassmods_bn.po M locale/po/grassmods_cs.po M locale/po/grassmods_de.po M locale/po/grassmods_el.po M locale/po/grassmods_es.po M locale/po/grassmods_fi.po M locale/po/grassmods_fr.po M locale/po/grassmods_hi.po M locale/po/grassmods_hu.po M locale/po/grassmods_id_ID.po M locale/po/grassmods_it.po M locale/po/grassmods_ja.po M locale/po/grassmods_ko.po M locale/po/grassmods_lv.po M locale/po/grassmods_ml.po M locale/po/grassmods_pl.po M locale/po/grassmods_pt.po M locale/po/grassmods_pt_BR.po M locale/po/grassmods_ro.po M locale/po/grassmods_ru.po M locale/po/grassmods_si.po M locale/po/grassmods_sl.po M locale/po/grassmods_sv.po M locale/po/grassmods_ta.po M locale/po/grassmods_th.po M locale/po/grassmods_tr.po M locale/po/grassmods_uk.po M locale/po/grassmods_vi.po M locale/po/grassmods_zh.po M locale/po/grassmods_zh_Hant.po M locale/po/grasswxpy_ar.po M locale/po/grasswxpy_bn.po M locale/po/grasswxpy_cs.po M locale/po/grasswxpy_de.po M locale/po/grasswxpy_el.po M locale/po/grasswxpy_es.po M locale/po/grasswxpy_fi.po M locale/po/grasswxpy_fr.po M locale/po/grasswxpy_hi.po M locale/po/grasswxpy_hu.po M locale/po/grasswxpy_id_ID.po M locale/po/grasswxpy_it.po M locale/po/grasswxpy_ja.po M locale/po/grasswxpy_ko.po M locale/po/grasswxpy_lv.po M locale/po/grasswxpy_ml.po M locale/po/grasswxpy_pl.po M locale/po/grasswxpy_pt.po M locale/po/grasswxpy_pt_BR.po M locale/po/grasswxpy_ro.po M locale/po/grasswxpy_ru.po M locale/po/grasswxpy_si.po M locale/po/grasswxpy_sl.po M locale/po/grasswxpy_sv.po M locale/po/grasswxpy_ta.po M locale/po/grasswxpy_th.po M locale/po/grasswxpy_tr.po M locale/po/grasswxpy_uk.po M locale/po/grasswxpy_vi.po M locale/po/grasswxpy_zh.po M locale/po/grasswxpy_zh_Hant.po Log Message: ----------- Translations update from OSGeo Weblate (#7889) Translated using Weblate (French) Currently translated at 97.1% (3183 of 3278 strings) Translated using Weblate (French) Currently translated at 36.8% (3717 of 10090 strings) Translated using Weblate (French) Currently translated at 98.2% (1821 of 1854 strings) Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translated using Weblate (French) Currently translated at 36.8% (3717 of 10090 strings) Translated using Weblate (French) Currently translated at 98.2% (1821 of 1854 strings) Translated using Weblate (French) Currently translated at 36.7% (3710 of 10090 strings) Translated using Weblate (French) Currently translated at 98.2% (1822 of 1854 strings) Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grasslibs-8-5/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grasslibs-8-5/fr/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassmods-8-5/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassmods-8-5/fr/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grasswxpy-8-5/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grasswxpy-8-5/fr/ Translation: GRASS/grasslibs 8.5 Translation: GRASS/grassmods 8.5 Translation: GRASS/grasswxpy 8.5 Co-authored-by: Weblate Co-authored-by: Edouard Choiniere To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 08:15:18 2026 From: noreply at github.com (OSGeo Weblate) Date: Sat, 05 Sep 2026 08:15:18 -0700 Subject: [GRASS-git] [OSGeo/grass] 691119: Translations update from OSGeo Weblate (#7890) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 6911193ab7a85dbd78e794d962231cc4f273cbc1 https://github.com/OSGeo/grass/commit/6911193ab7a85dbd78e794d962231cc4f273cbc1 Author: OSGeo Weblate <97247866+osgeoweblate at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M locale/po/grasslibs_ar.po M locale/po/grasslibs_bn.po M locale/po/grasslibs_cs.po M locale/po/grasslibs_de.po M locale/po/grasslibs_el.po M locale/po/grasslibs_es.po M locale/po/grasslibs_fi.po M locale/po/grasslibs_fr.po M locale/po/grasslibs_hi.po M locale/po/grasslibs_hu.po M locale/po/grasslibs_id_ID.po M locale/po/grasslibs_it.po M locale/po/grasslibs_ja.po M locale/po/grasslibs_ko.po M locale/po/grasslibs_lv.po M locale/po/grasslibs_ml.po M locale/po/grasslibs_pl.po M locale/po/grasslibs_pt.po M locale/po/grasslibs_pt_BR.po M locale/po/grasslibs_ro.po M locale/po/grasslibs_ru.po M locale/po/grasslibs_si.po M locale/po/grasslibs_sl.po M locale/po/grasslibs_sv.po M locale/po/grasslibs_ta.po M locale/po/grasslibs_th.po M locale/po/grasslibs_tr.po M locale/po/grasslibs_uk.po M locale/po/grasslibs_vi.po M locale/po/grasslibs_zh.po M locale/po/grasslibs_zh_Hant.po M locale/po/grassmods_ar.po M locale/po/grassmods_bn.po M locale/po/grassmods_cs.po M locale/po/grassmods_de.po M locale/po/grassmods_el.po M locale/po/grassmods_es.po M locale/po/grassmods_fi.po M locale/po/grassmods_fr.po M locale/po/grassmods_hi.po M locale/po/grassmods_hu.po M locale/po/grassmods_id_ID.po M locale/po/grassmods_it.po M locale/po/grassmods_ja.po M locale/po/grassmods_ko.po M locale/po/grassmods_lv.po M locale/po/grassmods_ml.po M locale/po/grassmods_pl.po M locale/po/grassmods_pt.po M locale/po/grassmods_pt_BR.po M locale/po/grassmods_ro.po M locale/po/grassmods_ru.po M locale/po/grassmods_si.po M locale/po/grassmods_sl.po M locale/po/grassmods_sv.po M locale/po/grassmods_ta.po M locale/po/grassmods_th.po M locale/po/grassmods_tr.po M locale/po/grassmods_uk.po M locale/po/grassmods_vi.po M locale/po/grassmods_zh.po M locale/po/grassmods_zh_Hant.po M locale/po/grasswxpy_ar.po M locale/po/grasswxpy_bn.po M locale/po/grasswxpy_cs.po M locale/po/grasswxpy_de.po M locale/po/grasswxpy_el.po M locale/po/grasswxpy_es.po M locale/po/grasswxpy_fi.po M locale/po/grasswxpy_fr.po M locale/po/grasswxpy_hi.po M locale/po/grasswxpy_hu.po M locale/po/grasswxpy_id_ID.po M locale/po/grasswxpy_it.po M locale/po/grasswxpy_ja.po M locale/po/grasswxpy_ko.po M locale/po/grasswxpy_lv.po M locale/po/grasswxpy_ml.po M locale/po/grasswxpy_pl.po M locale/po/grasswxpy_pt.po M locale/po/grasswxpy_pt_BR.po M locale/po/grasswxpy_ro.po M locale/po/grasswxpy_ru.po M locale/po/grasswxpy_si.po M locale/po/grasswxpy_sl.po M locale/po/grasswxpy_sv.po M locale/po/grasswxpy_ta.po M locale/po/grasswxpy_th.po M locale/po/grasswxpy_tr.po M locale/po/grasswxpy_uk.po M locale/po/grasswxpy_vi.po M locale/po/grasswxpy_zh.po M locale/po/grasswxpy_zh_Hant.po M locale/tbx/grassglossary_ar.tbx M locale/tbx/grassglossary_bn.tbx M locale/tbx/grassglossary_cs.tbx M locale/tbx/grassglossary_de.tbx M locale/tbx/grassglossary_el.tbx M locale/tbx/grassglossary_es.tbx M locale/tbx/grassglossary_fi.tbx M locale/tbx/grassglossary_fr.tbx M locale/tbx/grassglossary_hi.tbx M locale/tbx/grassglossary_hu.tbx M locale/tbx/grassglossary_id.tbx M locale/tbx/grassglossary_it.tbx M locale/tbx/grassglossary_ja.tbx M locale/tbx/grassglossary_ko.tbx M locale/tbx/grassglossary_lv.tbx M locale/tbx/grassglossary_ml.tbx M locale/tbx/grassglossary_pl.tbx M locale/tbx/grassglossary_pt.tbx M locale/tbx/grassglossary_pt_BR.tbx M locale/tbx/grassglossary_ro.tbx M locale/tbx/grassglossary_ru.tbx M locale/tbx/grassglossary_si.tbx M locale/tbx/grassglossary_sl.tbx M locale/tbx/grassglossary_sv.tbx M locale/tbx/grassglossary_ta.tbx M locale/tbx/grassglossary_th.tbx M locale/tbx/grassglossary_tr.tbx M locale/tbx/grassglossary_uk.tbx M locale/tbx/grassglossary_vi.tbx M locale/tbx/grassglossary_zh_Hans.tbx M locale/tbx/grassglossary_zh_Hant.tbx Log Message: ----------- Translations update from OSGeo Weblate (#7890) Translated using Weblate (French) Currently translated at 36.9% (3754 of 10146 strings) Translated using Weblate (French) Currently translated at 96.6% (3318 of 3434 strings) Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translated using Weblate (French) Currently translated at 36.9% (3739 of 10117 strings) Translated using Weblate (French) Currently translated at 96.6% (3316 of 3431 strings) Translated using Weblate (French) Currently translated at 98.2% (1822 of 1855 strings) Translated using Weblate (Chinese (Traditional Han script)) Currently translated at 0.0% (0 of 64 strings) Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 73.5% (50 of 68 strings) Translated using Weblate (Vietnamese) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Ukrainian) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Turkish) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Thai) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Tamil) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Swedish) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Slovenian) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Sinhala) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Russian) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Romanian) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Portuguese (Brazil)) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Portuguese) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Polish) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Malayalam) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Latvian) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Korean) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Japanese) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Italian) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Indonesian) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Hungarian) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Hindi) Currently translated at 63.2% (43 of 68 strings) Translated using Weblate (French) Currently translated at 86.9% (60 of 69 strings) Translated using Weblate (Finnish) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Spanish) Currently translated at 11.7% (8 of 68 strings) Translated using Weblate (Greek) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (German) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Czech) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Bengali) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (Arabic) Currently translated at 8.8% (6 of 68 strings) Translated using Weblate (French) Currently translated at 36.8% (3731 of 10117 strings) Translated using Weblate (French) Currently translated at 95.5% (3278 of 3431 strings) Translated using Weblate (French) Currently translated at 98.2% (1823 of 1855 strings) Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/ar/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/bn/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/cs/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/de/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/el/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/es/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/fi/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/fr/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/hi/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/hu/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/id/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/it/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/ja/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/ko/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/lv/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/ml/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/pl/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/pt/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/pt_BR/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/ro/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/ru/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/si/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/sl/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/sv/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/ta/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/th/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/tr/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/uk/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/vi/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/zh_Hans/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassglossary/zh_Hant/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grasslibs/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grasslibs/fr/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassmods/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grassmods/fr/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grasswxpy/ Translate-URL: https://weblate.osgeo.org/projects/grass-gis/grasswxpy/fr/ Translation: GRASS/grassglossary Translation: GRASS/grasslibs Translation: GRASS/grassmods Translation: GRASS/grasswxpy Co-authored-by: Weblate Co-authored-by: Edouard Choini?re To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 08:26:53 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 08:26:53 -0700 Subject: [GRASS-git] [OSGeo/grass] 2713aa: doc: Fix typos and wording across several tools (J... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 2713aa78a80b2f7c8e9c1188bdae5a9814a0d88f https://github.com/OSGeo/grass/commit/2713aa78a80b2f7c8e9c1188bdae5a9814a0d88f Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M doc/development/style_guide.md M gui/wxpython/gmodeler/panels.py M lib/raster/put_row.c M python/grass/pygrass/vector/table.py M python/grass/temporal/gui_support.py M python/grass/temporal/stds_import.py M raster/r.param.scale/close_down.c M raster/r.param.scale/interface.c M raster/r.sunmask/solpos00.c M raster/r.viewshed/grass.cpp M scripts/g.extension/g.extension.py M scripts/r.reclass.area/r.reclass.area.html M scripts/r.reclass.area/r.reclass.area.md M scripts/r.reclass.area/testsuite/test_r_reclass_area.py Log Message: ----------- doc: Fix typos and wording across several tools (Jun-Jul 2026) (#7885) * Apply suggested fix to gui/wxpython/gmodeler/panels.py from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 4def479dd50574394bd8c656f985e9e06880981f) (cherry picked from commit 42493a85d6286d60e12f7279cff915b8b1594c5d) * Apply suggested fix to python/grass/gunittest/reporters.py from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 306f46481ccd2cc6d53b56049cc5e72b4da3b230) (cherry picked from commit 98b7c90431bf30dd069500a9965b136fd496922d) * Apply suggested fix to python/grass/pygrass/vector/table.py from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit ea11335f2f1656f2ddc71007ed21007a86cc2813) (cherry picked from commit 429e4425c67f7f303a51c1a27fdbc381df478caa) * Apply suggested fix to python/grass/temporal/gui_support.py from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 4332d0ffdf9e24c936475f031e59ab60bfe78705) (cherry picked from commit 44883102ea28e5dbc99c41912e776af1dfc5bbbe) * Apply suggested fix to python/grass/temporal/stds_import.py from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 77b60a6523a4b60288afa01debce12a67271bb42) (cherry picked from commit f6e096c40b825c1d830830898cc4ffb26254231a) * Apply suggested fix to raster/r.param.scale/close_down.c from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit e9530212b0a5022de7a1d0d858075c2f4c72fe6b) (cherry picked from commit b5dd46a83c53874c8df119d224de70561c034c31) * Apply suggested fix to raster/r.param.scale/interface.c from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 227f136f53ec43a387f88bb487bccc9a4db3733b) (cherry picked from commit 4809dda6577e51f068ef86b5805d24649f297007) * Update typo raster/r.sunmask/solpos00.c (cherry picked from commit ee078c5d65ff4027247009baff16c5df0c998e5f) (cherry picked from commit 3bc545d49e3dbb83e2e53894fafc0ffcddcda36c) * Apply suggested fix to scripts/r.reclass.area/r.reclass.area.html from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 9171b7e2f132692df866e4558757edf4db892e72) (cherry picked from commit cf9e33e0fdcdaa8d3e95da36142e11e8a7e6a664) * Apply suggested fix to scripts/r.reclass.area/r.reclass.area.md from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit ad58eb71da52e59dc88ed52213b5cc0ef4456e13) (cherry picked from commit 93b5e41427855ffca47781482acea4efe2a1acdb) * Apply suggested fix to scripts/r.reclass.area/testsuite/test_r_reclass_area.py from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 758f0fb78d0f1ed46e595285ec17d0cb0a96ebb3) (cherry picked from commit c9a83bf3164abaf90794ba61849fd829a3b0f31c) * Update raster/r.param.scale/interface.c * Update python/grass/gunittest/reporters.py * Apply suggested fix to doc/development/style_guide.md from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit a76bb61f24e5d05702a9a3989796b86bd54cf92a) * Apply suggested fix to doc/development/style_guide.md from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 0157dc0442d2fe0d15d9993f760f21d3d38bc53a) * Apply suggested fix to doc/development/style_guide.md from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 150a957f91f638895b4e1d9647e1f5c6b243e17b) * Apply suggested fix to doc/development/style_guide.md from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 28e85c59edbfb0987a50ac58b5c960e72e53f80e) * Apply suggested fix to lib/raster/put_row.c from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit d5ca0bdc4627864fc644b604828541e9e64e3c05) * Apply suggested fix to raster/r.viewshed/grass.cpp from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 629c9e91727a9617d8211889e42bb0e02c255fe4) * Apply suggested fix to raster/r.viewshed/grass.cpp from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit 80f850ae3dc9a4a2c6d50b576c49cc9f6d39c0b9) * Apply suggested fix to raster/r.viewshed/grass.cpp from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit f8945287c1a19cce788a85cd630150ffebb29dd1) * Apply suggested fix to scripts/g.extension/g.extension.py from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit d9cb9aaaee1edd94a4ef2d2babc1ba1f5316b71a) * Apply suggested fix to scripts/g.extension/g.extension.py from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> (cherry picked from commit bad42ae505058618409a95641e00d28ed05d566c) --------- Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 08:49:36 2026 From: noreply at github.com (renovate[bot]) Date: Sat, 05 Sep 2026 08:49:36 -0700 Subject: [GRASS-git] [OSGeo/grass] 53ea19: CI(deps): Update super-linter/super-linter action ... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 53ea19e0bed075b985b6594817ec18f5307cffb1 https://github.com/OSGeo/grass/commit/53ea19e0bed075b985b6594817ec18f5307cffb1 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M .github/workflows/super-linter.yml Log Message: ----------- CI(deps): Update super-linter/super-linter action to v8.7.0 (main) (#7648) * CI(deps): Update super-linter/super-linter action to v8.7.0 * Disable EditorConfig in super-linter, as it is ran in pre-commit. --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Edouard Choini?re <27212526+echoix at users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 08:49:38 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 08:49:38 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/renovate/main-super-linter-super-linter-8.x Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 08:54:00 2026 From: noreply at github.com (Anna Petrasova) Date: Sat, 05 Sep 2026 08:54:00 -0700 Subject: [GRASS-git] [OSGeo/grass] 64b972: r.sim.water: in manual page link r.manning addon i... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 64b97208e00ea843a22d4d22c902cfb04c06402d https://github.com/OSGeo/grass/commit/64b97208e00ea843a22d4d22c902cfb04c06402d Author: Anna Petrasova Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M raster/r.sim/r.sim.water/r.sim.water.html M raster/r.sim/r.sim.water/r.sim.water.md Log Message: ----------- r.sim.water: in manual page link r.manning addon instead of table (#7882) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 08:59:21 2026 From: noreply at github.com (renovate[bot]) Date: Sat, 05 Sep 2026 08:59:21 -0700 Subject: [GRASS-git] [OSGeo/grass] 617ff6: CI(deps): Update pre-commit hook editorconfig-chec... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 617ff65543f2303e94f82a4552ec4c747b3395de https://github.com/OSGeo/grass/commit/617ff65543f2303e94f82a4552ec4c747b3395de Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M .editorconfig M .pre-commit-config.yaml Log Message: ----------- CI(deps): Update pre-commit hook editorconfig-checker/editorconfig-checker to v3.11.3 (main) (#7459) * CI(deps): Update pre-commit hook editorconfig-checker/editorconfig-checker to v3.11.3 * editorconfig: Mark files with stray control bytes as charset unset editorconfig-checker v3.7.0 added a pre-decode binary-detection check that flags a file as binary (and thus failing the utf-8 charset check) if it contains any C0 control byte, even when the file otherwise decodes as valid UTF-8. Four files in the tree contain such stray control bytes and newly fail with the v3.11.3 bump in this PR: configure (a BEL byte, part of a legitimate autoconf-generated awk field separator), lib/external/ccmath/C01-matrix (vendored third-party code), and raster/r.drain/README and scripts/r.drain/README (a duplicated, historical email preserved as documentation). None of these are appropriate to hand-edit, so mark them charset = unset in .editorconfig, matching the existing convention used for other known non-utf-8 files. --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Edouard Choini?re <27212526+echoix at users.noreply.github.com> To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 08:59:25 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 08:59:25 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/renovate/main-editorconfig-checker-editorconfig-checker-3.x Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 11:44:56 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 11:44:56 -0700 Subject: [GRASS-git] [OSGeo/grass] 4396f5: locale: Update translation files Message-ID: Branch: refs/heads/periodic/update-i18n-33981019756 Home: https://github.com/OSGeo/grass Commit: 4396f5c7037a825df45a4fe31de2b50334781d0f https://github.com/OSGeo/grass/commit/4396f5c7037a825df45a4fe31de2b50334781d0f Author: echoix <27212526+echoix at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M locale/templates/grasslibs.pot M locale/templates/grassmods.pot M locale/templates/grasswxpy.pot Log Message: ----------- locale: Update translation files To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 12:52:06 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 12:52:06 -0700 Subject: [GRASS-git] [OSGeo/grass] 14e4e2: style: Strip stray control characters instead of e... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 14e4e27b7b0a44643e5eb490fdc209b7d3cadb9a https://github.com/OSGeo/grass/commit/14e4e27b7b0a44643e5eb490fdc209b7d3cadb9a Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M .editorconfig M lib/external/ccmath/C01-matrix M raster/r.drain/README M scripts/r.drain/README Log Message: ----------- style: Strip stray control characters instead of excluding files (#7891) The editorconfig-checker bump to v3.11.3 (#7459) added a pre-decode binary-detection check that flags a file as binary, and thus failing the utf-8 charset check, if it contains any C0 control byte. Four files were marked charset = unset as a workaround. Per the discussion in #7888, three of them hold no meaning in those bytes and are better cleaned up: - raster/r.drain/README and scripts/r.drain/README contain a stray CAN (0x18) inside "that differ a little from r.drain". - lib/external/ccmath/C01-matrix contains a DC3/SYN pair acting as a subscript toggle around "U1"; the same matrix is spelled U1 plainly everywhere else in that file. Only configure still needs the exception: its BEL byte is a legitimate awk field separator in autoconf-generated code. Closes #7888 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 13:01:53 2026 From: noreply at github.com (github-actions[bot]) Date: Sat, 05 Sep 2026 13:01:53 -0700 Subject: [GRASS-git] [OSGeo/grass] 2a158b: locale: Update translation files (125) (#7892) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 2a158b113b4982395f92b6bfb7d57cea27f719fe https://github.com/OSGeo/grass/commit/2a158b113b4982395f92b6bfb7d57cea27f719fe Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M locale/templates/grasslibs.pot M locale/templates/grassmods.pot M locale/templates/grasswxpy.pot Log Message: ----------- locale: Update translation files (125) (#7892) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 13:01:57 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 13:01:57 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/periodic/update-i18n-33981019756 Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 13:57:57 2026 From: noreply at github.com (Aditya Shinde) Date: Sat, 05 Sep 2026 13:57:57 -0700 Subject: [GRASS-git] [OSGeo/grass] 5e2fdb: r.lake: Reject seed coordinates on the region edge... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 5e2fdbc33f1868bfe8d8bf01ed77d248db621127 https://github.com/OSGeo/grass/commit/5e2fdbc33f1868bfe8d8bf01ed77d248db621127 Author: Aditya Shinde Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M raster/r.lake/main.c M raster/r.lake/tests/r_lake_test.py Log Message: ----------- r.lake: Reject seed coordinates on the region edge (#7877) The bounds check used > instead of >=, so a seed on the southern or eastern edge gave a row or column index equal to rows or cols. That index is one past the end of the terrain and water arrays, which caused an out of bounds read and write, and a crash for the southern edge. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 14:01:59 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 14:01:59 -0700 Subject: [GRASS-git] [OSGeo/grass] 28b927: chore: Ignore common AI agent worktree directories... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 28b927cd3ec9e2273f7e73a256aa55bbbf9ec3f8 https://github.com/OSGeo/grass/commit/28b927cd3ec9e2273f7e73a256aa55bbbf9ec3f8 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-05 (Sat, 05 Sep 2026) Changed paths: M .gitignore Log Message: ----------- chore: Ignore common AI agent worktree directories (#7886) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 18:49:11 2026 From: noreply at github.com (Corey White) Date: Sat, 05 Sep 2026 18:49:11 -0700 Subject: [GRASS-git] [OSGeo/grass] a36e18: checks: Mark justified partial-path subprocess cal... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: a36e18475be2551f5f01313f3430e61cf6e0237b https://github.com/OSGeo/grass/commit/a36e18475be2551f5f01313f3430e61cf6e0237b Author: Corey White Date: 2026-09-06 (Sun, 06 Sep 2026) Changed paths: M locale/grass_po_stats.py M python/grass/gunittest/reporters.py M scripts/g.manual/g.manual.py M utils/coverage_mapper.py M utils/generate_last_commit_file.py M utils/generate_release_notes.py M utils/md_isvalid.py M utils/mkdocs.py Log Message: ----------- checks: Mark justified partial-path subprocess calls as nosec B607 (#7713) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sat Sep 5 22:37:36 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sat, 05 Sep 2026 22:37:36 -0700 Subject: [GRASS-git] [OSGeo/grass] 7c29b9: CI: Enable XML in codespell and fix typos- #685 (#... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 7c29b9c03a754e928a6b96a96b16d6014754b693 https://github.com/OSGeo/grass/commit/7c29b9c03a754e928a6b96a96b16d6014754b693 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-06 (Sun, 06 Sep 2026) Changed paths: M .pre-commit-config.yaml M gui/wxpython/core/testsuite/data/test_toolboxes_menudata_ref.xml M gui/wxpython/xml/wxgui_items.xml M pyproject.toml Log Message: ----------- CI: Enable XML in codespell and fix typos- #685 (#7900) * xml: Fix codespell typos (co-ordinate ? coordinate) Enable XML file type in codespell by removing it from exclude_types in .pre-commit-config.yaml. Fix all typos found in XML files: - gui/wxpython/xml/wxgui_items.xml: coordinate (1 occurrence) - gui/wxpython/core/testsuite/data/test_toolboxes_menudata_ref.xml: coordinate (2 occurrences) Co-Authored-By: Claude Haiku 4.5 * codespell: Skip SVG files to avoid false positives Enabling codespell for XML also covers SVG (identify tags it as an XML type). gui/images/splash_screen.svg embeds a base64-encoded JPEG that codespell misreads as misspelled words (e.g. "nd", "Ot", "tHt"). Skip *.svg via codespell's own skip list so the exclusion also applies when codespell is run directly, not just through pre-commit. --------- Co-authored-by: Claude Haiku 4.5 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sun Sep 6 03:13:35 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sun, 06 Sep 2026 03:13:35 -0700 Subject: [GRASS-git] [OSGeo/grass] ed8cfd: windows: Fix two Windows-only gunittest failures (... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: ed8cfd4343d33336e89ee89d341e747b7ba93b05 https://github.com/OSGeo/grass/commit/ed8cfd4343d33336e89ee89d341e747b7ba93b05 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-06 (Sun, 06 Sep 2026) Changed paths: M lib/init/testsuite/test_grass_tmp_mapset.py M scripts/db.univar/db.univar.py Log Message: ----------- windows: Fix two Windows-only gunittest failures (#7895) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sun Sep 6 04:04:13 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sun, 06 Sep 2026 04:04:13 -0700 Subject: [GRASS-git] [OSGeo/grass] 9c6279: grass.pygrass: Close RasterRow via context manager... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 9c627939b6f2f561c43cedc5e5df7fb5a045483c https://github.com/OSGeo/grass/commit/9c627939b6f2f561c43cedc5e5df7fb5a045483c Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-06 (Sun, 06 Sep 2026) Changed paths: M python/grass/pygrass/raster/testsuite/test_raster_region.py Log Message: ----------- grass.pygrass: Close RasterRow via context manager in region tests (#7902) test_resampling_1 and test_resampling_2 called rast.close() as a bare statement after their assertions, so a failing assertion (or any other exception) would skip it, leaving the RasterRow open. This repo's own Region.set_raster_region() documents the consequence: "All raster objects must be closed or the process will be terminated." The next test in this file, test_resampling_to_numpy, calls exactly that method on every resampling step, so an open handle carried over from an earlier test crashes it with an unrelated-looking C-level FERROR instead of the real assertion failure ever being reported. Use `with rast:` instead, matching RasterRow's documented context manager support, so the raster is always closed, including when an assertion fails. Co-authored-by: Claude Sonnet 5 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sun Sep 6 05:25:44 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sun, 06 Sep 2026 05:25:44 -0700 Subject: [GRASS-git] [OSGeo/grass] aa1c01: lib/raster3d/tilewrite: Use `>=` for tile index bo... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: aa1c015fa39f758c48f2267584afc75174e2ba24 https://github.com/OSGeo/grass/commit/aa1c015fa39f758c48f2267584afc75174e2ba24 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-06 (Sun, 06 Sep 2026) Changed paths: A lib/raster3d/tests/lib_raster3d_tilewrite_test.py M lib/raster3d/tilewrite.c Log Message: ----------- lib/raster3d/tilewrite: Use `>=` for tile index bounds check (#7723) * Apply suggested fix to lib/raster3d/tilewrite.c from Copilot Autofix Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> * lib/raster3d: Add test for Rast3d_write_tile tile index bounds check Add a pytest test covering the tileIndex bounds check in Rast3d_write_tile: an index equal to nTiles must be rejected as out of range, and the last valid index must be accepted. The invalid call runs in a subprocess using the grass.lib.raster3d ctypes bindings because the rejection is a fatal error which exits the calling process. The out-of-range test fails without the bounds check change in this branch and passes with it. The test was written by Claude Code using the Claude Fable 5 model. --------- Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> Co-authored-by: Vaclav Petras To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sun Sep 6 05:25:52 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sun, 06 Sep 2026 05:25:52 -0700 Subject: [GRASS-git] [OSGeo/grass] Message-ID: Branch: refs/heads/ai-findings-autofix/lib-raster3d-tilewrite.c Home: https://github.com/OSGeo/grass To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sun Sep 6 08:49:07 2026 From: noreply at github.com (Nicklas Larsson) Date: Sun, 06 Sep 2026 08:49:07 -0700 Subject: [GRASS-git] [OSGeo/grass] 6131e3: r.in.pdal: fix uncaught exception (#7887) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 6131e370f364eefd1e0e39fd2dec9aca993640b2 https://github.com/OSGeo/grass/commit/6131e370f364eefd1e0e39fd2dec9aca993640b2 Author: Nicklas Larsson Date: 2026-09-06 (Sun, 06 Sep 2026) Changed paths: M raster/r.in.pdal/info.cpp Log Message: ----------- r.in.pdal: fix uncaught exception (#7887) PointView::getFieldAs may throw exception. Second part of Coverity Scan CID 1685510 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sun Sep 6 08:49:44 2026 From: noreply at github.com (Nicklas Larsson) Date: Sun, 06 Sep 2026 08:49:44 -0700 Subject: [GRASS-git] [OSGeo/grass] 8125c6: cmake: fix configuration output (#7875) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 8125c6f0e3b579ec7ffff72c795e6ddb700ba571 https://github.com/OSGeo/grass/commit/8125c6f0e3b579ec7ffff72c795e6ddb700ba571 Author: Nicklas Larsson Date: 2026-09-06 (Sun, 06 Sep 2026) Changed paths: M include/Make/Install.make M include/Make/Platform.make.in M lib/init/CMakeLists.txt M lib/init/grass.py M python/grass/app/Makefile M python/grass/app/resource_paths.py M python/grass/app/runtime.py Log Message: ----------- cmake: fix configuration output (#7875) Use Python's RuntimePaths instead of parsing Platform.make (which is not available with CMake builds). In addition, fix cmake output of VERSIONNUMBER file. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Sun Sep 6 11:51:57 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Sun, 06 Sep 2026 11:51:57 -0700 Subject: [GRASS-git] [OSGeo/grass] b43c9b: r.kappa: Avoid reopening NamedTemporaryFile on Win... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: b43c9b8403411cc221fbcf90dcdfb153c4a94328 https://github.com/OSGeo/grass/commit/b43c9b8403411cc221fbcf90dcdfb153c4a94328 Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-06 (Sun, 06 Sep 2026) Changed paths: M raster/r.kappa/testsuite/test_r_kappa.py Log Message: ----------- r.kappa: Avoid reopening NamedTemporaryFile on Windows in testsuite (#7907) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Mon Sep 7 11:37:36 2026 From: noreply at github.com (renovate[bot]) Date: Mon, 07 Sep 2026 11:37:36 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 68902e: Update actions/deploy-pages action to v5.0.1 Message-ID: Branch: refs/heads/renovate/actions-deploy-pages-5.x Home: https://github.com/OSGeo/grass-website Commit: 68902ec2716caf10bfcae99057d413c4bee5ba96 https://github.com/OSGeo/grass-website/commit/68902ec2716caf10bfcae99057d413c4bee5ba96 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-07 (Mon, 07 Sep 2026) Changed paths: M .github/workflows/hugo.yml Log Message: ----------- Update actions/deploy-pages action to v5.0.1 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Mon Sep 7 11:37:38 2026 From: noreply at github.com (renovate[bot]) Date: Mon, 07 Sep 2026 11:37:38 -0700 Subject: [GRASS-git] [OSGeo/grass-website] a00bae: Update nginx Docker tag to v1.31.5 Message-ID: Branch: refs/heads/renovate/nginx-1.x Home: https://github.com/OSGeo/grass-website Commit: a00baeb9bcd8683ce9aa55531eb55511475f8c44 https://github.com/OSGeo/grass-website/commit/a00baeb9bcd8683ce9aa55531eb55511475f8c44 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-07 (Mon, 07 Sep 2026) Changed paths: M docker-compose.yml Log Message: ----------- Update nginx Docker tag to v1.31.5 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Mon Sep 7 11:37:43 2026 From: noreply at github.com (renovate[bot]) Date: Mon, 07 Sep 2026 11:37:43 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 339845: Update dependency prek to v0.5.2 Message-ID: Branch: refs/heads/renovate/prek-0.x Home: https://github.com/OSGeo/grass-website Commit: 33984581de34fbcbab4be2ea5e01bf3a97259360 https://github.com/OSGeo/grass-website/commit/33984581de34fbcbab4be2ea5e01bf3a97259360 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-07 (Mon, 07 Sep 2026) Changed paths: M .github/workflows/additional_checks.yml Log Message: ----------- Update dependency prek to v0.5.2 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Mon Sep 7 11:37:47 2026 From: noreply at github.com (renovate[bot]) Date: Mon, 07 Sep 2026 11:37:47 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 7c4d8a: Update dependency sass/dart-sass to v1.104.0 Message-ID: Branch: refs/heads/renovate/sass-dart-sass-1.x Home: https://github.com/OSGeo/grass-website Commit: 7c4d8a8c47d556299276f654868d6af72662d2d6 https://github.com/OSGeo/grass-website/commit/7c4d8a8c47d556299276f654868d6af72662d2d6 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-07 (Mon, 07 Sep 2026) Changed paths: M .github/workflows/build-production-site.yml Log Message: ----------- Update dependency sass/dart-sass to v1.104.0 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Mon Sep 7 11:37:51 2026 From: noreply at github.com (renovate[bot]) Date: Mon, 07 Sep 2026 11:37:51 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 145b5d: Update astral-sh/setup-uv action to v10 Message-ID: Branch: refs/heads/renovate/astral-sh-setup-uv-10.x Home: https://github.com/OSGeo/grass-website Commit: 145b5d64ec77b28742850e24122402c6922a25c7 https://github.com/OSGeo/grass-website/commit/145b5d64ec77b28742850e24122402c6922a25c7 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-07 (Mon, 07 Sep 2026) Changed paths: M .github/workflows/additional_checks.yml Log Message: ----------- Update astral-sh/setup-uv action to v10 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Mon Sep 7 16:26:16 2026 From: noreply at github.com (renovate[bot]) Date: Mon, 07 Sep 2026 16:26:16 -0700 Subject: [GRASS-git] [OSGeo/grass] f541b3: CI(deps): Update ruff to v0.16.6 Message-ID: Branch: refs/heads/renovate/releasebranch_8_5-ruff Home: https://github.com/OSGeo/grass Commit: f541b3cf683d16916d0e08534dfb7f97399eb5c0 https://github.com/OSGeo/grass/commit/f541b3cf683d16916d0e08534dfb7f97399eb5c0 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-07 (Mon, 07 Sep 2026) Changed paths: M .github/workflows/python-code-quality.yml M .pre-commit-config.yaml Log Message: ----------- CI(deps): Update ruff to v0.16.6 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 8 03:06:41 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Tue, 08 Sep 2026 03:06:41 -0700 Subject: [GRASS-git] [OSGeo/grass] 252bcd: CI: Run Windows pytest suite with xdist and random... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 252bcdf3096f60f77032490c297fd7ff0a6ee93c https://github.com/OSGeo/grass/commit/252bcdf3096f60f77032490c297fd7ff0a6ee93c Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-08 (Tue, 08 Sep 2026) Changed paths: M .github/workflows/osgeo4w.yml Log Message: ----------- CI: Run Windows pytest suite with xdist and randomized order (#7906) Windows CI ran pytest single-worker with a fixed test order, unlike Linux CI's pytest-xdist + needs_solo_run split. Under a fixed order, whichever test happens to run first in a given worker never changes, so an order-dependent bug that only breaks the first call to a C-based GRASS tool/library in a fresh worker process can stay hidden indefinitely. Install pytest-xdist and pytest-randomly and mirror Linux CI's parallel / needs_solo_run split so this class of bug surfaces instead of hiding. Co-authored-by: Claude Sonnet 5 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 8 03:34:06 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Tue, 08 Sep 2026 03:34:06 -0700 Subject: [GRASS-git] [OSGeo/grass] b585c8: grass.pygrass: Mark test_raster_region resampling ... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: b585c807a890630981154c50d79b97218ef0efdc https://github.com/OSGeo/grass/commit/b585c807a890630981154c50d79b97218ef0efdc Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-08 (Tue, 08 Sep 2026) Changed paths: M python/grass/pygrass/raster/testsuite/test_raster_region.py Log Message: ----------- grass.pygrass: Mark test_raster_region resampling tests xfail on Windows (#7905) Follow-up to #7902: fixing the resource leak there turned a fatal, whole-file-crashing FERROR into three individually diagnosable failures instead. The remaining issue is real but distinct from the leak: the small region these tests set up isn't actually restricting what RasterRow reads back (rast[0] comes back with roughly 100000 elements instead of 10). Built GRASS locally and confirmed this is genuinely Windows-specific, not a state leak reproducible here: the file passes reliably on Linux both run in isolation and as part of the full 359-file gunittest suite in sequence. Marking xfail on Windows per the existing convention rather than guessing at a fix that can't be verified; needs investigation with actual Windows access. To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 8 06:03:21 2026 From: noreply at github.com (=?UTF-8?B?RWRvdWFyZCBDaG9pbmnDqHJl?=) Date: Tue, 08 Sep 2026 06:03:21 -0700 Subject: [GRASS-git] [OSGeo/grass] 1878fd: temporal: Avoid PLY debug-mode overhead in raster ... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 1878fdfec5d2f5f0099835693865ad6aca51223b https://github.com/OSGeo/grass/commit/1878fdfec5d2f5f0099835693865ad6aca51223b Author: Edouard Choini?re <27212526+echoix at users.noreply.github.com> Date: 2026-09-08 (Tue, 08 Sep 2026) Changed paths: M python/grass/temporal/testsuite/unittests_temporal_raster_algebra.py Log Message: ----------- temporal: Avoid PLY debug-mode overhead in raster algebra gunittest (#7903) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Tue Sep 8 23:43:00 2026 From: noreply at github.com (renovate[bot]) Date: Tue, 08 Sep 2026 23:43:00 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 52c0d0: Update Node.js to v24.21.0 Message-ID: Branch: refs/heads/renovate/node-24.x Home: https://github.com/OSGeo/grass-website Commit: 52c0d0974775819fad399a17f15dc17fca01a540 https://github.com/OSGeo/grass-website/commit/52c0d0974775819fad399a17f15dc17fca01a540 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: 2026-09-09 (Wed, 09 Sep 2026) Changed paths: M .devcontainer/devcontainer.json M .nvmrc Log Message: ----------- Update Node.js to v24.21.0 To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Wed Sep 9 06:29:52 2026 From: noreply at github.com (Anna Petrasova) Date: Wed, 09 Sep 2026 06:29:52 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 13aedc: news: GSoC 2026 results (#716) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass-website Commit: 13aedc0de14c54c899a8fe921f02ac76a9d80755 https://github.com/OSGeo/grass-website/commit/13aedc0de14c54c899a8fe921f02ac76a9d80755 Author: Anna Petrasova Date: 2026-09-09 (Wed, 09 Sep 2026) Changed paths: A content/news/2026_08_24_GSoC_2026_results.md A static/images/news/gsoc2026_datacatalog.webp A static/images/news/gsoc2026_geomorphon.webp M themes/grass/layouts/index.html Log Message: ----------- news: GSoC 2026 results (#716) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Wed Sep 9 08:03:30 2026 From: noreply at github.com (github-actions[bot]) Date: Wed, 09 Sep 2026 08:03:30 -0700 Subject: [GRASS-git] [OSGeo/grass-website] Message-ID: Branch: refs/tags/site-20260909-150253-13aedc0 Home: https://github.com/OSGeo/grass-website To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Wed Sep 9 08:03:34 2026 From: noreply at github.com (github-actions[bot]) Date: Wed, 09 Sep 2026 08:03:34 -0700 Subject: [GRASS-git] [OSGeo/grass-website] Message-ID: Branch: refs/tags/site-20260820-012850-b3b8056 Home: https://github.com/OSGeo/grass-website To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications From noreply at github.com Wed Sep 9 16:56:42 2026 From: noreply at github.com (Corey White) Date: Wed, 09 Sep 2026 16:56:42 -0700 Subject: [GRASS-git] [OSGeo/grass] aafd8a: r.in.pdal: Add COPC support (#7213) Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: aafd8a308abfdd08cc1c4d800a67c79047fa8993 https://github.com/OSGeo/grass/commit/aafd8a308abfdd08cc1c4d800a67c79047fa8993 Author: Corey White Date: 2026-09-09 (Wed, 09 Sep 2026) Changed paths: M raster/r.in.pdal/grassrasterwriter.h M raster/r.in.pdal/info.cpp M raster/r.in.pdal/main.cpp M raster/r.in.pdal/r.in.pdal.html M raster/r.in.pdal/r.in.pdal.md A raster/r.in.pdal/tests/conftest.py A raster/r.in.pdal/tests/r_in_pdal_copc_test.py Log Message: ----------- r.in.pdal: Add COPC support (#7213) * r.in.pdal: Added ability to read COPC data * r.in.pdal: Push region bounds to COPC reader When importing into a region smaller than the point cloud, pass the region bounds to readers.copc so its octree index skips nodes outside the region instead of decoding every point. Bounds are evaluated in the file's CRS, which is expected to match the project's CRS, so the pushdown is skipped when reprojection is requested. The GRASS spatial filter is kept for the exact per-point clip. * r.in.pdal: Validate point_table_capacity, report edge points, add COPC tests and docs * r.in.pdal: Address review comments on COPC support To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Wed Sep 9 17:08:37 2026 From: noreply at github.com (Jal Patel) Date: Wed, 09 Sep 2026 17:08:37 -0700 Subject: [GRASS-git] [OSGeo/grass] 55de52: tests: Add ctypes coverage for lib/arraystats and ... Message-ID: Branch: refs/heads/main Home: https://github.com/OSGeo/grass Commit: 55de52a35274262512db9ffea0eb629fa66b704b https://github.com/OSGeo/grass/commit/55de52a35274262512db9ffea0eb629fa66b704b Author: Jal Patel <102137104+jalpatel11 at users.noreply.github.com> Date: 2026-09-09 (Wed, 09 Sep 2026) Changed paths: A lib/arraystats/tests/lib_arraystats_basic_stats_ctypes_test.py A lib/arraystats/tests/lib_arraystats_classify_ctypes_test.py A lib/rowio/tests/lib_rowio_ctypes_test.py Log Message: ----------- tests: Add ctypes coverage for lib/arraystats and lib/rowio (#7879) To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass/settings/notifications From noreply at github.com Thu Sep 10 00:11:05 2026 From: noreply at github.com (dependabot[bot]) Date: Thu, 10 Sep 2026 00:11:05 -0700 Subject: [GRASS-git] [OSGeo/grass-website] 3d56b8: build(deps-dev): bump baseline-browser-mapping fro... Message-ID: Branch: refs/heads/dependabot/npm_and_yarn/baseline-browser-mapping-2.11.21 Home: https://github.com/OSGeo/grass-website Commit: 3d56b8411310055579a697bdb3d1090e4d160b14 https://github.com/OSGeo/grass-website/commit/3d56b8411310055579a697bdb3d1090e4d160b14 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: 2026-09-10 (Thu, 10 Sep 2026) Changed paths: M package-lock.json Log Message: ----------- build(deps-dev): bump baseline-browser-mapping from 2.9.18 to 2.11.21 Bumps [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) from 2.9.18 to 2.11.21. - [Release notes](https://github.com/web-platform-dx/baseline-browser-mapping/releases) - [Commits](https://github.com/web-platform-dx/baseline-browser-mapping/compare/v2.9.18...v2.11.21) --- updated-dependencies: - dependency-name: baseline-browser-mapping dependency-version: 2.11.21 dependency-type: indirect ... Signed-off-by: dependabot[bot] To unsubscribe from these emails, change your notification settings at https://github.com/OSGeo/grass-website/settings/notifications