This page lists the major changes in each release of Google Apps Script in 2020. It's intended to help developers identify changes in behavior. For more recent changes, see the current year's release notes.
December 2020
December 7, 2020
The Apps Script integrated development environment, or IDE, has been fully redesigned. Along with a completely new interface, the following features have been updated:
- The editor now has a collapsible left sidebar to navigate to the Apps Script project overview, settings, executions, and triggers.
- The editor’s resources panel now includes files, advanced services, and libraries.
- Autoformatting has been added to the editor.
- Autocomplete in the editor has been enhanced to be faster, more consistent, and extends its support to user-defined functions and JavaScript language features. You can add JSDoc to your functions for better autocomplete suggestions.
- The editor now supports codeblock and function collapsing.
- Keyboard shortcuts and a Command Palette has been added to the editor. Press F1 to view the Command Palette and available keyboard shortcuts.
- The editor now includes a contextual right-click menu with options such as Go To Symbol, Rename Symbols, and Command Palette.
- Enhancements have been made to the debugger’s performance and speed.
- Logs now stream in real-time as you run a script.
- The deployments dialog auto-detects the deployment types from the script project’s manifest. You can change or add more types as needed.
- Deployments have been merged with versions. Each time you create a new
deployment, a new version is automatically created.
clasp
users are unaffected by this change. - A single deployment can be an add-on deployment , web app, library, or API executable. Any deployment can be used as a library.
- Now only one deployment can be active at a time. This change doesn’t affect
existing active deployments.
clasp
users are unaffected by this change. - You can no longer explicitly deactivate published web apps. Instead, delete the deployment that has the web app. To reactivate the web app, deploy it again.
- The debugger is no longer supported in the Rhino runtime. To use the debugger, migrate your script to the V8 runtime.
- Testing Editor Add-ons is not yet supported in this release and will be added in 2021. To test Editor Add-ons, switch back to the legacy IDE.
To switch back to the legacy IDE from within the editor, at the top, click Use legacy editor.
October 2020
October 23, 2020
An advanced service for Google Tables has been added to Apps Script. The Tables service allows scripts to programmatically read and edit rows within Tables.
September 2020
September 3, 2020
New classes and methods have been added to support Connected Sheets.
The following new classes have been added to the Spreadsheet service:
DataSourceChart
DataSourceColumn
DataSourceFormula
DataSourcePivotTable
DataSourceRefreshSchedule
DataSourceRefreshScheduleFrequency
DataSourceSheet
DataSourceSheetFilter
DataSourceTableColumn
DataSourceTableFilter
DateTimeGroupingRule
PivotGroupLimit
SortSpec
New methods to support Connected Sheets have been added to the following classes in the Spreadsheet service:
BigQueryDataSourceSpecBuilder
BigQueryDataSourceSpec
DataExecutionStatus
DataSourceTable
DataSource
EmbeddedChart
FilterCriteriaBuilder
PivotFilter
PivotGroup
PivotTable
PivotValue
Range
Sheet
SpreadsheetApp
Spreadsheet
August 2020
August 27, 2020
A new class called DecoratedText
has been added to the Card Service. DecoratedText
adds text
with optional decorations and was added to replace the KeyValue
class.
July 2020
July 27, 2020
To help simplify Google Drive’s folder structure and sharing models, new methods have been added to the Drive service and some existing methods have been deprecated.
The DriveApp
now has an
enforceSingleParent(value)
method that enables or disables enforceSingleParent
behavior.
The File
class now has the following
methods:
file.getTargetId()
: Gets a shortcut's file ID.file.getTargetMimeType()
: Returns the mime type of the item a shortcut points to.file.moveTo(destination)
: Moves a file to a specified destination folder.
The Folder
class now has the following
methods:
folder.createShortcut(targetId)
: Creates a shortcut to the provided Drive item ID, and returns it.folder.moveTo(destination)
: Moves an item to the provided destination folder.
The following Folder
class methods have
been deprecated:
addFile(File)
addFolder(Folder)
removeFile(File)
removeFolder(Folder)
June 2020
June 12, 2020
New methods have been added to the Spreadsheet service.
- The
RichTextValue
class now has aRichTextValue.getLinkUrl()
method that gets the URL of the specified value. - The
RichTextValueBuilder
class now has aRichTextValueBuilder.setLinkUrl()
method that sets the link URL for the specified value. - The
PivotTable
class now has aPivotTable.getSourceDataRange()
method that returns the source data range on which the pivot table is constructed. - The
PivotValue
class now has aPivotValue.remove()
method that removes the value from the pivot table.
April 2020
April 22, 2020
A new simple trigger, onSelectionChange(e)
,
has been added for Google Sheets. The onSelectionChange(e)
trigger runs
automatically when a user changes the selection in a spreadsheet.
April 2, 2020
The following has been added to the Spreadsheet service
- A new Drawing class has been added to support drawings.
- You can now get your drawings with the
Sheet.getDrawings()
method.
The following has been added to the Drive service
- There's a new
FILE_ORGANIZER
value in the Permission enum. If you haveFILE_ORGANIZER
permission on a shared drive, you can edit, trash, and move content within that drive.
February 2020
February 28, 2020
The following methods have been added to the
Spreadsheet service
to support the use of theme colors. Many of these methods duplicate the
effect of existing color methods, but let you use
Color
objects instead of strings
as parameters and return types:
- The
Banding
class now has 16 new methods that manipulate color in the banding columns and rows usingColor
objects. - The
BooleanCondition
class now has two new methods that retrieve the color of the condition's background and font asColor
objects. - The
ConditionalFormatRuleBuilder
class now has seven new methods that set color-based format rules usingColor
objects. - The
GradientCondition
class now has three new methods that retrieve condition colors asColor
objects. - The
Range
class now has eight new methods that get and set font and background colors usingColor
objects. - The
Sheet
class now has two new methods that get and set tab colors usingColor
objects. - The
Slicer
class now has two new methods that get and set the background color of the slicer usingColor
objects. - The
TextStyleBuilder
class now has aTextStyleBuilder.setForegroundColorObject(color)
method that updates the foreground color of the style builder using aColor
object. - The
TextStyle
class now has aTextStyle.getForegroundColorObject()
method that gets the foreground color of the style as aColor
object.
February 5, 2020
Apps Script now supports the V8 runtime. This enables modern JavaScript features and syntax in Apps Script. You can migrate existing scripts to use V8 and its features.
January 2020
January 21, 2020
To support the launch of G Suite Add-ons, the following manifest changes, service, classes, and methods have been added to Add-ons:
The add-ons manifest structure has been updated to provide configuration controls for G Suite Add-ons. All add-on manifest settings are specified in the
AddOns
object in the manifest.Manifest fields that previously supported Gmail add-ons still exist, but are now deprecated. See Upgrading your published add-ons for instructions on how to upgrade a Gmail add-on into a G Suite add-on.
The Card service has been extended with the following classes and methods that provide new widgets and event responses:
CalendarEventActionResponse
CalendarEventActionResponseBuilder
DatePicker
DateTimePicker
DisplayStyle
DriveItemsSelectedActionResponse
DriveItemsSelectedActionResponseBuilder
FixedFooter
SwitchControlType
TimePicker
CardBuilder.setDisplayStyle(displayStyle)
CardBuilder.setFixedFooter(fixedFooter)
CardBUilder.setPeekCardHeader(peekCardHeader)
CardService.newCalendarEventActionResponseBuilder()
CardService.newDatePicker()
CardService.newDateTimePicker()
CardService.newDriveItemsSelectedActionResponseBuilder()
CardService.newFixedFooter()
CardService.newTimePicker()
Switch.setControlType(controlType)
The Conference Data service has been added to Apps Script. The service helps G Suite Add-ons that extend Google Calendar to stay in sync with third-party conferencing applications. This service is only useful to developers who manage a conferencing application and want to make it available in Google Calendar.