API Changelog

Stay organized with collections Save and categorize content based on your preferences.

2022-11-17

Web API

2022-11-02

Python API (v0.1.330)

  • Updated the HTTP client library in the Python client from httplib2 to requests, which re-adds support for multi-threading following the httplib2shim removal.
  • Improved Python ee.Authenticate() error messages to give more guidance, and fixed bugs.

2022-10-01

Web API

  • 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?

2022-09-28

Python and JavaScript API (v0.1.326)

  • 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.
  • Refactored ee.data.getList() and ee.data.listImages() to call through to ee.data.listAssets() exclusively.

2022-08-17

Web API

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

2022-07-13

Python API (v0.1.317)

  • Added support for Python 3.10 by removing the dependency on httplib2shim.
  • Added a localhost auth mode and introduced a ee.oauth.Flow class for smoother integration with other client libraries.

2022-06-27

Google Cloud Platform

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

2022-06-27

Code Editor

  • BACKWARD INCOMPATIBLE 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.

2022-06-22

Python API (v0.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.

Web API

  • 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.

2022-05-27

Code Editor

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

Python API (v0.1.311)

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

2022-04-13

Python API (v0.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.

2022-03-31

Web API

  • BACKWARD INCOMPATIBLE 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.

2022-02-18

Code Editor

2022-01-06

Web API

  • Added ee.String.equals().

2021-12-13

Code Editor

  • 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.
  • 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.

2021-11-24

Web API

  • 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.
  • 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.

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.

2021-10-19

Code Editor

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

2021-09-15

Code Editor

2021-08-31

Web API

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

2021-08-12

Python and JavaScript API (v0.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.

2021-07-15

Python API (v0.1.273)

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

2021-06-24

Web API

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

2021-05-19

Web API

  • Added ee.Filter.hasType().

2021-05-12

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.

2021-04-29

Code Editor

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

JavaScript and Python API (v0.1.263)

  • Added support for maxVertices parameter for table exports.

2021-04-22

JavaScript API (v0.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.

2021-04-15

Web API

  • Added ee.List.unzip().

2021-04-01

Code Editor

  • Added a textDecoration property to ui.Widget.style().
  • Added ui.Checkbox.getLabel() and ui.Checkbox.setLabel() to get and set labels of ui.Checkbox.

2021-03-25

Web API

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

JavaScript API (v0.1.258)

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

2021-02-12

Web API

  • Added ee.Number.signum(), ee.Image.signum(), and ee.Array.signum().
  • Added a "RAW_REGRESSION" output mode to the smileRandomForest classifier.
  • Fixed a bug that could cause non-uniform sampling of points from small (less than 300m) polygons.

2021-01-20

JavaScript API (v0.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.

2021-01-19

Web API

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

2020-12-03

Web API

  • Added a step option to ee.List.slice().
  • Fixed double-to-float precision loss in ee.Image.arrayReduce().

2020-11-19

Web API

  • 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.

JavaScript API (v0.1.243)

  • BACKWARD INCOMPATIBLE Removed functionality from the JavaScript client library which is no longer needed after the legacy API turndown.
    • Removed ee.data.getCloudApiEnabled and ee.data.setCloudApiEnabled from the JavaScript client library.

Code Editor

  • Expanded ui.DateSlider to accept ee.Date object arguments. Improved ui.DateSlider sliding behavior, validation, and error reporting.
  • Fixed ui.root.onResize() so that the callback is not fired after the script is reset or replaced.

2020-11-12

Python API

  • BACKWARD INCOMPATIBLE 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.

2020-11-05

Web API

  • The randomColumn and randomImage algorithms now take an optional distribution argument, which may be "uniform" or "normal".
  • The loadGeoTIFF algorithm no longer rejects files with a Header ghost area, such as those written by recent versions of GDAL.

Code Editor

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

2020-10-29

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.

JavaScript API

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

Python API

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

2020-10-15

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.

JavaScript API

  • 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.

2020-09-25

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.

JavaScript and Python API

  • 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.

2020-09-11

Web API

  • 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.

2020-08-21

Web API

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

Python API

  • 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.

JavaScript and Python API

  • 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.

2020-07-07

Web API

  • 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.

2020-03-12

Web API

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

Python API

  • Fixed bug with getVideoThumbURL() and getFilmstripThumbURL().

2020-03-06

Code Editor

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

JavaScript API

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

Python API

  • ee.Image.getDownloadURL is fully supported in Cloud API mode.
    • NEW BEHAVIOR Band-level parameters take precedence over top-level parameters when specified.
    • NEW BEHAVIOR Band parameters are ignored for multiband GeoTIFFs.
    • BACKWARD INCOMPATIBLE image parameter may not be serialized, use an ee.Image directly.
    • BACKWARD INCOMPATIBLE id parameter is not accepted. Use the image parameter and an ee.Image directly.
    • BACKWARD INCOMPATIBLE Limits on total image size.
  • Added PKCE support to earthengine authenticate.

2020-02-21

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.

2020-01-30

Python API

  • 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.

Web API

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

2020-01-23

Code Editor

  • Drawn geometries displayed in Code Editor display in newly published Apps.
  • Now prompts for a Cloud Project when re-publishing an App.

JavaScript API

  • 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.

2020-01-09

Web API

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

2019-11-22

Code Editor

JavaScript API

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

2019-11-12

Web API

  • BACKWARD INCOMPATIBLE Changed the output bands produced by ee.Algorithms.TemporalSegmentation.Ccdc(). See the announcement on the developers list for details.
  • 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.

JavaScript API

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

Python API

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

Code Editor

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

2019-11-07

Web API

  • 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().

2019-10-23

Python API

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

JavaScript API

  • 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.

2019-09-13

Web API

  • 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.

Code Editor

  • Added support for uploading CSV files.

2019-09-05

Web API

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

2019-08-30

Python API

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

JavaScript API

  • Refactored networking routines into apiclient.js.

Code Editor

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

2019-08-09

Web API

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

2019-07-29

Code Editor

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

2019-06-13

Web API

  • Added ee.Array.argMax().

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.

2019-06-07

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.

2019-05-10

Code Editor

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

2019-04-03

Code Editor

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

Web API

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

2019-03-29

Web API

  • Added ee.ImageCollection.getVideoThumbURL().

2019-03-21

Web API

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

2019-03-15

Web API

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

Code Editor

2019-02-21

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.

2019-02-05

Web API

  • 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.

2019-01-17

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.

2019-01-10

Web API

  • Added ee.List.distinct().

2019-01-04

Code Editor

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

2018-12-07

Web API

  • 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.

2018-11-29

Web API

  • 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.

2018-11-15

Web API

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

2018-11-09

JavaScript and Python API (v0.1.159)

  • Ensure JS client library can resolve export regions.

2018-10-11

Web API

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

Code Editor

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

2018-10-04

Web API

  • 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.

2018-09-28

Web API

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

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).

JavaScript and Python API (v0.1.149)

  • Added and updated several UI API examples.

2018-09-14

Web API

  • 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.

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.

JavaScript and Python API (v0.1.148)

  • Updated examples.
  • Internal fixes.

2018-08-23

Web API

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

2018-08-17

Code Editor

  • Added ui.Map.unlisten().

Web API

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

2018-06-29

Web API

  • 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.

2018-06-22

Web API

  • 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.

2018-06-08

Web API

  • 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.

2018-05-18

Web API

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

2018-04-13

Code Editor

  • Fixed Cannot read property 'undefined' of undefined error.

Web API

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

2018-04-06

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()

2018-03-21

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).

2018-03-01

Web API

  • 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.

2018-02-07

Web API

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

2018-01-03

Web API

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

2017-12-20

Web API

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

2017-12-04

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.

2017-10-26

Web API

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

2017-10-19

Python API

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

2017-10-11

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.

2017-09-18

Web API

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

2017-08-28

Web API

  • 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).

2017-07-06

Web API

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

2017-06-29

Web API

  • 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).

2017-06-12

Web API

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

Code Editor

  • Added support for uploading shapefiles.
  • ui.Map.addLayer() now returns the ui.Map.Layer instance.
  • Fix issue filtering Examples tab.

JavaScript and Python API (v0.1.116)

  • Added support for uploading shapefiles.

2017-05-26

Web API

  • 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.

2017-05-17

Web API

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

2017-03-16

Web API

  • Enable setting properties on image collection and folder assets.

2017-03-02

JavaScript and Python API (v0.1.106)

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

JavaScript API (v0.1.106)

  • Added a Global Surface Water dataset tutorial to the examples.

Python API (v0.1.106)

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

2017-02-03

Python API

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

2017-01-11

Web API

  • 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.

2016-12-19

Web API

  • 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.

2016-12-08

Code Editor

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

2016-11-29

JavaScript API (v0.1.101)

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

2016-11-22

Web API

  • 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].

