Changes in version 2.0.0 (2026-10-21) TSGenerator 2.0 is a major release focused on current Copernicus HR-VPP Seasonal Trajectories (ST) and Vegetation Phenology and Productivity (VPP) workflows. The package has been reorganized around native R acquisition, terra-based geospatial processing, explicit product-quality handling, and reproducible time-series analysis. Acquisition - Added native R access to WEkEO HDA through hdar; Python and reticulate are no longer required for ST/VPP acquisition. - Added download_st() for HR-VPP Seasonal Trajectories, including PPI and ST-QFLAG selection, tile/bounding-box filters, preview mode, structured results, and automatic splitting of long requests into service-compatible temporal windows. - Added download_vpp() with product-aware VPP selection, season handling, spatial/temporal filters, preview mode, and structured results. - Added check_wekeo() and check_wekeo_integration() for offline diagnostics and opt-in live integration checks. - Added bounded retry logic, transfer-size estimates, and skip-existing behaviour for more robust acquisition. - Retained Download.STPPI() and Download.HRVPP() as deprecated compatibility wrappers over the 2.0 acquisition API. Geospatial processing - Migrated the active geospatial core from raster to terra. - Added geospatial_plan() for explicit validation of raster/vector inputs, CRS, polygon identifiers, and scaling choices. - Added extract_ts() as the unified polygon time-series extraction API with explicit feature IDs and mean/median/min/max/sum aggregation. - Added product-aware extract_vpp(), including VPP parameter interpretation, season/year provenance, official scaling/NoData handling, and date decoding before spatial aggregation. - Fixed extraction from real HR-VPP raster stacks whose layers share identical internal band descriptions by selecting extracted values positionally while preserving temporal attribution from filenames. - Original CLMS filenames are preserved for provenance; legacy VPP file renaming is no longer part of the recommended workflow. Product quality - Added quality_info(), classify_quality(), summarize_quality(), and mask_quality() for current ST/VPP QFLAG semantics. - Product quality is explicitly separated from temporal completeness diagnostics. - Categorical QFLAG rasters are never bilinearly resampled automatically. - mask_quality() supports explicit quality thresholds/codes and requires compatible target/QFLAG raster geometry. Time-series quality and analysis - Added temporal_plan() to define expected temporal coverage explicitly. - Added summarize_missingness() to distinguish absent expected dates, explicit NA values, and usable observations. - Added assess_ts_quality() for completeness-based whole-series or windowed assessment. It is the primary 2.0 replacement for the legacy quality.Series() and general.Quality() quality-classification workflows. - Added impute_ts() with explicit linear/Kalman methods, imputation provenance, optional expected-grid completion, long-gap protection, and safeguards against routine re-imputation of already processed ST series. - Added model_missingness() and plot_missingness() for GAM-based temporal missingness diagnostics, separating model fitting from plotting. - Retained selected 1.x functions as deprecated wrappers or migration guards where a safe transition path is available. Unified graphical interface - Added the integrated TSGenerator2 Shiny application and made it the default interface launched by runTSapp(). - The application follows the workflow Acquire → Prepare/Extract → Quality → Analyze → Export. - Acquisition, spatial extraction, product quality, temporal analysis, imputation, and export modules call the same public 2.0 R API used in scripts; scientific algorithms are not duplicated in the Shiny server. - Results & Export can provide available session outputs, acquisition provenance, reproducible R code, session information, and analysis bundles. - The ST and VPP acquisition mini-apps remain temporarily available for compatibility. Discontinued VI/QFLAG2 and standalone GAM interfaces provide migration guidance instead of silently running obsolete workflows. Legacy and dependency changes - The discontinued VI/QFLAG2 workflow is no longer part of the active 2.0 core. Historical source remains under the build-excluded legacy/ directory for traceability. - Removed active dependencies on reticulate, raster, plotly, VIM, and doParallel. - Reduced the installed surface to current ST/VPP workflows, the unified Shiny application, and explicitly retained compatibility interfaces. - Legacy functions tied to discontinued products now act as migration guards where appropriate rather than executing obsolete processing chains. Documentation, testing, and release engineering - Added CRAN-safe vignettes for getting started, ST/VPP workflows, and migration from 1.x to 2.0. Network-dependent examples are not executed during vignette builds. - Added offline tests for acquisition validation, geospatial extraction, quality handling, temporal completeness, imputation, missingness modelling, installed API availability, Shiny distribution, and package engineering. - Added regression coverage for malformed dates, explicit non-contiguous QFLAG codes, duplicate HR-VPP raster band descriptions, and release metadata. - Synchronized migration documentation so assess_ts_quality() is the documented primary replacement for general.Quality(); summarize_missingness() remains the complementary diagnostic summary. - Prepared package metadata, documentation, build exclusions, and installed assets for the 2.0.0 CRAN release.