# Changelog ## 1.5.18 — Qt6 and QGIS 4 compatibility scanner fixes * Fixed the 16 Qt6 compatibility issues reported by the QGIS Plugin Repository scanner. * Updated polygon geometry references to use `QgsWkbTypes.GeometryType.PolygonGeometry` in Qt6 and QGIS 4. * Updated raster contrast enhancement references to use `QgsContrastEnhancement.ContrastEnhancementAlgorithm.StretchToMinimumMaximum`. * Updated color ramp shader references to use `QgsColorRampShader.Type.Interpolated`. * Updated integer Processing parameters to use `QgsProcessingParameterNumber.Type.Integer`. * Updated floating-point Processing parameters to use `QgsProcessingParameterNumber.Type.Double`. * Updated file Processing parameters to use `QgsProcessingParameterFile.Behavior.File`. * Updated folder Processing parameters to use `QgsProcessingParameterFile.Behavior.Folder`. * Replaced the deprecated Qt5 dialog member `exec_()` with Qt6-compatible `exec()` handling while preserving compatibility with QGIS 3 and Qt5. * Applied compatibility fallbacks so the plugin remains usable in both QGIS 3 and QGIS 4 environments. * Retained `[email protected]` as the official confirmation and contact email. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * The plugin remains stable and non-experimental. * No mathematical, modelling, GPR, gap-filling, phenology, Sentinel-2 index, model data, or Processing algorithm logic was changed. ## 1.5.17 — Security scanner compliance * Removed all `subprocess`-based execution of `pip` and `ensurepip` from the plugin. * Converted the dependency assistant into manual installation guidance that never launches external processes. * Replaced silent `try/except/pass` and `try/except/continue` handling identified by Bandit with explicit debug logging or safe fallback behavior. * Retained `[email protected]` as the official confirmation and contact email. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * The plugin remains stable and non-experimental. * No mathematical, modelling, GPR, gap-filling, phenology, Sentinel-2 index, model data, or Processing algorithm logic was changed. ## 1.5.16 — Unique repository version * Assigned a new unique version number because version 1.5.15 was already registered in the QGIS Plugin Repository. * Retained `[email protected]` as the official confirmation and contact email. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * The plugin remains stable and non-experimental. * No mathematical, modelling, GPR, gap-filling, phenology, Sentinel-2 index, dependency launcher, model data, or Processing algorithm logic was changed. ## 1.5.15 — Official contact email update * Updated the official QGIS Plugin Repository confirmation and contact email to `[email protected]`. * Confirmed that the plugin interface and email actions consistently use `[email protected]`. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * The plugin remains stable and non-experimental. * No mathematical, modelling, GPR, gap-filling, phenology, Sentinel-2 index, dependency launcher, model data, or Processing algorithm logic was changed. ## 1.5.14 — Final code-quality cleanup * Completed the final code-quality cleanup for the QGIS Plugin Repository scanner. * Fixed the remaining Flake8 `E302` warning in `plugin.py` by adding the required two blank lines before the top-level `AOIPolygonMapTool` class. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * The plugin remains stable and non-experimental. * No mathematical, modelling, GPR, gap-filling, phenology, Sentinel-2 index, dependency launcher, model data, or Processing algorithm logic was changed. ## 1.5.13 — QGIS repository scanner cleanup * Completed a code-quality cleanup for the QGIS Plugin Repository scanner. * Fixed non-critical Flake8 `W503` warnings in `installer.py` by avoiding line breaks before binary operators. * Fixed non-critical Flake8 `E402` warnings in `plugin.py` by moving module-level imports to the top of the file. * Maintained QGIS 3.x and QGIS 4.x availability through `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * The plugin remains stable and non-experimental. * No mathematical, modelling, GPR, gap-filling, phenology, Sentinel-2 index, dependency launcher, model data, or Processing algorithm logic was changed. ## 1.5.12 — Dependency launcher fix for QGIS 4 on Windows * Fixed the assisted dependency launcher for QGIS 4 on Windows so that `qgis.exe` or `qgis-bin.exe` is never used as the Python executable for `pip`. * Prevented QGIS from reopening and interpreting package names such as `rasterio>=1.3.0` as invalid data sources. * The dependency assistant now searches for a valid `python.exe` or `python3` executable associated with QGIS. * Dependency installation commands are executed from the user home directory. * The installer writes a dependency installation log and fails safely with manual instructions when no valid Python executable is found. * Maintained QGIS 3.x and QGIS 4.x availability through `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * No mathematical, modelling, GPR, gap-filling, phenology, Sentinel-2 index, model data, or Processing algorithm logic was changed. ## 1.5.11 — QGIS 4 dependency note * Added a clear dependency note for QGIS 4.0.x and Python 3.12. * Clarified that some QGIS 4 installations may not include `rasterio` in the QGIS Python environment by default. * Clarified that when `rasterio` is missing, Earth Engine image search and download may start correctly, but raster harmonization, gap filling, GPR raster prediction, and LSP workflows may fail until the dependency is installed. * Kept the assisted dependency tools available from the plugin Info tab and plugin menu. * Kept manual dependency installation instructions as a fallback. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`, allowing the plugin to remain listed for QGIS 3.x and QGIS 4.x. * Kept `experimental=False` and `deprecated=False`. * No mathematical, modelling, GPR, gap-filling, phenology, Sentinel-2 index, or Processing algorithm logic was changed. ## 1.5.10 — Assisted dependency installer * Added an intuitive dependency assistant for installing and updating functional Python dependencies from QGIS without opening a terminal. * Added dependency actions to the plugin menu and Info tab. * The user can install or update `rasterio`, `requests`, `earthengine-api`, and `matplotlib` using the Python environment associated with QGIS. * Added automatic dependency recovery inside Processing algorithms. * When a required module such as `rasterio`, `requests`, or `earthengine-api` is missing, the corresponding algorithm can attempt installation and reload the Python paths before continuing. * Fixed the QGIS 4 and Python 3.12 execution failure caused by `ModuleNotFoundError: No module named rasterio`. * Added installation logging to `GEEGPRPheno_dependency_install.log` in the user home directory. * Preserved manual installation instructions as a fallback. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * Kept `experimental=False` and `deprecated=False`. * No functional Processing algorithms, GEE/GPR/LSP modules, model data, translations, icon files, security fixes, or documentation resources were removed. ## 1.5.9 — Extended Qt5 and Qt6 compatibility * Fixed the QGIS 4 panel-opening error caused by `QSizePolicy.Expanding` moving to `QSizePolicy.Policy.Expanding` in Qt6. * Added compatibility handling for additional Qt6 enum namespace changes used by the floating panel. * Added compatibility handling for `QFrame.Shape.HLine`. * Added compatibility handling for `QMessageBox.StandardButton.Yes`, `QMessageBox.StandardButton.No`, and `QMessageBox.StandardButton.Cancel`. * Added compatibility handling for `QLineEdit.EchoMode.Normal`. * Preserved QGIS 3 and Qt5 compatibility by keeping fallback access to the original Qt5 enum names. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * Kept `experimental=False` and `deprecated=False`. * No functional Processing algorithms, GEE/GPR/LSP modules, model data, translations, icon files, dependency declarations, security fixes, or documentation resources were removed. ## 1.5.8 — Qt5 and Qt6 compatibility fix * Fixed the QGIS 4 panel-opening error caused by Qt enum namespace changes. * Added compatibility handling for `Qt.Window`, `Qt.WindowTitleHint`, alignment flags, cursor shapes, and mouse button enums. * Added a compatibility helper so the same plugin code can resolve Qt enum values in both Qt5/QGIS 3 and Qt6/QGIS 4. * Kept `qgisMinimumVersion=3.0` and `qgisMaximumVersion=4.99`. * Kept `experimental=False` and `deprecated=False`. * No functional Processing algorithms, GEE/GPR/LSP modules, model data, translations, icon files, dependency declarations, security fixes, or documentation resources were removed. ## 1.5.7 — QGIS 3.x and QGIS 4.x compatibility metadata * Updated `qgisMinimumVersion` from `3.16` to `3.0` so the plugin can be listed as available throughout the QGIS 3.x series. * Updated `qgisMaximumVersion` from `3.99` to `4.99` so the plugin can be listed as available for QGIS 4.x. * Kept `experimental=False` and `deprecated=False`. * No functional Python modules, Processing algorithms, model data, translations, icon files, dependency declarations, security fixes, or documentation resources were removed. * This release was a metadata and documentation compatibility update. * Functional validation in each target QGIS version remains recommended before publication. ## 1.5.5 — Metadata normalization * Changed `hasProcessingProvider` from `yes` to `True`, following the Boolean metadata format expected by QGIS. * Removed the optional `deprecated` metadata line because the plugin is not deprecated by default. * Kept the optimized lightweight icon. * Preserved all security fixes introduced in versions 1.5.3 and 1.5.4. * No functional algorithmic code was removed. ## 1.5.4 — New repository upload with optimized icon * Increased the plugin version because the QGIS Plugin Repository does not allow uploading a ZIP package with a version number that already exists. * Preserved the validated HTTPS Google endpoint downloader introduced for the security scan. * Preserved the renamed optional GEE authentication JSON parameter to avoid false-positive secret detection. * Kept the optimized lightweight icon to reduce package size without removing functional Python modules. ## 1.5.3 — QGIS security scanner fixes * Replaced generic `urllib.request.urlretrieve()` download calls with a validated HTTPS downloader restricted to Google and Earth Engine endpoints. * Renamed the optional GEE JSON authentication-file parameter to avoid false-positive secret detection. * Updated the plugin icon while preserving the Processing algorithms and functional code. * Kept the MIT license and public-repository metadata required for QGIS submission. ## 1.5.2 — QGIS Plugin Repository submission package * Prepared a clean package for submission to the official QGIS Plugin Repository. * Added `LICENSE` inside the plugin directory. * Aligned `metadata.txt` with `license=MIT`. * Consolidated the documentation to avoid multiple loose version-specific notes in the plugin root directory. * Preserved all functional Python modules and model data, including `s2boa_models.py`. * Preserved the original JavaScript color palettes and fixed visualization ranges for QGIS layers and PDF outputs. * Kept dependency installation as manual instructions only. * This public plugin package did not execute `pip` or shell commands from QGIS. ## 1.5.1 — Internal development version * Internal development version used as the base for the version 1.5.2 publication package. * Included improvements related to GEE/GPR phenology workflows and QGIS interface integration.
yes
jf-floresriera
2026-08-03T17:46:04.833731+00:00
3.0.0
4.99.0
None
no
Plugin Tags