From 9ff80230b3f34271c5d28d4a4656dbee46bcc739 Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Thu, 13 Nov 2025 16:40:31 -0400 Subject: [PATCH 01/11] update for 8.6.0-beta1 release --- en/MIGRATION_GUIDE.txt | 9 ++- en/announcements/announcements_archive.txt | 7 ++ en/development/announce/index.txt | 1 + en/development/changelog/index.txt | 1 + en/download.txt | 1 + en/download_archives.txt | 2 + en/include/announcements.inc | 77 ++-------------------- 7 files changed, 27 insertions(+), 71 deletions(-) diff --git a/en/MIGRATION_GUIDE.txt b/en/MIGRATION_GUIDE.txt index 1e9636b9ef4..f968bc95018 100644 --- a/en/MIGRATION_GUIDE.txt +++ b/en/MIGRATION_GUIDE.txt @@ -6,12 +6,19 @@ MapServer Migration Guide ***************************************************************************** -:Last Updated: 2025-09-22 +:Last Updated: 2025-11-13 .. contents:: Table of Contents :depth: 2 :backlinks: top +.. _migration-8-6: + +MapServer 8.4 to 8.6 Migration +============================== + +TODO + .. _migration-8-4: MapServer 8.2 to 8.4 Migration diff --git a/en/announcements/announcements_archive.txt b/en/announcements/announcements_archive.txt index c7e080a8f5e..ee479457613 100644 --- a/en/announcements/announcements_archive.txt +++ b/en/announcements/announcements_archive.txt @@ -4,6 +4,13 @@ MapServer Announcement Archives ***************************************************************************** +**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 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/changelog/index.txt b/en/development/changelog/index.txt index b50cc266a96..5e3dc9e5eda 100644 --- a/en/development/changelog/index.txt +++ b/en/development/changelog/index.txt @@ -8,6 +8,7 @@ .. toctree:: :maxdepth: 2 + changelog-8-6 changelog-8-4 changelog-8-2 changelog-8-0 diff --git a/en/download.txt b/en/download.txt index f48e846009a..e9f75d4fece 100644 --- a/en/download.txt +++ b/en/download.txt @@ -18,6 +18,7 @@ Current Release(s) * MapServer + * **2025-11-13** MapServer-8.6.0-beta1 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` * **2025-09-19** MapServer-8.4.1 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` * **2024-09-02** MapServer-8.2.2 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` * **2024-06-11** MapServer-8.0.2 `tar.gz `__ | :ref:`Changelog ` diff --git a/en/download_archives.txt b/en/download_archives.txt index 76ad65aa915..7277f6cc5c4 100644 --- a/en/download_archives.txt +++ b/en/download_archives.txt @@ -166,6 +166,8 @@ Past Releases Development Releases .............................................................................. +* **2025-11-13** MapServer-8.6.0-beta1 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` + * **2025-01-08** MapServer-8.4.0-rc1 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` * **2024-12-14** MapServer-8.4.0-beta2 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` diff --git a/en/include/announcements.inc b/en/include/announcements.inc index 7410dc7be1b..00c3cab5c1f 100644 --- a/en/include/announcements.inc +++ b/en/include/announcements.inc @@ -1,3 +1,10 @@ +**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** .. important:: @@ -70,73 +77,3 @@ major changes for this release can be found in the :ref:`8.2 announcement ` for the full list of changes and head to :ref:`download` to obtain a copy. -**2024-06-28 - MapServer 8.2.0-rc3 is released** - -The third release candidate for MapServer 8.2.0 has been released. The list of -major changes for this release can be found in the :ref:`8.2 announcement `. -See the :ref:`changelog ` -for the full list of changes and head to :ref:`download` to obtain a copy. - -**2024-06-27 - MapServer 8.2.0-rc2 is released** - -The second release candidate for MapServer 8.2.0 has been released. The list of -major changes for this release can be found in the :ref:`8.2 announcement `. -See the :ref:`changelog ` -for the full list of changes and head to :ref:`download` to obtain a copy. - -**2024-06-14 - MapServer 8.2.0-rc1 is released** - -The first release candidate for MapServer 8.2.0 has been released. The list of -major changes for this release can be found in the :ref:`8.2 announcement `. -See the :ref:`changelog ` -for the full list of changes and head to :ref:`download` to obtain a copy. - -**2024-06-11 - MapServer 8.2.0-beta3, 8.0.2, 7.6.6 are released** - -Several maintenance releases of MapServer have been issued in order to fix -a security flaw for regex validation (CVE has been requested). -See the :ref:`8.2.0-beta3 changelog `, -:ref:`8.0.2 changelog `, -:ref:`7.6.6 changelog ` for the list of changes. - -Head to :ref:`download` to obtain a copy. - -**2024-06-08 - MapServer 8.2.0-beta2 is released** - -The second beta for MapServer 8.2 has been released. The list of -major changes for this release can be found in the :ref:`8.2 announcement `. -See the :ref:`changelog ` -for the full list of changes and head to :ref:`download` to obtain a copy. - -**2024-05-24 - TinyOWS 1.2.1 is released** - -The minor version TinyOWS 1.2.1 has been released. This release is in honor -of Olivier Courtin, the original TinyOWS developer & visionary. -The list of changes for this release can be found in -the :ref:`changelog `. - -Head to :ref:`download` to obtain a copy. - -**2023-04-18 - MapServer 8.0.1 and 7.6.5 are released** - -The maintenance release of MapServer 8.0.1 and 7.6.5 are now available. -See the :ref:`8.0.1 changelog `, -:ref:`7.6.5 changelog ` -for the full list of changes. - -Head to :ref:`download` to obtain a copy. - -**2023-01-30 - MapCache 1.14.0 is released** - -MapCache 1.14.0 has been released. This is a security release to handle -a string formatting injection vulnerability, and it affects all previous versions. -See the :ref:`changelog ` -for the full list of changes and head to :ref:`download` to obtain a copy. - -**2022-09-12 - MapServer 8.0.0 is released** - -The major version MapServer 8.0 has been released. The list of -major changes for this release can be found in the :ref:`8.0 announcement `. -See the :ref:`changelog ` -for the full list of changes and head to :ref:`download` to obtain a copy. - From 71ac2526c135e2fcaa98472045b84c41c20050f1 Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Thu, 13 Nov 2025 16:45:11 -0400 Subject: [PATCH 02/11] update for 8.6.0-beta1 release --- en/development/announce/8-6.txt | 86 +++++++++++++++ en/development/changelog/changelog-8-6.txt | 117 +++++++++++++++++++++ 2 files changed, 203 insertions(+) create mode 100644 en/development/announce/8-6.txt create mode 100644 en/development/changelog/changelog-8-6.txt diff --git a/en/development/announce/8-6.txt b/en/development/announce/8-6.txt new file mode 100644 index 00000000000..c313caa7094 --- /dev/null +++ b/en/development/announce/8-6.txt @@ -0,0 +1,86 @@ +.. _announce-8-6: + +***************************************************************************** +Version 8.6.0-beta1 Announcement +***************************************************************************** + +:Authors: Project Steering Committee +:Last Updated: 2025-11-13 + +The MapServer Team is pleased to announce the first beta release of +MapServer 8.6.0-beta1 + +The upcoming 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 Coming in MapServer 8.6 +------------------------------------------ + +- 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.4.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-beta1 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-beta1 +- `UbuntuGIS `__ will follow the OSGeoLive + release and will then include MapServer 8.6.0-beta1 +- MS4W users have already been using branch-8-6 code, but watch for + a new release shortly containing the 8.6.0-beta1 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.4.0 documentation is also available as a `PDF document `__ |image| +(1143 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/changelog/changelog-8-6.txt b/en/development/changelog/changelog-8-6.txt new file mode 100644 index 00000000000..3f92b21725e --- /dev/null +++ b/en/development/changelog/changelog-8-6.txt @@ -0,0 +1,117 @@ +.. _changelog-8-6: + +************************** + MapServer 8.6 Changelog +************************** + +The summary of major changes for this release can be found in the `HISTORY.md `__ +file from the source directory. + +.. _changelog-8-6-0-beta1: + +Changes from 8.4.1 to 8.6.0-beta1 +================================= + +* Fix: Memory leaks in config and landing page fixes ( `#7385 `__ ) (Seth G) : `2715c5d `__ +* Add config to msautotest folder checks ( `#7386 `__ ) (Seth G) : `099a0b1 `__ +* msautotest: fix config match errors ( `#7384 `__ ) (Jeff McKenna) : `bbc825d `__ +* Fix query maps with MS_NORMAL and MS_HILITE styles with WFS layers ( `#7364 `__ ) ( `#7365 `__ ) (Tamas Szekeres) : `3c37e22 `__ +* WFS: add next link if there might be features left ( `#7328 `__ ) (Patrik Sylve) : `9b7c8d0 `__ +* Provide additional names in FindProtobufC.cmake ( `#7130 `__ ) (Howard Butler) : `fc79134 `__ +* PostGIS: Escape geometry column name consistently ( `#7324 `__ ) (Jørgen Reimer Nystad) : `c78aafd `__ +* Default to use FindFreetype/FindIconv from cmake ( `#7376 `__ ) (Landry Breuil) : `151abf1 `__ +* add extra spece in construction of query ( `#7379 `__ ) (Michael D. Smith) : `b7ac51d `__ +* msautotest updates ( `#7380 `__ ) (Seth G) : `bbcdddf `__ +* Disable build isolation to not download setuptools dependency. ( `#7377 `__ ) (Bas Couwenberg) : `d27752e `__ +* Remove legacy bootstrap4 files ( `#7363 `__ ) (Seth G) : `2445768 `__ +* Do the fontconfig detection on all platforms, not only MacOSX ( `#7372 `__ ) (Landry Breuil) : `47b51df `__ +* WMS Client: Validate style in wms_style metadata ( `#7368 `__ ) (Patrik Sylve) : `1d379a7 `__ +* WMS Client: Do not modify layer extent `#7367 `__ ( `#7371 `__ ) (Patrik Sylve) : `386c136 `__ +* build(deps): bump actions/upload-artifact from 4 to 5 ( `#7369 `__ ) (dependabot[bot]) : `0f1a401 `__ +* Process empty path requests with mapfiles in querystrings ( `#7366 `__ ) (Seth G) : `e71de03 `__ +* Add ows_extra_params for OGC Features API ( `#7360 `__ ) (Seth G) : `265c9d9 `__ +* build(deps): bump github/codeql-action from 3 to 4 ( `#7361 `__ ) (dependabot[bot]) : `fee747f `__ +* OGC API/OpenAPI: add vendorSpecificParameters for items paths ( `#7295 `__ ) (Tom Kralidis) : `07acb6b `__ +* RFC 140 Impementation: Mapserver Homepage ( `#7350 `__ ) (Seth G) : `6b59663 `__ +* Merge pull request `#7343 `__ from geographika/raster-query-double (Seth G) : `29e4ae8 `__ +* Fix(parser): Prevent crash with non-existent layer in REQUIRES ( `#7334 `__ ) (Māris Nartišs) : `342b042 `__ +* Fix use-after-free error in msDrawRasterLayerLowOpenDataset ( `#7333 `__ ) (Māris Nartišs) : `3c18f7e `__ +* WMS GetFeatureInfo: add options to precisely identify points through their symbols (Even Rouault) : `b8f298d `__ +* msShapeGetNextClass(): use msScaleInBounds() (Even Rouault) : `d9ef84c `__ +* add bootstrap install to CMake build summary ( `#7351 `__ ) (Jeff McKenna) : `df31c72 `__ +* Use LF ( `#7352 `__ ) (Seth G) : `9753718 `__ +* update for 8.4.1 release (Jeff McKenna) : `fb4fa64 `__ +* update history (Jeff McKenna) : `e30e2a8 `__ +* Add Bootstrap 5 OGC API template files ( `#7338 `__ ) (Seth G) : `4777b7a `__ +* Add missing column name escaping in FLTGetCommonExpression() ( `#7348 `__ ) (Even Rouault) : `aaeedcd `__ +* Update Ubuntu CI setup.sh ( `#7347 `__ ) (Seth G) : `d327d58 `__ +* Make projection context ref counting thread safe again ( `#7079 `__ ) ( `#7345 `__ ) (Tamas Szekeres) : `27b2a1a `__ +* Remove legacy WMS versions ( `#7337 `__ ) (Seth G) : `d66c340 `__ +* Style: make fallback configurable in CLASS ( `#7309 `__ ) (Patrik Sylve) : `8db1ef9 `__ +* Support Float32 or Float64 labels (sethg) : `aab8852 `__ +* Add Float64 test (sethg) : `7348c87 `__ +* Add MS_IMAGEMODE_FLOAT64 type for raster labels (sethg) : `b520879 `__ +* Add test case (sethg) : `c219201 `__ +* build(deps): bump actions/setup-python from 5 to 6 ( `#7339 `__ ) (dependabot[bot]) : `b78b0dc `__ +* Update msautotest output to GDAL 3.11.3 ( `#7336 `__ ) (Seth G) : `caaefa0 `__ +* msautotest Python GDAL get version fix ( `#7329 `__ ) (Seth G) : `87d522c `__ +* Speed-up vagrant package installation ( `#7330 `__ ) (Seth G) : `11d4146 `__ +* Switch to SXF (sethg) : `1fddafc `__ +* Remove SDTS test (sethg) : `56625bb `__ +* Fixed non numerical expressions in a getFeature request ( `#7321 `__ ) (Daimanta) : `b1c36e5 `__ +* build(deps): bump actions/checkout from 4 to 5 ( `#7322 `__ ) (dependabot[bot]) : `f9618ea `__ +* msautotest: fix get_gdal_version() to support GDAL version nickname ( `#7317 `__ ) (Even Rouault) : `032d9d1 `__ +* Fix GDAL 3.12dev deprecation warnings about GDALGetDataTypeSize() (Even Rouault) : `851fb5a `__ +* Update msautotest/gdal/expected/rawmode_multiband.png for GDAL version update (Even Rouault) : `ce143b6 `__ +* maptree.c: fix warning with latest GCC (Even Rouault) : `12ba37f `__ +* Check for all possible use_default_extent_for_getfeature metadata keys ( `#7296 `__ ) (Seth G) : `b5d7503 `__ +* use master for CRLF check (Jeff McKenna) : `6eb2b60 `__ +* OGC API: fix issue `#7177 `__ (feature geometry of multipolygons is returned with errors) ( `#7305 `__ ) (Andrea Capobianco) : `7d24be7 `__ +* Update INSTALL.CMAKE ( `#7303 `__ ) (Robin Perkins) : `70fdae4 `__ +* Shapefile: Parse CPG values ( `#7282 `__ ) (Patrik Sylve) : `be528bc `__ +* Check wms_onlineresource for OpenLayers output ( `#7297 `__ ) (Seth G) : `0438f8c `__ +* add private vulnerability reporting steps ( `#7298 `__ ) (Jeff McKenna) : `013a437 `__ +* Only use wchar_t on windows ( `#7287 `__ ) (Seth G) : `e6eba84 `__ +* INSPIRE compliance: Fix service exception status code when the SERVICE parameter is invalid/missing ( `#7284 `__ ) (Thomas Schorr) : `d76b6c8 `__ +* Update OpenLayers version and support non-built-in projections ( `#7290 `__ ) (Seth G) : `9d0e102 `__ +* Fix regex and use PROJ_DATA ( `#7278 `__ ) (Seth G) : `1375812 `__ +* add release badge (Jeff McKenna) : `baf4cde `__ +* Increase memory for vagrant and remove legacy fix ( `#7286 `__ ) (Seth G) : `6ce093f `__ +* Allow FILTER expressions with SCALETOKENs ( `#7237 `__ ) (Seth G) : `d79fa7f `__ +* WMS_SERVER: Add sanity check for TRANSPARENT parameter value in GetMap ( `#7280 `__ ) (Thomas Schorr) : `a994636 `__ +* Fix vector tileindex infinite recursion (Patrik Sylve) : `6c6e74e `__ +* CI: Update to GDAL 3.10.3 ( `#7281 `__ ) (Seth G) : `028a2de `__ +* SHP/DBF: Attempt to read encoding from CPG file ( `#7274 `__ ) (Patrik Sylve) : `d54aae0 `__ +* Fix MSSQL driver crash with NULL fid ( `#7270 `__ ) ( `#7271 `__ ) (Tamas Szekeres) : `337f974 `__ +* update OGCAPI Common schemas url ( `#7267 `__ ) (Jeff McKenna) : `9b7a37c `__ +* CI: handle Flake8 unused variable violation code ( `#7264 `__ ) (Jeff McKenna) : `6fe8e2b `__ +* Bump C/C++ standard to 17 for ICU 76. ( `#7259 `__ ) (Bas Couwenberg) : `0638698 `__ +* Fix opacity for gradient legend symbol ( `#7255 `__ ) (Patrik Sylve) : `38fc59f `__ +* Add a TIMESTAMP FORMATOPTION for Zip OUTPUTFORMATS ( `#7251 `__ ) (Seth G) : `fd7ee52 `__ +* CI: upgrade PHPUnit to version 12 ( `#7254 `__ ) (Jeff McKenna) : `530f2bf `__ +* Make sure 130 tests make request for WMS version 1.3.0 ( `#7252 `__ ) (Alistair Everett) : `de25c45 `__ +* CI: Update msautotest outputs to use Docker outputs ( `#7250 `__ ) (Seth G) : `e095a18 `__ +* msautotest: Fix interpretation of test output comparison in mstestlib ( `#7249 `__ ) (Paul Pazderski) : `e04fbd4 `__ +* CI: Update all build scripts and msautotest outputs to Ubuntu 24.04 ( `#7242 `__ ) (Seth G) : `4121426 `__ +* Add test for shapezip STORAGE=memory ( `#7239 `__ ) (Seth G) : `c7efdce `__ +* Move PHP MapScript builds to Docker and simplify Python MapScript builds (sethg) : `64a706f `__ +* Update to ubuntugis-stable (sethg) : `0170749 `__ +* Update main build to ubuntu-latest (geographika) : `79e609b `__ +* Update Python MapScript to use Docker (sethg) : `79bcc37 `__ +* CI: Run coverity-scan using Docker ( `#7225 `__ ) (Seth G) : `3bb1c22 `__ +* Run cppcheck using Docker ( `#7224 `__ ) (Seth G) : `279027f `__ +* Python MapScript updates ( `#7221 `__ ) (Seth G) : `6bef295 `__ +* Update the MapServer OpenLayers Viewer to use OpenLayers 10.4 ( `#7218 `__ ) (Seth G) : `432a45d `__ +* Attempt at fuzzer fix ( `#7219 `__ ) (Seth G) : `bc2a64a `__ +* msDrawRasterBuildRasterPath(): micro-optimization: do not attempt to open non-exiting file ( `#7215 `__ ) (Even Rouault) : `68c2a2f `__ +* [CI] bump PCRE2 for SWIG build (Jeff McKenna) : `a6db803 `__ +* update for 8.4 release (Jeff McKenna) : `24102f3 `__ +* update for 8.4 release (Jeff McKenna) : `f833350 `__ +* update history (Jeff McKenna) : `034d8be `__ +* add CITATION.cff ( `#7209 `__ ) (Jeff McKenna) : `3cd7992 `__ +* update history (Jeff McKenna) : `bc8e7dd `__ +* update copyright year (Jeff McKenna) : `683ad5c `__ +* Add stdbool.h inclusion in mapserver.h (Even Rouault) : `a6b41b2 `__ +* update history (Jeff McKenna) : `562a20d `__ +* Emit explicit error message when proj.db cannot be found ( `#7203 `__ ) (Even Rouault) : `5484bc6 `__ +* msPostGISReadShape(): fix crash if returned geometry is NULL (Even Rouault) : `4cdc549 `__ From bef4c7a99114bb293afc797c076cecbde25c1eef Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 12:00:18 -0400 Subject: [PATCH 03/11] update for 8.6.0-beta2 release --- en/announcements/announcements_archive.txt | 7 +++++++ en/development/announce/8-6.txt | 9 +++++---- en/development/changelog/changelog-8-6.txt | 7 +++++++ en/download.txt | 2 +- en/download_archives.txt | 2 ++ en/include/announcements.inc | 6 +++--- en/mapfile/scalebar.txt | 4 ++++ 7 files changed, 29 insertions(+), 8 deletions(-) diff --git a/en/announcements/announcements_archive.txt b/en/announcements/announcements_archive.txt index ee479457613..14f3e9d0552 100644 --- a/en/announcements/announcements_archive.txt +++ b/en/announcements/announcements_archive.txt @@ -4,6 +4,13 @@ MapServer Announcement Archives ***************************************************************************** +**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 diff --git a/en/development/announce/8-6.txt b/en/development/announce/8-6.txt index c313caa7094..9b2ea9fcc88 100644 --- a/en/development/announce/8-6.txt +++ b/en/development/announce/8-6.txt @@ -1,14 +1,15 @@ .. _announce-8-6: ***************************************************************************** -Version 8.6.0-beta1 Announcement +Version 8.6.0-beta2 Announcement ***************************************************************************** :Authors: Project Steering Committee -:Last Updated: 2025-11-13 +:Last Updated: 2025-11-18 +:Status: Draft -The MapServer Team is pleased to announce the first beta release of -MapServer 8.6.0-beta1 +The MapServer Team is pleased to announce the second beta release of +MapServer 8.6.0-beta2 The upcoming 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`. diff --git a/en/development/changelog/changelog-8-6.txt b/en/development/changelog/changelog-8-6.txt index 3f92b21725e..04bf1151781 100644 --- a/en/development/changelog/changelog-8-6.txt +++ b/en/development/changelog/changelog-8-6.txt @@ -7,6 +7,13 @@ The summary of major changes for this release can be found in the `HISTORY.md `__ file from the source directory. +.. _changelog-8-6-0-beta2: + +Changes from 8.6.0-beta1 to 8.6.0-beta2 +======================================= + +* Add additional URL creation logic for Landing Page URLs ( `#7389 `__ ) (github-actions[bot]) : `c70b447 `__ + .. _changelog-8-6-0-beta1: Changes from 8.4.1 to 8.6.0-beta1 diff --git a/en/download.txt b/en/download.txt index e9f75d4fece..13fe13e2299 100644 --- a/en/download.txt +++ b/en/download.txt @@ -18,7 +18,7 @@ Current Release(s) * MapServer - * **2025-11-13** MapServer-8.6.0-beta1 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` + * **2025-11-18** MapServer-8.6.0-beta2 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` * **2025-09-19** MapServer-8.4.1 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` * **2024-09-02** MapServer-8.2.2 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` * **2024-06-11** MapServer-8.0.2 `tar.gz `__ | :ref:`Changelog ` diff --git a/en/download_archives.txt b/en/download_archives.txt index 7277f6cc5c4..d2fc3f31cae 100644 --- a/en/download_archives.txt +++ b/en/download_archives.txt @@ -166,6 +166,8 @@ Past Releases Development Releases .............................................................................. +* **2025-11-18** MapServer-8.6.0-beta2 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` + * **2025-11-13** MapServer-8.6.0-beta1 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` * **2025-01-08** MapServer-8.4.0-rc1 `tar.gz `__ | `.zip `__ | :ref:`Changelog ` diff --git a/en/include/announcements.inc b/en/include/announcements.inc index 00c3cab5c1f..a7807cf409c 100644 --- a/en/include/announcements.inc +++ b/en/include/announcements.inc @@ -1,8 +1,8 @@ -**2025-11-13 - MapServer 8.6.0-beta1 is released** +**2025-11-18 - MapServer 8.6.0-beta2 is released** -The first beta for MapServer 8.8 has been released. The list of +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 ` +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** diff --git a/en/mapfile/scalebar.txt b/en/mapfile/scalebar.txt index 772412de76f..d98c7e7720b 100644 --- a/en/mapfile/scalebar.txt +++ b/en/mapfile/scalebar.txt @@ -222,6 +222,10 @@ STATUS [on|off|embed] STYLE [integer] Chooses the scalebar style. Valid styles are 0 and 1. + +.. index:: + pair: SCALEBAR; TRANSPARENT + :name: mapfile-scalebar-transparent TRANSPARENT [on|off] From 36aa5f804f8b53f6f3c9bb7aed2c450284a9efb1 Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 12:04:37 -0400 Subject: [PATCH 04/11] update for 8.6.0-beta2 release --- conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf.py b/conf.py index e113d98500b..0bec8c07a70 100644 --- a/conf.py +++ b/conf.py @@ -92,9 +92,9 @@ def __getattr__(cls, name): # 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.0-beta2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. #language = None From e5914ba66f125547656870d712d3925a650470fa Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 12:12:28 -0400 Subject: [PATCH 05/11] update for 8.6.0-beta2 release --- en/download.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/en/download.txt b/en/download.txt index 13fe13e2299..62ba7c84b77 100644 --- a/en/download.txt +++ b/en/download.txt @@ -68,6 +68,7 @@ Current Release Previous Releases .............................................................................. +* `MapServer-8.4-Documentation.pdf `__ |image| * `MapServer-8.2-Documentation.pdf `__ |image| * `MapServer-8.0-Documentation.pdf `__ |image| * `MapServer-7.6-Documentation.pdf `__ |image| From f624efbcb577306e61a51b770488b4c86b4be67f Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 12:16:52 -0400 Subject: [PATCH 06/11] update for 8.6.0-beta2 release --- en/development/changelog/changelog-8-6.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/development/changelog/changelog-8-6.txt b/en/development/changelog/changelog-8-6.txt index 04bf1151781..ea73cc18b31 100644 --- a/en/development/changelog/changelog-8-6.txt +++ b/en/development/changelog/changelog-8-6.txt @@ -12,7 +12,7 @@ file from the source directory. Changes from 8.6.0-beta1 to 8.6.0-beta2 ======================================= -* Add additional URL creation logic for Landing Page URLs ( `#7389 `__ ) (github-actions[bot]) : `c70b447 `__ +* Add additional URL creation logic for Landing Page URLs ( `#7389 `__ ) (Seth G) : `c70b447 `__ .. _changelog-8-6-0-beta1: From 8572ba70c342e28bee42d36184954c425fb520ad Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 12:39:17 -0400 Subject: [PATCH 07/11] update for 8.6.0-beta2 release --- en/development/rfc/ms-rfc-140.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/development/rfc/ms-rfc-140.txt b/en/development/rfc/ms-rfc-140.txt index e133dc5eb7a..cf4744e6d8e 100644 --- a/en/development/rfc/ms-rfc-140.txt +++ b/en/development/rfc/ms-rfc-140.txt @@ -6,7 +6,7 @@ MS RFC 140: MapServer Index Page :Author: Seth Girvin :Contact: sethg@geographika.co.uk -:Last Updated: 2025-17-10 +:Last Updated: 2025-10-17 :Version: MapServer 8.6 :Status: Adopted From 5c7932ebdc7c1c21116604a7696e63ecf291404d Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 15:34:20 -0400 Subject: [PATCH 08/11] update for 8.6.0-beta2 release --- en/mapfile/class.txt | 2 +- en/mapfile/identify.txt | 2 +- en/mapfile/layer.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/en/mapfile/class.txt b/en/mapfile/class.txt index c0b82a1331e..bbb5d38cb76 100644 --- a/en/mapfile/class.txt +++ b/en/mapfile/class.txt @@ -95,7 +95,7 @@ EXPRESSION [string] :name: mapfile-class-fallback FALLBACK [true|false] - .. versionadded:: 8.6 + .. versionadded:: 8.6.0 Specifies whether the class should act as a fallback class. Default is false. A fallback class is applied if and only if none of the previously diff --git a/en/mapfile/identify.txt b/en/mapfile/identify.txt index b10b7ffa916..dab3b589de4 100644 --- a/en/mapfile/identify.txt +++ b/en/mapfile/identify.txt @@ -7,7 +7,7 @@ IDENTIFY ***************************************************************************** -.. versionadded:: 8.6 +.. versionadded:: 8.6.0 Controls how vector features are identified, typically through WMS GetFeatureInfo or MODE=QUERY requests. diff --git a/en/mapfile/layer.txt b/en/mapfile/layer.txt index 012afd3ea5a..a1162af9f3c 100644 --- a/en/mapfile/layer.txt +++ b/en/mapfile/layer.txt @@ -723,7 +723,7 @@ HEADER [filename] .. _layer-identify: :ref:`IDENTIFY` - .. versionadded:: 8.6 + .. versionadded:: 8.6.0 Signals the start of an :ref:`IDENTIFY` object. From 23bceff01a72fd3c9e6fdbcbc2e119aef447e589 Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 15:35:41 -0400 Subject: [PATCH 09/11] update for 8.6.0-beta2 release --- en/images/index-page-ms4w.png | Bin 0 -> 82572 bytes en/ogc/wms_server.txt | 2 +- en/optimization/environment_variables.txt | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 en/images/index-page-ms4w.png diff --git a/en/images/index-page-ms4w.png b/en/images/index-page-ms4w.png new file mode 100644 index 0000000000000000000000000000000000000000..18448e21657e370122e235f3434373a9adbdbbad GIT binary patch literal 82572 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 literal 0 HcmV?d00001 diff --git a/en/ogc/wms_server.txt b/en/ogc/wms_server.txt index c2503f44f19..c1c052596e8 100644 --- a/en/ogc/wms_server.txt +++ b/en/ogc/wms_server.txt @@ -998,7 +998,7 @@ Web Object Metadata **ows_compliance_mode** (or **wms_compliance_mode**) - .. versionadded:: 8.6 + .. versionadded:: 8.6.0 - *Description:* (Optional) Aim for enhanced OGC compliance. Work in progress, the goal is to pass all `INSPIRE tests `__. diff --git a/en/optimization/environment_variables.txt b/en/optimization/environment_variables.txt index 8278fe21946..5d6f3c3289a 100644 --- a/en/optimization/environment_variables.txt +++ b/en/optimization/environment_variables.txt @@ -116,7 +116,7 @@ MS_ERRORFILE pair: Environment variables; MS_INDEX_TEMPLATE_DIRECTORY MS_INDEX_TEMPLATE_DIRECTORY - .. versionadded:: 8.6 + .. versionadded:: 8.6.0 The `MS_INDEX_TEMPLATE_DIRECTORY` environment variable can be set to activate an index page that lists all mapfiles and related services. From 5cafe913b326f080e34c2af16804f0459be573d3 Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 15:43:16 -0400 Subject: [PATCH 10/11] update for 8.6.0-beta2 release --- en/mapfile/identify.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/en/mapfile/identify.txt b/en/mapfile/identify.txt index dab3b589de4..5a3598ab047 100644 --- a/en/mapfile/identify.txt +++ b/en/mapfile/identify.txt @@ -112,3 +112,5 @@ CLASSGROUP [string] SYMBOL "my_symbol" END END + +.. seealso:: original Pull Request `#7318 `__ From 56e1b8187003300e9e6c1e16cb562559f3c97ba4 Mon Sep 17 00:00:00 2001 From: Jeff McKenna Date: Tue, 18 Nov 2025 16:26:31 -0400 Subject: [PATCH 11/11] update for 8.6.0-beta2 release --- en/MIGRATION_GUIDE.txt | 91 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 89 insertions(+), 2 deletions(-) diff --git a/en/MIGRATION_GUIDE.txt b/en/MIGRATION_GUIDE.txt index f968bc95018..daefe46c2c3 100644 --- a/en/MIGRATION_GUIDE.txt +++ b/en/MIGRATION_GUIDE.txt @@ -6,7 +6,7 @@ MapServer Migration Guide ***************************************************************************** -:Last Updated: 2025-11-13 +:Last Updated: 2025-11-18 .. contents:: Table of Contents :depth: 2 @@ -17,7 +17,94 @@ MapServer Migration Guide MapServer 8.4 to 8.6 Migration ============================== -TODO +- 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 `vendorSpecificParameters` passed through to the OpenAPI + document on the `/items` definitions. + + .. seealso:: original Pull Request `#7295 `__ .. _migration-8-4: