[general]
name=trends.earth
qgisMinimumVersion=3.22
qgisMaximumVersion=4.99
description=Analyze land change in support of sustainable land management, achieving the Land Degradation Neutrality (LDN) Sustainable Development Goal (SDG), and to support reporting to the Global Environment Facility (GEF) and United Nations Convention to Combat Desertification (UNCCD)
version=2.3.0
author=Conservation International
email=trends.earth@conservation.org

about=Trends.Earth is a tool for analyzing land change. Trends.Earth supports monitoring changes in productivity, land cover, and soil organic carbon. The tool can support monitoring land degradation for reporting to the Global Environment Facility (GEF) and United Nations Convention to Combat Desertification (UNCCD), as well as tracking progress towards achivement of Sustainable Development Goal (SDG) target 15.3, Land Degradation Neutrality (LDN).

tracker=https://github.com/ConservationInternational/trends.earth/issues

repository=https://github.com/ConservationInternational/trends.earth

# Tags are comma separated with spaces allowed
tags=land degradation, land degradation neutrality, soil carbon, productivity, land cover, reporting, LDN, SDG, UNCCD, 15.3, sustainable development goals, ldmp

homepage=https://trends.earth
category=Plugins
icon=trends_earth_logo_square_32x32.png
experimental=False

# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False

hasProcessingProvider=yes

changelog=2.3.0 (May 12, 2026)
  - Added support for QGIS 4
  - Added global SDG 15.3.1 and Trends.Earth results datasets to the download tool
  - Added (experimental) option to connect a personal Google Earth Engine account via OAuth (browser-based sign-in)
  - Fixed a bug in the Total Carbon analysis tool that caused failure to compute annual statistics
  - Fixed loading of boundary files stored in compressed format
  - Fixed issue where changing the study area didn't refresh the interface
  - Fixed map layer style registration in the QGIS symbology panel
  - Misc minor bug fixes and performance improvements
 2.2.10 (April 20, 2026)
  - Fixed SDG 15.3.1 summary failing on multi-period datasets due to duplicate band name matching across periods
 2.2.8 (April 17, 2026)
  - Fixed custom data import (land cover, SOC, LPD) to correctly reproject rasters in non-WGS84 coordinate systems such as UTM
 2.2.6 (April 13, 2026)
  - Added experimental support for LDN counterbalancing analysis
  - Moved file downloads to background tasks to keep the interface responsive
  - Added local job logging for better troubleshooting of locally-run analyses
  - Improved caching of area extents for faster dropdown loading
  - Added support for parallel processing in te_algorithms
  - Added documentation on SO2-3 indicator calculations
  - Translation and dependency updates
 2.2.4 (March 19, 2026)
  - Thread safety and stability improvements across the API client, job manager, download system, and report generation
  - Added option to change the API server URL
  - Improved dataset filtering and widget caching for better performance
  - Fixed data import dialogs for small screens
  - Fixed handling of timeseries jobs
  - Fixed plugin module reloading during upgrade to reduce errors after updating
  - Added in-plugin news feed
  - Added handling for Google Earth Engine terms of service change
  - Optimized local caching of job results to improve plugin responsiveness
  - Add styles for SPEI layers and NDVI integrals
  - Documentation updates including new status map section, updated FAQ, and productivity metrics
  - Translation and dependency updates
 2.2.2 (January 28, 2026)
  - Add option to turn email notifications on/off for job status updates
  - Support importing custom land productivity (LPD) data and using it in UNCCD reporting
  - Support loading results JSON files directly onto the map
  - Updated password reset and new user signup process for security
  - Fixed loading boundaries without login
  - Added optional custom dataset clipping on import
  - Constrain SOC calculations to respect baseline SOC data year (2000)
  - Thread safety and stability improvements
  - Documentation and translation updates
 2.2.0 (November 24, 2025)
  - Switch default boundary dataset from Natural Earth to geoBoundaries (basemaps still use Natural Earth)
  - Ensure custom execution names propagate through UNCCD report, drought vulnerability, urban change, restoration biomass, and total carbon summary workflows
  - Optimize basemap preparation by speeding up archive extraction and reducing duplicative operations
  - Compress API requests and harden retry logic to reduce transient failures when communicating with trends.earth API
  - Refresh documentation links and remove outdated fact sheets
  - Update datasets available on https://data.trends.earth
 2.1.20 (October 10, 2025)
  - Add preset functionality for SDG 15.3.1 sub-indicator calculations, with defaults matching latest UNCCD reporting cycle
  - Improve handling of failed or pending executions - all executions now always show in the datasets window unless deleted
  - Support viewing job logs for remote executions
  - Sync with latest te_schemas and te_algorithms versions, including better parallel processing support from latest te_algorithms
  - Fix handling of FAO-WOCAT/JRC/Trends.Earth LPD dataset selection in SDG 15.3.1 sub-indicator calculation
  - Optimize trends.earth-API interactions (using refresh tokens, and removing unnecessary requests)
  - Use setuptools-scm to dynamically identify versions (most relevant for those running development versions of trends.earth)
  - Bump googleearthengine-api to 1.6.6
 2.1.18 (August 5, 2025)
  - fix: key error with reporting period default selection by @merydian in #943
  - fix: error in Sub-indicators for SDG 15.3.1 with progress periods by @merydian in #945
  - Update translations by @github-actions[bot] in #946
  - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #929
  - Fix progress period included even when it is not checked by @dimasciput in #954
  - Added nix shell for NixOS dev workflow streamlining by @timlinux in #950
  - Qgis process by @timlinux in #955
  - Final tweaks for experimental 2.1.18 by @timlinux in #956
  - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #948
  - Try to fig plugin setup issue by @azvoleff in #951
  - Update translations by @github-actions[bot] in #958
  - Add support multiple progress periods for SDG 15.3.1 by @merydian in #961
  - Make reports work in FAO-WOCAT productivity mode for SDG 15.3.1 local task by @merydian in #963
  - Update translations by @github-actions[bot] in #964
  - Add support for CHIRPS and UK-CEH precipitation datasets in drought tools
 2.1.16 (July 31, 2024)
  - Bump dependency versions to address #812
  - Fix deprecation of np.float
  - Update datasets to latest versions (MODIS, CHIRPS, ESA CCI, PERSIAN, MODIS
    ET, Hansen Global Forest Change)
  - Switch to ruff for code formatting/linting
  - For SDG 15.3.1 sub-indicators task, when population data is needed default
    to a dataset matching the final year of the productivity data, or within
    three years of that date if an exact match is not possible
  - Various dependency version updates
  2.1.14 (February 24, 2023)
  - Improve land productivity import tool, including support for JRC,
    FAO-WOCAT, or Trends.Earth data, and option to specify initial and final
    years
  2.1.12 (February 17, 2023)
  - Improve data download tool, including support for downloading WorldPop
    population data used in UNCCD reporting
  2.1.10 (February 7, 2023)
  - Fix error when using shapefiles/geojsons to define aoi (#768)
  - Ensure user settings are retained and not reset by offline mode checks
  - Update translations
  2.1.8 (January 25, 2023)
    - Output JSON field for Prais containing updated false positive/negative
      calculations.
    - Fixes #752 - false positive/negative datasets not showing up in
      non-English versions
  2.1.6 (December 8, 2022)
    - Bumps maximum number of land cover classes to 45 (useful particularly for
      users seeking to use Corine legend)
    - Fix issue that was arising on Mac/Linux due to missing QgsPanelWidget ui
      file
    - Various more minor bug fixes
  2.1.6 (November 21, 2022)
    - Fixes #691 (issue that arose if the base data directory was cleared).
      When base directory is cleared plugin will now reset the value to the
      default.
    - Fix python error coming up when settings window was closed while datasets
      screen was not open.
  2.1.2 (November 18, 2022)
    - Fixes #724 - ensure max number of land cover classes is set to 38 by
      default (ignoring the previously set default value in qsettings, which
      used to be 32).
    - Fixes #722 - file name casing when code refers to
      land_cover_transition_matrix_unccd.json.
    - Fixes #726 - make dataset year visible in datasets window for imported
      datasets
  2.1.0 (November 11, 2022)
    - Moved plugin settings to live within main QGIS plugin settings window
    - Bumped marshmallow-dataclass to 8.5.10 and marshmallow to 3.18.0. This
      necessitated changes in trends.earth-schemas, so it is possible some old
      jobs may not load in this new version (suggest re-running them if need
      be).
  2.0.7 (October 31, 2022)
    - Enable Excel table generation for SDG 15.3.1 when using custom
      classes - all the various minor bugs should now be worked out.
    - Limit report generation to 3 tries - then quit trying to generate reports
      until next restart (prevents Trends.Earth continually spawing processes
      for report generation when they are failing).
  2.0.5 (October 19, 2022)
    - Fix SDG summary generation when using JRC LPD or WOCAT LPD.
  2.0.3 (October 19, 2022)
    - Allow bypassing reset of land cover legend when choosing defaults in
      the SDG tool.
    - Disable excel generation when child legend does not have 7 classes.
    - Fix report generation when using custom legend.
  2.0.1 (October 13, 2022)
    - Added ability to completely customize the land cover legend used in
      Trends.Earth, including the number, name, color, and coding of each 
      class in the legend. This applies to all calculatons using land cover
      data, including the SDG 15.3.1 tool, and the productivity, soil organic
      carbon, and land cover indicator tools.
    - Reworked land cover import tool to allow importing data and assigning
      classes to custom legend.
    - Misc minor bug fixes.
    - Add ability to include false positive/negative dataset in UNCCD report.
      Next release will include further functionality to apply and report on
      false positive/negatives.
    - This experimental release disables the creation of Excel output tables
      for the SDG 15.3.1 tool. This functionality will be present in the next
      (stable) release.
  2.0 (July 20, 2022)
    - All new interface with simplified navigation screens and dataset loading
    - Updated documentation and website
    - Trends.Earth is now translated into all the official UN languages, as well as
      Portuguese. Swahili and Farsi translations (for the new interface) are planned as
      well.
    - New functions to support latest UNCCD reporting cycle (including direct support
      for exporting results for upload to UNCCD PRAIS system)
    - New functions to support assessing drought hazard, vulnerability, and
      exposure
    - New timeseries tool functions (now supports plotting restrend, WUE, etc.)
  1.0.10 (July 7, 2022)
    - Address bug with TransformDirection related to changes in QGIS 3.22+
  1.0.8 (October 15, 2021)
    - Address bug in saving final layer for SDG calculation (related to issues 
      #500, and #505)
  1.0.6 (July 15, 2021)
    - Remove trends.earth-schemas as a submodule and install through setup.py 
      (much cleaner for version tracking, development, etc.)
    - Fix bug in loading 2020 NDVI data in GEE code (asset name wasn't set 
      right so 2020 wasn't loading)
    - Various invoke tasks added to help with plugin development/release.
  1.0.4 (June 30, 2021)
    - Add WorldPop and Gridded Population of the World version 4 (GPWv4) to the 
      datasets available through Trends.Earth
    - Update to allow access to ESA-CCI land cover through 2020
    - Update GPCC and GPCP datasets
    - Fix bug when non-integer buffers are used
    - Minor documentation typo fixes
  1.0.2 (August 14, 2020)
    - Fix urban area code to allow processing of AOIs with areas between 10,000 
      sq km and 25,000 sq km.
    - Add latest MERRA2 data (through 2019).
    - Remove maximum area limitation from download tool.
    - Bump httplib2 to 0.18.0.
    - Update from GPCC V6 to GPCC V7
    - Add 2019 Hansen et al. deforestation data
    - Update to latest colormap for degradation data (addressing issues with 
      reg/green colorblindness).
    - Add support for more datatypes in input shapefiles (add PointZ, 
      MultiPoint, MultiPointZ, PolygonZ, MultiPolygonZ).
    - Misc bugfixes to address Python errors that were coming up with some 
      QMessageBox messages.
  1.0.0 (April 27, 2020)
    - Add ability to download and use pre-compiled binaries (compiled with 
      Numba) to speed up some local calculations. Right now this only is 
      available for the SDG15.3.1 summary table calculation, but eventually 
      this will be expanded to other tools as well.
    - Related to the above, there is now an "advanced" settings button in the 
      settings window, that will allow users to download pre-compiled binaries, 
      and to turn on or off detailed logging of messages while the tool is 
      running. These log messages can be useful when trying to trouble-shoot 
      problems if you encounter any.
    - Improve checks for geometry validity for geometries in input files, and 
      give an error message rather than throwing an exception when there are 
      geometry errors.
    - Fix processing using new MODIS data (assets were not properly updated in 
      the last release)
    - Fix color-coding of land covers in land cover class aggregation window
    - Add more detailed version information to about dialog.
    - Add additional detail to data download tool.
    - Add job ID to downloads window to facilitate bug reporting.
    - Minor bug fixes (sorting of jobs and downloads tables).
  0.98 (April 2, 2020)
    - First QGIS3 release - many fixes to upgrade to Qt5 and QGIS3 API.
    - Upgrade all dependencies of plugin to latest versions as of January 2020.
    - Fix data download tool to have default 1styles for all available 
      datasets.
    - Begin moving to QgsProcessing and QgsTask frameworks - currently only the 
      carbon tool is migrated, but all tools will be migrated prior to version 1.0./
    - Cleanup formatting of carbon tool output spreadsheet to make meaning of 
      each column clearer.
    - Update all GEE scripts to use latest version of GEE API (0.1.213).
    - Save more settings chosen in tool dialog boxes across QGIS sessions.
    - Clean up buffering code, to use Lambert Equal Area projections centered 
      on polygon centroids for buffering.
    - Move documentation into docs folder at root of trends.earth repository.
    - Add more details on how to documentation on how to contribute to 
      development of Trends.Earth,
    - Clean up repository by removing compiled translations files, and adding 
      these file types to .gitignore.
    - Change transifex project name to be "trendsearth".
    - Various compatibility and minor bug fixes.
  0.66 (July 20, 2019)
    - Limit maximum area for tasks to 10,000,000 sq km, except for urban area 
      tasks, which is limited to 10,000 sq km.
    - Add background section on SDG 11.3.1, and update SDG 11.3.1 tutorial.
    - Update SDG 11.3.1 code to include 1998 in the series (internally during 
      calculation) in order to filter noise from the beginning of the urban series.
    - Fix date restrictions in SDG 15.3.1 all-in-one tool to account for both 
      ESA and MODIS availability.
    - Add section to readme on how to install Github releases.
    - Update and review Spanish translations, update google translations for 
      other languages.
  0.64 (July 9, 2019)
    - Fix handling of nodata in total carbon tool.
    - Add support for 2018 Hansen data in total carbon tool.
    - Add support for global 30m biomass data from Wood's Hole in total carbon 
    - Set maximum final year for one step SDG 15.3.1 tool to be 2015 (matching 
      the ESA data).
    - Make Trends.Earth productivity the default dataset in SDG one step tool 
      for 15.3.1.
  0.62 (January 27, 2019)
    - Add experimental tool for mapping potential carbon returns from 
      alternative restoration interventions.
    - Add 2018 MODIS data.
    - Miscellaneous fixes to window sizing for GUI windows.
    - Upgrade to latest openpyxl - fixes loading of Trends.Earth logo in 
      summary tables.
    - Add publication list to help docs.
  0.60 (December 3, 2018)
    - Add calculation of change in urban area and population growth 
      rate (SDG 11.3.1)
    - Fix default button/entry field heights
      Add city selection for AOI
    - Add optional buffering of AOI
  0.58 (August 11, 2018)
    - Add a testing section to the calculations page
    - Add testing version of total carbon (above and below-ground) and 
      emissions due to deforestation
    - Minor bug fixes, including for invalid polygons in input AOIs
  0.56.5 (May 21, 2018)
    - Fix error with LPD import requesting a data year.
  0.56.4 (May 21, 2018)
    - Always resample imported data to the highest resolution.
    - Fix custom SOC import climate zones to use an expanded climate zones 
      dataset to eliminate no data.
    - Update MOD16A2 with latest data.
    - Force entry of date on SOC and LC data import
    - Add global Trends.Earth outputs to download tool.
    - Fix handling of NULL values in legends.
  0.56.3 (April 21, 2018)
    - Fix calculation of summary tables for AOIs that are split across the 
      180th meridian (Fiji, Russia, etc.).
    - Modify state calculation so areas with very small magnitude changes in 
      NDVI integral (< .01 NDVI units over full period) are considered stable.
  0.56.2 (April 10, 2018)
    - Minor unicode fixes.
  0.56.1 (April 10, 2018)
    - Fix marshhmallow error on plugin load
  0.56 (April 9, 2018)
    - Fix issue with rasterizing data (empty rasters on output)
    - Force user to choose output resolution if rasterizing a vector
    - Support calculation of SOC degradation from custom SOC and LC data
  0.54 (April 8, 2018)
    - Support loading of custom LPD, SOC, and LC data.
    - Cleanup styles so they match maps.trends.earth
    - Upgrade pyopenxl
    - Add import/load icons to all layer selector boxes
  0.52.1 (March 21, 2018)
    - Minor bug fixes during Antalya workshop.
  0.52.1 (March 21, 2018)
    - Minor bug fixes during Antalya workshop.
  0.52 (March 19, 2018)
    - Clean AOI processing code.
  0.50 (March 15, 2018)
    - Pass exception if only related to Trends.Earth logo addition in Excel 
      file.
    - Various minor bug fixes.
  0.48 (March 13, 2018)
    - Fix table formatting
  0.46 (March 13, 2018)
    - Support reporting table calculation with multiple geometries (Fiji, Russia)
    - Add LPD and LC tables to UNCCD worksheet tab
    - Clean up the warning message in the LPD import tool
    - Fix TE final combined productivity layer loading
    - Fix download tasks (still no styles)
  0.44 (March 12, 2018)
    - Add JRC LPD
    - Add tool for uploading custom land cover data
    - Add tool for uploading custom productivity data
    - Add note that custom SOC upload is coming soon
    - Add tool to add basemaps using Natural Earth data
    - Add all-in-one tool for calculating all three sub-indicators at once
    - Rename "Bare lands" class to "Other lands" for consistency with UNCCD
    - Update docs
    - Upgrade to marshmallow 3.0.0b7
    - Move GEE code into the main trends.earth repository
    - Improve handling of AOIs, particularly when shapefiles are used for input
    - Handle multi-file outputs from GEE by tiling them in VRTs
    - Support processing data for countries that cross the 180th meridian
    - Improve formatting of summary table
    - From now on, GEE script versions will be matched to the plugin version
  0.42 (February 4, 2018)
    - Fix crash on change of LC aggregation (due setEnabled on removed label)
  0.40 (February 4, 2018)
    - Remove use of mode for land cover indicator.
    - Combine the summary table and SDG indicator map creation tools.
    - Add stub for where JRC LPD product will be available.
    - Save productivity sub-indicator as band 2 in SDG indicator file.
    - Bump GEE script to v0.3.
    - Fix error due to divide by zero on summary table generation when a class 
      has zero area.
    - Default to MODIS for productivity calculations.
  0.38 (January 16, 2018)
    - Add annual soil organic carbon calculation
    - Cleanup AOI processing code, allow multiple input polygons in shapefile 
      AOIs
    - Add shading to side of land cover aggregation table items
    - Fix firstShow issue on aggregation table
    - Revise summary table output to provide further information on each of the 
      three indicators
    - Add supplemental datasets to performance, state, land cover and soil 
      organic carbon output.
    - Update no data and masking values to consistently be -32768 (no data) and 
      -32767 (masked data)
    - Allow naming of file downloads
    - Add icon to toolbar menu, fix plugin name.
    - Refactor layer styling code to pull band info from GEE output.
    - Add a tool to load existing trends.earth datasets into QGIS.
    - Fix land cover date limits - don't allow invalid dates toi be selected 
      from CCI data.
  0.36 (December 14, 2017)
    - Fix issue with showEvent on create map reporting tool.
  0.34 (December 14, 2017)
  0.32 (December 14, 2017)
  0.30 (December 12, 2017)
  0.24 (December 6, 2017)
  0.22 (December 4, 2017)
  0.18 (December 2, 2017)
  0.16 (November 6, 2017)
  0.14 (October 25, 2017)
  0.12 (October 6, 2017)
