• Support for geedim v2.0.0 and earthengine-api v1.6.15+

    • Updated API calls to use ee.Image.gd and ee.ImageCollection.gd accessors instead of deprecated MaskedImage and MaskedCollection classes
    • gd_initialize() now defaults to credentials = NULL, using Application Default Credentials (ADC) by default
  • Authentication improvements

    • gd_initialize(private_key_file=...) parameter has been deprecated. Use GOOGLE_APPLICATION_CREDENTIALS environment variable instead.
    • Support for EE_SERVICE_ACC_PRIVATE_KEY environment variable has been deprecated. Use standard GOOGLE_APPLICATION_CREDENTIALS for all environments (local, CI/CD, containerized).
    • gd_initialize() now delegates authentication to Python’s native Application Default Credentials (ADC) logic for maximum robustness and compatibility with all credential types (service accounts, user ADC, workload identity federation, attached service accounts on Google Cloud)
  • With reticulate >= 1.41.0 call py_require(c("earthengine-api" , "geedim")) on load

  • Default Python virtual environment name changed from "r-reticulate" to "r-rgeedim"

    • Use gd_install() to initialize a new environment if needed.
  • gd_projection(): update for earthengine-api usage of ee.projection.Projection class

  • Replace use of knitr + rmarkdown with litedown for readme/vignette building

  • gd_authenticate(): Updates

    • Added force and scopes arguments from earthengine()$Authenticate(). force defaults to TRUE for consistency with prior behavior, and because users often want to use gd_authenticate() to change existing credentials.

    • Updated documentation for other auth_mode e.g. "colab"

  • gd_initialize(): Updates

    • Added arguments credentials, cloud_api_key, url, http_transport and project

    • Deprecated argument opt_url (in favor of url)

  • Argument updates compatible with older versions of earthengine-api (< 0.1.382)

  • For gd_install() method="virtualenv" or method="conda" if an environment of envname (default: "r-reticulate") does not exist, it gets created before running py_install()

  • Add gd_spectral_distance_metrics() enum helper

  • Added gd_install() for installation of ‘numpy’, ‘earthengine-api’, and ‘geedim’ Python modules via reticulate::py_install() or a system() call

  • gd_bbox() will now calculate a bounding box extent from one or more {terra} SpatRaster, SpatRasterCollection, SpatVector, SpatVectorProxy input (in addition to existing support for SpatExtent)

    • Note that gd_region() allows for more complex boundary input via SpatVector or Well-Known Text (WKT) string
  • Improved coercion interface for non-{terra} objects

    • The following inputs are now converted to {terra} equivalents (or their extents) as needed: WKT string, Spatial* ({sp} package), Raster* & Extent ({raster} package), sf* and bbox ({sf} package). WKT strings and SpatExtent-like objects (Extent, bbox) are assumed to be in the "OGC:CRS84" coordinate reference system.
  • Updates to .onLoad() to avoid error messages related to Python 3 configuration discovery for {reticulate}
  • Updates to support new image export to asset functionality in geedim 1.6+

    • Added gd_export(), a helper method for exporting images to Google Drive, Google Cloud Storage Bucket, or Earth Engine Project assets.

    • Added gd_export_types() "ExportType" enum helper function

    • Added gd_asset_id(), a helper method for creating asset IDs from a file/asset name and (optional) project name.

    • Added gd_get_asset(), gd_update_asset(), and gd_delete_asset(), helper functions for accessing, updating and deleting assets created in a Google Cloud project (i.e. those created via gd_export(..., type="asset"))

  • Fix for R <4.1 compatibility (replaced lambda \(x) function syntax, replaced apply(..., simplify=FALSE) usage)
  • Initial CRAN release

  • gd_region() now supports more complex SpatVector geometries (no longer uses extent to form bounding box if x is SpatVector or can be converted to one)

  • Add gd_is_initialized() and use for examples and other conditional evaluation of code that requires authentication and initialized ‘Google Earth Engine’ resources

  • Better handling of additional arguments (i.e. crs, resampling, method) in gd_download() when x is a MaskedCollection and composite=TRUE.

  • Added helper methods for working with the geedim enums: “CloudMaskMethod”, “CompositeMethod” and “ResamplingMethod”

  • Added gd_mask_clouds() for masking out clouds or to apply a fill mask

  • Added a NEWS.md file to track changes to the package.