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-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