Earth Engine release notes

Latest Release

Subscribe to these release notes. Subscribe

This page is updated with each notable change to Earth Engine. Specifically, it lists releases by date and includes any new features, bug fixes, and significant performance improvements. You can also browse and filter release notes for all Google Cloud products in the Google Cloud console.

November 18, 2024

Earth Engine Python Client Library
1.4.0

Released the alpha upload external_image CLI command to Preview. For more details, see the CLI reference for external_image.

November 08, 2024

Earth Engine Server

All Cloud Storage reads through the ee.Blob() and ee.Image.loadGeoTIFF() algorithms must now meet the following criteria:

  • The bucket metadata must be accessible (check the storage.buckets.get permission)
  • The bucket must be located in one of:

    • The US multi-region
    • A dual-region including US-CENTRAL1
    • The US-CENTRAL1 region

Any bucket used in the month of October 2024 not meeting the criteria has been automatically allowed for future use.

October 28, 2024

Earth Engine Python Client Library
1.2.0

Dropped support for Python 3.8 now that it is end-of-life.

Added ImageCollection.count(), a static method that returns the number of images in the collection.

September 03, 2024

Earth Engine Python Client Library
0.1.419

Fixed a bug where the quota project wasn't being set when authenticating using the notebook auth mode. After this change, users must have the Service Usage Consumer role (roles/serviceusage.serviceUsageConsumer) on the authentication project in order to use the notebook authentication mode. See the Earth Engine Authentication and Initialization guide for more details.

Earth Engine Server

Fixed signed int8 for ingest and export. For ingest, the system used to treat signed int8 as unsigned int8 with negative values mapped to [128..255]. Those values are now correctly assigned their negative value. For export, the system used to cast int8 to int16, while correctly storing the negative values. Export will now write an int8 with the correct values.

July 24, 2024

Earth Engine Server

Fixed a bug that caused GeoTIFF exports with cloudOptimized set to true to fail if the output GeoTIFF was larger than 4gb. Earth Engine will now always produce BigTIFF regardless of the value of cloudOptimized.

July 16, 2024

Earth Engine Code Editor

Fixed a bug where specifying minWidth and minHeight style properties on ui.Slider widgets had no effect. Setting these properties now allows for horizontal sliders narrower than the default minWidth of 50px, and vertical sliders shorter than the default minHeight of 100px.

Reduced the maximum allowable header size of a GeoTIFF (produced by the ee.Image.loadGeoTIFF() algorithm or by CreateAsset as a COG-backed asset) from 32mb to 10mb. This change does not affect COG-backed assets with headers >10mb created prior to this date.

July 10, 2024

Earth Engine Server

Fixed a bug that caused GeoTIFF exports to ignore skipEmptyTiles if formatOptions.cloudOptimized was true.

June 07, 2024

Earth Engine Server

Changed the way that the ee.Image.loadGeoTIFF() algorithm and COG-backed assets select lower resolution overviews if a GeoTIFF is missing pyramid levels. Earth Engine will now resample to the nearest higher-resolution overview instead of the closest overview regardless of resolution. This does not affect GeoTIFFs that are not missing intermediate pyramid levels.

May 10, 2024

Earth Engine Server

Added support for overwrite parameter in Export.table.toBigQuery() method, which allows for control over overwriting data in already existing destination table.

April 18, 2024

Earth Engine Server

Added support for the Bray-Curtis distance metric (braycurtis) to ee.Classifier.smileKNN().

April 03, 2024

Earth Engine JavaScript Client Library
0.1.397

Fixed a bug in ee.data.listAssets() and ee.data.listImages() that caused only a single page of results (up to 1000 entries) to be returned. This now matches the Python implementation, which returns all results by default. To return a single page in either client, specify a pageSize value. The documentation in both the JavaScript and Python clients has been updated to reflect this behavior.

Earth Engine Python Client Library
0.1.397

Added ee.data.createFolder to the Python client to match the JavaScript client. Note that the force and callback parameters are not supported.

Updated the error handling logic for HTTP requests to convert requests.exceptions.ConnectionError and requests.exceptions.ChunkedEncodingError to httplib2-like errors. In some cases, these errors were not being treated as retryable; now, the retry logic should behave properly for these errors.

March 25, 2024

Earth Engine Server

Found and fixed a reprojection error which affected the correctness of some Earth Engine results from Mar 7, 2024 to Mar 13, 2024. See the announcement for more details.

March 13, 2024

Earth Engine Code Editor

Added a new code annotation and warning message in the script editor to highlight usage of deprecated Landsat Collection 1, which needs to be converted to Collection 2 as soon as possible.

March 06, 2024

Earth Engine Server

