MapServer 7.6 Changelog

The summary of major changes for this release can be found in the HISTORY.TXT file from the source directory.

Changes from 7.6.0 to 7.6.1

  • Add a bounding box filter to requests passed down to OGR whenever possible (copierrj) : d4facd1

  • Don’t use CIRCULARSTRING when fetching geography data from SQL Server. (botulf2000) : d001ac6

  • Build error if USE_LIBXML2, USE_WMS_SVR, USE_WFS_SVR not defined ( #6119 ) (Tamas Szekeres) : 1094e81

  • Fix memory corruption when GEOMTRANSFORM and SHADOWCOLOR is used in label simultaneously #6114 (Tamas Szekeres) : 3d2af94

  • Hide some SWIG Java warnings ( #6112 ) (sethg) : 676691a

  • Fix 2 warnings raised by gcc 7.5 (Even Rouault) : d08e128

  • Add py37 MapScript build and testing ( #6107 ) (sethg) : 79652b1

  • install PHPNG required file ‚mapscript.php‘ (Jeff McKenna) : 610a8b6

  • Fix eol of mapscript python examples to LF instead of CRLF (tigerfoot) : 16eb9de

  • WFS server: add support for <gml:Envelope> in <fes:Intersects> (Even Rouault) : d4dc036

  • Enable relative URL on SLD ExternalGraphic (jbo-ads) : 015bfc5

  • Fix issue #5529 about GEOS error with offset on MULTILINESTRING (jbo-ads) : c894eda

  • msMSSQL2008LayerGetExtent doesn’t consider NATIVE_FILTER or translated filter ( #6076 ) (Tamas Szekeres) : 886398e

  • Fix wrong result on ‚404 Not Found‘ symbol URL (jbo-ads) : 8934254

  • Remove submodule name from mapscript package (sethg) : 98f6457

Changes from 7.6.0-rc4 to 7.6.0

  • for essential WMS layers set EXCEPTIONS to XML by default (Jeff McKenna & Even Rouault) : 8063aae

Changes from 7.6.0-rc3 to 7.6.0-rc4

  • add handling of essential WMS layers (Ulrich Meier) : 65aafea

  • mappostgis: restore case insensitive comparisons for ‚using unique‘ in DATA, which was accidentaly removed (fixes #6060 ) (Even Rouault) : edf6c5d

Changes from 7.6.0-rc2 to 7.6.0-rc3

  • add attribute support for ALIGN and OFFSET in LABEL (Andrea Borghi) : 89dc335

  • getRotation should be exposed to mapscript ( #6048 ) ( #6053 ) (Tamas Szekeres) : a2bf075

  • zoomScale and zoomPoint doesn’t consider map rotation ( #6046 ) (Tamas Szekeres) : a283a63

  • Use GDAL large file API (UTF-8) compatible in a number of places (Even Rouault) : 82750e4

Changes from 7.6.0-rc1 to 7.6.0-rc2

  • Fix memory corruption in msGEOSGetCentroid ( #6041 ) (Tamas Szekeres) : a5af7f7

Changes from 7.6.0-beta2 to 7.6.0-rc1

  • Fix alpha value for hex colors ( #6023 ) (ravhed) : 1e30f54

Changes from 7.6.0-beta1 to 7.6.0-beta2

  • Fix memory leak (jbo-ads) : 0fa41a9

  • Fix rendering bug when both RENDERMODE=ALL_MATCHING_CLASSES and GEOMTRANSFORM „centroid“ are used (jbo-ads) : f9f13d8

  • handle gnu_source definition for SWIG mapscript (issue mapserver #6015 ) (Jeff McKenna) : f503498

Changes from 7.4.4 to 7.6.0-beta1

  • CVE-2020-10872 & CVE-2020-10873: handle phpmapscript vulnerability in error handling ( #6014 ) (Jeff McKenna) : 095ad64

  • Add automated Wheel builds pushed to pypi (sethg) : 2ecb9d8

  • Allow both <LineSymbolizer> and <PolygonSymbolizer> in same Rule (jbo-ads) : 9167d8a

  • Add a Python test for checking the OFFSET is output correctly ( #5715 ) (Seth G) : b79ced1

  • Remove files related to old build process (sethg) : 0381207

  • Add missing expression test ( #6000 ) (Seth G) : 9881e24

  • Add rendering of <Mark> and <ExternalGraphic> in <LineSymbolizer> (jbo-ads) : e2dc145

  • WMS: avoid wfs_use_default_extent_for_getfeature=false setting to override the BBOX parameter when a vendor-specific FILTER is set (Even Rouault) : e108174

  • Fix memory leaks on shape->values (jbo-ads) : bf8458a

  • Add RENDERMODE PROCESSING directive to use SLD rendering in Mapfiles (jbo-ads) : 857a138

  • Extend wfs_use_default_extent_for_getfeature false to msWFSRunBasicGetFeature() for mssql2008 by creating a helper function (Even Rouault) : d007716

  • mapmssql2008.c: honour „wfs_use_default_extent_for_getfeature“ „false“ LAYER.METADATA (fixes #5994 ) (Even Rouault) : f9ca113

  • Travis: enable MSSQL2008 (Even Rouault) : c0c3988

  • mapmssql2008.c: fix warnings when building for Linux (Even Rouault) : 3d2502b

  • mappostgis.c: fix compiler warning (Even Rouault) : d1d600c

  • Adding processing option to classify 16bit rasters using scaled values instead of raw values. ( #5834 ) (Steve Lime) : e83819b

  • Bug fix (jbo-ads) : 3444f51

  • Implement SLD „painter’s model“ (jbo-ads) : 85fcbdd

  • Remove duplicated line (sethg) : f56b120

  • Refactoring towards SLD „painter’s model“ implementation (jbo-ads) : 2b80a45

  • Add tests for SLD „painters model“ implementation (jbo-ads) : 48cfca5

  • Remove debugging (sethg) : fbc6f88

  • Use [RESULT_DEMIME] (sethg) : cb0e720

  • Use [RESULT_DEVERSION] (sethg) : 93cc276

  • Update ORDER BY test (sethg) : 657e41c

  • Allow debugging (sethg) : 5945ab2

  • Test result updates (sethg) : 1425ac2

  • Fix connection (sethg) : f4cc5e9

  • Add basic WFS tests for MSSQL driver (sethg) : a6fca41

  • Fix ORDER BY typo (sethg) : e7cdc19

  • Use correct projection for cities.shp (sethg) : 03d677c

  • Add CPG file to set DBF encoding (sethg) : 772023f

  • Fix double ORDER BY (sethg) : 0046a5a

  • FindProj.cmake: ban PROJ 6.3.0 (Even Rouault) : 2847e41

  • Use MS_FALSE and MS_TRUE (sethg) : f64d1ab

  • Fix compiler warnings in mapmssql2008.c (sethg) : dd90bae

  • Clean up debug statements (sethg) : 91ef9a6

  • Test MSSQL with Appveyor ( #2 ) (Seth G) : cb2f603

  • Python3 typemap fix ( #5989 ) (Seth G) : 9acb200

  • Updates to build MapScript with SWIG 4.0.1 ( #5983 ) (Seth G) : edafd27

  • mappostgis.c: factor out and apply bind values substitution in missing spots (Even Rouault) : 95ad0ca

  • README.rst: add coveralls badget (Even Rouault) : f681af9

  • Fix Vagrant (Even Rouault) : fd5e8ee

  • Use Case Insensitive Filters for SLD Output ( #5980 ) (Seth G) : 8427420

  • vagrant: fixes to make it work (Even Rouault) : cca2744

  • ci/travis/after_success.sh: exclude directories from coveralls report (Even Rouault) : 318b1aa

  • ci/travis/before_install.sh: use mainstream coveralls (Even Rouault) : e4aa2a5

  • CMakeLists.txt: activate warning flags for Clang as well (Even Rouault) : fdad948

  • Remove unused variables and functions (Even Rouault) : b6fec8b

  • mapscript/php/map.c: use labs() to fix compiler warning (Even Rouault) : a763545

  • AGG headers: remove use of deprecated register keyword, that is forbidden in C++17 (Even Rouault) : 5158178

  • CMakeLists.txt: add /EHsc for MSVC. appveyor.yml: turn warnings as errors (Even Rouault) : 37fd997

  • Fix MSVC warnings in programs and Python mapscript (Even Rouault) : 113e847

  • MSSQL: Implement server side paging support ( #5842 ) (Tamas Szekeres) : 8ef65a2

  • Add /w14701 flag (sethg) : 5a48283

  • Fix ‚C4701: potentially uninitialized local variable‘ occurences (refs #5976 ) (Even Rouault) : ccc3a81

  • WCS output / msSaveImageGDAL(): fix support of netCDF output ( #5968 ) (Even Rouault) : f7482ad

  • Add test for MapScript point.draw method ( #5964 ) (Seth G) : b97cf48

  • Initialize status variable for cached WFS results ( #5974 ) (Seth G) : 9f6b5ba

  • msProjectShapeLine(): take into account antimeridian when reprojecting lines from Polar Stereographic to geographic / WebMercator (Even Rouault) : 9ad9824

  • msProjectShapeLine(): take into account potential geotransform on output projection to decide when to apply dateline wrapping (Even Rouault) : 44dde80

  • Test: add one with wfs_query_cache mechanism and geojson output (Even Rouault) : 6d4ba6e

  • msRasterQueryByRectLow(): use msProjectPointEx() for better performance (Even Rouault) : 59eeafe

  • GetFeatureInfo: fix for layers using a lon_wrap PROJECTION and requested in the wrapped part of the raster (Even Rouault) : ead62a6

  • Contour layer: add GetFeatureInfo support (Even Rouault) : ed1d778

  • update copyright year (Jeff McKenna) : 3943014

  • UVRaster: add support for query mode / WMS GetFeatureInfo (Even Rouault) : 70aeb86

  • dummy commit to indicate previous commit regarding ‚CONNECTIONTYPE WFS: support very long typenames‘ actually fixes #5959 (Even Rouault) : 91782df

  • CONNECTIONTYPE WFS: support very long typenames (fixes #5958 ) (Even Rouault) : 935da72

  • msTransformMapToSource(): extra fixes to handle lon_wrap=180 and source dataset whose longitude range is larger than 360 deg (Even Rouault) : 6a3000d

  • Add support for filters on group layers in WMS requests (fixes #5919 ) (charles-plante) : ba27152

  • Add sanity checks to avoid segfaults in Mapscript pointObj::draw() (updated) (Brage Førland) : 5bb0ba4

  • maproject.c: restrict a compatibility hack to PROJ < 6.2 (Even Rouault) : d945c8b

  • Add sanity checks to avoid segfaults in Mapscript pointObj::draw() (Brage Førland) : 8ff7bb2

  • CMakeLists.txt: remove -Wdeclaration-after-statement for C files now that we allow C99 (Even Rouault) : e1da545

  • Add msSetup()/msCleanup() to SWIG PHP Mapscript (Brage Førland) : 730e2cc

  • Include mserror.i for PHP7 Swig mapscript builds (Brage Førland) : a64b324

  • WFS: fix WFS 2.0 numberMatched computation, by opening temporary new connection(s) (Even Rouault) : cf64661

  • Add PHP typemap for gdBuffer. This patch adds a SWIG typemap to return gdBuffer as a string in PHP, similar to the Python Mapscript behaviour (ref. RFC-16). This fixes the bug reported in #5798 , where PHP Mapscript msIO_getStdoutBufferBytes() returns a resource handle instead of the actual buffer. (Brage Førland) : 0ff3d79

  • Add setSymbolByName test ( #5937 ) (Seth G) : 55a653d

  • CMakeLists.txt: require C++11 and C99; bump CMake min to 3.0 (Even Rouault) : 50d44d2

  • Partial cplusplus’ification of mapogcfiltercommon (Even Rouault) : 3bfbc6c

  • Make numlabels and labelLeaderObj immutable (sethg) : 1712440

  • Revert „.gitattributes: force LF line endings ( #5934 )“ (Even Rouault) : 2b51273

  • Assert our addiction to GDAL and PROJ, and make them required dependencies (Even Rouault) : af67552

  • .gitattributes: force LF line endings ( #5934 ) (Seth G) : 008b38c

  • Revert „Make numlabels and labelLeaderObj immutable ( #5929 )“ due to line ending changes (sethg) : 1c6e938

  • Make numlabels and labelLeaderObj immutable ( #5929 ) (Seth G) : 5a06fc8

  • Add some basic clusterObj tests ( #5927 ) (Seth G) : d48070c

  • Add docstrings to SWIG objects ( #5930 ) (Seth G) : b85122d

  • Add getter/setter tests for classObj ( #5928 ) (Seth G) : 528f36d

  • PostGIS backend: translate insensitive equality comparison as Postgre SQL lower(foo::text) = lower(‚bar‘). (Even Rouault) : 7f3cebc

  • Legendicon 500 error ( #5926 ) (Steve Lime) : 0af5737

  • msGetThreadId(): fix for Windows (Even Rouault) : 5a9fe95

  • WMS Client - Fixes GetLegendGraphic in WMS 1.3.0 (Erik Ravhed) : e88939a

  • Move WMS filter execution (GetMap) to the end of the parameter processing function - after styles are processed. (Steve Lime) : 0b0d4de

  • Add more memory for vagrant vm. (Steve Lime) : ee52c48

  • #5922 - Support rotation of TrueType symbol in UTFGrid (Charles Plante) : f57a971

  • Handle line styles with outline colors differently when setting a hilite color. (Steve Lime) : 11c332d

  • 5901 utf grid support for true type symbols ( #5918 ) (charles-plante) : 8f2de5b

  • Ticket #5917 Dont fail when rendering UTFGrid with outline (Charles Plante) : e1a3b57

  • Bring msDrawQueryLayer() in line with msDrawVectorLayer() - addresses #5744 . (Steve Lime) : b1c4bd5

  • Add test case for OGR GPKG/SQLite startIndex fix (Even Rouault) : ae2c650

  • Added check for Contains to force a Join on the rtree table for large Spatiallite/Geopackage DB’s and improves the lookup performance significantly. (Rutjes, Dennis) : 2ceadc9

  • gml_[item]_type: modify Date semantics, and add Time and DateTime (Even Rouault) : e91a4e5

  • mapscript: add an optional version parameter for map.generateSLD() (Even Rouault) : 1681765

  • SLD generation: write UserStyle.Name from CLASS.GROUP (one UserStyle per class that share the same CLASS.GROUP) and UserStyle.IsDefault from LAYER.CLASSGROUP (Even Rouault) : 6dbece4

  • msSLDGenerateSLDLayer(): tidy-up. no functional change (Even Rouault) : 2107829

  • Add a msStringBuffer API to offer more efficient string concatenation (Even Rouault) : 9bb3797

  • SLD parsing: handle several UserStyle per NamedLayer, honour UserStyle.Name to set the CLASS.GROUP value, and honour UserStyle.IsDefault to set LAYER.CLASSGROUP (Even Rouault) : d89ac1f

  • msSLDParseXXXX(): use a LOOP_ON_CHILD_ELEMENT() macro to simplify code when iterating over XML elements. No major functional change, except that it should be slightly more robust to the present of XML comments in some cases (Even Rouault) : 72f61b8

  • msSLDParseNamedLayer(): move UserStyle parsing to a dedicated function. No functional change (Even Rouault) : a02eb6a

  • msSLDApplySLD(): tidy up code by moving layer duplication to a dedicated function. No functional change (Even Rouault) : f5509ac

  • msSLDApplySLD(): tidy-up code. No functional change (Even Rouault) : 420dcb1

  • initialise the variable (Charles Plante) : 66cd9d4

  • Update mapstring.c (Seth G) : 72b729e

  • Whitespace fix (Seth G) : d25b761

  • Formatting (Seth G) : 00c4655

  • Add layer back (Seth G) : bb9d106

  • Fix indentation (Seth G) : 63d4526

  • Update new layer title (Seth G) : f03d11c

  • Add missing layer to test (geographika) : 1c390ca

  • Add case-insensitive check for default (geographika) : e5939f6

  • Fix typos (geographika) : 2b52e99

  • Use strncasecmp rather than strncmp to check for default (geographika) : 3b6ef36

  • Add LAYER.CONNECTIONOPTIONS keyword to specify open options to GDAL and OGR drivers (Even Rouault) : 942d71f

  • Add a new ‚padding‘ template format option ( #5890 ) (Seth G) : 84e0ce8

  • WCS 1.0.0 server: Skip broken layers instead of a complete failure. (Māris Nartišs) : f9ca86e

  • PROJ6: add alternative result for wcs_20_getcov_bands_name_new_reproject.dat. The envelope in the GDAL TIFF file defers to micrometer depending on the exact PROJ transformation path (Even Rouault) : 51e6e6b

  • PROJ6: workaround reprojection bugs fixed in PROJ 6.2 (Even Rouault) : c61abcb

  • Travis / Vagrant: use PROJ 6.1.1 for PROJ.4 API testing as well (Even Rouault) : 84bc541

  • PROJ6: make sure that the projection context is reused by all FastCGI/MapScript requests of the same thread (Even Rouault) : f595e91

  • Better detect situations where no reprojection is needed (apply to both PROJ 4 and PROJ 6) (Even Rouault) : aed7223

  • PROJ6: msOGRSpatialRef2ProjectionObj: avoid going through potentially lossy PROJ4 strings (Even Rouault) : 75860fd

  • PROJ6: more context sharing (Even Rouault) : b22b085

  • Vagrant: add a PROJ6 build (Even Rouault) : 6327340

  • PROJ6: more uses of reprojectionObj to improve performance (Even Rouault) : cce4556

  • SOS: fix very likely wrong reprojection in msSOSAddMemberNode() (not PROJ6 related) (Even Rouault) : 528ceec

  • PROJ6: redirect PROJ error/debug messages to msDebug() (Even Rouault) : 9f799df

  • PROJ6: do more projection context sharing (Even Rouault) : 5f6ebab

  • PROJ6: more uses of reprojectionObj to improve performance (Even Rouault) : 1ca010b

  • .travis.yml: test PROJ6 build on PHP 7.3 config (Even Rouault) : b73b82b

  • PROJ 6: add a per-context cache for (in_crs, out_crs) -> PJ (Even Rouault) : 6e6a912

  • PROJ6: improve performance of msOWSPrintBoundingBox() with context sharing (Even Rouault) : d2dda2c

  • More uses of msProjectShapeEx() (Even Rouault) : c3afefd

  • Initial port to PROJ 6 API (Even Rouault) : 680e7e0

  • Added -1 to the OFFSET in the query generated for OGR (Gerwin Hulsteijn) : 9b2e7e8

  • CleanVSIDir: make it actually work (memory usage and perf fix) (Even Rouault) : 4c59b22

  • msCleanup(): fixes so that calling it twice in non-USE_THREAD mode works (Even Rouault) : 6619408

  • Fix constness of msGetPath() argument (Even Rouault) : f3c7fa6

  • Mapscript python: fix ‚ISO C90 forbids mixed declarations and code‘ warning, and convert line endings to Unix style (Even Rouault) : 9c7ca89

  • Don’t set Python debug lib on Windows (sethg) : 1781cca

  • mapscript/php: Fix segfault in ms_newprojectionobj in PHP7.3 (Edward Nash) : 5c5b7bd

  • Add runsub MapScript functions ( #5857 ) (Seth G) : 95ddad7

  • Cache SWIG 3.0.12 ( #5876 ) (Seth G) : 9defa2b

  • Fix MSVC compiler warnings (Even Rouault) : ba3d172

  • .travis.yml: run PHP 7.2 target under -fsanitize=memory (Even Rouault) : 8d0c7d5

  • .travis.yml: move before_install, script and after_success sections to their own scripts (Even Rouault) : ee77e17

  • wcs_20_getcov_gtiff_compress_deflate_predictor.tif test: switch to PREDICTOR=Horizontal, which is more appropriate here anyway, to avoid memleak with some GDAL versions (Even Rouault) : 2e222e8

  • Avoid triggering memory leak in GPX driver (now fixed in GDAL per https://github.com/OSGeo/gdal/commit/6c20fa95d33fd0452329067f766b2d71a5ebd87f) (Even Rouault) : 2df6c3d

  • Expression parser: fix memory leak on tostring() function (Even Rouault) : 36872c0

  • Free all GDAL and OGR resources when both are used (Even Rouault) : 271078a

  • Fix various memory leaks found when running msautotest (Even Rouault) : 836b4a7

  • maplexer.l: avoid warning about isatty() on Windows (Even Rouault) : ce4cb98

  • Fixes WMS layer crash (Erik Ravhed) : 0457bea

  • Fix memory leak in msINLINELayerNextShape() and null pointer dereference in maplexer when rerunning it after msCleanup() (fixes #5558 ) (Even Rouault) : acaf81c

  • OGR GPKG: fix potential SELECT ambiguity for ‚id‘ column (fixes #5858 ) (Even Rouault) : e3c6d47

  • Remove MakeValid() calls as these disable spatial indexes ( #5856 ) (Seth G) : 0f31eda

  • Add vector tiles output to Appveyor build ( #5843 ) (Seth G) : bbbfd82

  • Fix compiler warnings raised by gcc (Even Rouault) : 41b9be3

  • Fix compiler warnings with clang (Even Rouault) : 0d1c6db

  • Fix memory leaks found when running msautotest/sld tests (Even Rouault) : c70425d

  • msGDALCleanup(): call GDALDestroy() with GDAL >= 2.4 (Even Rouault) : 14a6fb9

  • Assorted set of compiler warning fixes, and remove need for DEBUG 3 (Even Rouault) : 58bbb51

  • SLD: Add support to arithmetic expressions ( #5831 ) (Jérome Boué) : 4fbd7ae

  • valgrind-suppressions.txt: add extra for newer mongoDB (Even Rouault) : dd8ae3e

  • Update mapaxisorder.h/.csv to EPSG 9.7.0 database (Even Rouault) : f4846fa

  • Fix Undefined symbols compile error on macOS. (offroad-bis) : 02b6aa3

  • MSSQL2008: deal with termination ‚$‘ at end of regular expression. Follow-up of eea166a5157d4742b617cd7561c62cd2df5c8f5c (refs #5825 ) ( #5841 ) (Even Rouault) : d2e0517

  • GeoJSON output: automatically add a numberMatched property for WFS 2.0 GetFeature responses when wfs_compute_number_matched=true (Even Rouault) : 2b66c35

  • Allow sorting in MSSQL with WFS ( #5833 ) (Seth G) : f42d7d1

  • .travis.yml / appveyor.yml: do not build temporary backport branches (but only the pull requests). Like done in GDAL / PROJ (Even Rouault) : b66cfb8

  • .travis.yml: add ccache to speed up builds (Even Rouault) : efce4a3

  • FLTGetIsLikeComparisonCommonExpression(): add terminating ‚$‘ at end of regular expression (fixes #5825 ) (Even Rouault) : eea166a

  • Revert „Revert „Reduce log clutter from non-errors““ (Jeff McKenna) : bc2fc29

  • Revert „Reduce log clutter from non-errors“ (Jeff McKenna) : 9f9680e

  • Shorten line and cleanup assert (Seth G) : 04a9711

  • Add UNIT param and check datum (Seth G) : ace3970

  • Update projection WKT string (Seth G) : 63eadf3

  • Exclude failing projection test (sethg) : cde432c

  • Update Python README.rst with latest version (sethg) : 30dd517

  • set required syntax statement for protobuf 3 ( #5376 ) (Jeff McKenna) : 2137922

  • set required syntax statement for protobuf 3 ( #5376 ) (Jeff McKenna) : 9f7a709

  • Fix reference to TEMPPATH in SLD error message (Dan Baston) : 72b3052

  • Fix potential XSS issue with [layers] tag. (Steve Lime) : 28c8dae

  • Updated master to reflect this is now version 7.5 with a 7.6 release target. (Steve Lime) : 56a9c7d

  • Change DWITH_POINT_Z_M to be ON by default - see #5456 (sethg) : 4f2a7db

  • Update mapquery.c (Dave Pearson) : 978b0d6

  • Reduce log clutter from non-errors (Dave Pearson) : bf63d3d

  • Correct wrong pointers (tlaczy) : 50385f1

  • Fix white-space handling on mappostgis.c (tlaczy) : 48f6559