2016-11-18

Web API

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

2016-11-03

Web API

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

2016-10-27

JavaScript and Python API (v0.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.

2016-10-03

Web API

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

2016-09-29

Web API

  • 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.

JavaScript API (v0.1.97)

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

2016-09-22

Web API

  • 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.

Code Editor

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

JavaScript API (v0.1.96)

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

2016-09-16

Web API

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

2016-09-08

Code Editor

  • Added maxFrames parameter to Export.video.

2016-09-02

Web API

  • 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.

Code Editor

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

2016-08-24

Web API

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

2016-08-03

Web API

  • 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.

Code Editor

2016-07-28

JavaScript and Python API (v0.1.90)

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

Code Editor

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

2016-07-21

Code Editor

2016-07-13

Web API

  • 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.

2016-07-01

Web API

  • 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().

Code Editor

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

2016-06-13

Web API

  • 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.

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.

2016-06-02

Web API

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

JavaScript and Python API (v0.1.83)

  • Added computedObject.evaluate().

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().

2016-05-26

Web API

  • 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.

2016-05-18

JavaScript and Python API (v0.1.82), and Code Editor

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

2016-04-08

Web API

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

2016-03-31

Web API

  • 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.

2016-03-24

Web API

  • 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.

2016-03-17

Web API

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

2016-03-10

Web Code Editor

  • Added support for named arguments to the Charts API.

Web API

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

2016-02-26

Web 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.

2016-02-18

Web API

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

JavaScript API (v0.1.73)

  • Added throttling of asynchronous network requests.

Web Code Editor

  • Geometry drawing keyboard shortcuts now require holding the shift key.
  • Added a refresh button to the asset list.

2016-02-08

Web API

  • Add a bitCount operator.

2016-02-02

Web API

  • Added ee.Image.bitsToArrayImage().

Web Code Editor

2016-01-21

Web API

  • 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.

JavaScript API (v.0.1.72)

  • Disable exporting to GME.

Python API (v.0.1.72)

  • Disable exporting to GME.

2016-01-11

Web API

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

Web Code Editor

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

2016-01-06

Web API

  • Added ee.Image.pixelCoordinates(), a generalization of ee.Image.pixelLonLat().
  • Added ee.Dictionary.fromLists().
  • Added ee.Kernel.inverse().
  • Added ablity 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.

2015-12-10

Web API

  • 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.

2015-12-02

Web API

  • Added ee.Classifier.minimumDistance().

  • Deprecated ee.Classifier.mahalanobis().

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

Web Code Editor

  • Added support for tiled asset uploads with multiple files.

2015-11-25

Web API

  • 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().

2015-11-19

Web API

  • 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.

Web Code Editor

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

2015-11-13

Web API

  • 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.

Web Code Editor

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

2015-11-05

Web API

  • 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".

2015-10-29

Web API

  • 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.

2015-10-22

Web API

  • Improved the performance of negative geometry buffering.

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

  • Added Dictonary.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().

2015-10-16

Web API

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

2015-10-08

Web API

  • Updated Mahalanobis classifier to handle multiple classes.

Playground Web IDE

  • Added the ability to set pyramiding policy and fill value on uploaded assets.

2015-10-02

Web API

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

Playground Web IDE

  • Added support for asset renaming.
  • Resolved issue that prevented searching for "where".

2015-09-24

Web API

  • Added Collection.size() algorithm.
  • Added Classifier.explain() to describe results from training a classifier. Currently only returns details for Cart.

Playground Web IDE

  • Fixed a bug causing “Git protocol error” seen when saving scripts.

2015-09-10

Web API

  • 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.

2015-09-03

Web API

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

Playground Web IDE

  • Fixed bug in which ‘Clear Script’ was not closing the current script.

2015-08-27

Web API

  • 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.

Playground Web IDE

  • Added support for uploading files up to 10GB.
  • Fixed bug which broke chart popouts in Safari.

2015-08-19

Web API

  • 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".

2015-08-12

Web API

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

2015-08-07

Web API

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

Playground Web IDE

  • Added support for asset upload and management within the UI.
  • Added Visualization Dialog to the Layer Manager.

JavaScript & Python API

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

2015-08-01

Web API

  • 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().

Playground Web IDE

  • Fixed a bug that caused script saving to sometimes fail with an "Unknown error" message.

JavaScript API

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

2015-07-23

Web API

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

2015-06-26

Web API

  • Updated ee.(Feature|Image).geometry() to ee.Element.geometry().
  • Added dropNulls as a default to Image.sample.

Playground Web IDE

  • 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.

JavaScript & Python API

  • 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.

2015-06-19

Web API

  • 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.

Playground Web IDE

  • 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.

JavaScript & Python API

  • 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.

2015-06-04

Web API

  • 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).

Playground Web IDE

  • Added ee.data.authenticateViaPopup() and instructions on how to use it to avoid popup-blockers when doing client-side EE library authentication.

JavaScript & Python API

  • Allowed ee.MapLayerOverlays to be named.
  • Added an opt_dropNulls argument to Collection.map().

2015-05-30

Web API

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

JavaScript & Python API (v0.1.55)

  • Undeprecated ee.data.getInfo().

Playground Web IDE

  • Changed font to Roboto.

2015-05-22

Web API

  • 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.

2015-05-15

Web API

  • 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).

JavaScript & Python API (v0.1.54)

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

Playground Web IDE

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

2015-05-08

JavaScript & Python API

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

Playground Web IDE

  • 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.

2015-04-30

Web API

  • 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.

JavaScript & Python API

  • Added support for exporting videos.

Playground Web IDE

  • 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.

2015-04-23

Playground Web IDE

2015-04-10

Web API

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

JavaScript & Python API (v0.1.50)

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

Playground Web IDE

  • 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 gener