Added Geometry.fromS2CellId() and Geometry.fromS2CellToken() for working with S2 (http://s2geometry.io/) polygons.

Added priority to Earth Engine Export batch tasks. This feature is currently only available when using a Cloud project that is registered for paid Earth Engine access.

January 31, 2024

Earth Engine JavaScript Client Library
0.1.388

Migrated the authorization workflow in the JavaScript library from the Google API Client Library for JavaScript to Google Identity Services.

Earth Engine Python Client Library
0.1.388

Added __init__() for docstrings and argument type annotations to Array, ConfusionMatrix, DateRange, Model, Projection, and Reducer.

January 18, 2024

Earth Engine Python Client Library
0.1.386

Added __init__() for docstrings and argument type annotations to ErrorMargin and Join.

Earth Engine Server

Changed the behavior of ee.data.listOperations to return only tasks created in the currently selected Cloud project, including those started by other users. For more details, visit the developer announcement.

January 10, 2024

Earth Engine Python Client Library
0.1.385

Added __init__() for docstrings and argument type annotations to PixelType.

Fixed authentication issues for the gcloud auth application-default calls to login and set-quota-project. Added the cloud-platform scope to the default scopes used by ee.Authenticate().

December 08, 2023

Earth Engine JavaScript Client Library
0.1.383

Added Export.classifier.toAsset and ee.Classifier.load for exporting and loading saved ee.Classifier.smileCart and ee.Classifier.smileRandomForest classifiers. The exported classifiers will be visible and managed just like existing Earth Engine assets. More details are available at our supervised classification and our export reference page.

Added getMapId() to ee.Image, ee.ImageCollection, ee.Feature, and ee.FeatureCollection to match the Python client. Marked getMap() as deprecated.

Earth Engine Python Client Library
0.1.383

Added Export.classifier.toAsset and ee.Classifier.load for exporting and loading saved ee.Classifier.smileCart and ee.Classifier.smileRandomForest classifiers. The exported classifiers will be visible and managed just like existing Earth Engine assets. More details are available at our supervised classification and our export reference page.

Added ee.Blob(url) to allow type checking of the url argument and catch strings that don't start with gs:// when possible on the client side.

Updated ee.Authenticate() and ee.Initialize() to support colab mode, added new gcloud mode for remote machines (which makes the --quiet flag no longer necessary), and introduced localhost mode. ee.Initialize() now uses ambient google.auth.default() credentials if present. ee.Authenticate(force=True) forces a refresh, but by default will now reuse existing credentials. See the auth page for the revised documentation.

Removed opt_ keyword for parameters, with backwards compatibility with existing scripts that use opt_ arguments. Note that some parameters needed to be renamed after removing opt_ since they conflict with Python keywords:

  • ee.Collection.limit(): opt_property was converted to prop
  • ee.Image.expression(): opt_map was converted to map_
  • ee.Filter(): opt_filter which was converted to filter_

Switched from setup.py to pyproject.toml for building and installation.

  • Drops support for installing with distutils.

November 29, 2023

Earth Engine Server

Fixed a bug that sometimes caused missing pixels in images that cross the antimeridian (longitude 180°).

Fixed a bug that prevented the download of large (more than 1000 elements) collections.

November 15, 2023

Earth Engine Python Client Library
0.1.379

Added workload tag support to ee.data.getPixels().

Disallowed complex, rational, and integral numbers in ee.Number().

Added a long-lived requests.Session object so that calls to Earth Engine can share a connection pool. This should increase performance and stability.

November 01, 2023

Earth Engine Python Client Library
0.1.377

This version of the client libraries introduced a Python type annotation incompatible with Python 3.7.

October 24, 2023

Earth Engine Code Editor

Fixed linked drawing tools in Apps so that geometries are synced between two drawing tools with setLinked(true).

September 14, 2023

Earth Engine JavaScript Client Library
0.1.369

Fixed ee.data.getOperation() and ee.data.getTaskStatus() error handling. Operations that complete with an error are now returned as Operation objects that include error details, instead of throwing an exception.

Earth Engine Python Client Library
0.1.369

Migrated Python client library from deprecated https://accounts.google.com/o/oauth2/token to https://oauth2.googleapis.com/token for OAuth 2.0 authentication.

September 07, 2023

Earth Engine JavaScript Client Library
0.1.368

Added documentation to ee.data.newTaskId() and ee.data.startProcessing() to clarify unsubmitted versus submitted task IDs, and fixed ee.batch.ExportTask.start() to return the submitted task ID.

August 24, 2023

Earth Engine Python Client Library
0.1.366

Fixed construction of an ee.Date object from a tzinfo-aware datetime object. Naive datetime objects are still treated as UTC.

August 17, 2023

Earth Engine Server

Added support for multidimensional arrays in Export.table.toBigQuery(). The BigQuery array format changed from ARRAY<INT64|FLOAT64> to STRUCT<ARRAY<INT64>, ARRAY<INT64|FLOAT64>>, where the first parameter is dimensions and the second parameter is values.

August 09, 2023

Earth Engine Code Editor

Launched Project-owned Apps feature to support app collaboration under a new project ID namespace. See our app developer documentation for more information.

July 27, 2023

Earth Engine JavaScript Client Library
0.1.361

Upgraded the client libraries to use the v1 Earth Engine API. No changes required except for the following case:

  • In the Python client, for the ee.data.getAsset() method, the title and description fields are only accessible from the asset properties in the v1 API. Modify your code to reference my_asset['properties']['title'] and my_asset['properties']['description'].
Earth Engine Python Client Library
0.1.361

Upgraded the client libraries to use the v1 Earth Engine API. No changes required except for the following case:

  • In the Python client, for the ee.data.getAsset() method, the title and description fields are only accessible from the asset properties in the v1 API. Modify your code to reference my_asset['properties']['title'] and my_asset['properties']['description'].

July 19, 2023

Earth Engine Python Client Library
0.1.360

Added a Python version requirement (3.7.0) to the client libs.

June 26, 2023

Earth Engine Server

Added ee.Filter.area().

May 15, 2023

Earth Engine Server

Added support for the geostationary satellite projection (geos) for Cloud Optimized GeoTIFFs (ee.Image.loadGeoTIFF() and the CreateAsset pathway).

May 04, 2023

Earth Engine Server

Upgraded GDAL to 3.1.4. Affects import and export of GeoTIFFs including Cloud Optimized Geotiffs (COGs).

May 03, 2023

Earth Engine JavaScript Client Library
0.1.352

Added support for the no_data field for GeoTIFF exports in both the Python and JavaScript client libraries.

Earth Engine Python Client Library
0.1.352

Added support for the no_data field for GeoTIFF exports in both the Python and JavaScript client libraries.

April 14, 2023

Earth Engine JavaScript Client Library
0.1.349

Removed support for dots (.) in workload tags, which will now throw an error.

Earth Engine Python Client Library
0.1.349

Removed support for dots (.) in workload tags, which will now throw an error.

Earth Engine Server

Changed server behavior for dealing with dots (.) in workload tags. Before, tags containing dots were removed from the request, now an error will be thrown.

March 09, 2023

Earth Engine Server

Changed the default BIGTIFF parameter in the GeoTIFF image export options from IF_SAFER to YES, which always generates a BigTiff unless the BIGTIFF parameter is overridden in the formatOptions dictionary parameter.

March 06, 2023

Earth Engine Server

Upgraded GDAL to ab9e803 and libgeotiff to a6fb3d3. Earth Engine uses GDAL to ingest assets and to export Cloud Optimized GeoTIFF (COG) files.

February 15, 2023

Earth Engine Python Client Library
1.341

Added ee.data.getPixels(), ee.data.computePixels(), ee.data.listFeatures(), and ee.data.computeFeatures() to the Python client. The new methods will help with getting pixels from assets or ee.Image objects, and listing features from assets or ee.FeatureCollection objects.

November 17, 2022

Earth Engine Server

Updated ee.Image.cumulativeCost to be able to handle multi-band cost images.

November 02, 2022

Earth Engine Python Client Library
0.1.330

Improved Python ee.Authenticate() error messages to give more guidance, and fixed bugs.

Updated the HTTP client library in the Python client from httplib2 to requests, which re-adds support for multi-threading following the httplib2shim removal.

October 01, 2022

Earth Engine Server

For organizations with Google Workspace accounts, the organization administrator was given control to enable or disable Earth Engine by setting the Google Cloud on/off control. This control can be set for the entire organization or for specific workgroups. In August 2022, the organization administrators were notified of this change via a Mandatory Service Announcement (MSA), which included instructions for allowing access to Earth Engine. Who is my administrator?

September 28, 2022

Earth Engine JavaScript Client Library
0.1.326

Refactored ee.data.getList() and ee.data.listImages() to call through to ee.data.listAssets() exclusively.

Upgraded the client libraries to use the Earth Engine v1 API parameters instead of v1alpha only parameters, in preparation for a future migration to the v1 API.

Earth Engine Python Client Library
0.1.326

Refactored ee.data.getList() and ee.data.listImages() to call through to ee.data.listAssets() exclusively.

Upgraded the client libraries to use the Earth Engine v1 API parameters instead of v1alpha only parameters, in preparation for a future migration to the v1 API.

August 17, 2022

Earth Engine Server

Fixed ee.Image.sampleRectangle() to use current band names instead of any original names.

July 13, 2022

Earth Engine Python Client Library
0.1.317

Added a localhost auth mode and introduced a ee.oauth.Flow class for smoother integration with other client libraries.

Added support for Python 3.10 by removing the dependency on httplib2shim.

June 27, 2022

Earth Engine Code Editor

Changed Export logic in the Code Editor to no longer use the map bounds as a default region for the output. The Export behavior now matches that of the Python API, and calls which specify the projection parameters will remain unchanged. To use the viewport bounds as an export region, use Map.getBounds(true) as the region to get the geometry explicitly.

Earth Engine Server

Added Earth Engine as a Google Cloud product offering for commercial customers. See details here.

June 22, 2022

Earth Engine Python Client Library
0.1.316

Added the workload tag API (ee.data.getWorkloadTag() and ee.data.setWorkloadTag()) to label computation and exports with a workload tag, which is viewable from the Google Cloud Console.

Earth Engine Server

Added the workload tag API (ee.data.getWorkloadTag() and ee.data.setWorkloadTag()) to label computation and exports with a workload tag, which is viewable from the Google Cloud Console.

May 27, 2022

Earth Engine Code Editor

Added EECU stats on exports in the Code Editor and Tasks page.

Earth Engine Python Client Library
0.1.311

Added EECU stats on exports in the CLI (via earthengine task list -l).

May 09, 2022

Earth Engine Code Editor

Launched FeatureView assets and API. For an overview, see https://developers.google.com/earth-engine/guides/featureview_overview.

Earth Engine Python Client Library
0.1.310

Launched FeatureView assets and API. For an overview, see https://developers.google.com/earth-engine/guides/featureview_overview.

April 13, 2022

Earth Engine Python Client Library
0.1.306

Security upgrades to authentication in Python notebooks and command line. This only applies if you use the Python libraries or the command line tool; there are no changes to the Code Editor. For more details, visit the developer announcement.

March 31, 2022

Earth Engine Server

Removed legacy compatibility for enabling computation profiling. If you are using the client library below version v0.1.275 please upgrade to reenable profiling support.

February 18, 2022

Earth Engine Code Editor

Improved the user interface for Earth Engine App creation and management flows.

January 06, 2022

Earth Engine Server

Added ee.String.equals().

December 13, 2021

Earth Engine Code Editor

Added imageUrl option to ui.Button and ui.Label. If provided, the image will be shown instead of the label text, which will then be used as a tooltip. As with ui.Chart, only images in data: URLs and icons loaded from gstatic.com are allowed.

Reinstated the allowHtml option for ui.Chart, while continuing to disallow external image display. Images in data: URLs and icons loaded from gstatic.com are allowed.

November 24, 2021

Earth Engine Code Editor

Added an "Output URLs" list to the Task Manager, so that, when using Export.map.toCloudStorage(), you can easily copy-and-paste to add a tiled overlay to your Google Earth project, or for use with the Google Maps Platform JavaScript API.

Earth Engine Server

Added ee.Algorithm.TemporalSegmentation.StructuralChangeBreakpoints, modelled after R's wtrucchange.breakpoints. This looks for breakpoints in a time series of images, based on a linear+harmonic model of pixel values.

Added ee.Geometry.coveringGrid, which returns a collection of 1x1 rectangles that cover a geometry in a specified projection. This is useful to generate e.g. all export tiles that cover a region of interest, and is far faster than building such a tiling with client-side for-loops.

October 19, 2021

Earth Engine Code Editor

Removed the allowHtml option from the set of allowed options in ui.Charts. This was done as a security precaution.

September 15, 2021

Earth Engine Code Editor

Launched a standalone Task Manager and a new interface in the Code Editor's "Tasks" tab. See our documentation for details.

August 31, 2021

Earth Engine Server

Added ee.Reducer.circularMean(), ee.Reducer.circularStdDev(), and ee.Reducer.circularVariance().

August 12, 2021

Earth Engine JavaScript Client Library
0.1.278

Improved error reporting for the case where the arguments of a function passed to map() or iterate() are used in client-side operations that don't contribute to the function return value. Since the function is executed server-side, it may not have client-side effects. See the debugging guide for more details.

Earth Engine Python Client Library
0.1.278

Improved error reporting for the case where the arguments of a function passed to map() or iterate() are used in client-side operations that don't contribute to the function return value. Since the function is executed server-side, it may not have client-side effects. See the debugging guide for more details.

July 15, 2021

Earth Engine Python Client Library
0.1.273

Added ee.Filter.bounds() alias for ee.Filter.geometry().

June 24, 2021

Earth Engine Server

Added an outputMultiplier option to ee.Model.fromAiPlatformPredictor().

May 19, 2021

Earth Engine Server

Added ee.Filter.hasType().

May 12, 2021

Earth Engine Code Editor

Replaced the JavaScript sandbox in the Code Editor with JS-Interpreter, to provide improved error reporting and cross-browser consistency. All of the ES5 JavaScript specification continues to be supported.

April 29, 2021

Earth Engine Code Editor

Added support for passing map IDs (from ee.Image.getMap() and elsewhere) to Map.addLayer().

Earth Engine JavaScript Client Library
0.1.263

Added support for maxVertices parameter for table exports.

Earth Engine Python Client Library
0.1.263

Added support for maxVertices parameter for table exports.

April 22, 2021

Earth Engine JavaScript Client Library
0.1.262

Added a mechanism for overriding the default OAuth2 scopes requested in ee.data.authenticateViaOauth() and ee.data.authenticateViaPrivateKey(). This can be used for requesting the https://www.googleapis.com/auth/earthengine.readonly scope, rather than the https://www.googleapis.com/auth/earthengine scope requested by default.

April 15, 2021

Earth Engine Server

Added ee.List.unzip().

April 01, 2021

Earth Engine Code Editor

Added ui.Checkbox.getLabel() and ui.Checkbox.setLabel() to get and set labels of ui.Checkbox.

Added a textDecoration property to ui.Widget.style().

March 25, 2021

Earth Engine JavaScript Client Library
0.1.258

Patched ee.data.setAssetProperties() to prevent cases when setting system properties to null or zero causes unintentional property deletion.

Earth Engine Server

Required the update_mask or updateMask parameters to be non-empty in ee.data.updateAsset() calls.

February 12, 2021

Earth Engine Server

Fixed a bug that could cause non-uniform sampling of points from small (less than 300m) polygons.

Added a "RAW_REGRESSION" output mode to the smileRandomForest classifier.

Added ee.Number.signum(), ee.Image.signum(), and ee.Array.signum().

January 20, 2021

Earth Engine JavaScript Client Library
0.1.248

.evaluate() and other JavaScript functions that take callbacks will now report exceptions that occurred within callback functions to the console (or to the top level environment in Node.js). If your code has such an exception you can handle or suppress it with catch in the callback.

January 19, 2021

Earth Engine Server

Added ee.Classifier.smileGradientTreeBoost() (see more) from the Smile library.

December 03, 2020

Earth Engine Server

Fixed double-to-float precision loss in ee.Image.arrayReduce().

Added a step option to ee.List.slice().

November 19, 2020

Earth Engine Code Editor

Fixed ui.root.onResize() so that the callback is not fired after the script is reset or replaced.

Expanded ui.DateSlider to accept ee.Date object arguments. Improved ui.DateSlider sliding behavior, validation, and error reporting.

Earth Engine JavaScript Client Library
0.1.243

Removed ee.data.getCloudApiEnabled and ee.data.setCloudApiEnabled from the JavaScript client library.

Earth Engine Server

Improved the reporting and handling of internal errors.

  • Added a (request: ...) ID string to "internal error" messages returned by the Earth Engine API. These IDs uniquely identify errors for debugging by the Earth Engine team. When reporting internal errors, please include this value.
  • Added a "Report error" link to errors in the Code Editor, making it easier to send feedback.

November 12, 2020

Earth Engine Python Client Library
0.1.242

Removed functionality from the Python client library which is no longer needed after the legacy API turndown.

  • Removed use_cloud_api parameter from ee.Initialize and data.initialize on the Python client library.
  • Removed the deprecated data.startProcessing method on the Python client library. Use exportImage, exportTable etc. instead.
  • Removed the use_cloud_api flag on the CLI tool.

November 05, 2020

Earth Engine Code Editor

Limit the minimum and maximum zoom level on Map or ui.Map objects by setting the minZoom or maxZoom parameters on setLocked().

Earth Engine Server

The loadGeoTIFF algorithm no longer rejects files with a Header ghost area, such as those written by recent versions of GDAL.

The randomColumn and randomImage algorithms now take an optional distribution argument, which may be "uniform" or "normal".

October 29, 2020

Earth Engine Code Editor

Improved error reporting for syntax errors, by highlighting the error line in the editor and positioning the cursor at the location to fix. Syntax checks are performed before a script starts executing.

Earth Engine JavaScript Client Library
0.1.240

Fixes image export parsing of parameter skipEmptyTiles, which may have caused skipEmptyTiles to be ignored.

Earth Engine Python Client Library
0.1.240

Adds the task ID to the string representation of the task, compatible with the repr() function.

October 15, 2020

Earth Engine Code Editor

Fixed Map.centerObject when called with a single point. This now zooms to a small region around the point, instead of doing nothing.

Earth Engine JavaScript Client Library
0.1.238

Added file format validation and normalization to the ee.batch.Export methods on the JS client. Synonyms for file formats (e.g. "JPG" and "JPEG") are supported.

September 25, 2020

Earth Engine Code Editor

Added an indicator for the number of times a task was attempted. Earth Engine automatically attempts tasks a few times because some failures are sporadic. Likely causes for retries include exceeding memory limit and a temporary resource shortage.

Earth Engine JavaScript Client Library
0.1.236

Added an ee.data.TaskStatus field for the number of times a task was attempted. This matches the value now shown in the Code Editor.

Earth Engine Python Client Library
0.1.236

Added an ee.data.TaskStatus field for the number of times a task was attempted. This matches the value now shown in the Code Editor.

September 11, 2020

Earth Engine Server
  • Added ee.Model.predictProperties() for making predictions over FeatureCollections.
  • Eliminated one of the frequent causes of "Object too large" errors.
  • Fixed bug that sometimes caused failures when using ReduceResolution close to projection singularities.

August 21, 2020

Earth Engine JavaScript Client Library
0.1.231

Changed the object serialization format, so that x.serialize() returns an updated format (which is already used in server requests). ee.Deserializer supports both the new format and the old format. These changes apply to all JavaScript and Python APIs. If you have code which serializes and deserializes objects, we recommend that you either upgrade all parts of your system at once, or proceed in stages by updating the deserialization code first.

Earth Engine Python Client Library
0.1.231

Added a --long_format option (and -l shortcut) to the earthengine task list CLI command, to show additional information about tasks. This change enables callers to see start/end times for individual tasks.

Changed the object serialization format, so that x.serialize() returns an updated format (which is already used in server requests). ee.Deserializer supports both the new format and the old format. These changes apply to all JavaScript and Python APIs. If you have code which serializes and deserializes objects, we recommend that you either upgrade all parts of your system at once, or proceed in stages by updating the deserialization code first.

Earth Engine Server

Added ee.Geometry.BBox(), which simplifies creation of rectangles of latitude and longitude.

July 07, 2020

Earth Engine Server
  • Added ee.Algorithms.ObjectType(), which returns the type of any computed object.
  • Fixed bug that could cause export of an all-zero image to fail.
  • Fixed bugs in ee.Date.update() when working with fractions of a second.

March 12, 2020

Earth Engine Python Client Library
0.1.215

Fixed bug with getVideoThumbURL() and getFilmstripThumbURL().

Earth Engine Server

Added ee.Image.directionalDistanceTransform(), which calculates the distance to non-zero pixels in a given direction.

March 06, 2020

Earth Engine Code Editor

Improved design of the assets dialog, with markdown support in the description and smarter thumbnails.

Earth Engine JavaScript Client Library
0.1.214
  • ee.Image.getDownloadURL is fully supported in Cloud API mode.
    • Band-level parameters take precedence over top-level parameters when specified.
    • Band parameters are ignored for multiband GeoTIFFs.
    • image parameter may not be serialized, use an ee.Image directly.
    • Limits on total image size.
  • ee.data.getTileUrl supports the urlFormat parameter supplied in the map ID.
Earth Engine Python Client Library
0.1.214
  • ee.Image.getDownloadURL is fully supported in Cloud API mode.
    • Band-level parameters take precedence over top-level parameters when specified.
    • Band parameters are ignored for multiband GeoTIFFs.
    • image parameter may not be serialized, use an ee.Image directly.
    • Limits on total image size.
  • ee.data.getTileUrl supports the urlFormat parameter supplied in the map ID.

Added PKCE support to earthengine authenticate.

February 21, 2020

Earth Engine Code Editor
  • Added ui.util.getCurrentPosition() API that gets the user's current geographic position from the browser's geolocation service.
  • Now accepts named parameters in Map.setCenter() and Map.setOptions().
  • Added drawing tools control to Map.setControlVisibility() and ui.Map.setControlVisibility().
  • Prevented chart from opening multiple times when clicking the popout button.
  • Accepted TFRecord and GeoTIFF file format selection in image export dialog.
  • Fixed upload errors when file names contained non-ascii UTF-8 characters.
  • Dismissed popup dialogs when the mouse scrolls elsewhere on the page.

January 30, 2020

Earth Engine Python Client Library
0.1.212

Updated the HTTP transport layer for the Earth Engine Python client library from httplib2 to urllib3, which will make it more flexible (e.g., it's now possible to make multiple simultaneous requests) and improve performance. This improvement might not be realized if the earthengine-api package is installed via the conda-forge channel.

Earth Engine Server

Fixed the explain() method of ee.Classifier.SmileRandomForest() to return importance as a dictionary.

January 23, 2020

Earth Engine Code Editor
  • Drawn geometries displayed in Code Editor display in newly published Apps.
  • Now prompts for a Cloud Project when re-publishing an App.
  • Added ui.url API for reading URL parameters. See our blog post for more details.
  • Added ui.Map.DrawingTools and ui.Map.GeometryLayer for programmatic access to the drawing tools. See the official documentation.

January 09, 2020

Earth Engine Server

Added ee.Reducer.countRuns(), which computes the number of runs of distinct, non-null inputs.

November 22, 2019

Earth Engine Code Editor

Added feature to restrict access to Earth Engine Apps to members of a Google Group. See the announcement on the developers list

Earth Engine JavaScript Client Library
0.1.207

Turned on Cloud API support by default for the JavaScript client library. Developers with registered service accounts will need to enable the API.

November 12, 2019

Earth Engine Code Editor

Launched ui.root.onResize() API with an example script for configuring user interface based on the device type and screen size.

  • Expanded only exact matches on API documentation search in Code Editor.
  • Fixed Map.setZoom() so that it works after the map zoom is changed.
Earth Engine Python Client Library
0.1.206

Added new export parameters tileSize and maxWorkerCount in _prepare_image_export_config() in ee/batch.py.

Earth Engine Server

Added Cloud API support to the JavaScript client library, and turned on Cloud API support by default for the Python client library. Developers with registered service accounts will need to enable the API.

Changed the output bands produced by ee.Algorithms.TemporalSegmentation.Ccdc(). See the announcement on the developers list for details.

November 07, 2019

Earth Engine Server
  • Added new versions of some classifiers:
    • ee.Classifier.smileCart(). This will eventually replace ee.Classifier.cart().
    • ee.Classifier.smileRandomForest(). This will eventually replace ee.Classifier.randomForest().
    • ee.Classifier.smileNaiveBayes(). This will eventually replace ee.Classifier.naiveBayes().
    • ee.Classifier.libsvm(). This will eventually replace ee.Classifier.svm().

October 23, 2019

Earth Engine JavaScript Client Library
0.1.204
  • Improved the documentation for ee.Filter.not().
  • Fixed the bug with clipToBoundsAndScale(). When clipping to bounds without the scale parameter, the resulting image lost the native scale.
Earth Engine Python Client Library
0.1.204

Supported a list of rectangle coordinates for the region parameter in getThumbURL().

September 13, 2019

Earth Engine Code Editor

Added support for uploading CSV files.

Earth Engine Server
  • Added ee.Model.fromAiPlatformPredictor(), which returns an ee.Model from a description of an AI Platform prediction model, and an ee.Model.predictImage() algorithm, which makes predictions from pixel tiles of an image. For more information, see the Developer's Guide.
  • Added Image.sampleRectangle() algorithm, which extracts a rectangular region of pixels from an image into a 2D array per band.
  • Added dotted and dashed line types to ee.FeatureCollection.style().
  • Improved the performance of drawing complex polygons when zoomed in.
  • Fixed bug that sometimes caused Export.image.toAsset() to lose image properties. Changed the behavior of ee.Image.reproject() to preserve image properties.

September 05, 2019

Earth Engine Server

Added ee.Filter.expression() to convert conditional and boolean string expressions into filters and allow ee.Collection.filter() to take expression strings.

August 30, 2019

Earth Engine Code Editor

Opened the shortcuts menu on ? key press when not in a text field.

Earth Engine JavaScript Client Library
0.1.193

Refactored networking routines into apiclient.js.

Earth Engine Python Client Library
0.1.193

Added ee.Authenticate() to authorize access to Earth Engine via OAuth2.

August 09, 2019

Earth Engine Server

Allowed assignment (band naming) of ee.Image.expression() results with =. For instance: ee.Image.expression('ndvi = (nir - red) / (nir + red)').

July 29, 2019

Earth Engine Code Editor

Enabled ui.Thumbnail() to accept ee.Geometry objects for the region parameter.

June 13, 2019

Earth Engine Code Editor
  • Added ui.Map.CloudStorageLayer(), a type of map layer which reads static image tiles from Google Cloud Storage in the Code Editor and Earth Engine Apps. For more information, see the Developer's Guide.
  • Improved ui.Slider widget's onClick behavior.
Earth Engine Server

Added ee.Array.argMax().

June 07, 2019

Earth Engine Code Editor
  • Separated Help and Feedback menus and added link to Stack Exchange.
  • Added explicit "Save & Close" button when editing asset properties.
  • Enabled Ctrl-Drag to make copies of scripts.
  • Simplified login flow.

May 10, 2019

Earth Engine Code Editor

Added a Manage Links page, on a menu next to Get Link. Links can be deleted and downloaded in bulk.

April 03, 2019

Earth Engine Code Editor

Added the ability to draw rectangles on the map (along with points, lines, and polygons). Learn more in the Developer's Guide.

Earth Engine Server

Increased the maximum size of an ee.Kernel from 255 pixels to 512.

March 29, 2019

Earth Engine Server

Added ee.ImageCollection.getVideoThumbURL().

March 21, 2019

Earth Engine Server

Removed the ee.Image.trainClassifier() and ee.FeatureCollection.trainClassifier() functions that were deprecated in September, 2016. Callers should be using ee.Classifier.train() instead.

March 15, 2019

Earth Engine Code Editor

Dataset listing page now redirects to the public catalog.

Earth Engine Server

Fixed a regression that caused assets in polar projections to be displayed incorrectly.

February 21, 2019

Earth Engine Code Editor

Changed positioning of ui.Panel.Layout.absolute() widgets on maps. The new positioning aligns better with other map controls such as the Layer Manager. Also added support for multiple widgets in the same position.

February 05, 2019

Earth Engine Server
  • Fixed Image.reduceRegions internal server error.
  • Fixed rare issue with not sampling from all portions of some complex polygons in FeatureCollection.randomPoints and Image.sample.

January 17, 2019

Earth Engine Code Editor
  • Added KBDI dataset.
  • Fixed a bug in which the export/thumbnail region was generating an extra pixel when the region has an edge that lies exactly along a pixel boundary line. For example, in the past behavior, exporting a hemisphere might export one pixel on the other side of the equator. This should now be fixed.

January 10, 2019

Earth Engine Server

Added ee.List.distinct().

January 04, 2019

Earth Engine Code Editor
  • Added "Run With Profiler" option and removed sticky profiler setting.
  • Added ui.Map.onTileLoaded() notification.

December 07, 2018

Earth Engine Server

Added optional mapsApiKey parameter to Export.map.toCloudStorage(), to allow callers to specify a Google Maps API key for the map viewer in those exports.

November 29, 2018

Earth Engine Server
  • Operations that attempt to construct very complex geometries (more than 2M edges) will now fail with a "Geometry has too many edges" error. Previously they would sometimes succeed, sometimes fail with a "memory limit exceeded" error, and sometimes cause an internal server error.

  • Fixed an error that sometimes caused ee.Image.resample() to fail to mask invalid pixels in its output.

November 15, 2018

Earth Engine Server

Added ee.Image.setDefaultProjection() and ee.Image.clipToBoundsAndScale().

November 09, 2018

Earth Engine JavaScript Client Library
0.1.159

Ensure JS client library can resolve export regions.

Earth Engine Python Client Library
0.1.159

Ensure JS client library can resolve export regions.

October 11, 2018

Earth Engine Code Editor

Added the ability to make a ui.Label() be a hyperlink.

Earth Engine Server

Fix a formatting error in the "invalid asset ID" error message.

October 04, 2018

Earth Engine Server

Fixed a bug introduced in the 2018-09-28 update which could cause spurious "User memory limit exceeded" errors, e.g. when computing large aggregations.

September 28, 2018

Earth Engine Code Editor

Released Earth Engine Apps, to enable developers to create dynamic, publicly accessible user interfaces for Earth Engine analyses (see our blog post for more details).

Earth Engine JavaScript Client Library
0.1.149

Added and updated several UI API examples.

Earth Engine Python Client Library
0.1.149

Added and updated several UI API examples.

Earth Engine Server

Fixed an overly restrictive error check in ee.Algorithms.Image.Segmentation.KMeans().

September 14, 2018

Earth Engine Code Editor
  • Added ui.DateSlider UI API widget, to allow simple selection of dates.
  • Added ui.SplitPanel UI API widget, to enable side-by-side maps in a panel.
Earth Engine Server
  • Changed ee.Image.reduceToVectors() labels to be 64-bit integer values, to fix an overflow bug.
  • Added geometries option to ee.Image.sample(), ee.Image.sampleRegions() and ee.Image.stratifiedSample(), to produce per-feature geometries.

August 23, 2018

Earth Engine Server

Added ee.List.filter() and ee.List.join().

August 17, 2018

Earth Engine Code Editor

Added ui.Map.unlisten().

Earth Engine Server
  • Documented TFRecord and Shapefile as valid table export formats.
  • Standardized bit-masking throughout the "Cloud Masking" examples.

June 29, 2018

Earth Engine Server
  • Added optional uniqueLabels parameter to ee.Algorithms.Image.Segmentation algorithms, which forces clusters to have unique IDs.
  • Fixed type promotion bug in ee.Image.reduceConnectedComponents() which occurred when processing array images.

June 22, 2018

Earth Engine Server
  • Fixed NaN handling in ee.Image.spectralDistance() algorithm.
  • Added ee.Image.selfMask algorithm to streamline the process of masking an image with its own values.

June 08, 2018

Earth Engine Server
  • Added ee.Image.spectralGradient(), ee.Image.spectralMorphology() and ee.Image.spectralDistance() algorithms.
  • Added ee.Image.reduceConnectedComponents() algorithm.
  • Added ee.Image.Segmentation.KMeans() and ee.Image.Segmentation.GMeans().
  • Added LandTrendr, EWMACD, VerDET and VCT temporal segmentation algorithms.

May 18, 2018

Earth Engine Server
  • Added new superpixel segmentation algorithm ee.Algorithms.Image.Segmentation.SNIC().
  • Added new filters ee.Filter.isContained() and ee.Filter.notNull().

April 13, 2018

Earth Engine Code Editor

Fixed Cannot read property 'undefined' of undefined error.

Earth Engine Server
  • Clarified skipEmptyTiles parameter default values for Map exports in Python.
  • Fixed several small typographical errors.

April 06, 2018

Earth Engine Code Editor

Added time-related utility functions to ui.util:

  • ui.util.clear()
  • ui.util.clearTimeout()
  • ui.util.rateLimit()
  • ui.util.setInterval()
  • ui.util.setTimeout()
  • ui.util.throttle()

March 21, 2018

Earth Engine Code Editor
  • Added wrap parameter for ui.Panel.Layout.Flow(), which causes widgets in the layout to wrap if they overflow the available space.
  • Added the ability to specify an opacity for ui.Style color and background color (using hex or rgba notation).

March 01, 2018

Earth Engine Server
  • Fixed ee.Geometry.transform() to report the projection a geometry cannot be transformed into, instead of returning an internal error.
  • Fixed bug introduced last week where the default visualizations of many assets in the public catalog were ignored.
  • Removed ee.Algorithms.Landsat.surfaceReflectance(), which was deprecated some time ago. Please use the SR collections instead.

February 07, 2018

Earth Engine Server

Removed deprecated trainClassifier algorithms on images and feature collections. Use Classifier.train() instead.

January 03, 2018

Earth Engine Server

Calling image.paint() on an image with no bands now has no effect (it used to cause an internal server error).

December 20, 2017

Earth Engine Server

Deprecated trainClassifier algorithms are no longer documented and will be removed completely in February 2018. Use Classifier.train instead.

December 04, 2017

Earth Engine Code Editor

Improved the robustness of polygon handling in table upload. Previously-difficult polygons are now interpreted according to the rules used to draw them.

October 26, 2017

Earth Engine Server

Added last reducers ee.Reducer.last() and ee.Reducer.lastNonNull() which select the last element.

October 19, 2017

Earth Engine Python Client Library
0.1.203

Fixed the Python API's image.rename() method to properly handle a single string.

October 11, 2017

Earth Engine Code Editor
  • Added an advanced table upload option to control the precision of geometry transformations performed during upload.
  • Added an advanced table upload option to enable spatially subdividing complex geometries.
  • Fixed a bug that prevented the legacy Script Manager from loading.

September 18, 2017

Earth Engine Server

Added Image.blend() to do simple alpha blending between two images.

August 28, 2017

Earth Engine Server
  • Added new algorithm ee.Image.random() to generate random pixels between 0 and 1.
  • Added new algorithm ee.Image.stratifiedSample() to evenly sample each distinct class value in the image.
  • Added new algorithm ee.FeatureCollection.style(), to provide more style options, and better per-feature overriding,
  • Added tileScale parameter to Image.sample and Image.sampleRegions.
  • Changed Export.image to set the description on each band of the output GeoTIFF to the name of the source band of the ee.Image object. Use gdalinfo to view the descriptions.
  • Changed weighted reducers such as Sum or Mean to use fractional masking for aggregations (reduceRegion and reduceRegions). The weight is now the minimum of the raster mask and the fraction of the pixel covered by the reducer geometry. The behavior of unweighted reducers has not changed.
  • Changed Image.clipToCollection to use partial masks for polygon edges, matching what Image.clip has been doing.
  • Changed Image.clip to retain points and lines, matching what Image.clipToCollection has been doing. Points are masked as the full pixel, while lines have anti-aliased partial masks (like polygon edges).

July 06, 2017

Earth Engine Server

Added ee.Classifier.gmoLinearRegression(), a regularizing linear regression classifier.

June 29, 2017

Earth Engine Server
  • Fixed a bug that caused most errors in batch tasks to be erroneously reported as "Internal Server Error".
  • Fixed a bug that could cause server issues when operating on tables with many (2M+) small rows (point geometries and only a modest number of columns).

June 12, 2017

Earth Engine Code Editor
  • Added support for uploading shapefiles.
  • ui.Map.addLayer() now returns the ui.Map.Layer instance.
  • Fix issue filtering Examples tab.
Earth Engine JavaScript Client Library
0.1.116

Added support for uploading shapefiles.

Earth Engine Python Client Library
0.1.116

Added support for uploading shapefiles.

Earth Engine Server
  • Updated ee.Algorithms.Landsat.simpleComposite() to work with Landsat Collection 1 image data.
  • Improved stability of table asset query system.

May 26, 2017

Earth Engine Server
  • Added a nearest-neighbor interpolation mode to the ee.Image.displace() algorithm. This is useful, for example, when displacing images representing ordinal data like classifications, to avoid interpolation.
  • Added ee.Reducer.autoHistogram() with ee.Array output suitable for use per-pixel.
  • Added new Image and Array algorithms matrixCholeskyDecomposition and matrixSingularValueDecomposition.

May 17, 2017

Earth Engine Server

Fixed a bug that caused timeouts in queries involving ee.Image.displace().

March 16, 2017

Earth Engine Server

Enable setting properties on image collection and folder assets.

March 02, 2017

Earth Engine JavaScript Client Library
0.1.106

Added a skipEmptyTiles option to Export.image.toDrive() and Export.image.toCloudStorage() to skip generating empty (i.e. fully-masked) image tiles.

Added a Global Surface Water dataset tutorial to the examples.

Earth Engine Python Client Library
0.1.106

Added a skipEmptyTiles option to Export.image.toDrive() and Export.image.toCloudStorage() to skip generating empty (i.e. fully-masked) image tiles.

Updated authentication to work with oauth2client v2+ and a JSON-formatted credentials file.

February 03, 2017

Earth Engine Python Client Library
0.1.103

Updated OAuth scope to FULL_CONTROL for Cloud Storage, to enable actions that require OWNER permissions.

January 11, 2017

Earth Engine Server

Landsat.calibratedRadiance() now uses Landsat-specific metadata instead of google:calibration_bias and _gain per-band metadata. Output values may have changed slightly due to float vs double precision differences.

December 19, 2016

Earth Engine Server
  • Added ee.Image.arrayCat() to easily concatenate two array images with the same number of dimensions.

  • Fixed issue using the pure GeoJSON ee.Geometry(string) constructor when given a GeometryCollection. The elements may now have their own crs/geodesic/evenOdd fields, so long as they all have the same values.

December 08, 2016

Earth Engine Code Editor

Fixed bug with race conditions around Map.centerObject() calls.

November 29, 2016

Earth Engine JavaScript Client Library
0.1.101

Fixed a typo in the "Airstrip Thumbnails" example script.

November 22, 2016

Earth Engine Server

Added support for uploading images with mask band of types other than byte, interpreting integer types in the range [0, maxint] and float types in the range [0.0, 1.0].

November 18, 2016

Earth Engine Server

Fixed ISE when Array.cat is given null input arrays.

November 03, 2016

Earth Engine Server

Fixed a bug that sometimes caused ee.Image.reduceResolution() to overestimate the number of input pixels per output pixel.

October 27, 2016

Earth Engine JavaScript Client Library
0.1.99
  • Added optional shardSize and fileDimensions arguments to Export.image.toDrive() and Export.image.toCloudStorage(), to specify the computation shard size and the output file dimensions for multi-file image exports.
  • Added an optional skipEmptyTiles argument to Export.map.toCloudStorage() to skip writing empty (fully-transparent) tiles.
Earth Engine Python Client Library
0.1.99
  • Added optional shardSize and fileDimensions arguments to Export.image.toDrive() and Export.image.toCloudStorage(), to specify the computation shard size and the output file dimensions for multi-file image exports.
  • Added an optional skipEmptyTiles argument to Export.map.toCloudStorage() to skip writing empty (fully-transparent) tiles.

October 03, 2016

Earth Engine Server

Changed ee.ErrorMargin() to require the value parameter for finite error margins.

September 29, 2016

Earth Engine JavaScript Client Library
0.1.97

Added ee.layers.ImageOverlay and ee.layers.BinaryOverlay to replace the now-deprecated ee.MapLayerOverlay and ee.FloatTileOverlay.

Earth Engine Server
  • Added ee.Reducer.fixedHistogram(), a reducer which computes a histogram using fixed bins and returns the histogram as an ee.Array with two columns.
  • Fixed miscellaneous Internal Server Error messages to surface more useful information.

September 22, 2016

Earth Engine Code Editor

Added the ability to add a description and title to uploaded assets.

Earth Engine JavaScript Client Library
0.1.96

Added ee.layers.ImageOverlay and deprecated ee.MapLayerOverlay.

Earth Engine Server
  • Fixed several internal errors thrown by ee.List algorithms.
  • Fixed incorrect number comparisons in ee.List algorithms.
  • Fixed ee.Image.select() to throw an error if a new band name includes any forbidden characters.
  • Fixed ee.ImageCollection.toArray() errors with no-band image collections.
  • Added a helpful error message when ee.Collection.draw() is invoked with invalid point/line styles.

September 16, 2016

Earth Engine Server

Fixed a bug where large exports failed with a "Number of pixels requested exceeds the maximum allowed" error.

September 08, 2016

Earth Engine Code Editor

Added maxFrames parameter to Export.video.

September 02, 2016

Earth Engine Code Editor

Deleted deprecated methods addToMap(), centerMap(), and getMapBounds().

Earth Engine Server
  • Added ee.Dictionary.remove().
  • Added ee.List.reduce(), an algorithm to reduce a list.
  • Added CSS color handling to ee.FeatureCollection.draw().
  • Added ee.Clusterer for unsupervised clustering.
  • Added ee.ConfusionMatrix handling for values greater than 2^31.
  • Removed ee.Algorithms.TrainClassifier() and ee.Classifier.mahalanobis() classifier algorithms.
  • Fixed classification error triggered by having a class with no associated values.

August 24, 2016

Earth Engine Server
  • Added ee.Image.medialAxis() and ee.Image.fastDistanceTransform().
  • Added optional sum-to-one and non-negative constraints to ee.Image.unmix().

August 03, 2016

Earth Engine Code Editor

Updated documentation for the User Interface API.

Earth Engine Server
  • Added ee.Image.clipToCollection() to clip an image to a FeatureCollection; ee.Image.clip() should now be used only to clip an image to a Feature or a Geometry.
  • Modified aggregations so they may now exclude empty pixels outside the footprint of the source image.

July 28, 2016

Earth Engine Code Editor

Updated Export.map.toCloudStorage() to make the 'path' parameter default to the export task's description.

Earth Engine JavaScript Client Library
0.1.90

Fixed an issue which caused the minified version Earth Engine JavaScript API to be excluded from the open-source release.

Earth Engine Python Client Library
0.1.90

Fixed an issue which caused the minified version Earth Engine JavaScript API to be excluded from the open-source release.

July 21, 2016

Earth Engine Code Editor

Added the User Interface API.

July 13, 2016

Earth Engine Server
  • Fixed bad error messages when tessellation fails due to zero error-margin.
  • Fixed ee.FeatureCollection.randomPoints() to work with unusually small geometries.
  • Updated ee.Reducer.frequencyHistogram() and ee.Reducer.countDistinct() to ignore masked pixels.
  • Added ee.Reducer.firstNonNull(), a reducer that ignores null values and masked pixels.

July 01, 2016

Earth Engine Code Editor

Updated the visualization dialog to allow new changes to be applied when the palette is updated.

Earth Engine Server
  • Updated error messages in many functions, making the output clearer and more actionable.
  • Changed ee.Number.format() to allow for type coercion for integer and floating point types.
  • Changed the toDrive() functions under Export to create the specified Drive folder if it doesn't exist, rather than throwing an error.
  • Changed ee.Image.where() to always retain the footprint and metadata of the input image.
  • Fixed Geometry.bounds() and Feature.bounds() to always return results in the requested projection.
  • Fixed a bug where ee.Reducer.group() truncated inputs to integers when used with ee.Collection.reduceColumns().

June 13, 2016

Earth Engine Code Editor
  • Added a script performance profiling tool, enabled via the settings menu.
  • Update the series order in Chart.image.histogram() to be consistent with the band order in the image.
Earth Engine Server
  • Added ee.Image.register(), ee.Image.displacement(), and ee.Image.displace() for registering images to one another and computing and applying displacements.
  • Add several correlation reducers: ee.Reducer.kendallsCorrelation(), ee.Reducer.pearsonsCorrelation(), ee.Reducer.spearmansCorrelation(), and ee.Reducer.sensSlope().
  • Updated ee.String.match() to return a list of all matching groups when used without the global flag.

June 02, 2016

Earth Engine Code Editor
  • Added ability to view quota usage for a root asset folder.
  • Added support for exporting an image from your script environment to an Earth Engine asset with Export.image.toAsset().
Earth Engine JavaScript Client Library
0.1.83

Added computedObject.evaluate().

Earth Engine Python Client Library
0.1.83

Added computedObject.evaluate().

Earth Engine Server

Added ee.Feature.setGeometry() for setting or overriding the geometry of an existing Feature.

May 26, 2016

Earth Engine Server
  • Added ee.FeatureCollection.kriging(), a function which performs Kriging interpolation given a set of semivariogram parameters.
  • Added ee.Array.dotProduct() and ee.Image.arrayDotProduct() algorithms to compute the dot product between two 1-D arrays of equal length.

May 18, 2016

Earth Engine Code Editor

Expanded Export functionality to support maps as an export type and Google Cloud Storage as a destination.

Earth Engine JavaScript Client Library
0.1.82

Expanded Export functionality to support maps as an export type and Google Cloud Storage as a destination.

Earth Engine Python Client Library
0.1.82

Expanded Export functionality to support maps as an export type and Google Cloud Storage as a destination.

April 08, 2016

Earth Engine Server

Added Image.reduceResolution, an algorithm to generate pixels in a (usually lower-resolution) output projection.

March 31, 2016

Earth Engine Server
  • Added FeatureCollection.inverseDistance(), to do inverse-distance weighted interpolation. See the interpolation documentation for further details.
  • Changed the correlation scores in the ee.Algorithms.CrossCorrelation algorithm to allow negative correlation coefficients. Now, the correlationCoeff output band has a range of [-1, 1], rather than [0, 1].
  • Changed the ee.Algorithms.CrossCorrelation algorithm to accept a value of 0 for the maxGap parameter, to allow for a direct computation of correlation scores between two images.

March 24, 2016

Earth Engine Server
  • Added new Image.cumulativeCost algorithm.
  • Added an ee.Blob class for accessing data blobs in Google Cloud Storage.
  • Added an ee.Classifier.decisionTree() algorithm for loading pre-existing decision trees as Classifier objects
  • Fixed singular value exceptions when computing the parameter stability test in Image.formaTrend(), to match behavior of original FORMA.

March 17, 2016

Earth Engine Server

Added Image.arrayCat() to concatenate the pixels of two array images along a given array axis.

March 10, 2016

Earth Engine Code Editor

Added Image.arrayCat() to concatenate the pixels of two array images along a given array axis.

Earth Engine Server
  • Added ee.Number.format().
  • Added ee.String.toLowerCase(), ee.String.toUpperCase(), ee.String.trim(), and ee.String.compareTo().

February 26, 2016

Earth Engine Code Editor
  • Added MIN, MAX, and MODE as reduction policy options for generating tile pyramids for ingested assets.
  • Added instructions for configuring a googlesource.com Git password to the script repository share dialog.

February 18, 2016

Earth Engine Code Editor
  • Geometry drawing keyboard shortcuts now require holding the shift key.
  • Added a refresh button to the asset list.
Earth Engine JavaScript Client Library
0.1.73

Added throttling of asynchronous network requests.

Earth Engine Server

Added new correlation reducers: Kendall, Spearman, Pearsons and Sen's slope.

February 08, 2016

Earth Engine Server

Add a bitCount operator.

February 02, 2016

Earth Engine Code Editor

Added ability to edit asset metadata.

Earth Engine Server

Added ee.Image.bitsToArrayImage().

January 21, 2016

Earth Engine JavaScript Client Library
0.1.72

Disable exporting to GME.

Earth Engine Python Client Library
0.1.72

Disable exporting to GME.

Earth Engine Server
  • Exports with a 'region' argument now accept geometry with any supported projection or geodesic state, instead of defaulting to planar WGS84.
  • Multi-file asset uploads that use "last band" masking mode should now work.
  • ee.Dictionary() can now be called with no arguments or with a list of alternating keys/values.

January 11, 2016

Earth Engine Code Editor

ee.Dictionary() can now be called with no arguments or with a list of alternating keys/values.

Earth Engine Server

Expanded Collection.remap() to allow mapping from strings to integers.

January 06, 2016

Earth Engine Server
  • Added ee.Image.pixelCoordinates(), a generalization of ee.Image.pixelLonLat().
  • Added ee.Dictionary.fromLists().
  • Added ee.Kernel.inverse().
  • Added ability to specify random seed in ee.Classifier.randomForest().
  • Added optimization parameter in ee.Image.reduceNeighborhood(), which enables faster computation at the cost of using more memory.
  • Improved performance of ee.Image.distance() and added skipMasked parameter.

December 10, 2015

Earth Engine Server
  • Reduced the memory requirements of the ee.Terrain.fillMinima algorithm.
  • Added ee.Kernel.rectangle(), for constructing constant-valued rectangular kernels.
  • Fixed bug in ee.Classifier.continuousNaiveBayes() and added explain() method.

December 02, 2015

Earth Engine Code Editor

Added support for tiled asset uploads with multiple files.

Earth Engine Server
  • Added ee.Classifier.minimumDistance().

  • Deprecated ee.Classifier.mahalanobis().

  • Fixed Image.remap() to properly propagate the source image mask.

November 25, 2015

Earth Engine Server
  • Added ee.Geometry.cutLines() and ee.Feature.cutLines(), to cut the linear parts along a series of parameter distances in the result projection.

  • Added ee.Image.bitsToArray() and ee.Number.bitsToArray().

November 19, 2015

Earth Engine Code Editor

Added support for creating and sharing ImageCollection assets, and for adding and removing Image assets to and from those collections.

Earth Engine Server
  • Fixed a bug in ee.Reducer.stdDev() that caused it to return NaN instead of zero in some cases.

  • Fixed a bug in ee.Algorithms.If() that caused it to treat NaN as true in the condition.

November 13, 2015

Earth Engine Code Editor

Added "Use last band as alpha" as a masking mode option for asset uploads.

Earth Engine Server
  • Fixed several Internal Server Errors when transforming geometries or image boundaries to very different projections.

  • Fix Image.reduceRegion() support for images with no bands.

  • Added support for masked pixels in CrossCorrelation algorithm.

November 05, 2015

Earth Engine Server
  • Added bitwiseOr and bitwiseAnd reducers.

  • Fixed SampleImage dropping points for single band images. Additionally, this bug could have caused the generated properties to be incorrectly named "first".

October 29, 2015

Earth Engine Server
  • Added ee.Classifier.spectralRegion(), to test if the inputs lie within a specified 2D polygon.

  • Improved ingestion of non-standard projections.

  • Fixed incorrect weights in the implementation of the Roberts cross kernel.

  • Fixed several internal errors that could occur when working with geometries that touch the poles.

  • Fixed some spurious out-of-memory errors from ImageCollection.combine(), ImageCollection.merge(), FeatureCollection.merge(), and ee.Terrain algorithms.

October 22, 2015

Earth Engine Server
  • Improved the performance of negative geometry buffering.

  • Improved error reporting when invalid projections are supplied to image export.

  • Added Dictionary.select(), Dictionary.rename() and Dictionary.map().

  • Fixed accidental creation of inside-out polygons at the poles in ee.Geometry.Polygon(), ee.Geometry.Rectangle(), and ee.Geometry.MultiPolygon().

October 16, 2015

Earth Engine Server

Added an ee.Image.date() algorithm that returns an Image's acquisition time as an ee.Date object.

October 08, 2015

Earth Engine Server

Updated Mahalanobis classifier to handle multiple classes.

October 02, 2015

Earth Engine Code Editor
  • Added support for asset renaming.
  • Resolved issue that prevented searching for "where".
Earth Engine Server

Fixed geometry repair issue in the presence of extremely small polygons.

September 24, 2015

Earth Engine Code Editor
  • Fixed a bug causing "Git protocol error" seen when saving scripts.
Earth Engine Server
  • Added Collection.size() algorithm.
  • Added Classifier.explain() to describe results from training a classifier. Currently only returns details for Cart.

September 13, 2015

Earth Engine Code Editor
  • Fixed bug in which 'Clear Script' was not closing the current script.

September 10, 2015

Earth Engine Server
  • Changed the name of single-file image exports from "foo-0000000000-0000000000.tif" to "foo.tif".
  • Fixed a bug in ee.Image.remap() in which masked data with a remapped value could be unmasked.

September 03, 2015

Earth Engine Server
  • Added GCS export support for videos and features.
  • Fixed Collection.classify() PROBABILITY output to match image results.

August 27, 2015

Earth Engine Code Editor
  • Added support for uploading files up to 10GB.
  • Fixed bug which broke chart popouts in Safari.
Earth Engine Server
  • Added support for human-readable color names in palettes. Now any CSS 3.0 color name can be used in a palette (e.g., ['red', 'aquamarine', 'maroon']).
  • Fixed internal server errors when filtering images by point geometries on the WGS84 antimeridian.
  • Converted an internal server error into a helpful message when using matrixSolve with unsolvable matrices.

August 19, 2015

Earth Engine Server
  • Add ContinuousNaiveBayes classifier.
  • Add ee.ConfusionMatrix.kappa()
  • Primary geometry of a feature is no longer considered a named property of the feature.
    • It cannot be retrieved with ee.Feature.get(); use ee.Feature.geometry() instead.
    • It cannot be changed with ee.Feature.set().
    • It's not included in the result of ee.Feature.propertyNames() and ee.Feature.toDictionary().
    • To refer to the geometry in contexts like ee.Filter.intersects(), ee.Filter.equals(), and ee.FeatureCollection.getDownloadURL(), use a special value ".geo".

August 12, 2015

Earth Engine Server

Added numeric functions erf(), erfc(), erfInv(), erfcInv(), gamma(), digamma(), trigamma() and cbrt() (each is defined on ee.Image, ee.Number, and ee.Array).

August 07, 2015

Earth Engine Code Editor
  • Added support for asset upload and management within the UI.
  • Added Visualization Dialog to the Layer Manager.
Earth Engine JavaScript Client Library
0.1.55

Switched to new read & write scope ('https://www.googleapis.com/auth/earthengine' instead of 'https://www.googleapis.com/auth/earthengine.readonly')

Earth Engine Python Client Library
0.1.55

Switched to new read & write scope ('https://www.googleapis.com/auth/earthengine' instead of 'https://www.googleapis.com/auth/earthengine.readonly')

Earth Engine Server
  • Fixed tile artifacts when using the countEvery reducer with FeatureCollection.reduceToImage.
  • Fixed TOA calculation for MSS bands on Landsat 4 and 5.

August 01, 2015

Earth Engine JavaScript Client Library
0.1.55

Changed ee.Image([]) to create an Image with no bands.

Earth Engine Server
  • Added a new algorithm for Landsat TOA composites.
  • Deprecated ee.Image.hsvtorgb() and ee.Image.rgbtohsv() in favor of ee.Image.hsvToRgb() and ee.Image.rgbToHsv().

July 23, 2015

Earth Engine Server

JSON/JSONP format responses from the API now indicate errors in the HTTP status code as well as the response body.

June 26, 2015

Earth Engine Code Editor
  • Fixed a bug in some charts that used ee.Date.
  • Added support for custom date axis ticks in charts.
  • Fixed error that occurred when auth token refresh is attempted while the browser is offline.
  • Updated the link to User Documentation.
  • Added more HydroSHEDS datasets.
Earth Engine JavaScript Client Library
0.1.55
  • Fixed error that occurred when auth token refresh is attempted while the browser is offline.
  • Added demos directory and move AppEngine demos to it.
  • Added "Powered by Earth Engine" images.
Earth Engine Python Client Library
0.1.55
  • Fixed error that occurred when auth token refresh is attempted while the browser is offline.
  • Added demos directory and move AppEngine demos to it.
  • Added "Powered by Earth Engine" images.
Earth Engine Server
  • Updated ee.(Feature|Image).geometry() to ee.Element.geometry().
  • Added dropNulls as a default to Image.sample.

June 19, 2015

Earth Engine Code Editor
  • Fixed a bug that allowed drawing geometries with no layer selected.
  • Fixed a bug that could cause empty geometry imports to be loaded as code instead of editable layers.
Earth Engine JavaScript Client Library
0.1.55
  • Added ee.data.setAuthToken() and ee.data.getAuthToken()
  • Fixed the default API URL in ee.data
  • Fixed ee.reset() so it no longer clears auth info.
  • Added tile event callback registration methods to ee.MapLayerOverlay.
  • Added ee.Image.rename() to make it easy to rename bands.
  • Updated App Engine app examples.
  • Fixed ee.Geometry.Rectangle when given a custom projection or geodesic state.
Earth Engine Python Client Library
0.1.55
  • Added ee.data.setAuthToken() and ee.data.getAuthToken()
  • Fixed the default API URL in ee.data
  • Fixed ee.reset() so it no longer clears auth info.
  • Added tile event callback registration methods to ee.MapLayerOverlay.
  • Added ee.Image.rename() to make it easy to rename bands.
  • Updated App Engine app examples.
  • Fixed ee.Geometry.Rectangle when given a custom projection or geodesic state.
Earth Engine Server
  • Added a set of new classification APIs. See ee.Classifier.
  • Added a ConfusionMatrix class, returned by ee.Classifier.confusionMatrix and ee.Collection.errorMatrix.
  • Fixed Classifier PROBABILITY mode for features to return floats.
  • Added more information to printed Kernel objects.
  • Removed deprecated algorithms: ClassifyImage, DrawVector, DropDuplicates, UnionFeatureCollection and FilterFeatureCollection.
  • Exporting complex images will sometimes be faster, and may succeed when it previously failed.

June 04, 2015

Earth Engine Code Editor
  • Added ee.data.authenticateViaPopup() and instructions on how to use it to avoid popup-blockers when doing client-side EE library authentication.
Earth Engine JavaScript Client Library
0.1.55
  • Allowed ee.MapLayerOverlays to be named.
  • Added an opt_dropNulls argument to Collection.map().
Earth Engine Python Client Library
0.1.55
  • Allowed ee.MapLayerOverlays to be named.
  • Added an opt_dropNulls argument to Collection.map().
Earth Engine Server
  • Geometry constructors now handle computed coordinates. For example, ee.Geometry.Point(ee.Number(1).add(2), 3), or ee.Geometry.Point([3,3], image.projection()).
  • Image.mask(x) now sets the pixels that it unmasks to zero (or to the value closest to zero within the range of the pixel type of the input image).
  • Binary image operations (e.g. ee.Image.add) now always match bands using their order (previously they matched them by name, falling back on matching by order only if not all names could be matched).

May 30, 2015

Earth Engine JavaScript Client Library
0.1.55

Undeprecated ee.data.getInfo().

Earth Engine Python Client Library
0.1.55

Undeprecated ee.data.getInfo().

Earth Engine Server

Changed Image.arrayProject() to return null for empty input arrays, instead of throwing an error.

May 22, 2015

Earth Engine Server
  • Added robust 2D polygon repair, alleviating the need to manually fix geometries.
  • Updated the Landsat 8 brightness temperature constants used for TOA products.
  • Updated the default ordering of feature collections loaded from Fusion Tables to now be the same as in the Fusion Tables UI.
  • Fixed Internal System Error in getRegion().
  • Fixed spurious memory errors when buffering geometries.

May 15, 2015

Earth Engine Code Editor

Added a "Clear script" option to the "Reset" button.

Earth Engine JavaScript Client Library
0.1.54

Renamed getThumbURL()'s 'size' param to 'dimensions'.

Earth Engine Python Client Library
0.1.54

Renamed getThumbURL()'s 'size' param to 'dimensions'.

Earth Engine Server
  • Added morphological Window.mean(), and updated Window.median() to output doubles.
  • Filters other than Filter.eq now return false when the property is null or missing (instead of causing internal errors).

May 08, 2015

Earth Engine Code Editor
  • Added syntax highlighting to script diffs.
  • Added a "Clear script" option to the "Reset" button.
  • Increased the Playground map zoom limit from level 19 to level 24.
  • Fixed an issue that could cause the script manager to repeatedly ask for merging even if nothing has changed.
  • Fixed an issue with special character treatment in script names during migration.
  • Fixed support for Unicode script names.
  • Fixed scripts sometimes loading old versions after viewing a diff.
  • Fixed issues with handling of non-alphanumeric characters in script names during migration.
Earth Engine JavaScript Client Library
0.1.53

ee.ImageCollection() now accepts ee.List arguments.

Earth Engine Python Client Library
0.1.53

ee.ImageCollection() now accepts ee.List arguments.

April 30, 2015

Earth Engine Code Editor
  • Added support for exporting video to Google Drive.
  • Added a new, Git-based script management tab.
  • Fixed task starting on Internet Explorer.
  • Fixed search in the documentation tab.
  • Added support for hiding of tasks older than one day in a collapsed zippy.
Earth Engine JavaScript Client Library
0.1.52

Added support for exporting videos.

Earth Engine Python Client Library
0.1.52

Added support for exporting videos.

Earth Engine Server
  • Fixed internal server error when aggregating unbounded images.
  • Report an error when Array.project and Image.arrayProject are used to discard a length 0 axis.
  • Fixed Image.clip with geometry crossing the antimeridian.

April 23, 2015

Earth Engine Code Editor

April 10, 2015

Earth Engine Code Editor
  • Added the Playground Tour to discover new features.
  • Added a Report Error button to Internal Server Error messages in the console.
  • Fixed labels for series named (numerical) 0 to be rendered in chart legends.
  • Fixed byFeature(), series(), byRegion(), and doySeries() chart helpers to generate reliably ordered series (default order: alphabetical).
  • Fixed Chart CSV files to include column labels.
Earth Engine JavaScript Client Library
0.1.50

Fixed ee.Geometry.Multi*() constructors to accept empty lists.

Earth Engine Python Client Library
0.1.50

Fixed ee.Geometry.Multi*() constructors to accept empty lists.

Earth Engine Server
  • Fixed FeatureCollection.remap to drop non-numeric values.
  • Fixed Provider links in datasets to now display properly.

April 03, 2015

Earth Engine JavaScript Client Library
0.1.49

Added error handling improvements.

Earth Engine Python Client Library
0.1.49

Added error handling improvements.

Earth Engine Server
  • Fixed ee.Reducer.frequencyHistogram() to work on non-string inputs.
  • Fixed a bug in classifiers when classifier_parameters=null.

March 26, 2015

Earth Engine Code Editor
  • Added geometry editing tools.
  • Added Fusion Tables search.
  • Added an Imports section the editor.
Earth Engine Python Client Library
0.1.48

Corrected the documentation for the ee.Date constructor.

Earth Engine Server
  • Added Collection.randomColumn() algorithm that adds a column of deterministic pseudorandom values to a Collection.
  • Added Image.sample() algorithm that returns a sample of the image pixels as a FeatureCollection.
  • Extended the Algorithms.Landsat.TOA() function to support the MSS instrument on board Landsat 1-3.
  • Added new algorithms for working with array shapes: Image.arrayLength(), and Image.arrayDimensions().
  • Added Feature.propertyNames() to return the property names of a Feature.
  • Improved the error message returned when attempting to load images into a projection that doesn't exist everywhere the image does.
  • Fixed an issue with some Reducer.group() aggregations.
  • Fixed an issue with array masking and sorting along length 1 axes.
  • Fixed a bug in Image.arrayFlatten mask handling.
  • Removed "impurityMeasure" option from Rifle classifier. Previously, "Gini" and "Hellinger" modes were supported, but now only "Gini" is available.

March 17, 2015

Earth Engine Code Editor

Fixed Map.addLayer() to stop silently dropping incorrectly-specified layer names.

March 06, 2015

Earth Engine Code Editor

Made Map.setStyle() case-insensitive with regards to map type names.

Earth Engine JavaScript Client Library
0.1.44

Fixed bug with region parameter in getThumbURL().

Earth Engine Python Client Library
0.1.44
  • Fixed bug with region parameter in getThumbURL().
  • Added a callback option to getThumbURL().
Earth Engine Server
  • Fixed Reducer.countDistinct() to be compatible with Image.reduce().
  • Modified Image.resample() to control resampling in all cases, not just when supersampling, using the nearest pyramid level.
  • Fusion Tables polygons will be repaired if invalid. If the repair process fails, we will now show an error instead of using invalid polygons.

February 28, 2015

Earth Engine Code Editor
  • Fixed mishandling of date value declared as strings in Chart.
  • Fixed custom map styles persisting after Reset is clicked.
  • Improved the highlighting of deprecated Landsat assets.
  • Changed the Search Datasets shortcut from Ctrl+D to Ctrl+Alt+F to avoid conflicts.
Earth Engine JavaScript Client Library
0.1.46

Added an optional callback parameter to ee.Image.getThumbUrl().

Earth Engine Server

Added ee.Reducer.countDistinct().

February 20, 2015

Earth Engine Code Editor
  • Added a new feature that underlines code suggestions.
  • Added an editor settings menu with two toggle-able settings:
    1. Underline code suggestions
    2. Autocomplete pairs like "", (), {}
  • Added a shortcut to focus on the Dataset search bar, Ctrl+D.
  • Fixed Map.setCenter() silently failing on invalid inputs.
  • Fixed the Playground failing after the window is kept open for over 24 hours.
Earth Engine JavaScript Client Library
0.1.45

Fixed keyword argument handling in ee.Algorithms.* functions.

Earth Engine Server

Add Image.resample() and bicubic interpolation.

February 10, 2015

Earth Engine Code Editor

Changed Charts to use UTC as the default timezone.

Earth Engine JavaScript Client Library
0.1.44

Added ee.data.authenticate() which allows authenticating API requests directly in the browser.

Earth Engine Python Client Library
0.1.44

Added FeatureCollection.select().

Earth Engine Server
  • Added Reducer.robustLinearRegression() function to perform linear regression via iteratively-reweighted linear least squares.
  • Changed parameter 'crs' of Image.reproject() to accept a Projection, to more easily reproject an image to the projection of another.
  • Changed ImageCollection.getRegion(), Image.reduceToVectors(), Image.reduceRegion(), and Image.reduceRegions() to also accept a Projection, to provide more control over the projection to work in.
  • Fixed errors in LandTrendr algorithm.
  • Fixed rendering of some geodesic polygons (removed erroneous horizontal lines).
  • Fixed errors working with some polygons that cross the antimeridian.

February 05, 2015

Earth Engine Server

Improved error message returned when export to Google Drive fails due to insufficient space.

January 15, 2015

Earth Engine Code Editor
  • Added Chart.image.byClass().
  • Added support for Chart ticks specified as dates.
  • Fixed bug in Chart.array.values() triggered by axes with leading zeros.
  • Added better support for charting series of different data types.
Earth Engine JavaScript Client Library
0.1.42
  • Image.parseExpression() is no longer available for general use. Image.expression should be used instead, and the documentation for accessing bands in expressions has been moved there.
  • Added support for computed geometries to Geometry.type(), but now returns a computed string rather than a concrete one.
  • Fixed the incorrect winding order of polygons generated by Image.reduceToVectors().
  • Grouped Terrain algorithms into ee.Terrain.
Earth Engine Python Client Library
0.1.42
  • Added ee.batch.Task.active() for checking whether the task is active.
  • Made deprecated methods emit warnings. It is highly recommended to enable this by running the Python interpreter with the -W default flag or calling "import warnings; warnings.simplefilter('default')" before interacting with the EE library.
  • Image.parseExpression() is no longer available for general use. Image.expression should be used instead, and the documentation for accessing bands in expressions has been moved there.
  • Added support for computed geometries to Geometry.type(), but now returns a computed string rather than a concrete one.
  • Fixed the incorrect winding order of polygons generated by Image.reduceToVectors().
  • Grouped Terrain algorithms into ee.Terrain.
Earth Engine Server
  • Deprecated the "size" parameter to ee.Image.getThumbURL() in favor of "dimensions". If you have a script which provides a "size" argument to ee.Image.getThumbURL(), please switch to using "dimensions" instead.
  • Fixed an internal server error when exporting images that use Image.expression().
  • Fixed Image.pixelArea() internal server errors when working in the WGS84 projection.
  • Fixed export of images with bandname_class_palette metadata.
  • Fixed a bug where setting multiple properties on an image would in rare cases ignore all but one property.

December 19, 2014

Earth Engine Server
  • Fixed the incorrect winding order of polygons generated by Image.reduceToVectors().
  • Fixed a bug in Collection.distinct() which sometimes caused it to return duplicate elements.
  • Fixed a bug that caused FeatureCollection.reduceToImage() to refuse integer properties.
  • Fixed a bug that sometimes caused large image exports to fail.

December 04, 2014

Earth Engine JavaScript Client Library
0.1.41
  • Image.expression() allows expressions that do not refer to all the supplied input images.
  • Image.parseExpression() allows you to explicitly specify the expected input image names.
Earth Engine Python Client Library
0.1.41

Added the ee.batch module to support batch task management and image and table export.

  • Image.expression() allows expressions that do not refer to all the supplied input images.
  • Image.parseExpression() allows you to explicitly specify the expected input image names.

November 24, 2014

Earth Engine Server

Fix internal server error when using Reducer.group().

November 17, 2014

Earth Engine Server
  • Added new Geometry.dissolve() and Feature.dissolve() algorithms, to dissolve the interior boundaries between elements of a MultiGeometry.
  • Deprecated Image.stats(). Use Image.reduceRegion() instead.
  • Small bugfixes for Chart styling.

November 06, 2014

Earth Engine Server

Fixed Geometry.intersects() and Geometry.contains() incorrectly returning false for some geometries crossing the antimeridian.

October 29, 2014

Earth Engine Server

Updated Image.arraySlice() to support variable slice positions per pixel position.

October 24, 2014

Earth Engine Server
  • Added array support to Image.mask().
  • Added Feature.select() and FeatureCollection.select() to select the properties of Features.
  • Added Reducer.group() to group elements by a specific input, reducing all the other inputs with a given reducer.
  • Fixed an internal server error that could occur in Reducer.covariance().

October 14, 2014

Earth Engine Server
  • Added Google Maps Engine as a destination for batch export of vector data (via Export.table).
  • Added support for ee.List objects within chart.setSeriesNames().
  • Added dictionary.combine(), a function which combines two dictionaries.
  • Added support for parsing of WKT definitions with EXTENSION elements, by ignoring the EXTENSION when the projection has a known canonical definition.
  • Fixed a bug that, in rare cases, caused an "Internal Error" when using Reducer.first().
  • Fixed support for CSV exports containing no geometry data.

September 30, 2014

Earth Engine Server
  • Reducer.covariance() renamed to Reducer.centeredCovariance(), for already mean-centered data.
  • Added Reducer.covariance(), a single-pass covariance algorithm that centers data not yet mean-centered.
  • Improved the error message generated when a Dictionary algorithm is given a key containing a space.

September 24, 2014

Earth Engine Python Client Library
0.1.38

Added support for Python API authentication using a Google account.

Earth Engine Server

Unbounded geometry, such as the union of complementary hemispheres, is now returned to the client as the WGS84 geodesic rectangle from -180,-90 to 180,90.

September 12, 2014

Earth Engine Server
  • Added a size restriction of 10e5 x 10e5 pixels to ee.Image.getThumbURL().
  • Added support for scalable (meter-based) kernels to ee.Image.connectedComponents().
  • Added Chart.image.series(), along with an example. This function plots derived values of each band in a region across multiple images.
  • Changed the Playground code-suggestion behavior to not insert a function's argument list unless the cursor is within the function call.
  • Fixed a bug in reductions that was caused image projections to be ignored.
  • Improved the reporting of certain types of memory-consumption errors.

September 05, 2014

Earth Engine Server
  • Added Feature.id() and Image.id() methods for accessing the ID of a given element within its collection.
  • Added Reducer.forEachElement() for distributing reducers over Array elements.
  • Fixed a bug in GeoJSON export. Now GeoJSON downloaded from Earth Engine is compatible with GDAL's ogr2ogr tool.
  • Fixed Filter.rangeContains().

August 28, 2014

Earth Engine Server
  • Added Image.sample(), which creates a Collection containing pixels randomly sampled from an image.
  • Added Image.mosaic() support for array images, as long as no array is partially masked.
  • Added Image.visualize() support for viewing array images, by just displaying the first array element at each pixel, or 0 for empty array pixels.
  • Improved precision of operations on DOUBLE images and arrays.
  • Reductions now require a scale or crs_transform when a crs is specified.
  • Changed ImageCollection.getRegion() to no longer skip pixels where a subset of bands is masked. The masked pixel values are returned as nulls.
  • Fixed Image.unmix() and Image.mask() not working properly when used inside ImageCollection.map().
  • Fixed Image.addBands() issue with renaming bands.
  • Fixed Image.arraySort() and Image.arraySlice() to handle empty matrices.
  • Fixed Image.arrayGet() Internal Server Error when attempting to use a double or float band as the position argument.
  • Fixed ee.FeatureCollection() to show a helpful error when a column contains arrays of different dimension.
  • Fixed Image.mask() when used to retrieve the mask of an array image.
  • Fixed an error that could occur when applying geometry filters on join results.

August 21, 2014

Earth Engine Server
  • Added Array() function to create an array from nested lists of numbers.
  • Added Array.toList() function to create a nested list of numbers from an array.
  • Extend Image.constant() to create images with array-valued pixels and to accept ee.List objects to produce multiple bands.
  • Added Image.toArray() function to concatenate pixels of image bands into an array per pixel.
  • Added ImageCollection.toArray() function to convert each pixel stack or time series to a single array per pixel.
  • Added ImageCollection.toArrayPerBand() function to convert the pixels of each band to an array per band per pixel.
  • Added Array.identity(), Image.arrayIdentity(), and Image.matrixIdentity() functions to create an identity matrix of the given size.
  • Added Feature.toArray() function to combine numeric feature properties into a 1D array.
  • Added FeatureCollection.makeArray() function to combine numeric feature properties into a 1D array for each feature in a FeatureCollection.
  • Added Image.arrayFlatten() function to convert an array back a regular scalar image by naming the array elements.
  • Added Reducer.covariance() function to compute the covariance of a collection or neighborhood as a 2D array.
  • Added Array.length() and Image.arrayLength() functions that return a 1D array of an array's lengths.
  • Added Array.get() and Image.arrayGet() functions that return a specific scalar array element.
  • Added Array.cat() function to concatenate a list of arrays along a given axis.
  • Added Array.cut() function to cut an array along one or more axes.
  • Added Array.sort() and Image.arraySort() functions that sort an array by the values of a given 'keys' array.
  • Added Array.slice() and Image.arraySlice() functions that slice out a subarray from regularly-spaced positions along one axis.
  • Added Array.mask() and Image.arrayMask() functions that eliminate array positions where a corresponding mask value is 0.
  • Added Array.transpose() and Image.arrayTranspose() functions to swap two array axes.
  • Added Array.reduce() and Image.arrayReduce() functions to apply a reducer to the elements of an array.
  • Added Array.accum() and Image.arrayAccum() functions to accumulate a reducer along a given array.
  • Added Array.project() and Image.arrayProject() functions to project an array into a lower dimension.
  • Added Array.repeat() and Image.arrayRepeat() functions to concatenate an array with itself a given number of times.
  • Added Array.matrixMultiply() and Image.matrixMultiply() functions to multiply two 2D arrays.
  • Added Array.matrixSolve() and Image.matrixSolve() functions to compute the 2D array X such that AX=B.
  • Added Array.matrixInverse() and Image.matrixInverse() functions to invert a 2D array.
  • Added Array.matrixPseudoInverse() and Image.matrixPseudoInverse() functions to compute the Moore-Penrose pseudoinverse.
  • Added Array.eigen() function to compute the eigenvectors and values of a 2D square array.
  • Added Array.matrixDeterminant() and Image.matrixDeterminant() functions to compute the determinant of a 2D array.
  • Added Array.matrixToDiag() and Image.matrixToDiag() functions to generate a square diagonal matrix from a 1D column.
  • Added Array.matrixDiagonal() and Image.matrixDiagonal() functions to extract the diagonal from a square 2D matrix.
  • Added Array.matrixFnorm() and Image.arrayFnorm() functions to compute the Frobenius norm of a matrix.
  • Added Array.matrixTrace() and Image.matrixTrace() functions to compute the trace of a matrix.
  • Modified Algorithms.if() function to avoid evaluating the unused branch.

August 14, 2014

Earth Engine Server
  • Added String.toNumber().
  • Added Collection.iterate() and List.iterate().
  • Added new classifier type: ContinuousNaiveBayes
  • Aggregations now return an error when trying to aggregate with the default WGS84 projection. This most commonly happens when aggregating a mosaic image. Specify a scale or crs plus crs_transform to avoid the error
  • Aggregations now use the image footprint (instead of the bounds of the first band of the image) when the aggregation region is not specified explicitly
  • Improved the error message returned when attempting to set properties with illegal names

August 08, 2014

Earth Engine Server
  • Updated LandsatTOA to use REFLECTANCE metadata directly when it is available, as is the case for Landsat 8.
  • Added Array Algorithms.
  • Added a robust least squares regression reducer to the API using iteratively reweighted least squares.
  • Add 'format' parameter to the ThumbnailServlet, to specify PNG/JPEG downloads.

August 01, 2014

Earth Engine Server

Added Collection.toList(), returning the contents of a collection as a list.

July 25, 2014

Earth Engine Server

Improved error reporting for export tasks.

July 18, 2014

Earth Engine JavaScript Client Library
0.1.32

Fixed casting of numbers when calling the ee.String constructor.

Earth Engine Python Client Library
0.1.32

Fixed casting of numbers when calling the ee.String constructor.

Added a __version__ property to the ee package.

Earth Engine Server
  • Fixed an error thrown when visualizing empty ImageCollections.
  • Fixed Collection.union() returning partial results on large collections.
  • Fixed a filtering error that occurred when two intersecting time filters where applied on an ImageCollection.
  • Improved the performance of polygon rendering.
  • Improved the performance of large image collection reductions.
  • Improved the error message for invalid palettes passed to Image.visualize().

June 30, 2014

Earth Engine Server
  • Changed file extension on streaming download to lower case (myDownload.CSV -> myDownload.csv).
  • GME assets and layers now have name, description and tags properties.

June 20, 2014

Earth Engine JavaScript Client Library
0.1.311

Allowed empty args list for Image.select().

Earth Engine Python Client Library
0.1.31

Allowed empty args list for Image.select().

Gave all API objects __eq__() and __hash__()

Earth Engine Server

Added a few helper methods to Projection:

  • Projection.atScale(projection, meters)
  • Projection.crs(projection)
  • Projection.scale(projection, x, y)
  • Projection.transform(projection)
  • Projection.translate(projection, x, y)
  • Projection.wkt(projection)

June 06, 2014

Earth Engine Server
  • ee.Geometry.Polygon and ee.Geometry.Rectangle no longer fix polygon ordering for you, so when you use those functions, be sure to order the points such that the inside of the polygon or rectangle is on the left side of the given edges. This is only backward incompatible when you have a pre-existing script that specifies polygon vertices where the intended interior is on the right side of the given edges. This is easily tested by computing the centroid; if it is on the opposite side of the planet, reverse the order of your vertices.
  • Added List.zip(other) function.
  • exportImage() can now create TERRAIN assets when exporting to Google Maps Engine. See gmeTerrain parameter.

May 29, 2014

Earth Engine Server
  • Added Geometry.coordinates() function.
  • Added Geometry.proj() function.
  • Added Geometry.edgesAreGeodesics() function.
  • Added Geometry.isUnbounded() function.
  • Added Geometry.geometries() function.
  • Improved error reporting for invalid Fusion Tables table ids.
  • Fixed a bug causing certain queries for feature IDs only from Fusion Tables to fail.

May 23, 2014

Earth Engine Server
  • Fixed bug in Image.reduceRegions().
  • Added more information to error messages in Collection.map().

May 16, 2014

Earth Engine Server
  • Fixed addToMap's handling of two band images.
  • Changed IsEqual to compare numbers by value, ignoring the type.

May 07, 2014

Earth Engine Server
  • Fixed pixel masking in ImageCollection.formaTrend() when there are no valid samples.
  • Fixed a bug that could cause sub-computations in Image.expression() calls to incorrectly return null.

May 01, 2014

Earth Engine JavaScript Client Library
0.1.28

Improved error reporting for CSV downloads.

Earth Engine Server

Added new algorithms for Dictionary: set(), contains(), size(), keys(), values().

April 24, 2014

Earth Engine JavaScript Client Library
0.1.27
  • Rename ComputedObject.cast() to castInternal() to avoid conflict with the upcoming Image.cast() and ImageCollection.cast().
  • Stopped assuming keyword args when a function's first arg is a dictionary.
  • Improved consistency in type casting of different classes.
  • Fixed Element variable promotion.
  • Started allowing ComputedObjects in Image.select() override wrapper.
Earth Engine Python Client Library
0.1.27
  • Fixed Element variable promotion.- Improved consistency in type casting of different classes.
  • Fixed Element variable promotion.
Earth Engine Server
  • Added image collection casting utilities including Image.bandTypes(), Image.cast() and ImageCollection.cast(). Also made PixelType() idempotent and adds the following methods:
    • PixelType.uint8()
    • PixelType.uint16()
    • PixelType.uint32()
    • PixelType.int8()
    • PixelType.int16()
    • PixelType.int32()
    • PixelType.int64()
    • PixelType.float()
    • PixelType.double()
  • Made Image.paint() respect line width for LineStrings.

April 14, 2014

Earth Engine Server

Added collection.flatten() to flatten collections of collections.

April 07, 2014

Earth Engine JavaScript Client Library
0.1.25

Bugfixes for MapProjection.

Earth Engine Server
  • Remove the old Join API, deprecated Dec 2013. Includes Collection.innerJoin, Collection.groupedJoin and JoinCollections.
  • Bugfixes for MapProjection.
  • Bugfixes for Image.geometry().
  • Add ee.List.map(), a method for mapping a function over the elements of ee.List objects.
  • Changed geometry encoding in FeatureCollection export to be more GeoJson compatible.
  • Bugfixes for MapProjection.
  • Bugfixes for Image.geometry().

April 01, 2014

Earth Engine Server

Fixed several minor errors around image geometry and property propagation.

March 28, 2014

Earth Engine JavaScript Client Library
0.1.24

Improved automatic type casting logic and error messages.

Earth Engine Python Client Library
0.1.24

Improved automatic type casting logic and error messages.

Earth Engine Server
  • Added support for ImageCollections containing images with different band types. To use these in contexts that expect consistent band types (e.g. ImageCollection.mosaic()), the image bands must be manually cast to the right type within a mapped function.
  • Added a rich set of methods to the List class.
  • Added a SelectorSet() constructor.
  • Fixed image bounding box calculations in Image.clip() and Image.mask().
  • Fixed normalization of geometries loaded from Fusion Tables.
  • Fixed Image.mask() to ignore the masked pixels of an applied mask image.

March 20, 2014

Earth Engine Server
  • Added new algorithm Image.bitwiseNot().
  • Added camel-case aliases Image.firstNonZero() and bitwise operators (Image.bitwiseAnd()).
  • Added cast aliases on the primitive Number type (e.g. Number.toByte()) to match those on Image.

March 14, 2014

Earth Engine Server
  • Launch the CSV Download servlet.
  • Added Image.bilinearSample
  • Make VisualizationImage a little nicer, accepting either a list or a single value for all visualization parameters.
  • Fix bug in BinaryMath where only the type of the left argument is considered.

March 10, 2014

Earth Engine JavaScript Client Library
0.1.21

Added filename argument for feature collection CSV download.

Earth Engine Server
  • Fixed errors when applying number filters where some values are null.
  • Fixed specifying image 'dimensions' in ee.Image.getDownloadUrl().

February 24, 2014

Earth Engine Server
  • Fixed bug in ee.FeatureCollection.getDownloadURL() breaking on some special characters.
  • Fixed bug that caused ee.Date.getFraction('year') to return (slightly) incorrect values between March and December of a leap year or the year before a leap year.

February 18, 2014

Earth Engine JavaScript Client Library
0.1.19
  • Changed the missing end bound in the DateRange constructor to mean start bound + 1ms, not infinity.
  • Started to consistently interpret DateRange upper bounds as exclusive.
Earth Engine Python Client Library
0.1.19
  • Changed the missing end bound in the DateRange constructor to mean start bound + 1ms, not infinity.
  • Started to consistently interpret DateRange upper bounds as exclusive.
Earth Engine Server
  • Changed Image.focal_median - it now rounds averaged medians rather than truncating them.
  • Added Image.connectedComponents, which labels pixel clusters depending on connectedness defined by a kernel.
  • Added ee.Reducer.frequencyHistogram and ee.Reducer.first.
  • Added alpha band to Images exported to Google Maps Engine. The band is generated as the minimum of the masks of all bands of the Earth Engine image. The Earth Engine image must have exactly one or three bands when exporting to GME; other images will now cause the export to fail.
  • Improved performance of queries that include large numbers of mapped functions or Image.expression calls.

February 13, 2014

Earth Engine JavaScript Client Library
0.1.18

Added an ee.Projection class to represent map projections.

Earth Engine Python Client Library
0.1.18

Added an ee.Projection class to represent map projections.

Earth Engine Server
  • Added an Image.bandNames() function to return the bands of an image.
  • Added an Image.projection() function to return the projection of an image.
  • Added a Projection.nominalScale() function to return the nominal scale of a projection in meters.
  • In Image.connectedPixelCount(), set the upper limit of maxSize to 1024 pixels.
  • Correctly detect Fusion Tables with multiple columns of the same name.

February 06, 2014

Earth Engine JavaScript Client Library
0.1.17
  • Fixed inconsistent promotion logic for ee.Date parameters.
  • Fixed initialization failure when both synchronous and asynchronous paths are used.
Earth Engine Python Client Library
0.1.17

Fixed inconsistent promotion logic for ee.Date parameters.

Earth Engine Server
  • Fixed date filters failing on collections loaded from Fusion Tables.
  • Fixed ee.Join failing when only a subset of fields from the result is requested.
  • Fixed ImageCollection geometry filtering failing when given a degenerate (point-sized) rectangle.

January 29, 2014

Earth Engine Server

Fixed range filters on Fusion Tables collections.

January 22, 2014

Earth Engine Server

Add Image.reduceRegions(), which augments each feature in a collection with the result of applying a reducer over the area of that feature.

January 09, 2014

Earth Engine Server
  • Updated min and max reducers to support ordered non-numeric types, such as strings.
  • Deprecated Image.get() and Feature.get() in favor of Element.get().
  • Added a maxError parameter to Geometry.convexHull() and Feature.convexHull() to control the error tolerance when computing a convex hull in a particular projection.
  • Empty DateRange objects (end <= start) now preserve their start and end times.
  • Fixed handling of some edge cases in Geometry.convexHull() and Feature.convexHull().

December 20, 2013

Earth Engine JavaScript Client Library
0.1.14

Added ee.Element, a base class for ee.Image and ee.Feature.

Earth Engine Python Client Library
0.1.14

Added ee.Element, a base class for ee.Image and ee.Feature.

Earth Engine Server
  • Added a new ee.Join API to replace the now-deprecated Collection.innerJoin() and Collection.groupedJoin().
  • Re-enabled the Landsat.surfaceReflectance() algorithm.
  • Re-enabled the L5_L1T_SR and L7_L1T_SR collections.
  • Deprecated Image.set() and Feature.set() in favor of Element.set(). This change should only be relevant for users of ee.call() and ee.apply().
  • Changed LedapsSurfaceReflectance to work on single images instead of collections.
  • Fixed Image.convolve() for use in map().

December 04, 2013

Earth Engine Python Client Library
0.1.12

Improved the documentation for the AppEngine "Hello World" example.

November 19, 2013

Earth Engine JavaScript Client Library
0.1.11
  • Added several examples for usage of new variable-size kernels.
  • Added an example for usage of the updated ReduceRegion algorithm.
  • Added an example for usage of a Mode reducer with a kernel given in meters.
  • Changed all reducer examples to match the Web API's switch to new reducers.
  • Improved documentation of the ee.data.send_() method.
  • Fixed client issues arising from the usage from a Caja JavaScript sandbox.

October 29, 2013

Earth Engine Server
  • Improved performance of certain ImageCollection queries.
  • Changed pixel type descriptions to be simpler for common cases.
  • Removed support for the deprecated v1 JSON API.

October 24, 2013

Earth Engine Server
  • Added a "units" argument to most ee.Kernel constructor methods that allows specifying kernels in meters.
  • Changed Collection.map() to allow dropping elements by returning null.
  • Removed the 5000 image limit when enumerating image collections, although overall performance is largely unchanged.

October 19, 2013

Earth Engine Server
  • Added schema description to the result of FeatureCollection.getInfo().
  • Added DocID and table name to the properties of FeatureCollection loaded from Fusion Tables.
  • Deprecated Function.bind(). Binding should now always be done on the client side.

October 14, 2013

Earth Engine JavaScript Client Library
0.1.9
  • Added an ee.Number class.
  • Added ee.Geometry.type().
  • Added ee.ImageCollection.select(), equivalent to mapping Image.select() over a collection.
  • Removed ee.Collection.map_*() functions. Use ee.Collection.map(someJavaScriptFunction).
  • Fixed ee.Image.set() and ee.Feature.set() to stop requiring {'properties': ...} wrapping.
Earth Engine Python Client Library
0.1.9
  • Added ee.Geometry.type().
  • Added ee.ImageCollection.select(), equivalent to mapping Image.select() over a collection.
  • Removed ee.Collection.map_*() functions. Use ee.Collection.map(somePythonFunction).
  • Fixed ee.Algorithms entries referring to incorrect algorithms.
  • Fixed ee.Image.set() and ee.Feature.set() to stop requiring {'properties': ...} wrapping.
Earth Engine Server
  • Added Image.randomVisualizer().
  • Changed Collection.map() to run mapped functions in parallel.
  • Changed Collection.map() to no longer take dynamicArgs, constantArgs, and destination arguments.
  • Changed Collection.limit() to allow a 0 limit. Useful to query for the collection metadata without fetching any objects.
  • Removed support for ClientLogin authentication (previously deprecated).
  • Fixed Image.glcmTexture() to stop returning NaN for homogeneous regions.
  • Fixed error messages when API calls receive null images.

October 02, 2013

Earth Engine Server
  • Added a tileScale parameter to Image.reduceRegion().
  • Improved the error messages produced by Image.metadata().
  • Fixed a bug which could cause an "incompatible type" error when two Collection.map() calls with different input types appeared in the query.
  • Fixed a bug that could cause aggregation results to be lost, resulting in failed downloads or map tiles.
  • Fixed a bug that caused ImageCollection.getRegion() to fail on large collections.

September 30, 2013

Earth Engine JavaScript Client Library
0.1.8
  • Added support for automatically casting numbers to dates (interpreted as Unix timestamps).
  • Added ee.Deserializer, which can decode the output of ee.Serializer.
  • Improved ee.initialize() to allow multiple asynchronous initialization calls followed by a synchronous call.
  • Fixed handling of GeoJSON CRS specification in ee.Geometry.
  • Fixed accidental aggregation cache breaking in Collection.map().
  • Fixed the example scripts to explicitly specify date timezones, rather than use the client's local timezone.
Earth Engine Python Client Library
0.1.8
  • Added support for automatically casting numbers to dates (interpreted as Unix timestamps).
  • Added ee.Deserializer, which can decode the output of ee.Serializer.
  • Fixed handling of GeoJSON CRS specification in ee.Geometry.
  • Fixed accidental aggregation cache breaking in Collection.map().
Earth Engine Server
  • Changed the asset loading policy to prevent loading assets using non-constant strings.
  • Improved performance of requests containing deeply-nested queries.
  • Fixed an internal error encountered when mapped functions reached a certain size.
  • Fixed an error when a streaming download was attempted with format set to "jpeg".
  • Fixed an error that could make rerunning a timed out aggregation to start from scratch rather than pick up where the last attempt stopped.
  • Fixed FMask.matchClouds() to propagate the input footprint.

September 19, 2013

Earth Engine JavaScript Client Library
0.1.7

Changed API functions to support keyword arguments - if a single, class-less JavaScript Object is passed to an API function, its keys are interpreted as keyword arguments.

Earth Engine Server
  • Increased the maximum tile zoom level from 20 to 21.
  • Changed Image.trainClassifier() to explicitly disallow unscaled WGS84 images and improved the resulting error message.
  • Changed Image.clip() to preserve input metadata.

September 13, 2013

Earth Engine JavaScript Client Library
0.1.7

Fixed a regression introduced in the previous update that could cause incorrect serialization.

Earth Engine Python Client Library
0.1.7
  • Added type declarations for ee.data methods, so it can be used in Closure-compiled code.
  • Changed the interface of ee.CustomFunction() to require a function signature.
  • Fixed a regression introduced in the previous update that could cause incorrect serialization.
Earth Engine Server
  • Updated algorithm naming to be more consistent:
  • Renamed a number of algorithms. The old names are deprecated.
  • LandsatPathRowLimit() -> Landsat.pathRowLimit()
  • LandsatTOA() -> Landsat.TOA()
  • LANDSAT/CalibratedRadiance() -> Landsat.calibratedRadiance()
  • LedapsSurfaceReflectance() -> Landsat.surfaceReflectance()
  • SimpleLandsatCloudScore() -> Landsat.simpleCloudScore()
  • TranslateLandsatMetadata() -> Landsat.translateMetadata()
  • SimpleLandsatComposite() -> Landsat.simpleComposite()
  • ReduceToVectors() -> Image.reduceToVectors()
  • ClassifyImage() -> Image.classify()
  • TrainClassifier() -> Image.trainClassifier()
  • Filter.equals() -> Filter.eq()
  • Filter.notEquals() -> Filter.neq()
  • Filter.lessThan() -> Filter.lt()
  • Filter.lessThanOrEquals() -> Filter.lte()
  • Filter.greaterThan() -> Filter.gt()
  • Filter.greaterThanOrEquals() -> Filter.gte()
  • Filter.listContains() -> Filter.inList()
  • Math.\<any method>() -> Number.\<same method>()
  • Removed a number of old deprecated algorithm aiases.
    • LANDSAT/LandsatTOA(). Use Landsat.TOA().
    • Reproject(). Use Image.reproject() instead.
    • SimpleMosaic(). Use ImageCollection.mosaic() instead.
    • QualityBandMosaic(). Use ImageCollection.qualityMosaic() instead.
    • SelectBands(). Use Image.select() instead.
    • ExtractGeometry(). Use Collection.geometry() instead.
    • Filter.arrayContains(). Use Filter.inList() instead.
  • Deprecated a number of algorithm aliases.
    • ProjectionTransform(). Use Feature.transform() instead.
    • DropDuplicates(). Use Collection.distinct() instead.
    • MapAlgorithm(). Use Collection.map() instead.
    • JoinCollections(). Use Collection.join() instead.
    • UnionFeatureCollection(). Use Collection.union() instead.
    • DrawVector(). Use Collection.draw() instead.
    • Constant(). Use Image.constant() instead.
  • Added FeatureCollection.classify().
  • Added a tileSize argument to Image.reduceToVectors().
  • Changed Image.mask() to preserve the input's metadata.
  • Improved performance of Image.glcmTexture().
  • Fixed incorrect handling of polygons that cross the anti-meridian.

September 06, 2013

Earth Engine JavaScript Client Library
0.1.6

Optimized the performance of queries that involve repeated sub-queries.

Earth Engine Python Client Library
0.1.6

Optimized the performance of queries that involve repeated sub-queries.

Earth Engine Server
  • Improved performance of queries that involve a large number of small image operations.
  • Fixed incorrect point limit calculation in ImageCollection.getRegion().

August 30, 2013

Earth Engine JavaScript Client Library
0.1.5
  • Added a String class to represent computations that return string values.
  • Fixed Geometry methods not being present on computed geometries.
Earth Engine Python Client Library
0.1.5
  • Restored compatibility with Python 2.6.
  • Added a String class to represent computations that return string values.
  • Fixed Geometry methods not being present on computed geometries.
Earth Engine Server
  • Added Image.geometry(), which returns the image's footprint.
  • Added Image.get() and Image.set() to get and set image metadata, respectively.
  • Added If(), which allows expression lazy conditionals.
  • Added IsEqual(), which compares two objects.
  • Added a number of string manipulation methods:
    • String(), which casts a number to a string.
    • String.cat(), which concatenates two strings.
    • String.index() and String.rindex(), which search within a string.
    • String.length(), which calculates string length.
    • String.match(), which matches a regex against a string.
    • String.replace(), which replaces substrings hat match a regex.
    • String.slice(), which returns a specified substrings.
    • String.split(), which splits a string by a regex.
  • Removed the deprecated Feature.setProperty() alias of Feature.set().

August 21, 2013

Earth Engine Server
  • Added support for arbitrary geometry in the training region for Image.trainClassifier().
  • Improved error messages shown when null arguments are passed to certain methods.
  • Improved error message about queries that require processing too many images.
  • Fixed a bug that could cause filters to be ignored in certain mapped collections.

August 15, 2013

Earth Engine Python Client Library
0.1.4

Fixed handling of ascending=False in Collection.sort().

Earth Engine Server
  • Fixed handling of Landsat 5 metadata in ee.Algorithms.SimpleLandsatCloudScore() and ee.Algorithms.SimpleLandsatComposite().
  • Fixed a bug in geometry tessellation near projection singularities (e.g. poles).
  • Removed support for defining ImageCollections using the "creator" field in the deprecated JSON API.

August 07, 2013

Earth Engine Server
  • Added Collection.first(), which returns the first element of a collection.
  • Changed the thumbnail endpoint to flip the Y axis of the default WGS84 projection.
  • Fixed an error message for unrecognized parameters being passed to certain methods.

July 31, 2013

Earth Engine Server
  • Added support for hex (0x12AB) and binary (0b0110) literals in Image.expression().
  • Changed the image division operator to always use float rather than integer division.
  • Removed the "system:index" property from GeoJSON Features.
  • Removed auto-tessellation of geodesic GeoJSON geometries on output.
  • Deprecated ExtractGeometry(). Use Collection.geometry() instead.
  • Fixed ImageCollection filtering on non-system properties.

July 24, 2013

Earth Engine JavaScript Client Library
0.1.3

Improved error messages returned when a request times out.

  • Added support for calling unbound algorithms using ee.Algorithms.algorithmName(...).
  • Added support for passing key data in addition to key filenames to ee.ServiceAccountCredentials().
Earth Engine Python Client Library
0.1.3
  • Added support for calling unbound algorithms using ee.Algorithms.algorithmName(...).
  • Added support for passing key data in addition to key filenames to ee.ServiceAccountCredentials().
Earth Engine Server
  • Fixed geometry corruption for 3-point Fusion Table polygons.
  • Fixed severe performance issue when filtering the results of mapping Feature.get().
  • Improved the performance of Image.pixelArea().
  • Improved documentation for Collection.groupedJoin().
  • Improved error message for Collection.filter().
  • Changed Collection.aggregate() methods to skip missing property values.

July 18, 2013

Earth Engine Server
  • Fixed an error that would cause classified image downloads to occasionally fail.
  • Fixed an error when trying to download images with an alpha channel in JPEG format.
  • Fixed incorrect handling of disjoint multi-polygon intersection.
  • Fixed a small precision bug in polyline distance calculations.
  • Fixed ID propagation when merging collections.

July 11, 2013

Earth Engine Server
  • Fixed the type name of Reducers.
  • Fixed ReduceToVectors() dropping all but the last polygon in multi-polygon vectors.
  • Fixed an error message in ReduceToVectors() when non-integer labels are supplied.
  • Fixed an error in Image.pixelArea() at low zoom levels.

July 03, 2013

Earth Engine JavaScript Client Library
0.1.2

Added support for the geodesic field in GeoJSON to differentiate geodesic and projected lines.

Earth Engine Python Client Library
0.1.2

Added support for the geodesic field in GeoJSON to differentiate geodesic and projected lines.

Earth Engine Server

Removed the system:link field from assets.

June 26, 2013

Earth Engine Server
  • Added Dictionary.get() and List.get() to get elements of dictionaries and lists.
  • Added an "id" attribute for GeoJSON Features fetched from collections.
  • Fixed dropping of empty "properties" attribute in GeoJSON Feature output.
  • Fixed an internal server error caused by training data containing NaNs.

June 24, 2013

Earth Engine Server
  • Added support for Landsat 8 images to LandsatTOA().
  • Added Image.copyProperties(), which copies the properties of one image to another.
  • Added FeatureCollection.trainClassifier() which allows training a classifier with features from a collection.
  • Renamed TrainClassifier() to Image.trainClassifier(). The old name is deprecated.
  • Fixed parsing of negative numbers in non-Image method arguments within Image.expression() strings.

June 05, 2013

Earth Engine JavaScript Client Library
0.1.2

Added an ee.Kernel class.

Earth Engine Python Client Library
0.1.2

Added an ee.Kernel class.

Fixed reading of binary auth keys on Windows.

Earth Engine Server
  • The main geometry property in a Feature now has a property name.

May 31, 2013

Earth Engine Server

Improved an error message in binary band math operators.

Added method name annotations to error messages.

May 22, 2013

Earth Engine Server
  • Removed the deprecated LimitFeatureCollection() alias for Collection.limit().
  • Added Math.*() methods to operate on primitives (e.g. in mapped functions). WARNING: These are likely to be renamed in an upcoming push.
  • Added ReduceToVectors(), which runs a reducer across all homogeneous regions in an image.
  • Fixed an internal error in Image.reduceBands() when passed an image with zero bands.
  • Fixed the behavior of Collection.limit() where if the result was drawn, the limit would apply on each tile separately.
  • Fixed usage of Feature.get() inside mapped functions.

May 15, 2013

Earth Engine JavaScript Client Library
0.1.1
  • Added ee.Image.getThumbURL().
  • Added ee.Filter.inList(), a convenience for ee.Filter.listContains().
  • Changed ee.Image.getDownloadURL() to generate full rather than relative URLs.
  • Changed ee.Geometry.Point() to accept (x, y) arrays.
  • Changed the ee.Image constructor to allow calling with no arguments, returning the equivalent of ee.Image(0).mask(0).
  • Deprecated ee.Collection.map_*() functions. Use ee.Collection.map(someJavaScriptFunction).
  • Fixed type promotion of nulls and zeroes.
Earth Engine Python Client Library
0.1.1
  • EE objects can no longer be initialized by providing JSON blocks (except GeoJSON). All of these can be converted to the new format using ee.call() and ee.apply().
  • Collection.aggregate_*() functions no longer perform automatic server fetches. Users will need to call getInfo() on the result manually.
  • The string representation of EE objects can no longer be passed to eval() to recreate the object.
  • Added a new class, ee.Geometry, that represents GeoJSON geometries.
  • Added ee.Image.getThumbUrl().
  • Added ee.Filter.inList(), a convenience for ee.Filter.listContains().
  • Changed ee.Geometry.Point() to accept (x, y) tuples/lists.
  • Changed the ee.Image constructor to allow calling with no arguments, returning the equivalent of ee.Image(0).mask(0).
  • Changed API version to 0.1.1.
  • Moved Filter functions onto ee.Filter as static methods.
  • Switched to a new, better optimized wire encoding of queries.
  • Deprecated ee.Collection.map_*() functions. Use ee.Collection.map(somePythonFunction).
Earth Engine Server
  • Removed the deprecated Feature.setProperties() method. Use Feature.set() instead.
  • Added Feature.get().
  • Added FeatureCollection.randomPoints().
  • Added world files to image downloads.
  • Renamed Constant() to Image.constant(). The old name is deprecated.
  • Improved performance of queries that include multiple asset lookups.
  • Fixed an Image.distance() regression.
  • Fixed an error message when enumerating image collection queries that return over 5000 items.
  • Fixed an internal server error when querying large Fusion Tables with no limit.

May 02, 2013

Earth Engine Server

Removed old deprecated algorithms: Image.combineBands(), CombineBands(), Image.normalized_difference(), CombineCollectionBands(), LonLat(), SetProperties() and Feature.update().

  • Renamed Filter.arrayContains() to Filter.listContains(). The old name is deprecated.
  • Fixed clamping of Landsat EVI images.
  • Fixed an Image.distance() regression.
  • Fixed minor reprojection precision errors that happened during image collection compositing.

April 25, 2013

Earth Engine JavaScript Client Library
0.0.6

EE objects can no longer be initialized by providing JSON blocks (except GeoJSON). All of these can be converted to the new format using ee.call() and ee.apply().

Collection.aggregate_*() functions no longer perform automatic server fetches. Users will need to call getInfo() on the result manually.

The result of the toString() function of EE objects can no longer be passed to eval() to recreate the object.

  • Added a new class, ee.Geometry, that represents GeoJSON geometries.
  • Moved Filter functions onto ee.Filter as static methods.Switched to a new, better optimized wire encoding of queries.
Earth Engine Server
  • Changed OAuth2 authentication to no longer require an extra scope to access Google Maps Engine assets.
  • Improved performance of date/time filtering.
  • Improved performance of large queries whose call tree has a large number of shared subtrees.
  • Fixed Image.expression() calls sometimes failing within a Collection.map() call.
  • Fixed several mistakes in the return types of API functions.

April 17, 2013

Earth Engine Server
  • Changed unary image operations to pass through the metadata of the input to the output.
  • Changed OAuth2 token verification to no longer require the Earth Builder scope to access Google Maps Engine assets.
  • Fixed behavior of Image.glcmTexture() inside mapped functions.
  • Fixed error messages when calling user-defined Earth Engine functions with invalid arguments.
  • Fixed grouped joins involving ImageCollections.

April 10, 2013

Earth Engine Server
  • Fixed handling of differently formatted SPACECRAFT_IDs in LandsatTOA.
  • Fixed projection failures that happened near the edges of the MODIS Sinusoidal projection.
  • Fixed an internal server error when filtering image collections by nonexistent IDs.
  • Fixed handling of null regions in Image.reduceRegion().

April 06, 2013

Earth Engine Server

Changed LandsatTOA() band order to be the same as the regular Landsat images.

Changed thumbnail sizing behavior when only a single size is specified: now it is used as a max size.

Improved error messages that mention image and band types.

Fixed ImageCollection.reduce() behavior when a zero-band image is passed in.

March 28, 2013

Earth Engine Server
  • Added Collection.reduceToImage(), an algorithm for reducing a set of Features that intersect each pixel.
  • Added Geometry methods that mirror the existing Feature methods.
  • Fixed several corner cases when handling near-global images.
  • Fixed the error message shown when a Fusion Table can't be found.
  • Fixed treatment of numeric results returned from function calls in Image.expression().

March 25, 2013

Earth Engine Server
  • Added Image.parseExpression(), a method similar to Image.expression() which returns a custom function. Most users should not need to use this directly.
  • Fixed the usage of Image.expression() inside mapped functions.
  • Fixed regression in decoding of a deprecated way to encode filtered ImageCollections (via start_time and end_time properties).
  • Fixed LandsatTOA to accept ETM+ scenes whose SENSOR_ID is simply "ETM", such as LE72332482008177ASN00.
  • Fixed error message formatting when user input includes nulls.

March 14, 2013

Earth Engine JavaScript Client Library
0.0.5

Deprecated specifying API objects using custom JSON (e.g. specifying error margins using {type: 'ErrorMargin', value: 5}). Support will be removed in the next library update.

Earth Engine Python Client Library
0.0.5

Deprecated specifying API objects using custom JSON (e.g. specifying error margins using {type: 'ErrorMargin', value: 5}). Support will be removed in the next library update.

Earth Engine Server
  • Added a static Image.load(id, version) method, which is equivalent to ee.Image(id).
  • Added a static ImageCollection.load(id, version) method, which is equivalent to ee.ImageCollection(id).
  • Added a static ImageCollection.fromImages(images) method, which is equivalent to ee.ImageCollection(images).
  • Changed Feature() to allow null metadata, interpreted as an empty dictionary.
  • Changed PixelType() to allow half-open ranges.
  • Changed MapProjection() to no longer have a wkt parameter. The crs parameter now allows both CRS ID codes and WKT strings.
  • Changed Image.stats() to allow calculations in the image's native projection and increased the maximum number of samples to 100 million.
  • Changed LandsatTOA() to handle L4 images as well as TM, ETM and ETM+ SENSOR_IDs.
  • Changed LandsatTOA() L5 coefficients from:
    • Chander, Gyanesh, Brian L. Markham, and Dennis L. Helder. "Summary of current radiometric calibration coefficients for Landsat MSS, TM, ETM+, and EO-1 ALI sensors." Remote sensing of environment 113.5 (2009): 893-903.
  • Removed support for specifying classifications using custom JSON. The TrainClassifier() and ClassifyImage() methods provide equivalent features.
  • Fixed error messages of methods that take Lists/Dictionaries of images when non-Image arguments are passed to them.
  • Fixed Collection.loadTable().

March 05, 2013

Earth Engine Server

Fixed Filter.calendarRange().

February 20, 2013

Earth Engine Server
  • Raised request size limit from 256KB to 4MB. Fixed support of band names containing colons.support of band names containing colons.

Fixed support of band names containing colons.

February 13, 2013

Earth Engine JavaScript Client Library
0.0.5

Fixed the Feature constructor to accept null geometries.

Earth Engine Python Client Library
0.0.5

Fixed the Feature constructor to accept null geometries.

Earth Engine Server

Added LandsatTOA(), which is used to calculate Landsat top-of-atmosphere reflectance and brightness temperature.

Added Image.connectedPixelCount(), which annotates pixels with the number of equal neighbors.

Changed the HTTP error code on requests that exceed the user's quota from 503 to 403.

Improved performance of operations that refer to the same FeatureCollection multiple times.

Fixed statistical Reducers failing on floating point images.

Fixed an Internal Server Error being thrown when a 3D CRS is passed to Earth Engine.

February 06, 2013

Earth Engine JavaScript Client Library
0.0.5

Removed ImageCollection.combine_(), an internal method used to implement ImageCollection.mosaic().

Earth Engine Python Client Library
0.0.5

Removed ImageCollection.combine_(), an internal method used to implement ImageCollection.mosaic().

Earth Engine Server

Renamed SetProperties() to Feature.setProperties(). The old name is deprecated.

Removed the undocumented WrappedFeatureCollection function.

January 31, 2013

Earth Engine JavaScript Client Library
0.0.5

Fixed listing of static methods in the playground docs.

Added support for fetching algorithm results using getInfo() for algorithms that return numbers, tables, and other non-geo objects. This may break scripts that relied on manually editing JSON produced by these algorithms and submitting it to ee.data.getValue().

Added support for calling static API methods using the ClassName.methodName() syntax.

Removed ImageCollection.mosaic_(), an internal method used to implement ImageCollection.mosaic().

Fixed ImageCollection.reduce() so it can be called as an instance method.

Fixed serialization of Collections with multiple filters.

Fixed listing of static methods in the playground docs.

Earth Engine Python Client Library
0.0.5

Added support for fetching algorithm results using getInfo() for algorithms that return numbers, tables, and other non-geo objects. This may break scripts that relied on manually editing JSON produced by these algorithms and submitting it to ee.data.getValue().

Added support for calling static API methods using the ClassName.methodName() syntax.

Removed ImageCollection.mosaic_(), an internal method used to implement ImageCollection.mosaic().

Fixed ImageCollection.reduce() so it can be called as an instance method.

Fixed serialization of Collections with multiple filters.

Fixed listing of static methods in the playground docs.

Earth Engine Server

Fixed the performance of queries referencing a Fusion Table multiple times.

Added Image.reduceRegion() which applies a reducer to all the pixels in a specific region. See the Unbound section in the playground Docs tab for examples of reducers (e.g., Reducer.sum(), Reducer.mean()).

Added ImageCollection.qualityMosaic() to composite a collection using a quality band.

Renamed LimitFeatureCollection() to Collection.limit(). The old name is deprecated.

Renamed LonLat() to Image.pixelLonLat(). The old name is deprecated.

Deprecated Image.normalized_difference(). Use Image.normalizedDifference() with Image.addBands() instead.

January 24, 2013

Earth Engine JavaScript Client Library
0.0.4
Earth Engine Python Client Library
0.0.4

Fixed a bug that caused failing queries to raise NameError rather than EEException.

Earth Engine Server

Fixed Collection.filter() to no longer cause an Internal Server Error. It is now preferred over FilterFeatureCollection().