diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 642280c9bc2..a515cc164d8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -22,7 +22,7 @@ jobs:
./scripts/ci_build_docs.sh
- name: After success steps
- if: ${{ success() && github.event_name == 'push' && github.repository == 'MapServer/MapServer-documentation' && github.ref_name == 'branch-8-4' }}
+ if: ${{ success() && github.event_name == 'push' && github.repository == 'MapServer/MapServer-documentation' && github.ref_name == 'branch-8-6' }}
run: |
# setup the SSH key
mkdir -p ~/.ssh
diff --git a/_static/foss4g2026.png b/_static/foss4g2026.png
new file mode 100644
index 00000000000..6607fbed4f2
Binary files /dev/null and b/_static/foss4g2026.png differ
diff --git a/_templates/indexsidebar.html b/_templates/indexsidebar.html
index 121909740e8..38c9144c704 100644
--- a/_templates/indexsidebar.html
+++ b/_templates/indexsidebar.html
@@ -16,8 +16,8 @@
Navigation
MapServer is a project of the
Open Source Geospatial Foundation.
-
-
+
+
If you find MapServer useful, please consider supporting the team with a donation:
diff --git a/_templates/layout.html b/_templates/layout.html
index d5cf09d80df..8f360cf4172 100644
--- a/_templates/layout.html
+++ b/_templates/layout.html
@@ -16,7 +16,7 @@ DOCS PREVIEW
Home |
Products |
- Issue Tracker |
+ Issue Tracker |
Service Providers |
FAQ |
Mastodon |
@@ -60,7 +60,7 @@ Community
Mailing Lists
IRC chat
- Wiki
+ Wiki
@@ -71,6 +71,6 @@ Documentation<
MapScript
-
+
{{ super() }}
{% endblock %}
diff --git a/conf.py b/conf.py
index e113d98500b..3a1b9f30788 100644
--- a/conf.py
+++ b/conf.py
@@ -50,7 +50,7 @@ def __getattr__(cls, name):
#extensions = ['labels', 'sphinxcontrib.spelling']
extensions = ['labels', 'sphinx.ext.autodoc', 'sphinx.ext.autosummary', 'sphinx.ext.viewcode'
- , 'sphinxcontrib.jquery', 'sphinx_copybutton']
+ , 'sphinxcontrib.jquery', 'sphinx_copybutton', 'sphinx_collapse']
autosummary_generate = True # when True create a page for each mapscript class
@@ -85,16 +85,16 @@ def __getattr__(cls, name):
# General information about the project.
project = u'MapServer'
-copyright = u'2025, Open Source Geospatial Foundation'
+copyright = u'2026, Open Source Geospatial Foundation'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
-version = '8.4'
+version = '8.6'
# The full version, including alpha/beta/rc tags.
-release = '8.4.1'
+release = '8.6.4'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
@@ -128,6 +128,21 @@ def __getattr__(cls, name):
# check for broken reference targets
nitpicky = True
+# spelling extension options
+# --------------------------
+
+# set filename used by spelling extension
+spelling_word_list_filename='spelling_wordlist.dict'
+
+# ignore changelogs and RFCs
+spelling_exclude_patterns = [
+ 'development/changelog/*',
+ 'development/changelog/mapcache/*',
+ 'development/changelog/tinyows/*',
+ 'development/rfc/*',
+ 'mapscript/php/*'
+]
+
# Options for HTML output
# -----------------------
@@ -231,6 +246,24 @@ def __getattr__(cls, name):
# this can be set as a sphinx-build option using `-A BRANCH=main`
html_context = {'branch': release}
+# linkcheck options
+# -----------------
+
+linkcheck_exclude_documents = [
+ r'.*/changelog/.*',
+ r'.*/rfc/.*',
+ r'.*/announce/.*',
+ r'.*/announcements/.*'
+]
+
+linkcheck_ignore = [
+ r'https?://localhost(?:\:\d+)?(?:/.*)?$',
+ r'https?://127\.0\.0\.1(?:\:\d+)?(?:/.*)?$',
+ r'https?://myserver(?:\:\d+)?(?:/.*)?$',
+ r'https?://server(?:\:\d+)?(?:/.*)?$',
+ r'https?://example.com(?:\:\d+)?(?:/.*)?$'
+]
+
# Options for LaTeX output
# ------------------------
@@ -452,7 +485,8 @@ class MapFileLexer(RegexLexer):
(r'\s+', Text),
(r'\[.*?\]', Name.Other),
(r'[{}\[\]();,-.]+', Punctuation),
- (r'#.*', Comment),
+ (r'#.*', Comment.Single),
+ (r'/\*', Comment.Multiline, 'comment'),
(r'(AND|OR|NOT|EQ|GT|LT|GE|LE|NE|IN|IEQ)\b', Operator.Word),
(r'!=|==|<=|>=|=~|&&|\|\||[-~+/*%=<>&^|./\$]', Operator),
('(?:[rR]|[uU][rR]|[rR][uU])"', String, 'dqs'),
@@ -469,6 +503,12 @@ class MapFileLexer(RegexLexer):
(r'[0-9]+', Number.Integer)
],
+ 'comment': [
+ (r'[^*/]+', Comment.Multiline),
+ (r'/\*', Comment.Multiline, '#push'),
+ (r'\*/', Comment.Multiline, '#pop'),
+ (r'[*/]', Comment.Multiline),
+ ],
'dqs': [
(r'"', String, '#pop'),
(r'\\\\|\\"|\\\n', String.Escape), # included here again for raw strings
diff --git a/en/MIGRATION_GUIDE.txt b/en/MIGRATION_GUIDE.txt
index 1e9636b9ef4..0b844b3b64e 100644
--- a/en/MIGRATION_GUIDE.txt
+++ b/en/MIGRATION_GUIDE.txt
@@ -6,21 +6,182 @@
MapServer Migration Guide
*****************************************************************************
-:Last Updated: 2025-09-22
+:Last Updated: 2026-05-07
.. contents:: Table of Contents
:depth: 2
:backlinks: top
+.. tip::
+
+ Review MapServer's `Security Policy `__,
+ and also check if there are any recently published `vulnerabilities `__.
+
+.. _migration-8-6:
+
+MapServer 8.4 to 8.6 Migration
+==============================
+
+- The 8.6.4 release includes fixes for two vulnerabilities, see the advisories:
+
+ - `OpenLayers viewer with WMS `__ advisory
+ - `PostGIS support `__ advisory
+
+- The 8.6.3 release includes a fix for a vulnerability in the SLD parser
+ (see MapServer's `Security Advisory `__)
+
+ Reminder: you can also disable external SLD access for your WMS services
+ by setting the following in your mapfile:
+
+ .. code-block:: mapfile
+
+ MAP
+ ...
+ WEB
+ METADATA
+ "wms_sld_enabled" "false"
+ ...
+ END #metadata
+ END #web
+ ...
+
+
+- The 8.6.2 release includes a fix for a vulnerability in the OpenLayers viewer
+ (see MapServer's `Security Advisory `__)
+
+- The 8.6.1 release includes a fix for a vulnerability in the SLD parser
+ (see CVE record: `CVE-2026-33721 `__,
+ or see MapServer's `Security Advisory `__)
+
+- You can now enable an automatically generated index page, that lists
+ all of your OGC services and endpoints, for each mapfile that you
+ defined in your CONFIG file. To enable the index, add `MS_INDEX_TEMPLATE_DIRECTORY`
+ to your environment variables section of the :ref:`config` file, such as::
+
+ ENV
+ #
+ # Index page
+ #
+ MS_INDEX_TEMPLATE_DIRECTORY "/ms4w/share/ogcapi/templates/html-index-bootstrap/"
+ END
+
+ .. image:: ./images/index-page-ms4w.png
+ :width: 800
+ :height: 433
+ :class: no-scaled-link
+
+ .. seealso:: :ref:`index-page` & :ref:`rfc140`
+
+- A new :ref:`identify` object can be used in a mapfile to control how features are
+ found through queries, to account for the actual symbol being used for
+ that CLASS. This could be useful for WMS GetFeatureInfo requests.
+
+ .. code-block:: mapfile
+
+ MAP
+ ...
+ WEB
+ METADATA
+ "wms_title" "My WMS Server"
+ ...
+ END #metadata
+ END #web
+ ...
+ SYMBOL
+ NAME "mysvg"
+ TYPE svg
+ IMAGE "./ttt.svg"
+ END #symbol
+ ...
+ LAYER
+ IDENTIFY
+ CLASSGROUP "test"
+ END #identify
+ CLASS
+ GROUP "test"
+ STYLE
+ ANGLE 30
+ SYMBOL "mysvg"
+ END #class
+ END #layer
+ ...
+ END #map
+
+ .. seealso:: original Pull Request `#7318 `__
+
+- :ref:`FALLBACK ` has been added to the CLASS object, to allow that class to be used
+ if no other class can be applied.
+
+ .. code-block:: mapfile
+
+ MAP
+ ...
+ LAYER
+ ...
+ CLASS
+ NAME "test1"
+ ...
+ END #class
+ CLASS
+ NAME "test2"
+ ...
+ END #class
+ CLASS
+ NAME "test3"
+ ...
+ FALLBACK TRUE
+ END #class
+ END #layer
+ ...
+ END #map
+
+ .. seealso:: original Pull Request `#7309 `__
+
+- :ref:`ogcapi` has been enhanced to allow the appending of additional
+ query parameters to all URLs generated through the API, by
+ defining the `ows_extra_params` parameter in the mapfile's WEB.METADATA object.
+
+ .. code-block:: mapfile
+
+ MAP
+ ...
+ WEB
+ METADATA
+ "ows_title" "My OGCAPI Server"
+ ...
+ "oga_html_template_directory" "../../share/ogcapi/templates/html-bootstrap/"
+ "ows_extra_params" "token=123"
+ END #metadata
+ END #web
+ ...
+ LAYER
+ ...
+ END #layer
+ END #map
+
+ All subsequent URLs available through OGCAPI: Features will contain that
+ `token=123`, such as::
+
+ http://127.0.0.1/cgi-bin/mapserv.exe/local-demo/ogcapi/collections/ocean/items?f=json&token=123
+
+ .. TIP::
+ For sensitive parameter values, you should enable :ref:`Run-time Substitution ` to
+ not store passwords and other tokens in mapfiles. See steps at :ref:`OGCAPI: Features metadata `.
+
+ .. seealso:: original Pull Request `#7360 `__
+
.. _migration-8-4:
MapServer 8.2 to 8.4 Migration
==============================
-- The 8.4.1 release includes a fix for a security flaw for WFS filter requests to
+- The 8.4.1 release includes a fix for a vulnerability for WFS filter requests to
an OGR backend connection (see CVE record: `CVE-2025-59431 `__,
or MapServer's `Security Advisory `__)
+- MapServer now requires at least `CMake `__ version 3.16
+ for building
+
- you can now build against the PCRE2 library (WITH_PCRE2=ON)
- reminder that since the PROJ 9.1 release, the former `PROJ_LIB` variable has
@@ -148,7 +309,7 @@ MapServer 7.6 to 8.0 Migration
- Direct changing of mapfile parameters through the URL has been removed
as of the 8.0.0 release. You can still however handle this through
:ref:`runsub`, but with a more limited list of supported mapfile
- parameters (see related `discussion `__).
+ parameters (see related `discussion `__).
Here is an example CGI request pre-8.0 release:
::
@@ -212,7 +373,8 @@ MapServer 7.6 to 8.0 Migration
MapServer 7.4 to 7.6 Migration
==============================
-- MapServer now requires at least CMake version 3.0 for compiling
+- MapServer now requires at least `CMake `__ version 3.0
+ for building
- PointZM data support (X,Y,Z,M coordinates) is now enabled by default
@@ -230,7 +392,7 @@ MapServer 7.4 to 7.6 Migration
- CONNECTIONOPTIONS parameter has been added in the mapfile LAYER, to take
advantage of GDAL/OGR driver options. (see :ref:`RFC 125 `) such as:
- .. code-block:: mapfile
+ .. code-block:: mapfile
LAYER
NAME "test"
@@ -246,7 +408,7 @@ MapServer 7.4 to 7.6 Migration
to enable a 'painters model' where all classes for a layer are drawn at once with a
`ALL_MATCHING_CLASSES` setting, such as:
- .. code-block:: mapfile
+ .. code-block:: mapfile
LAYER
NAME "test"
@@ -283,7 +445,7 @@ MapServer 7.4 to 7.6 Migration
Here is an example of the new `wms_essential` parameter:
- .. code-block:: mapfile
+ .. code-block:: mapfile
LAYER
NAME "country_bounds"
@@ -303,7 +465,7 @@ MapServer 7.4 to 7.6 Migration
- Windows users can now use umlauts (special characters such as ä ö ü) in their
directory paths and filenames, such as:
- .. code-block:: mapfile
+ .. code-block:: mapfile
LAYER
..
@@ -368,19 +530,19 @@ MapServer 6.4 to 7.0 Migration
from MapServer syntax to native syntax (e.g. SQL). Native expressions can still be set either
using: 1) sub-selects in the DATA statement or 2) using the new NATIVE_FILTER processing key.
-::
+ .. code-block:: mapfile
- # OGR Layer Before
- LAYER
- ...
- FILTER 'where id=234'
- END
+ # OGR Layer Before
+ LAYER
+ ...
+ FILTER 'where id=234'
+ END
- # OGR Layer After
- LAYER
- ...
- PROCESSING 'NATIVE_FILTER=id=234'
- END
+ # OGR Layer After
+ LAYER
+ ...
+ PROCESSING 'NATIVE_FILTER=id=234'
+ END
- MapServer attribute queries (e.g. mode=item[n]query) *must* be specified using MapServer
expression syntax (qstring and qitem (opt)). For RDBMS backends you no longer send SQL snippets,
@@ -392,21 +554,21 @@ MapServer 6.4 to 7.0 Migration
and MapScript getter/setter functions will continue to function but unpredictable results will
occur if used in conjunction with COMPOSITE blocks. For more information see https://mapserver.org/development/rfc/ms-rfc-113.html.
-::
-
- # Before
- LAYER
- ...
- OPACITY 70
- END
+ .. code-block:: mapfile
- # After
- LAYER
- ...
- COMPOSITE
+ # Before
+ LAYER
+ ...
OPACITY 70
END
- END
+
+ # After
+ LAYER
+ ...
+ COMPOSITE
+ OPACITY 70
+ END
+ END
- Handling of non UTF-8 encoded datasources has changed with RFC103. Mapfiles
now *must* be saved in UTF-8 encoding, and requests returned by MapServer
@@ -433,38 +595,40 @@ MapServer 6.4 to 7.0 Migration
- ExternalGraphics added through SLD must now validate against the
"sld_external_graphic" entry of the MAP->WEB->VALIDATION block
-::
+ .. code-block:: mapfile
- MAP
- WEB
- VALIDATION
- "sld_external_graphic" "^/path/to/symbols/.*png"
+ MAP
+ WEB
+ VALIDATION
+ "sld_external_graphic" "^/path/to/symbols/.*png"
+ END
+ END
END
- END
- END
MapServer 6.2 to 6.4 Migration
==============================
+- MapServer now must be built with the CMake tool. Build instructions
+ are included in the `INSTALL_CMAKE.md `__
+ file in the source directory. You will need to have CMake installed
+ on your system. Users of mapscripts (except PHP) will also need `SWIG `__
+ to be installed.
+
- The "ows_extent" layer metadata is not used anymore to obtain georeferencing
information for unreferenced raster data. Please use the "extent" layer key
instead
-::
+ .. code-block:: mapfile
- LAYER
- ...
- EXTENT -180 90 180 90
- END
+ LAYER
+ ...
+ EXTENT -180 90 180 90
+ END
- Validation patterns cannot be specified in metadata blocks (i.e. using
xxx_validation_pattern and default_xxx metadata entries), use VALIDATION blocks.
see #4596 #4604 #4608 or :ref:`runsub`
-- Build has changed after the switch to cmake. Build instructions are included in
- the INSTALL.CMAKE file in the source directory. You will need to have cmake installed
- on your system. Users of mapscripts (except php) will also need swig to be installed.
-
- WFS paging parameter startIndex changed to base on 0 instead of 1 (0 is the first
feature). See #4180 for external references.
@@ -592,7 +756,7 @@ support it.
As a result the parameters BACKGROUNDCOLOR, BACKGROUNDSHADOWCOLOR, BACKGROUNDSHADOWSIZE
are no more. To draw a label "box" in 6.0 you'd do:
-::
+.. code-block:: mapfile
LABEL
...
@@ -716,7 +880,9 @@ Mapfile Changes - OGC requests - DUMP parameter removed
The DUMP LAYER parameter has been removed. To enable output of
geometries in WMS getfeatureinfo requests - GML
(INFO_FORMAT=application/vnd.ogc.gml), LAYER METADATA is used
-instead::
+instead.
+
+.. code-block:: mapfile
METADATA
gml_geometries "geom"
@@ -743,7 +909,7 @@ following character is ", ' or \.
For Windows users: if you have a path string delimited by single/double
quotes that ends with \, you will have to escape the last backslash.
-::
+.. code-block:: mapfile
SHAPEPATH "C:\ms4w\shapefiles\"
# should be modified to...
@@ -831,7 +997,7 @@ the 5.4/5.6 versions. Gone are resultsGetShape and getFeature methods. You shoul
refactored getShape method to access layer shapes. That method takes a resultObj and returns
a shapeObj. Typical use would be (in Perl):
-::
+.. code-block:: perl
$layer->queryByRect($map, $map->{extent}); # layer is still open
@@ -847,6 +1013,8 @@ A resultObj encapsulates the data used to manage a result set.
To access shapes independently of a query use the new resultObj class:
+.. code-block:: perl
+
$layer->open();
$shape = $layer->getShape(new mapscript::resultObj(1));
$layer->close();
@@ -940,7 +1108,7 @@ for EPSG codes between 4000 and 5000.
Change of mime-type for the imagemap outputformat
-------------------------------------------------
-RFC 36 added support for templated outptformats, but this new feature
+RFC 36 added support for templated outputformats, but this new feature
was not available for WMS GetFeatureInfo output (see ticket #3024).
In MapServer 5.6 this has been resolved by implementing lookup of output
formats for query templates by mime-type. However this caused a conflict
@@ -1008,7 +1176,7 @@ like ANGLEITEM or LABELSIZEITEM were used, now you denote the attribute
in the context of the property being bound. For example, to bind an
attribute to a label size you'd do:
-::
+.. code-block:: mapfile
LABEL
...
diff --git a/en/announcements/announcements_archive.txt b/en/announcements/announcements_archive.txt
index c7e080a8f5e..a427898a0d7 100644
--- a/en/announcements/announcements_archive.txt
+++ b/en/announcements/announcements_archive.txt
@@ -4,10 +4,118 @@
MapServer Announcement Archives
*****************************************************************************
+**2026-06-01 - MapServer 8.6.4 is released**
+
+.. important::
+ Security release available
+
+The security release of MapServer 8.6.4 has been issued in order to fix
+two vulnerabilities. See the :ref:`changelog `
+for the list of changes.
+You may also review the security advisories for this release:
+
+1. `OpenLayers viewer with WMS `__ advisory
+2. `PostGIS support `__ advisory
+
+You may also review MapServer's `Security Policy `__.
+As security for the 7.6 branch has ended, and branches 8.4, 8.2 & 8.0 are not supported,
+all users are strongly encouraged to upgrade to the MapServer 8.6.4 release (see the
+:ref:`Migration Guide `).
+
+Head to :ref:`download` to obtain a copy.
+
+**2026-05-07 - MapServer 8.6.3 is released**
+
+.. important::
+ Security release available
+
+The security release of MapServer 8.6.3 has been issued in order to fix
+a vulnerability in the SLD parser. See the :ref:`changelog `
+for the list of changes.
+You may also review this `Security Advisory `__,
+the CVE record: `CVE-2026-45104 `__,
+as well as MapServer's `Security Policy `__.
+As security for the 7.6 branch has ended, and branches 8.4, 8.2 & 8.0 are not supported,
+all users are strongly encouraged to upgrade to the MapServer 8.6.3 release (see the
+:ref:`Migration Guide `).
+
+Head to :ref:`download` to obtain a copy.
+
+**2026-04-20 - MapCache 1.16.0 is released**
+
+The major version MapCache 1.16.0 has been released.
+The list of changes for this release can be found in
+the MapCache :ref:`changelog `.
+
+Head to :ref:`download` to obtain a copy.
+
+**2026-04-19 - MapServer 8.6.2 is released**
+
+.. important::
+ Security release available
+
+The security release of MapServer 8.6.2 has been issued in order to fix
+a vulnerability in the OpenLayers viewer (with WMS 1.3.0 requests).
+See the :ref:`changelog ` for the list of changes.
+You may also review this `Security Advisory `__,
+the CVE record: `CVE-2026-42030 `__,
+as well as MapServer's `Security Policy `__.
+As security for the 7.6 branch has ended, and branches 8.4, 8.2 & 8.0 are not supported,
+all users are strongly encouraged to upgrade to the MapServer 8.6.2 release (see the
+:ref:`Migration Guide `).
+
+Head to :ref:`download` to obtain a copy.
+
+**2026-03-23 - MapServer 8.6.1 is released**
+
+.. important::
+ Security release available
+
+The security release of MapServer 8.6.1 has been issued in order to fix
+a vulnerability in the SLD parser.
+See the :ref:`changelog ` for the list of changes.
+You may also review this `Security Advisory `__,
+the CVE record: `CVE-2026-33721 `__,
+as well as MapServer's `Security Policy `__.
+As security for the 7.6 branch has ended, and branches 8.4, 8.2 & 8.0 are not supported,
+all users are strongly encouraged to upgrade to the MapServer 8.6.1 release (see the
+:ref:`Migration Guide `).
+
+**2025-12-03 - MapServer 8.6.0 is released**
+
+The major version MapServer 8.6 has been released. The list of
+major changes for this release can be found in the :ref:`8.6 announcement `.
+See the :ref:`changelog `
+for the full list of changes and head to :ref:`download` to obtain a copy.
+
+**2025-11-27 - MapServer 8.6.0-rc1 is released**
+
+The first release candidate for MapServer 8.6 has been released. The list of
+major changes for this release can be found in the :ref:`8.6 announcement `.
+See the :ref:`changelog `
+for the full list of changes and head to :ref:`download` to obtain a copy.
+
+**2025-11-18 - MapServer 8.6.0-beta2 is released**
+
+The second beta for MapServer 8.6 has been released. The list of
+major changes for this release can be found in the :ref:`8.6 announcement `.
+See the :ref:`changelog `
+for the full list of changes and head to :ref:`download` to obtain a copy.
+
+**2025-11-13 - MapServer 8.6.0-beta1 is released**
+
+The first beta for MapServer 8.8 has been released. The list of
+major changes for this release can be found in the :ref:`8.6 announcement `.
+See the :ref:`changelog `
+for the full list of changes and head to :ref:`download` to obtain a copy.
+
**2025-09-19 - MapServer 8.4.1 is released**
-The maintenance release of MapServer 8.4.1 has been issued in order to fix
-a security flaw for WFS filters through OGR.
+.. important::
+ Security release available
+
+The security release of MapServer 8.4.1 has been issued in order to fix
+a vulnerability for WFS filters through OGR.
See the :ref:`changelog ` for the list of changes.
You may also review MapServer's `Security Policy `__,
the CVE record: `CVE-2025-59431 `__,
@@ -629,32 +737,32 @@ for more details and head to :ref:`download` to obtain a copy.
**2012-06-29 - MapServer 6.2.0 beta1 is released**
-MapServer 6.2.0-beta1 has been released. See `the release announcement `__
+MapServer 6.2.0-beta1 has been released. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2012-05-18 - MapServer 6.0.3 is released**
-MapServer 6.0.3 has been released. See `the release announcement `__
+MapServer 6.0.3 has been released. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2012-02-08 - TinyOWS 1.0.0 is released**
-TinyOWS 1.0.0 has been released. See `the release announcement `__
+TinyOWS 1.0.0 has been released. See `the release announcement `__
for more details. (Note that TinyOWS will be part of the MapServer project starting with version 6.2)
**2012-02-08 - MapServer 6.0.2 and 5.6.8 are released**
-MapServer 6.0.2 and 5.6.8 have been released, including a security fix. See `the release announcement `__
+MapServer 6.0.2 and 5.6.8 have been released, including a security fix. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2012-02-06 - MapServer Developers Attend Seattle Code Sprint**
-Members of the MapServer Project Steering Committee attend the `Seattle/Islandwood Code Sprint `__
+Members of the MapServer Project Steering Committee attend the `Seattle/Islandwood Code Sprint `__
event, an international meeting of PostGIS, GDAL, PDAL TinyOWS and MapServer development teams.
**2011-07-13 - MapServer 6.0.1, 5.6.7 and 4.10.7 are released with security fixes**
-MapServer 6.0.1, 5.6.7 and 4.10.7 have been released, containing important security fixes. See `the release announcement `__
+MapServer 6.0.1, 5.6.7 and 4.10.7 have been released, containing important security fixes. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2011-05-12 - MapServer 6.0.0 is released**
@@ -664,54 +772,54 @@ for more details and head to :ref:`download` to obtain a copy.
**2011-04-13 - MapServer 6.0.0-beta6 is released**
-MapServer 6.0.0-beta6 has been released. See `the release announcement `__
+MapServer 6.0.0-beta6 has been released. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2011-03-15 - MapServer PSC Attend Montreal Code Sprint**
-Members of the MapServer Project Steering Committee attend the `Montreal Code Sprint `__
+Members of the MapServer Project Steering Committee attend the `Montreal Code Sprint `__
event, an international meeting of PostGIS, GDAL, libLAS, GeoPrisma, and MapServer development teams.
**2011-03-09 - MapServer 6.0.0-beta1 is released**
-MapServer 6.0.0-beta1 has been released. See `the release announcement `__
+MapServer 6.0.0-beta1 has been released. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2011-01-17 - MapServer 5.6.6 is released**
-MapServer 5.6.6 has been released. See `the release announcement `__
+MapServer 5.6.6 has been released. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2010-07-14 - MapServer 5.6.5 released, fixes a scale calculation issue in 5.6.4**
MapServer 5.6.5 has been released, fixing a scale calculation issue that was introduced in 5.6.4. See the
-`Announcement `__
+`Announcement `__
for more details and head to :ref:`download` to obtain copies.
**2010-07-09 - MapServer 5.6.4 and 4.10.6 are released with security fixes**
MapServer 5.6.4 and 4.10.6 have been released, containing important security fixes. See the
-`Announcement `__
+`Announcement `__
for more details and head to :ref:`download` to obtain copies.
**2010-03-22 - MapServer 5.6.3 is released**
-MapServer 5.6.3 has been released. See `the release announcement `__
+MapServer 5.6.3 has been released. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2010-02-20 - MapServer PSC Attend New York Code Sprint**
-Members of the MapServer Project Steering Committee attend the `New York Code Sprint `__
+Members of the MapServer Project Steering Committee attend the `New York Code Sprint `__
event, an international meeting of PostGIS, GeoServer, GeoMOOSE, and MapServer development teams.
**2010-01-08 - MapServer 5.6.1 is released**
-MapServer 5.6.1 has been released. See `the release announcement `__
+MapServer 5.6.1 has been released. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2009-12-18 - MapServer 5.6.0 is released**
-MapServer 5.6.0 has been released. See `the release announcement `__
+MapServer 5.6.0 has been released. See `the release announcement `__
for more details and head to :ref:`download` to obtain a copy.
**2009-07-24 - MapServer 5.4.2 is released**
@@ -735,7 +843,7 @@ for more details and head to :ref:`download` to obtain a copy.
**2009-03-26 - MapServer 5.2.2 and 4.10.4 security fixes are released**
MapServer 5.2.2 and 4.10.4 have been released, containing important security fixes. See the
-`Announcement `__
+`Announcement `__
for more details and head to :ref:`download` to obtain copies.
**2009-03-08 - MapServer PSC Attend Toronto Code Sprint**
@@ -759,6 +867,5 @@ MapServer website. Some of the major improvements include:
MapServer recently graduated OSGeo's Incubation process. Incubation
includes ensuring items like code provenance and community contribution.
-See the `announcement`_ for more details.
-
-.. _`announcement`: https://lists.osgeo.org/pipermail/mapserver-announce/2008-December/000015.html
\ No newline at end of file
+See the `announcement `__
+for more details.
diff --git a/en/cgi/controls.txt b/en/cgi/controls.txt
index f308af5808d..ee4053f0880 100644
--- a/en/cgi/controls.txt
+++ b/en/cgi/controls.txt
@@ -430,7 +430,7 @@ SCALE [number] - deprecated
SEARCHMAP
It is possible to do pan/zoom interfaces using querymaps. In these cases
- you will likey want information about the contents of the new map rather
+ you will likely want information about the contents of the new map rather
than the previous map which is the normal way queries work. When
searchmap is specified the new map is created and it's extent is used
to query layers. Useful with NQUERY mode only.
@@ -521,7 +521,7 @@ this is fairly straightforward, and depends on what version of
MapServer you are using. One potentially very powerful use of this
ability to change mapfile parameters through a URL involves changing
class expressions on-the-fly. `VALIDATION` is used to control
-run-time substition. Try it out.
+run-time substitution. Try it out.
.. warning::
diff --git a/en/cgi/runsub.txt b/en/cgi/runsub.txt
index 80a927f2490..db15c11e4b7 100644
--- a/en/cgi/runsub.txt
+++ b/en/cgi/runsub.txt
@@ -9,7 +9,7 @@
:Author: Steve Lime
:Contact: sdlime at gmail.com
-:Last Updated: 2023-04-19
+:Last Updated: 2026-03-29
.. contents:: Table of Contents
:depth: 2
diff --git a/en/community/ai_tool_policy.txt b/en/community/ai_tool_policy.txt
new file mode 100644
index 00000000000..8c916b44d48
--- /dev/null
+++ b/en/community/ai_tool_policy.txt
@@ -0,0 +1,101 @@
+.. _ai_tool_policy:
+
+*****************************************************************************
+AI/LLM tool policy
+*****************************************************************************
+
+Rationale
+--------------------------------------------------------------------------------
+
+LLMs are changing software development in many ways. What was once scarce, the
+time and expertise to *write* software, is now plentiful. This scarcity was a
+choke point that limited consumption of related resources in open source
+projects. With that scarcity effectively gone in 2026, the dynamics and economics
+of a project like MapServer are being disrupted.
+
+A project like MapServer is not simply code. It is also design, review, coordinated
+refactoring, deprecation scheduling, coordinated communication, distribution,
+and historical outlook. The plentiful convenience of code writing LLMs do not
+effectively replace the human maintainers, architects, and documenters doing
+the jobs that provide much of the value MapServer users actually derive. If they
+did, LLM contributors would not need to bother to upstream activity to the
+project at all.
+
+With the explosion of LLM usage in software development, the constrained
+resource is now "maintenance". It is the time to review your contribution, the
+time to make it concise, the time to refactor it in to a larger system, and the
+time to protect the larger software system from disruption, breakage, and
+performance degradation. Indiscriminate usage of LLMs in open source projects
+*consume* maintenance, and the MapServer LLM tool policy attempts to conserve that
+resource.
+
+Additionally, legal systems across the world (including US and EU) have not
+definitely determined whether LLM outputs are derived works of training data or
+if LLM-written code can even be copyrighted by a human. This is despite it
+being latently extracted and originated from open source software in the first
+place.
+
+Policy
+--------------------------------------------------------------------------------
+
+Contributors can make **limited use** of LLMs for contributions in MapServer,
+subject to details mentioned below:
+
+ * **Human contributors must be the primary author(s) of MapServer contributions**
+
+ * All contributions including code, ticket comments, and commit messages
+ should be fully understood by the author(s) submitting them to the
+ project.
+
+ * Submission of `vibe-coded `__ contributions is *banned*.
+
+ * LLMs may only be used as an improved auto-completion mechanism, for
+ repeated tasks (mechanical refactoring) that could potentially be
+ completed with a deterministic algorithm, or to assist in identifying
+ potential coding errors. LLM output is advisory only and must not
+ replace human code review or testing.
+
+ * Human-coordinated or uncoordinated (OpenClaw, etc) use of agents for
+ submission of contributions to the MapServer repository is *banned*.
+
+ * *Any* LLM usage must be indicated by ticket label, comment, or commit
+ message indication and account for what was written by whom/what.
+
+ * The contributing human author is ultimately responsible for every line of
+ code, comment, or mailing list interaction they initiate, and all of it
+ is subject to the project's code of conduct.
+
+ * The typical high verbosity of LLM code and text is actively discouraged.
+ More code is more code to maintain. High verbosity contribution (tickets,
+ code, messages, etc) will be seen as indication of LLM-generated content
+ when not labeled otherwise and may be ignored, closed, left unmerged, or
+ removed at maintainers' discretion.
+
+
+Violations
+--------------------------------------------------------------------------------
+
+If a maintainer judges that a contribution does not comply with this policy,
+they should paste the following response to request changes:
+
+.. code-block:: text
+
+ This PR does not appear to comply with our policy on tool-generated content,
+ and requires additional justification for why it is valuable enough to the
+ project for us to review it. Please see our developer policy on
+ AI-generated contributions:
+ https://mapserver.org/community/ai_tool_policy.html
+
+If a contributor fails to rectify their contribution to comply with the policy,
+maintainers may lock the conversation and/or close the pull request/issue/RFC.
+In case of repeated violations of our policy, the MapServer project reserves itself
+the right to temporarily or permanently ban the infringing person/account.
+
+Mitigation
+--------------------------------------------------------------------------------
+
+MapServer donations are one way your organization can help buffer the cost and
+disruption of LLMs in projects such as MapServer. The constrained resource is
+maintenance, not adding more code/capability. Donations financially support
+operation of MapServer as an ongoing open source software project, and without
+it, much of the activity MapServer users take for granted would simply not happen.
diff --git a/en/community/index.txt b/en/community/index.txt
index 430dd596fc4..6e59e968e7a 100644
--- a/en/community/index.txt
+++ b/en/community/index.txt
@@ -19,7 +19,15 @@ Matrix / IRC
:maxdepth: 2
matrix-irc
-
+
+AI/LLM tool policy
+------------------
+
+.. toctree::
+ :maxdepth: 2
+
+ ai_tool_policy
+
MapServer Service Providers
---------------------------
@@ -42,4 +50,4 @@ Contributors
.. toctree::
:maxdepth: 2
- contributors
\ No newline at end of file
+ contributors
diff --git a/en/copyright.txt b/en/copyright.txt
index a293122eb1c..a7ce608b2ef 100644
--- a/en/copyright.txt
+++ b/en/copyright.txt
@@ -15,7 +15,7 @@ MapServer Source Code
::
- Copyright (c) 2008-2025 Open Source Geospatial Foundation.
+ Copyright (c) 2008-2026 Open Source Geospatial Foundation.
Copyright (c) 1996-2008 Regents of the University of Minnesota.
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/en/development/announce/8-6.txt b/en/development/announce/8-6.txt
new file mode 100644
index 00000000000..c44bb970c92
--- /dev/null
+++ b/en/development/announce/8-6.txt
@@ -0,0 +1,88 @@
+.. _announce-8-6:
+
+*****************************************************************************
+Version 8.6.0 Announcement
+*****************************************************************************
+
+:Authors: Project Steering Committee
+:Last Updated: 2025-12-03
+
+The MapServer Team is pleased to announce the major release of
+MapServer 8.6.0
+
+The 8.6 release brings a number of major new features that are briefly
+summarized in this document. The full list of changes can be found in :ref:`changelog-8-6`.
+The :ref:`Migration Guide ` also contains more detailed examples of
+the major changes.
+
+Major New Features in MapServer 8.6
+-----------------------------------
+
+- allow append of additional query parameters for OGCAPI: Features (`#7360 `__)
+
+- new MapServer index page (`#7350 `__)
+
+- WMS GetFeatureInfo: add options to precisely identify points through their symbols (`#7318 `__)
+
+- add FALLBACK parameter for CLASS object, to be applied if none of the previously defined classes has been applied (`#7309 `__)
+
+- add vendorSpecificParameters to OpenAPI document (`#7295 `__)
+
+Other Related Updates
+---------------------
+
+- the demo server hosting many live OGC endpoints has been updated &
+ constantly maintained, as it is so important for the community:
+ https://demo.mapserver.org
+
+Migration Guide
+---------------
+
+Head to the :ref:`Migration Guide ` for mapfile examples of the major 8.6.0 changes.
+
+Source Code Download
+--------------------
+
+The source for this release can be downloaded at:
+
+ https://mapserver.org/download.html
+
+Binary Distributions
+--------------------
+
+Binary distributions will be available in the coming days:
+
+- Debian binaries of 8.6.0 are already available: https://tracker.debian.org/pkg/mapserver
+- `OSGeoLive `__ 17.0 release process is happening now, but
+ it will soon include MapServer 8.6.0
+- `UbuntuGIS `__ will follow the OSGeoLive
+ release and will then include MapServer 8.6.0
+- MS4W users have already been using branch-8-6 code, but watch for
+ a new release shortly containing the 8.6.0 changes at: https://ms4w.com
+
+.. TBD
+ - `RHEL and CentOS` TODO
+ - `OpenSUSE` TODO
+
+Other binary distributions listed on the download page should also be updated
+with binaries for the new release shortly.
+
+Documentation
+-------------
+
+The entire 8.6.0 documentation is also available as a `PDF document `__ |image|
+(1155 pages, with clickable table of contents as well).
+
+.. |image| image:: ../../../_static/pdf.png
+ :height: 15
+ :width: 15
+ :alt: PDF icon
+ :target: https://download.osgeo.org/mapserver/docs/MapServer.pdf
+
+Thanks
+------
+
+Thank you to all of the users, developers, and supporters of MapServer. Enjoy!
+
+*The MapServer Team*
+
diff --git a/en/development/announce/index.txt b/en/development/announce/index.txt
index 154b1277ea0..65f71000ebc 100644
--- a/en/development/announce/index.txt
+++ b/en/development/announce/index.txt
@@ -8,6 +8,7 @@
.. toctree::
:maxdepth: 2
+ 8-6
8-4
8-2
8-0
diff --git a/en/development/bugs.txt b/en/development/bugs.txt
index e1df4eac753..e660a94b543 100644
--- a/en/development/bugs.txt
+++ b/en/development/bugs.txt
@@ -16,6 +16,11 @@ Please keep the following issues in mind when submitting a bug/issue:
Security/vulnerability reports should not be submitted through GitHub, but instead
please send your report to the email address:
`mapserver-security nospam @ osgeo.org` (remove the blanks and 'nospam').
+
+.. tip::
+
+ Review MapServer's `Security Policy `__,
+ and also check if there are any recently published `vulnerabilities `__.
1. Set a meaningful yet reasonably brief title of your ticket.
@@ -36,7 +41,7 @@ Please keep the following issues in mind when submitting a bug/issue:
The most important thing when reporting a bug is to boil down a minimum
example that is needed to reproduce the bug. That means a minimal mapfile +
-any data files it depends on. Remove everything from the map file that isn't
+any data files it depends on. Remove everything from the mapfile that isn't
needed to reproduce the bug.
The developers often dislike having to spend the first 30 minutes working on a
@@ -44,7 +49,7 @@ bug, having to fix paths, remove unnecessary layers, removing references to
external symbols or fonts that were not included or even needed and otherwise
doctoring your test case to get it to a point when they can actually use it.
-If the bug is easily demonstrated with ":ref:`map2img`", without the need to
+If the bug is easily demonstrated with :ref:`map2img`, without the need to
setup a proper web service and test it through http, then please show it that
way. If a standalone :ref:`mapscript` script can demonstrate a problem without it
having to be a web service, likewise submit it that way. If your problem
diff --git a/en/development/changelog/changelog-7-0.txt b/en/development/changelog/changelog-7-0.txt
index 3a51724bca2..9c09522b184 100644
--- a/en/development/changelog/changelog-7-0.txt
+++ b/en/development/changelog/changelog-7-0.txt
@@ -12,6 +12,9 @@ file from the source directory.
Changes from 7.0.7 to 7.0.8
===========================
+.. important::
+ Security release
+
* CVE-2021-32062: Address flaw in CGI mapfile loading that makes it possible to bypass security controls ( `#6313 `__ ) ( `#6314 `__ ) (Steve Lime) : `82a3eb5 `__
* Use CPLSetConfigOption/CPLGetConfigOption for some CGI/FastCGI-related env vars ( `#6305 `__ ) (Seth G) : `3c3c9b3 `__
* handle phpmapscript vulnerability in error handling ( `#6014 `__ ) (Jeff McKenna) : `7e36981 `__
diff --git a/en/development/changelog/changelog-7-2.txt b/en/development/changelog/changelog-7-2.txt
index 94aa56b24df..94c7bf4cb99 100644
--- a/en/development/changelog/changelog-7-2.txt
+++ b/en/development/changelog/changelog-7-2.txt
@@ -12,6 +12,9 @@ file from the source directory.
Changes from 7.2.2 to 7.2.3
===========================
+.. important::
+ Security release
+
* CVE-2021-32062: Address flaw in CGI mapfile loading that makes it possible to bypass security controls ( `#6313 `__ ) ( `#6314 `__ ) (Steve Lime) : `7db7cbb `__
* Use CPLSetConfigOption/CPLGetConfigOption for some CGI/FastCGI-related env vars ( `#6305 `__ ) (Seth G) : `c079fb1 `__
* handle PHPMapScript vulnerability in error handling ( `#6014 `__ ) (Jeff McKenna) : `1ce0d4d `__
diff --git a/en/development/changelog/changelog-7-4.txt b/en/development/changelog/changelog-7-4.txt
index b5a8a7bf474..34c54fc94a9 100644
--- a/en/development/changelog/changelog-7-4.txt
+++ b/en/development/changelog/changelog-7-4.txt
@@ -12,6 +12,9 @@ file from the source directory.
Changes from 7.4.4 to 7.4.5
===========================
+.. important::
+ Security release
+
* CVE-2021-32062: Address flaw in CGI mapfile loading that makes it possible to bypass security controls ( `#6313 `__ ) ( `#6314 `__ ) (Steve Lime) : `d611782 `__
* Use CPLSetConfigOption/CPLGetConfigOption for some CGI/FastCGI-related env vars ( `#6305 `__ ) (Seth G) : `f19c8b7 `__
* WCS 1.1 and 2.0: fix support of netCDF output (complementary fix to refs `#5968 `__ ) (Even Rouault) : `6bd9301 `__
diff --git a/en/development/changelog/changelog-7-6.txt b/en/development/changelog/changelog-7-6.txt
index 5f9d7bdb6ce..1915528c16a 100644
--- a/en/development/changelog/changelog-7-6.txt
+++ b/en/development/changelog/changelog-7-6.txt
@@ -12,6 +12,9 @@ file from the source directory.
Changes from 7.6.6 to 7.6.7
===========================
+.. important::
+ Security release
+
* tostring() expression function: validate format string, and make sure buffer is large enough (Even Rouault) : `31bf282 `__
.. _changelog-7-6-6:
@@ -19,6 +22,9 @@ Changes from 7.6.6 to 7.6.7
Changes from 7.6.5 to 7.6.6
===========================
+.. important::
+ Security release
+
* mapregex.c: fix invalid mapping of MS_REG_NOSUB and MS_REG_NEWLINE with GNU regex (Even Rouault) : `7b4f1b0 `__
* OGR output format: avoid potential stack buffer overflow on too long filename (Even Rouault) : `63ad0ab `__
* update license year (Jeff McKenna) : `3bfaddb `__
@@ -125,6 +131,9 @@ Changes from 7.6.3 to 7.6.4
Changes from 7.6.2 to 7.6.3
===========================
+.. important::
+ Security release
+
* CVE-2021-32062: Address flaw in CGI mapfile loading that makes it possible to bypass security controls ( `#6313 `__ ) ( `#6314 `__ ) ( `#6315 `__ ) (Even Rouault) : `927ac97 `__
* Fix most of remaining Coverity scan warnings with high priority ( `#6307 `__ ) (Even Rouault) : `f89e386 `__
* Use CPLSetConfigOption/CPLGetConfigOption for some CGI/FastCGI-related env vars. ( `#6304 `__ ) (Steve Lime) : `b128dac `__
diff --git a/en/development/changelog/changelog-8-0.txt b/en/development/changelog/changelog-8-0.txt
index f45129748fa..c28b8e83d79 100644
--- a/en/development/changelog/changelog-8-0.txt
+++ b/en/development/changelog/changelog-8-0.txt
@@ -12,6 +12,9 @@ file from the source directory.
Changes from 8.0.1 to 8.0.2
===========================
+.. important::
+ Security release
+
* mapregex.c: fix invalid mapping of MS_REG_NOSUB and MS_REG_NEWLINE with GNU regex (Even Rouault) : `18d2833 `__
* OGR output format: avoid potential stack buffer overflow on too long filename (Even Rouault) : `33cc8c2 `__
* mapogr.cpp: do not emit some debug messages in default debug mode ( `#7063 `__ ) (github-actions[bot]) : `597d17d `__
@@ -745,7 +748,7 @@ Changes from 7.6.4 to 8.0.0-beta1
* remove USE_PROJ check (Jeff McKenna) : `d11da8d `__
* Contour layer: take into account nodata value from GDAL raster (fixes `#6182 `__ ) (Even Rouault) : `a484345 `__
* FindOracle.cmake: complementary fix to find OCI 19 (Even Rouault) : `9bd402c `__
-* WFS 1.1/2.0: do not write empty ows:WGS84BoundingBox element when layer extent is unkown, which is non-conformant with WFS XML schema (fix `#6170 `__ ) (Even Rouault) : `4a5bc7c `__
+* WFS 1.1/2.0: do not write empty ows:WGS84BoundingBox element when layer extent is unknown, which is non-conformant with WFS XML schema (fix `#6170 `__ ) (Even Rouault) : `4a5bc7c `__
* remove myself from travis notifications (Thomas Bonfort) : `2502fb3 `__
* Metadata: remove unused function and erroneous default date output (Tom Kralidis) : `c0d2b75 `__
* Metadata: use attribution_title if available ( `#6166 `__ ) (Tom Kralidis) : `d319595 `__
diff --git a/en/development/changelog/changelog-8-2.txt b/en/development/changelog/changelog-8-2.txt
index 7db71ba0b6f..304534fdcc5 100644
--- a/en/development/changelog/changelog-8-2.txt
+++ b/en/development/changelog/changelog-8-2.txt
@@ -25,6 +25,9 @@ Changes from 8.2.1 to 8.2.2
Changes from 8.2.0 to 8.2.1
===========================
+.. important::
+ Security release
+
* tostring() expression function: validate format string, and make sure buffer is large enough (Even Rouault) : `6f26c4f `__
* msProcessProjection(): strip epsgaxis= MapServer specific parameter that confuses PROJ < 9.5.0 (Even Rouault) : `147e7b9 `__
* Fix build -DWITH_OGCAPI=1 -DWITH_WFS=0 ( `#7116 `__ ) (github-actions[bot]) : `e1ded1c `__
@@ -62,6 +65,9 @@ Changes from 8.2.0-beta3 to 8.2.0-rc1
Changes from 8.2.0-beta2 to 8.2.0-beta3
=======================================
+.. important::
+ Security release
+
* mapregex.c: fix invalid mapping of MS_REG_NOSUB and MS_REG_NEWLINE with GNU regex (Even Rouault) : `af7fe77 `__
* OGR output format: avoid potential stack buffer overflow on too long filename (Even Rouault) : `33381a9 `__
diff --git a/en/development/changelog/changelog-8-4.txt b/en/development/changelog/changelog-8-4.txt
index 38f48954702..f4cb67c99ca 100644
--- a/en/development/changelog/changelog-8-4.txt
+++ b/en/development/changelog/changelog-8-4.txt
@@ -12,38 +12,41 @@ file from the source directory.
Changes from 8.4.0 to 8.4.1
===========================
-* Security: Add missing column name escaping in FLTGetCommonExpression() ( `#7349 `__ ) (Even Rouault) : `1c73aca `__
-* Make projection context ref counting thread safe again ( `#7079 `__ ) ( `#7346 `__ ) (github-actions[bot]) : `94d49b6 `__
-* build(deps): bump actions/setup-python from 5 to 6 ( `#7339 `__ ) (dependabot[bot]) : `c271c32 `__
-* Handle various GDAL version formats (sethg) : `6396818 `__
-* Remove comma check (sethg) : `767fd18 `__
-* [Backport branch-8-4] Update SDTS test to use SXF driver ( `#7332 `__ ) (github-actions[bot]) : `5560cca `__
-* [Backport branch-8-4] Fixed non numerical expressions in a getFeature request ( `#7323 `__ ) (github-actions[bot]) : `32786ac `__
-* build(deps): bump actions/checkout from 4 to 5 ( `#7322 `__ ) (dependabot[bot]) : `7503865 `__
-* msautotest: fix get_gdal_version() to support GDAL version nickname ( `#7319 `__ ) (github-actions[bot]) : `9cd969e `__
-* Fix GDAL 3.12dev deprecation warnings about GDALGetDataTypeSize() (Even Rouault) : `eacdaee `__
-* maptree.c: fix warning with latest GCC (Even Rouault) : `6992c26 `__
-* Fix vector tileindex infinite recursion (Patrik Sylve) : `547e558 `__
-* Check for all possible use_default_extent_for_getfeature metadata keys ( `#7311 `__ ) (github-actions[bot]) : `8e96877 `__
-* use master for CRLF check (Jeff McKenna) : `77f74de `__
-* [Backport branch-8-4] OGC API: fix issue `#7177 `__ (feature geometry of multipolygons is returned with errors) ( `#7306 `__ ) (github-actions[bot]) : `6d0016c `__
-* Update INSTALL.CMAKE ( `#7304 `__ ) (github-actions[bot]) : `5db5354 `__
-* Check wms_onlineresource for OpenLayers output ( `#7301 `__ ) (github-actions[bot]) : `a06a1dc `__
-* [Backport branch-8-4] Shapefile: Parse CPG values ( `#7302 `__ ) (github-actions[bot]) : `e59604c `__
-* add private vulnerability reporting steps ( `#7300 `__ ) (github-actions[bot]) : `49c0d38 `__
-* Fix regex and use PROJ_DATA ( `#7291 `__ ) (github-actions[bot]) : `00d904e `__
-* [Backport branch-8-4] Allow FILTER expressions with SCALETOKENs ( `#7285 `__ ) (github-actions[bot]) : `71b617a `__
-* [Backport branch-8-4] SHP/DBF: Attempt to read encoding from CPG file ( `#7276 `__ ) (github-actions[bot]) : `15b3ee3 `__
-* Fix MSSQL driver crash with NULL fid ( `#7270 `__ ) ( `#7272 `__ ) (github-actions[bot]) : `598859a `__
-* [Backport branch-8-4] update OGCAPI Common schemas url ( `#7269 `__ ) (github-actions[bot]) : `2c9c805 `__
-* [Backport branch-8-4] CI: handle Flake8 unused variable violation code ( `#7265 `__ ) (github-actions[bot]) : `61c4762 `__
-* Bump C/C++ standard to 17 for ICU 76. ( `#7259 `__ ) (Bas Couwenberg) : `0e9f04e `__
-* Fix opacity for gradient legend symbol ( `#7256 `__ ) (github-actions[bot]) : `85fa884 `__
-* [Backport branch-8-4] Make sure 130 tests make request for WMS version 1.3.0 ( `#7253 `__ ) (github-actions[bot]) : `7596347 `__
-* [Backport branch-8-4] Python MapScript updates ( `#7222 `__ ) (github-actions[bot]) : `36b9a46 `__
-* Attempt at fuzzer fix ( `#7220 `__ ) (github-actions[bot]) : `fff513a `__
-* msDrawRasterBuildRasterPath(): micro-optimization: do not attempt to open non-exiting file ( `#7216 `__ ) (github-actions[bot]) : `16b85d0 `__
-* [CI] bump PCRE2 for SWIG build ( `#7214 `__ ) (github-actions[bot]) : `2bffd04 `__
+.. important::
+ Security release
+
+* Security: Add missing column name escaping in FLTGetCommonExpression() ( `#7349 `__ ) (Even Rouault) : `1c73aca `__
+* Make projection context ref counting thread safe again ( `#7079 `__ ) ( `#7346 `__ ) (github-actions[bot]) : `94d49b6 `__
+* build(deps): bump actions/setup-python from 5 to 6 ( `#7339 `__ ) (dependabot[bot]) : `c271c32 `__
+* Handle various GDAL version formats (sethg) : `6396818 `__
+* Remove comma check (sethg) : `767fd18 `__
+* [Backport branch-8-4] Update SDTS test to use SXF driver ( `#7332 `__ ) (github-actions[bot]) : `5560cca `__
+* [Backport branch-8-4] Fixed non numerical expressions in a getFeature request ( `#7323 `__ ) (github-actions[bot]) : `32786ac `__
+* build(deps): bump actions/checkout from 4 to 5 ( `#7322 `__ ) (dependabot[bot]) : `7503865 `__
+* msautotest: fix get_gdal_version() to support GDAL version nickname ( `#7319 `__ ) (github-actions[bot]) : `9cd969e `__
+* Fix GDAL 3.12dev deprecation warnings about GDALGetDataTypeSize() (Even Rouault) : `eacdaee `__
+* maptree.c: fix warning with latest GCC (Even Rouault) : `6992c26 `__
+* Fix vector tileindex infinite recursion (Patrik Sylve) : `547e558 `__
+* Check for all possible use_default_extent_for_getfeature metadata keys ( `#7311 `__ ) (github-actions[bot]) : `8e96877 `__
+* use master for CRLF check (Jeff McKenna) : `77f74de `__
+* [Backport branch-8-4] OGC API: fix issue `#7177 `__ (feature geometry of multipolygons is returned with errors) ( `#7306 `__ ) (github-actions[bot]) : `6d0016c `__
+* Update INSTALL.CMAKE ( `#7304 `__ ) (github-actions[bot]) : `5db5354 `__
+* Check wms_onlineresource for OpenLayers output ( `#7301 `__ ) (github-actions[bot]) : `a06a1dc `__
+* [Backport branch-8-4] Shapefile: Parse CPG values ( `#7302 `__ ) (github-actions[bot]) : `e59604c `__
+* add private vulnerability reporting steps ( `#7300 `__ ) (github-actions[bot]) : `49c0d38 `__
+* Fix regex and use PROJ_DATA ( `#7291 `__ ) (github-actions[bot]) : `00d904e `__
+* [Backport branch-8-4] Allow FILTER expressions with SCALETOKENs ( `#7285 `__ ) (github-actions[bot]) : `71b617a `__
+* [Backport branch-8-4] SHP/DBF: Attempt to read encoding from CPG file ( `#7276 `__ ) (github-actions[bot]) : `15b3ee3 `__
+* Fix MSSQL driver crash with NULL fid ( `#7270 `__ ) ( `#7272 |