MapServer 8.2 Changelog

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

Changes from 8.2.0 to 8.2.1

  • 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

  • handle PHP out of source builds ( #7108 ) Jeff McKenna) : 50c3d0c

  • Use EPSGTreatsAsLatLong and EPSGTreatsAsNorthingEasting to determine inverted axis ( #7099 ) (github-actions[bot]) : b054904

Changes from 8.2.0-rc2 to 8.2.0-rc3

Note

8.2.0-rc3 was released as 8.2.0 (final) on 2024-07-08

  • Fix memory corruption issues in msUpdate…FromString ( #7038 ) ( #7095 ) (github-actions[bot]) : e964c39

Changes from 8.2.0-rc1 to 8.2.0-rc2

  • msProjectionInheritContextFrom(): do not reuse source PROJ context if called from different thread ( #7093 ) (github-actions[bot]) : 854593b

  • Fix SWIG mapscript failure with out of source builds ( #7090 ) ( #7092 ) (github-actions[bot]) : 23097ca

  • Fix opacity calculation problem with the agg renderer ( #5697 ) (Szekeres Tamás) : 2eaa88a

Changes from 8.2.0-beta3 to 8.2.0-rc1

  • no changes since beta3

Changes from 8.2.0-beta2 to 8.2.0-beta3

  • 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

Changes from 8.2.0-beta1 to 8.2.0-beta2

  • Fix spelling errors. ( #7072 ) (Bas Couwenberg) : d472ccf

  • Fix Python MapScript installation. ( #7071 ) (Bas Couwenberg) : 31b431a

Changes from 8.0.1 to 8.2.0-beta1

  • mapogr.cpp: do not emit some debug messages in default debug mode (Even Rouault) : ccb1caf

  • add PR title to notification (Jeff McKenna) : 3fde53f

  • Python MapScript updates for 8.2 Release ( #7059 ) (Seth G) : 6508d1d

  • src/mapscript/csharp/run_test.sh: make sure to run with LC_ALL=C (Even Rouault) : cc492aa

  • ci/build.sh: turn CMake warnings as errors (Even Rouault) : e2c1c62

  • CMakeLists.txt: raise maximum version in cmake_minimum_required() to 3.29 now that CI tests it (Even Rouault) : 9cfd424

  • FindGDAL.cmake: replace use of deprecated exec_program() by execute_process() (avoid warning with CMake 3.28 or later) (Even Rouault) : 3fee815

  • Add compatibility for CMake 3.29 for CSharp bindings on Linux (Even Rouault) : ede2763

  • Add -D_DEFAULT_SOURCE for strlcat/strlcpy provided by glibc >= 2.38. (Bas Couwenberg) : ed88c89

  • Silence Coverity Scan false positive CID 1584614 (Even Rouault) : 30a711f

  • msSLDApplySLD(): avoid memleak in error code path (CID 1584379) (Even Rouault) : d395e46

  • msSLDApplySLD(): hopefully avoid a Coverity Scan false positive about dereferencing after nullptr check (CID 1584380) (Even Rouault) : 767815d

  • msApplySldLayerToMapLayer(): hopefully avoid a Coverity Scan false positive about use after free (CID 1584381) (Even Rouault) : be2955e

  • Issues 6907 and 6968 ( #7025 ) (Steve Lime) : d375040

  • RFC 138 Implementation - Reference SLD files in Mapfiles ( #7034 ) (Seth G) : ae5e9b2

  • map2img: improve error handling for missing option arguments (Paul Pazderski) : 25cb472

  • msautotest: add [ASAN_SKIP_LOG] marker for tests which want to capture stderr (Paul Pazderski) : c088263

  • msRedactString(): modify to trim password to a single redacted character (Even Rouault) : 6e1491d

  • msRedactString(): handle ODBC strings with ‘;pwd={…}’ pattern (Even Rouault) : 534e5b1

  • CI: use -j$(nproc) to benefit to the increased number of threads on GHA workers (Even Rouault) : 0e7a131

  • Add a minimum C/C++ unit test (Even Rouault) : 1028ba9

  • msRedactCredentials(): fix various issues (fixes #7046 ) (Even Rouault) : b6d1b9c

  • flatgeobuf: fix out of bounds read after index search without results ( #7040 ) (Paul Pazderski) : 0462eea

  • maperror.h: add a comment (Even Rouault) : f8f9d52

  • flatgeobuf: fix off-by-one error which skipped last feature with index search (Paul Pazderski) : f75f4ea

  • flatgeobuf: add missing error name for MS_FGBERR (Paul Pazderski) : d57e3c1

  • Use ows_schema_location for URLS in API response (Edward Nash) : 1524d20

  • msLoadExpressionString(): make value parameter const char* (Even Rouault) : 19d3bf0

  • Revert “Add dummy.txt to test backport bot” (Even Rouault) : 40e7910

  • Add dummy.txt to test backport bot (Even Rouault) : cdeaa30

  • Revert “backport.yml: add explicit permissions” (Even Rouault) : ca09123

  • Revert “backport.yml: try to fix permissions” (Even Rouault) : 7667b97

  • Revert “backport.yml: use a PAT token of a user with write access to the repo” (Even Rouault) : 988ea82

  • Revert “Add dummy.txt to test backport bot” (Even Rouault) : 0bd125b

  • Add dummy.txt to test backport bot (Even Rouault) : 5a841fb

  • backport.yml: use a PAT token of a user with write access to the repo (Even Rouault) : 64971a1

  • Remove dummy.txt (Even Rouault) : f707d80

  • Add dummy.txt to test backport bot (Even Rouault) : de01e05

  • backport.yml: try to fix permissions (Even Rouault) : 150d098

  • Allow includes in feature templates ( #7020 ) (Seth G) : 6e71c56

  • Fix for handling SVG symbols with viewBox attribute (fixes #6956 ) ( #7028 ) (Martin Høgh) : 10c3621

  • Ensure dependencies are updated (sethg) : 0733c3d

  • Bump pre-commit/action from 3.0.0 to 3.0.1 (dependabot[bot]) : 440a390

  • Allow MVT filtering using WMS facade ( #7011 ) (SodOnBass) : da769fc

  • Bump actions/cache from 3 to 4 (dependabot[bot]) : 5d46461

  • Add pasteImage and saveWebImage to Mapscript imageObj ( #7015 ) (Seth G) : 38e6ad8

  • Add header (sethg) : ee2e36f

  • Add new ignoremissing option to MapServer templates (sethg) : f9bf8a1

  • update MapScript README ( #7013 ) (Jeff McKenna) : 2281134

  • fixed =* operator translation for Oracle database ( #7012 ) (Michele Tessaro) : a468ec9

  • CI: use coverallsapp/github-action@v2 (Even Rouault) : 574f624

  • Bump actions/upload-artifact from 3 to 4 (dependabot[bot]) : 509ae65

  • Bump rectalogic/notify-irc from 1 to 2 (dependabot[bot]) : 7abf604

  • Bump actions/checkout from 2 to 4 (dependabot[bot]) : 0687601

  • Bump actions/setup-python from 2 to 5 (dependabot[bot]) : db80d6f

  • backport.yml: add explicit permissions (Even Rouault) : ad2146b

  • Add .github/dependabot.yml to refresh dependencies (GitHub Actions) (Even Rouault) : 5549fbe

  • Add CodeQL static analyzer as a CI check (Even Rouault) : f8cfd06

  • Fix CodeQL cpp/integer-multiplication-cast-to-long warnings (Even Rouault) : 5c86716

  • msautotest: add some testing of msLoadMapContextLayer() (Even Rouault) : 5ac56b1

  • msLoadMapContextLayer(): avoid potential double-free, and avoid (false positive according to my analyzis) CodeQL cpp/no-space-for-terminator (Even Rouault) : ae706b8

  • CI .yml files: add ‘concurrency’ and ‘permissions’ group (Even Rouault) : 0713558

  • update copyright year (Jeff McKenna) : d968f97

  • Ruby bindings: Return 0 on exceptions, not NULL (Florian Weimer) : 9191614

  • Upload to coveralls.io to work on merged pull requests ( #6997 ) (Seth G) : 31fcd57

  • Coveralls.io fixes (sethg) : bda7264

  • Add COVERALLS_REPO_TOKEN (sethg) : c30b078

  • Add IGNORE_COMPARISON_RESULT_ON_CI and uninstall prebuilt SWIG (sethg) : a985507

  • Simplify build envs (sethg) : b58cc54

  • Disable multi-PHP builds (sethg) : e24d4be

  • Ignore coveralls errors (sethg) : b0ca624

  • Add safe directory (sethg) : 7e4d3a3

  • Updates (sethg) : e50cd2f

  • Build all mapscripts (sethg) : b1a94cd

  • Install php (sethg) : 19650a3

  • Move coveralls to within msautotest block (sethg) : 8356ff5

  • ms_regcomp(): fix memleak in error code path (Even Rouault) : 02e5e72

  • Only run coverage when ASAN is not used (sethg) : 1f30a14

  • Python fix (sethg) : ad6d0bb

  • Set defaults to false and update badge and script renaming (sethg) : cd1ffdc

  • bugfix: Correct description of return value (Edward Nash) : ca9ea4d

  • Migration from Travis CI to GitHub Actions (sethg) : 71c64e8

  • Remove duplicate close statements (sethg) : 870769d

  • Minor test updates (sethg) : 51df262

  • test_wkt_3(): make it pass with recent GEOS versions (Even Rouault) : 5854741

  • Remove trailing spaces from pattern line fills (sethg) : 78b5b1b

  • Remove spaces for multipart expressions using numeric values (sethg) : 98f244f

  • Allow style bindings when using the feature rendering cache ( #6964 ) (Seth G) : 5ea4bf2

  • Add WFS Client Test ( #6909 ) (Seth G) : ecdfaa0

  • Expression to SLD: strip whitespace from non-string expressions ( #6983 ) (Seth G) : 1df4a96

  • Add a config fuzzer (sethg) : 5cdad6f

  • mapwms.cpp: use std::move() (CID 1571351, 1571350) (Even Rouault) : db5814f

  • mapwcs.cpp: use const reference (CID 1571344) (Even Rouault) : 4d9bc89

  • mapogcapi.cpp: other tiny perf improvements (Even Rouault) : cec5183

  • mapogcapi.cpp: fix COPY_INSTEAD_OF_MOVE (CID 1571361, 1571359, 1571355, 1571352, 1571349, 1571343, 1571337) (Even Rouault) : 55ef8e8

  • msSLDApplySLD(): fix potential memory leak or invalid free (CID 1571356) (Even Rouault) : 1b7b887

  • struct projectionObj: remove unused ‘automatic’ member (CID 1565666) (Even Rouault) : a02cc9e

  • Fix compile-time deprecation warnings with libxml2 2.12 (Even Rouault) : eabcb23

  • Remove assert() triggered on a 0-pixel SVG symbol (fixes #6967 ) (Even Rouault) : 5329693

  • Fix compilation errors with libxml2 2.12 (Even Rouault) : 2cea5a1

  • [Lint] FLTProcessPropertyIsNull(): remove always true comparison (due to previous check) (Even Rouault) : f5060a3

  • WFS: avoid segmentation fault when outputformat is defined for resultType=hits ( #6960 ) (Seth G) : 23c4f71

  • Fix broken logic for geographic CRS template substitutions ( #6953 ) (aharfoot) : 3d70d9e

  • OGC API features: always include Content-Crs header (Even Rouault) : 69a27c4

  • mapogcsld.cpp: BuildExpressionTree(): fix potential memleaks pointed by Coverity Scan (Even Rouault) : edbe8b6

  • ogcapi: automatically add a trailing slash if needed for template path ( #6949 ) (Seth G) : 24d36f8

  • CI: workaround add-apt-repository ppa:ubuntugis/ubuntugis-unstable failures ( #6948 ) (Even Rouault) : 3824e25

  • msSLDGetFilter(): add missing XML escaping of property names and literals (Even Rouault) : c90b9d7

  • msSLDGetFilter(): remove always true conditions (Even Rouault) : 8b249c1

  • mapogcsld: add static and const qualifiers where possible (Even Rouault) : 8d67e8f

  • Remove unused msSLDParseExpression() function (Even Rouault) : ee3ffd9

  • Initial C++ification of mapogcsld (Even Rouault) : 29bd58f

  • msStyleSetGeomTransform() declaration: fix const correctness of transform argument (Even Rouault) : 7daebd0

  • Include list expressions in GetStyles SLD output ( #6943 ) (Seth G) : 9b4090a

  • WFS 2 GetFeature with stored query and GET KVP interface: make sure that values of substituted parameters are XML encoded (Even Rouault) : ac70d9a

  • WMS client (cascaded WMS): restrict the list of GDAL drivers used to read the GetMap response; add a ‘wms_allowed_gdal_drivers’ LAYER.METADATA option that takes a comma separated list of GDAL driver names ( #6940 ) (Even Rouault) : f20110e

  • Remove flake8 from Python builds as linting is added to commits in #6937 (sethg) : 5485dad

  • Add .github/workflows/code_checks.yml (Even Rouault) : cd92d90

  • Add .git-blame-ignore-revs (Even Rouault) : e831b8b

  • Run pre-commit to reformat .c, .h, .cpp and .py files (Even Rouault reformatting bot) : d3c6274

  • Add .flake8, .pre-commit-config.yaml and .clang-format (Even Rouault) : 26a8a26

  • Remove scripts/github_issue_no_activity_closer.py (should be replaced by stale-bot if needed) (Even Rouault) : 6611ca0

  • Correct error message function ( #6935 ) (Seth G) : 2317b0c

  • mapogr.cpp: replace use of GBool by int (Even Rouault) : 023632c

  • expand PHPUnit test of OWSRequest ( #6930 ) (Jeff McKenna) : 6991fd2

  • msautotest: remove outdated use of IMAGEMODE PC256 and GD/ ( #6929 ) (Even Rouault) : 6411340

  • A few code cleanups ( #6928 ) (Even Rouault) : 1ab14e3

  • Repo restructure ( #6919 ) (Jeff McKenna) : e9d0428

  • Fixed tile scale computation ( #6912 ) ( #6925 ) (Michele Tessaro) : b12c9b4

  • remove duplicate CLASS ( #6923 ) (Seth G) : 370afa1

  • Add MapScript docs for the reprojectionObj ( #6922 ) (Seth G) : 58ee703

  • Allow Mapfile key to be only element in PATH_INFO ( #6921 ) (Seth G) : 90a2310

  • Create unique output files for Mapfile by key tests ( #6920 ) (Seth G) : 694b493

  • remove unused sym2img.c from codebase ( fixes #6593 ) ( #6918 ) (Jeff McKenna) : ec2324a

  • Apply const qualifiers in Mapscript for strings ( #6908 ) (Seth G) : ceba662

  • Allow Expressions to be set for LABEL properties using MapScript ( #6904 ) (Seth G) : ac60539

  • Ensure shapes aren’t reprojected twice when cached and output to OGR ( #6898 ) (Seth G) : 94c1e5a

  • OGC API Part2: add storageCrs and crs in collection.html templates (Even Rouault) : 1b2252a

  • OGC API: error out when a query parameter of same key is repeated (Even Rouault) : d7565c6

  • OGC API: fix typo in error code (Even Rouault) : b9141c8

  • OGCAPI-F Part2: add tests for bbox= and bbox-crs= (Even Rouault) : 2072356

  • cmake: respect configuration of CMAKE_INSTALL_RPATH ( #6902 ) (Carlo Cabrera) : 57ef347

  • Remove support for GDAL < 3 (Even Rouault) : bf0c31a

  • Remove support for PROJ < 6 (Even Rouault) : 3e48d71

  • Refresh cached reprojector when changing map projection between drawMap() calls (fixes #6896 ) ( #6897 ) (Even Rouault) : 5508c3c

  • Correct test map comment (sethg) : b6822ae

  • Allow expressions to be used on a STYLE SIZE (sethg) : b55a3a8

  • Allow expressions in LABEL PRIORITY ( #6884 ) (Seth G) : db74212

  • Allow Mapfiles to be accessed via URL Keys ( #6862 ) (Seth G) : 497ba5d

  • OGC API Features: implement Part 2 - CRS (Even Rouault) : 82bc8c8

  • Output doxygen comments in Python MapScript module (sethg) : fcd7f7a

  • Coverity Scan fixes ( #6887 ) (Even Rouault) : 42e6acf

  • Update Appveyor Python versions ( #6888 ) (Seth G) : fbbfd84

  • [Lint] OGCAPI: switch for #define to an emumeration for error types, to avoid potential misuses and safe extension of the error types ( #6889 ) (Even Rouault) : 207b601

  • cmake: remove repeated status message ( #6885 ) (Nicklas Larsson) : 0b544aa

  • cmake: respect prefix when installing mapserver-sample.conf (Nicklas Larsson) : fb601dc

  • Fix error message (sethg) : a849762

  • Fix memory leak in LayerDefaultGetNumFeatures ( #6876 ) ( #6877 ) (Tamas Szekeres) : dfd24a9

  • CI: update github actions versions ( #6875 ) (Biswapriyo Nath) : 5274080

  • cmake: Define STDC_HEADERS for regex in mingw toolchain ( #6873 ) (Biswapriyo Nath) : 5dc2b7c

  • CMake: Check compiler type for MSVC speicific option (Biswapriyo Nath) : ca792f3

  • minor update for Travis (Jeff McKenna) : 4def2dd

  • Fix spelling errors. ( #6869 ) (Bas Couwenberg) : 4caca40

  • update clone tests ( #6866 ) (Jeff McKenna) : 83313d0

  • PROJ_DATA set through config option: take into account possibility of multiple paths separated by ; on Windows or : on Unix ( #6863 ) (Even Rouault) : 3c4efc6

  • update CI builds ( #6864 ) (Jeff McKenna) : 74b94d9

  • maplexer: avoid call to exit(1) when read error in parser file (Even Rouault) : 05d44e6

  • mapfile parser: fix double-free when included file doesn’t exist (Even Rouault) : fd70c99

  • Force HTTP/1.1 for tests that query demo.mapserver.org to workaround current issue with it ( #6857 ) (Even Rouault) : 8d9978d

  • document clone* methods for PHP (Jeff McKenna) : 7c17910

  • include CONNECTIONOPTIONS for copyLayer/clone (Jeff McKenna) : 8307333

  • fix write of CONNECTIONOPTIONS (Jeff McKenna) : cbb4b64

  • msWFSGetStoredQuery(): check ftell() < 0 (CID 1518792) (Even Rouault) : 820d1bd

  • msWFSComputeMatchingFeatures(): check initMap() return value (CID 1518793) (Even Rouault) : 16d1c13

  • msWCSGetCoverageMetadata20(): check return value of msStringParseInteger() (CID 1518795) (Even Rouault) : d74d609

  • msSOSAddMemberNode(): avoid warning about dereferencing nullptr (CID 1518796) (Even Rouault) : 7422d87

  • msDrawLegend(): try to fix CID 1175162 (Even Rouault) : ccd1fc2

  • msReadTree(): fix memory and file handle leak (CID 1175196) (Even Rouault) : 9097f6c

  • shptreetst.c: fix memleak (CID 1175312) (Even Rouault) : 319b655

  • msGraticuleLayerGetIntersectionPoints(): avoid memleak in error code path (CID 1175761) (Even Rouault) : eaba37e

  • msWFSAddInspireDSID(): make it obvious there’s no memory leak (CID 1194597) (Even Rouault) : 5a5ba32

  • arcStrokeCircle(): initialize pointObj.z (CID 1514356) (Even Rouault) : 8828385

  • offsetAndTest(): initialize pointObj.z (CID 1514358) (Even Rouault) : b53ea02

  • msBuildWMSLayerURL(): fix memleak in error code path (CID 1514364) (Even Rouault) : 52fd72f

  • msIntersectionPointLine(): avoid warning about using uninitialized variables (CID 1514366) (Even Rouault) : bbed24e

  • KmlRenderer::renderGlyphs(): initalize pointObj.z (CID 1514367) (Even Rouault) : 9c8dae9

  • KmlRenderer::renderSymbol(): initalize pointObj.z (CID 1514369) (Even Rouault) : 32eea21

  • fuzzers/reproducer_main.cpp: test ftell() return value (CID 1525390) (Even Rouault) : cd83944

  • msOWSNegotiateUpdateSequence(): remove dead code (CID 1536784) (Even Rouault) : 8527a8c

  • loadLayerCompositer(): fix memleak in error code paths (Even Rouault) : f0a85e2

  • loadLayer(): fix memory leak in case of error in loadLayerCompositer() (Even Rouault) : 0fcd9be

  • mapwfslayer: avoid useless variable assignment (Even Rouault) : 75faa57

  • mapstring: avoid false positive cppcheck warning (Even Rouault) : 26bf7f8

  • mapproject.c: silence false positive cppcheck warning (Even Rouault) : 63efdd1

  • mapowscommon: declare and initialize variables in same statement (Even Rouault) : cf0f995

  • mapows.c: remove always true test (Even Rouault) : e79f977

  • mapmetadata: declare and initialize variables in same statement (Even Rouault) : 474d8ff

  • mapimageio.c: fix memleak in error code path (Even Rouault) : be7d9a8

  • mapfile.c: remove unused variable (Even Rouault) : 7d609c1

  • remove always false condition, and improve initialization of variable (Even Rouault) : 49d8e8c

  • mapchart.c: remove unused variable (Even Rouault) : dd9c237

  • mapagg: avoid warning about always false condition (and limit allocation to 2 GB on 32-bit) (Even Rouault) : 47f854a

  • textlayout.c: remove unused variable (Even Rouault) : c6d1d99

  • appveyor.yml: remove support for testing python 2.7 builds ( #6845 ) (Even Rouault) : 029b7a8

  • Improve round-trip of mapfiles through mapscript ( #6838 ) (Alexandre Brault) : aedc119

  • Don’t use deprecated distutils module. ( #6839 ) (Bas Couwenberg) : 3b6d99c

  • change HISTORY.TXT to markdown ( #6835 ) (Jeff McKenna) : f306332

  • Fix build issue when abseil-cpp is present (fixes #6822 ) (Even Rouault) : 0456383

  • _msProcessAutoProjection(): fix memleak in error code path (Even Rouault) : c58efda

  • Appveyor SDK Update and Fixes ( #6827 ) (Seth G) : e25f5f5

  • Fix GetMetadata possible buffer overrun ( #6823 ) (Seth G) : c369e54

  • change migration guide to markdown ( #6820 ) (Jeff McKenna) : 68fd623

  • Issue 6631 ( #6817 ) (Steve Lime) : ccd0f51

  • Fix wfs paging on oracle ( #6774 ) (fedeliallalinea) : 8e33b8f

  • Allow NULL shapes to be returned in WFS GetFeature requests ( #6731 ) (Seth G) : b27e3ad

  • Allow custom projections to be requested via WMS ( #6795 ) (Seth G) : b551541

  • Add WIN32 flag to SWIG csharp command line, prevent classObj_drawLegendIcon to cause crash ( #6758 ) ( #6759 ) (Tamas Szekeres) : 109242d

  • Update MS SQL Server connection error logging ( #6784 ) (Seth G) : b5c7d05

  • Set Boolean subtype for OGR Output ( #6803 ) (Seth G) : 3328055

  • No longer output MS version numbers in client responses ( #6808 ) (Seth G) : 67123c6

  • Check for debug level before writing to log ( #6806 ) (Seth G) : 8f88dcd

  • Small changes missed in the initial 8.0 release. ( #6804 ) (Steve Lime) : f214512

  • Add Proj and GDAL versions to MapServer version output ( #6794 ) (Seth G) : 4de5c84

  • update README with markdown (Jeff McKenna) : 8332a26

  • update README with markdown (Jeff McKenna) : bfe4c10

  • update README with markdown (Jeff McKenna) : 1e0d883

  • Set Boolean field type with PostGIS driver when using gml_types auto ( #6793 ) (Seth G) : e42a800

  • update copyright year in README ( #6796 ) (Jeff McKenna) : 771fcac

  • correct deprecated warning for PHP 8.2 test (Jeff McKenna) : 6e2e5e1

  • correct deprecated warning for PHP 8.2 test (Jeff McKenna) : a1ba242

  • handle PHP 8.2 error (Jeff McKenna) : ad50f47

  • upgrade Travis to test PHP 8.2.x (Jeff McKenna) : 249fc2c

  • Optimise WFS requests by reducing fields selected ( #6785 ) (Seth G) : 2b613f8

  • doc: correct MS_SHP to MS_SHAPEFILE (akrherz) : d4a6744

  • Ignore selecting any fields required for classes that won’t be rendered (sethg) : 67c87b2

  • msLoadMapContext(): add validation of filename against MS_CONTEXTFILE_PATTERN, which defaults to .xml extension (Even Rouault) : ec06a2e

  • msLoadMapContextGeneral(): fix memory leaks (Even Rouault) : 91d073f

  • CI: check that we can’t load a OWS context file if MS_CONTEXT_PATTERN is not defined (refs #6779 ) (Even Rouault) : 4d4ec60

  • msGetMapContextFileText(): add sanity check on file size (refs #6779 ) (Even Rouault) : a4325bb

  • msautotest: add a test for CONTEXT= loading (refs #6779 ) (Even Rouault) : 287347c

  • msCGILoadMap(): do not load file pointed by CONTEXT= unless it validates new MS_CONTEXT_PATTERN configuration option (and doesn’t validate MS_CONTEXT_BAD_PATTERN) (fixes #6779 ) (Even Rouault) : cd291c7

  • ZIP OGR output: use CPLAddFileInZip() to be able to generate SOZip-enabled files (Even Rouault) : 455c452

  • Fix usage of FILE* and VSILFILE* (Even Rouault) : 53e97c9

  • loadLayer(): fix memory leak in case of repeated CLUSTER (Even Rouault) : e440040

  • [OGR / WFS] Fix PropertyIsLike filter with special characters like parenthesis, backslash and single quote (fixes #6751 ) (Even Rouault) : a1bdc9d

  • MS_TOKEN_COMPARISON_LIKE is never generated by maplexer.l. Remove any uses of it ( #6763 ) (Even Rouault) : 8d6c9ec

  • Bit manipulation: avoid undefined-shift behavior when left-shifting of 31 bits (Even Rouault) : 2c82f68

  • Ignore Python 3.11 for now (sethg) : df1cdca

  • upgrade PHP MapScript test to 8.1.12 release (Jeff McKenna) : ddb278e

  • freeLabelLeader(): fix memleak (including in nominal code path) (Even Rouault) : 555dab9

  • loadLayer(): fix memory leak in error code path (Even Rouault) : 68b4955

  • loadGrid(): fix memleak on LABELFORMAT DD (Even Rouault) : 8a100de

  • msConnectLayer(): fix potential double-free introduced by recent ossfuzz fix (Coverity Scan 1526531) (Even Rouault) : 0454c14

  • Remove call to deprecated xmlSchemaCleanupTypes() (Even Rouault) : 43d855c

  • msMapComputeGeotransform(): avoid (harmless) potential floating-point division by zero (Even Rouault) : 9e7bd63

  • msBuildPluginLibraryPath(): fix potential memleak (Even Rouault) : 227c5ba

  • writeLayer(): fix wrong argument that cause invalid stack reading (perhaps fixes #6628 ) (Even Rouault) : f46d5f8

  • loadProjection(): fix memleak in error code path (Even Rouault) : 09067bc

  • cppcheck.sh: update script to work with cppcheck >= 2.10 (Even Rouault) : e5a5317

  • Make sure a POINT block doesn’t contain too many points. (Steve Lime) : f4dd927

  • loadLeader(): fix memleak in error code path (Even Rouault) : cb8c4db

  • loadColor(): fix memory leak if LABEL.COLOR is repeated (Even Rouault) : 69c4fcc

  • msOGRShapeFromWKT(): fix memory leak in error code path (Even Rouault) : 2b8f9dd

  • maplexer.l: fix heap-buffer-overflow issues with NUL characters (Even Rouault) : b062947

  • msDBFOpenVirtualFile(): avoid integer overflow (Even Rouault) : d5bc099

  • loadSymbol(): fix potential memory leak (Even Rouault) : 4f9e9ca

  • msIsAxisInverted(): avoid undefined-shift on invalid code (Even Rouault) : 24c5b41

  • loadProjection(): fix memleak in case of repeated PROJECTION block (Even Rouault) : e92451c

  • loadFeaturePoints(): fix memleak in error code path (Even Rouault) : 97a1cc2

  • msOGRShapeFromWKT(): fix memleak in error code path (Even Rouault) : 4951ccb

  • msSHPOpenVirtualFile(): fix integer overflow (Even Rouault) : 7a5f404

  • msSHXLoadPage(): fix integer overflow (Even Rouault) : d149fa2

  • msSHPReadShape(): avoid integer overflow (Even Rouault) : 283b7d4

  • maplexer.l: avoid non-null terminated msyystring_buffer that can cause read heap-buffer-overflow (Even Rouault) : 8cf2023

  • _msProcessAutoProjection(): fix memleak in error code path (Even Rouault) : 4ddb6a9

  • msLoadMap(): fix nullptr dereference when using LATLON keyword (Even Rouault) : ed5a0c1

  • msLoadFontSet(): fix null pointer dereference (Even Rouault) : 6a556b5

  • msLoadMap(): fix memleak in error code path related to style loading (Even Rouault) : c96a9d1

  • msLoadFontSet(): fix memleak in error code path (Even Rouault) : f96d0bf

  • msLoadMap(): fix memleak in error code path related to symbol loading (Even Rouault) : 04b2a60

  • mapshape.c: avoid ‘undefined-shift’ issue with SWAP_FOUR_BYTES() macro (Even Rouault) : b233dcc

  • Fix ossfuzz 52107 ( #6658 ) (Even Rouault) : 001b4b4

  • loadHashTable(): fix memory leak in error code path (Even Rouault) : 4badc4e

  • Lint: freeLayer(): remove useless tests (Even Rouault) : 032a5d0

  • msLoadMap(): fix double-free related to labels (Even Rouault) : 122126f

  • Allow a CONFIG to be used when loading a Mapfile from a string ( #6646 ) (Seth G) : 5af1198

  • Fix memory leak related to styles on invalid mapfile (Even Rouault) : 6f3fb14

  • fuzzers/build.sh: build PROJ from source to avoid conflict between libstdc++ and libc++ (Even Rouault) : c8d59b9

  • loadProjection(): avoid write heap-bufer-overflow on invalid PROJECTION block (Even Rouault) : bf41b35

  • mapshape.c: avoid integer overflow in msSHPOpenVirtualFile() (Even Rouault) : c50eee5

  • fuzzer code: fix issues spotted by coverity scan (Even Rouault) : ce2980b

  • fuzzers/README.md: enhance [ci skip] (Even Rouault) : 3e0e032

  • fuzzers/README.md: enhance [ci skip] (Even Rouault) : be31f82

  • mapfuzzer.c: make sure msLoadMap() does not bail out early (Even Rouault) : 3b0aa0d

  • Add a github action CI-Fuzz workflow (Even Rouault) : 0fc7aef

  • fuzzers/build.sh: run the copy of the repository, and do minimal GDAL builds (Even Rouault) : 575da26

  • shape reader: fix use of uninitialized memory on corrupted file, and other sanitizations (Even Rouault) : bee3519

  • msInsertErrorObj(): limit number of linked errors to 100 to avoid unbounded memory usage (Even Rouault) : b695b57

  • shapefuzzer: avoid too long processing time (Even Rouault) : e8a640d

  • fuzzers/build.sh: move it from oss-fuzz repository (Even Rouault) : 0c5a0b3

  • Add fuzzers/README.md (Even Rouault) : 8e1775a

  • Port https://github.com/google/oss-fuzz/blob/master/projects/mapserver/mapfuzzer.c into our repository with a few fixes (Even Rouault) : 675234b

  • shapefuzzer.c: make it portable for Windows (Even Rouault) : 6e46e32

  • Add a BUILD_FUZZER_REPRODUCER option to CMakeLists.txt, and fix the FUZZER one (Even Rouault) : 89618d1

  • msLoadConfig(): fix memory leak if configuration file cannot be open (Even Rouault) : 60636e2

  • shapeObjTest.php: adjust expected result to fix https://github.com/MapServer/MapServer/actions/runs/3153195615/jobs/5129376375 (Even Rouault) : 8ead4fe

  • Revert “Allow configObj to be set in msLoadMapFromString” (sethg) : 2fcc5b6

  • Allow configObj to be set in msLoadMapFromString (sethg) : 9832786

  • Shorten line length (sethg) : 8e1c024

  • correct CONFIG url message ( #6625 ) (Jeff McKenna) : 2452bfb

  • update TravisCI for Python version ( #6622 ) (Jeff McKenna) : fff44c2

  • Redact password= content in msError() and msDebug() messages ( #6616 ) (Even Rouault) : 6bf33ce

  • Possible fix for #6613 by setting layer startindex for paging ( #6617 ) (Seth G) : bdde4d5

  • update security policy to mention 8.0 release ( #6615 ) (Jeff McKenna) : f686abf

  • update for 8.0.0 release (Jeff McKenna) : e789297

  • update tests for PHP 8.1.10 release ( #6606 ) (Jeff McKenna) : 8189bd8

  • uvraster: add lon and lat attributes to allow filtering on them (Even Rouault) : b08b924

  • getBaseGeographicCRS(): better work with exotic CRS (rotated pole, etc.) (Even Rouault) : 269a758

  • update for 8.0.0-rc2 (Jeff McKenna) : 05de4d3

  • Fix for #6601 - ensure a valid WHERE clause is created in all cases ( #6602 ) (Seth G) : 024f9b1

  • Check if a LAYER has a NAME before accessing the property ( #6603 ) (Seth G) : 7fb1bae

  • add recent 8.0-rc1 notes (Jeff McKenna) : b2f0fd2

  • update MS_MAP_PATTERN required note ( #6598 ) (Jeff McKenna) : 9209de5

  • mapfile.c: add missing include to fix build issue on some compilers (fixes #6595 ) ( #6596 ) (Even Rouault) : 35a52a4

  • update history in main branch (Jeff McKenna) : dba17f0

  • add PHPUnit test for createLegendIcon ( #6590 ) (Jeff McKenna) : 082a442

  • reset layer filteritem to its old value in case of no overlap (fixes #6580 ) ( #6584 ) (Landry Breuil) : b3196c0

  • [ogcapi] make sure there are features before accessing them in jinja templates ( #6583 ) (Landry Breuil) : 35784a7

  • Fix MSSQL query returns invalid result ( #6585 ) ( #6586 ) (Tamas Szekeres) : 6c3486b

  • reset isreported to MS_FALSE in msResetErrorList() ( #6543 ) ( #6577 ) (Landry Breuil) : f96ce54

  • Increase Python max line length for linting ( #6578 ) (Seth G) : 79cb36d

  • Apply special processings of PROJ_LIB to PROJ_DATA as well ( #6573 ) (Even Rouault) : c0d5a12

  • [msautotest] upgrade tests to use PHP 8.1.8 ( #6567 ) (Jeff McKenna) : 1ee8b9e

  • flatgeobuf: fix wkt srs ( #6571 ) (Björn Harrtell) : 60ae46a

  • Config file parsing: use msSetPROJ_LIB() when ENV PROJ_LIB is set ( #6565 ) (Even Rouault) : c3af64d

  • [msautotest] add FlatGeobuf WFS tests ( #6566 ) (Jeff McKenna) : cfe39bf

  • Fix feature access ( #6553 ) (Björn Harrtell) : 3772cc3

  • FlatGeobuf: Rework null geom skip ( #6562 ) (Björn Harrtell) : 1064ca4

  • SLD: unset layer classgroup … ( #6559 ) (Even Rouault) : e1da7b0

  • msProjectShapeLine(): fix reprojection of lines crossing the antimeridian when source CRS is +proj=longlat +lon_wrap=0 ( #6557 ) (Even Rouault) : a754324

  • Coverity Scan fixes ( #6555 ) (Even Rouault) : b25d3bb

  • Improve error messages about missing mandatory metadata (fixes #6542 ) ( #6544 ) (Even Rouault) : 0640e77

  • Improve error message in case of getcwd() failure (fixes  #6543 ) ( #6545 ) (Even Rouault) : 1f7c031

  • Also install coshp utility. ( #6540 ) (Bas Couwenberg) : 1436fe1

  • bump default MapServer version (Jeff McKenna) : 7c24048