MapServer 8.4 Changelog¶
The summary of major changes for this release can be found in the HISTORY.md 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 
Changes from 8.4.0-rc1 to 8.4.0¶
- add CITATION.cff (Jeff McKenna) : 8942e55 
Changes from 8.4.0-beta2 to 8.4.0-rc1¶
Changes from 8.4.0-beta1 to 8.4.0-beta2¶
Changes from 8.2.2 to 8.4.0-beta1¶
- FIX: Alpha channel ignored in STYLE COLOR attribute binding ( #7200 ) (Seth G) : bb60312 
- Set layer extent to requested wms bbox ( #7159 ) (PatrikSylve) : 8f1835f 
- WMS GetFeatureInfo: fix handling of WEB.EMPTY that has been broken in 8.0 (Even Rouault) : 131979f 
- Allow use_default_extent_for_getfeature to be used for OGC Features API and PostGIS ( #7197 ) (Seth G) : 235b646 
- Avoid casting unique ID to string if the field is numeric in PostGIS Driver ( #7198 ) (Seth G) : d513339 
- Add HTTP status code for WMS requests, if MS_WMS_ERROR_STATUS_CODE config option/env variable are set to ON ( #7191 ) (Even Rouault) : a18b169 
- [CI] add PHP 8.4 to workflows ( #7196 ) (Jeff McKenna) : 2fb2911 
- WCS 1.0: do not emit twice HTTP headers in case of error on SECTION parameter of GetCapabilities (Even Rouault) : 8c37d02 
- Update Windows CI and Python Versions ( #7171 ) (Seth G) : cb21366 
- msProjectRect(): cache whether source projection is polar when repeatdly projecting from it ( #7190 ) (Even Rouault) : 47f19e3 
- Allow <> to be used as a logical operator in expressions ( #7182 ) (Seth G) : 751fdde 
- mapuvraster: fix hDS file descriptor leak in msUVRASTERLayerGetExtent (Sander Jansen) : e133f4e 
- Make interpolation and countour compatible of GDAL 3.10 (Even Rouault) : 7fc1930 
- Allow encryption key files to use paths relative to a Mapfile ( #7181 ) (Seth G) : ea2f4b2 
- SLD Filters missing due to logicial keywords in expressions ( #7178 ) (Seth G) : 4726b9c 
- Update to check-jsonschema and fix URL (sethg) : 31d66d7 
- SLD: fix having a TextSymbolizer rule after a PolygonSymbolizer one (Even Rouault) : 12dfa91 
- Avoid hanging loop when applying SLD with duplicated NamedLayers ( #7166 ) (Seth G) : e6a3c9e 
- Pin Python version for precommit action and update flake8 ( #7172 ) (Seth G) : fdb29c9 
- build(deps): bump mamba-org/setup-micromamba from 1 to 2 (dependabot[bot]) : f7819dd 
- fix links to licenses of FlatGeobuf & FlatBuffers ( #7163 ) (Marc Jansen) : c267853 
- msProjectionContextGetFromPool(): set thread_id to current thread (Even Rouault) : 22828f1 
- msInterpolationDataset(): fix memory leak (Coverity CID 1599443) (Even Rouault) : 61801ef 
- msSLDGenerateTextSLD(): avoid crash on expressions of LABEL we can't transform to SLD (Even Rouault) : 21101e1 
- Add CONNECTIONTYPE RASTERLABEL (Even Rouault) : 32b46a1 
- uvraster: improve efficiency of GetShape() (Even Rouault) : 2489fdb 
- CI: add build on Alpine edge (Even Rouault) : c976672 
- Fix compiler warnings with gcc 14.2 (Even Rouault) : 62879c4 
- MapScript: layerObj.executeWFSGetFeature(): do not take an extra layerObj* argument, but just use self (Even Rouault) : 6d57488 
- fix stripping epsgaxis= before importing OSR projection ( #7141 ) (Roel Arents) : f2a8fa9 
- Fix compilation error against FreeType 2.13.3 (Even Rouault) : 5422e65 
- fix proj epsgaxis= stripping to also work for +epsgaxis= (Roel Arents) : 5fba2b7 
- Use a GDAL CSL for layer->processing to simplify code (Even Rouault) : 3163794 
- Increase CMake minimum version to 3.16, which matches GDAL 3.9+ (Howard Butler) : 89d11e2 
- allow explicit override of MapScript output folder via CMake variable (Howard Butler) : 0d14226 
- Fix style scale factor inheritance ( #7115 ) (Māris Nartišs) : d1f4140 
- [Lint] Remove unused/commented stuff from mapuvraster.c (Even Rouault) : b8e856b 
- Fix CLUSTER layers to return EXTENT ( #7111 ) (Seth G) : d56f850 
- tests/unit/test.cpp: fix Coverity Scan false positives (Even Rouault) : c70579b 
- Update security policy to mention 8.2 release ( #7106 ) (Jeff McKenna) : 2d5007a 
- msProcessProjection(): strip epsgaxis= MapServer specific parameter that confuses PROJ < 9.5.0 (Even Rouault) : 6f03a7a 
- CMakeLists.txt: fix build of unit_test (Even Rouault) : eb64cc1 
- Add unit tests for msToString() (Even Rouault) : 6a1a7ef 
- tostring() expression function: validate format string, and make sure buffer is large enough (Even Rouault) : 2c802a8 
- msautotest: completely remove msautotest/misc/sde_*.map.old files ( #7117 ) (Even Rouault) : f9d9b08 
- Remove no-longer used scripts/astyle.sh (Even Rouault) : ab335bc 
- Fix build -DWITH_OGCAPI=1 -DWITH_WFS=0 (Even Rouault) : 580dc2b 
- mapogcfilter.cpp: fix inappropriate buffer size (CID 1595596, fix recent regression of d00f54e82780273f53329fff435a75de7f627e3d) (Even Rouault) : 1b38576 
- Set GDAL_DRIVER_PATH so the GIF driver is found and re-enable tests (sethg) : 6773985 
- ci/conda: remove explicit setting of SWIG_EXECUTABLE (Even Rouault) : c7f9efb 
- CI: enable MapScript for Conda builds ( #7105 ) (Howard Butler) : c66de90 
- agg_basics.h: try to avoid warning about use after free (Even Rouault) : b9665e3 
- mapwcs20.cpp: remove unused variable (Even Rouault) : 454a491 
- agg_font_freetype.cpp: replace sprintf() with snprintf() (Even Rouault) : f935f25 
- agg_pixfmt_rgba.h: avoid warnings about unused parameters (Even Rouault) : fef9dc9 
- mapogr.cpp: replace sprintf() with snprintf() (Even Rouault) : a07cae3 
- maputfgrid.h: avoid warnings about unused variable (Even Rouault) : 6adf12e 
- mapmvt.c: avoid warnings when MVT not enabled (Even Rouault) : 3f874d9 
- mapkml.cpp: avoid warning when KML not enabled (Even Rouault) : 9116686 
- mapwfs.cpp: replace sprintf() with snprintf() (Even Rouault) : 6ee09a3 
- mapgdal.cpp: replace sprintf() with snprintf() (Even Rouault) : 6985fe5 
- mapogcsld.cpp: replace sprintf() with snprintf() (Even Rouault) : 3bbe94b 
- mapwcs20.cpp: remove useless variable (Even Rouault) : 43e83bd 
- mapogcfiltercommon.cpp: replace sprintf() with snprintf() (Even Rouault) : 1fa0576 
- mapogcwcs.cpp: replace sprintf() with snprintf() (Even Rouault) : 27b8f4e 
- mapogcfilter.cpp: replace sprintf() with snprintf() (Even Rouault) : d00f54e 
- mapwcs11.cpp: replace sprintf() with snprintf() (Even Rouault) : ebc0b18 
- mapxmp.c: avoid warnings when libexempi is not available (Even Rouault) : fa1a091 
- mapquantization.c: avoid using pre-ANSI C which will no longer be valid in C2X (Even Rouault) : 30ea9c6 
- mappostgis.cpp: replace sprintf() with snprintf() (Even Rouault) : 6bbc076 
- mappostgis.h: correct declaration of C++ struct (Even Rouault) : 4c49eb2 
- mapparser.c: avoid warning about unused variable (Even Rouault) : d92ae04 
- mapcairo.c: avoid warning when libsvgcariro / rsvgcairo not available (Even Rouault) : 1c937ae 
- mapservutil.c: avoid warning about unused variable (Even Rouault) : d9a7dff 
- cgiutil.c: avoid warning about unused variable (Even Rouault) : 273ec3f 
- mappostgresql.c: avoid potential invalid use of strcpy() (Even Rouault) : f202bd5 
- handle PHP out of source builds (Jeff McKenna) : a693a3b 
- CMakeLists.txt: need zstd if we're WIN32 and asking for mysql (Howard Butler) : 0100095 
- mapcompositingfilter.c: PCRE2 related fix (Howard Butler) : 350b752 
- CMakeLists.txt: define _XKEYCHECK_H to avoid build issue with older MSVC SDKs (Howard Butler) : c0772d7 
- CI: add conda-based builder (Howard Butler) : bb15578 
- msautotest: avoid failed tests on AppVeyor to break the build (Even Rouault) : 42174f7 
- move CI build/setup to ./ci/ubuntu (Howard Butler) : 2a72cd8 
- Use EPSGTreatsAsLatLong and EPSGTreatsAsNorthingEasting to determine inverted axis ( #7096 ) (PatrikSylve) : a56a91a 
- add PHP 8.3 to test matrix ( #7097 ) (Jeff McKenna) : 2088602 
- change to markdown (Jeff McKenna) : 0936f23 
- change to markdown (Jeff McKenna) : a9f78f3 
- Fix for the memory corruption issues in msUpdate...FromString ( #7038 ) ( #7094 ) (Tamas Szekeres) : acb3a9c 
- msautotest/README: add 20.04 requirement ( #7086 ) (Even Rouault) : 0c8435c 
- msProjectionInheritContextFrom(): do not reuse source PROJ context if called from different thread ( #7089 ) (Even Rouault) : 839a4ab 
- Fix SWIG mapscript failure with out of source builds ( #7090 ) ( #7091 ) (Tamas Szekeres) : b584c9b 
- Fix opacity calculation problem with the agg renderer ( #5697 ) ( #7085 ) (Tamas Szekeres) : a8f6aca 
- Python mapscript: remove deprecated SWIG t_output_helper ( #7083 ) (Seth G) : 661bde0 
- msCGILoadForm(): remove support for oboslete ROSA Java Applet (Even Rouault) : 0880059 
- msCGILoadForm(): validate INPUT_COORD for Rosa support (CID 1593918) (Even Rouault) : 8ee3ce0 
- msDrawPieChartLayer(): validate CHART_SIZE_RANGE format (CID 1593919) (Even Rouault) : b003f13 
- change to DOI from webhook (Jeff McKenna) : a32a97d 
- Add optional support for using PCRE2 regular expression library instead of POSIX regex (Even Rouault) : d67a94f 
- Modify ms_map_bad_pattern_default in a way that both please GNU regex and PCRE2 (Even Rouault) : 97fe80b 
- msIsValidRegex()/msEvalRegex(): use ms_regerror() to get more descriptive error message (Even Rouault) : 248dc63 
- mapregex.c: fix invalid mapping of MS_REG_NOSUB and MS_REG_NEWLINE with GNU regex (Even Rouault) : 285d627 
- OGR output format: avoid potential stack buffer overflow on too long filename (Even Rouault) : d290059 
- Fix Python MapScript installation. ( #7071 ) (Bas Couwenberg) : 1fa4c57 
- GDAL/raster rendering: add a GAMMA processing option (Even Rouault) : 2ef337b 
- mapparser.y: try to fix false positive CodeQL warning about double free (Even Rouault) : 6640a18 
- msDrawWMSLayerLow(): hopefully avoid false positive CodeQL warning about double free (Even Rouault) : 48ca6ce 
- msStyleSetGeomTransform(): avoid CodeQL false positive about double free (Even Rouault) : ed6be1b 
- msLayerSetSort(): fix false positive about use-after-free (Even Rouault) : 87c52df 
- mapogcsld.cpp: avoid likely false-positive about use after free (Even Rouault) : 81be911 
- Workaround CodeQL false positives about sscanf() usage (Even Rouault) : ff57366 
- Raster rendering: skip Byte alpha band with PROCESSING "SCALE=AUTO" (Even Rouault) : 1051da4 
- Fix typos found by scripts/fix_typos.sh (Even Rouault) : 1423374 
- Add scripts/fix_typos.sh (Even Rouault) : 0c3fca1 
- More elegant serialization/deserialization of MS_COMPOP_xxxx constants (Even Rouault) : 1e0c860 
- Add 4 new COMPOSITE.COMPOP blending operations (Even Rouault) : 7f53259 


 
        
          
            










