This page lists the major changes in each release of Google Apps Script in 2011. It is intended to help developers identify changes in behavior. For more recent changes, see the current year's release notes.
December 2011
December 14, 2011
- Enabled Spreadsheet.show() in autocomplete.
- Fixed an issue with the debugger, where it would close when stepping into a function that is located in a different file.
- Added the ability to copy and paste from the Revision History.
- Added support for the Groups Services.
- Added support for the Domain Services.
- Added support for the AdSense Services.
November 2011
November 7, 2011
- Fixed an issue with Session.getTimezone() returning incorrect values.
- Fixed an issue with the Edit -> Find feature in the script editor.
- Added the Lock and Cache services.
- Added support for client handlers and validators.
September 2011
September 26, 2011
- Fixed an issue where an error occurred if an empty ListBox was used as a callback element.
- Added support for inlineImages when sending emails with MailApp.sendEmail().
- Added the Charts Services, which allow users to dynamically create charts and embed them in emails, UiApp, or export them as images.
- Added the Prediction Services, which allow users to access a cloud hosted machine learning service that makes it easy to build smart apps.
- Added the Tasks Services, which allow users to manage tasks and task lists.
- Added the UrlShortener Services, which let you create, inspect, and manage goo.gl short URLs.
August 2011
August 4, 2011
- Added support for ScrollPanel to the GUI Builder.
July 2011
July 25, 2011
- Added supports for projects in Apps Script.
- Fixed an issue where Xml.element failed if the child elements were XmlElements.
July 14, 2011
- Fixed an issue where GmailApp.getUserLabelByName() failed for label names that contained spaces.
May 2011
May 4, 2011
- Added the Gmail service.
- Added the Document service.
- Introduced the GUI Builder.
- When a script is published, text indicating that is added in the status bar of the script editor.
April 2011
April 15, 2011
- Fixed an issue with UiApp.getActiveApplication().setStyleAttribute() for 'cursor.'
- Added an appendRow() method to Spreadsheet.
March 2011
March 21, 2011
- Improved performance of the script editor. The editor can now handle large scripts without any issues in most major browsers.
- Improved the internal error handling of the Spreadsheet Service, so that fewer errors are received by users.
- Fixed a minor bug Script as a Service related to expired tokens.
- Binary files can be uploaded using FileUpload.
- Increased the timeout of UrlFetch to 30 seconds.
- Breakpoint in debugger now clears as expected.
- SpreadsheetApp.getActiveSheet() when executed in Installable onEdit returns the correct sheet name.
- Enhanced ListBox to function as a multi select ListBox.
- Fixed an issue with ServerClickHandler.addCallBackElement().
March 8, 2011
- Added a method in Utilities class that parses CSV text.
- Fixed an issue which improves performance of various Services.
- Fixed an issue with Authorization of scripts.
February 2011
January 21, 2011 to February 18, 2011
The following notes cover the changes released over the Jan 21 to Feb 18 release cycle.
- Introducing the Debugger! The debugger significantly enhances the ability of Apps Script users to debug their scripts. With the debugger, users can set breakpoints, inspect variables, step-in and step-out of functions.
- Added the ability for users to get the time zone of the script by calling Session.getTimeZone().
- Added the ability to get the folder by using DocsList.getFolderById().
- Added the ability to get the owner of a file or folder using File.getOwner().
- Added the ability to find files in a folder by using Folder.find().
- Added the ability to get the last updated date for a Sites page using Page.getLastEdited().
- Improved Contact Services with a complete rewrite.
- Implemented the ability to toggle auto indentation in the script editor.
- Added support for real hyperlinks (anchor tag).
- Added the ability to mark a File and Folder as Trashed using File.setTrashed() or Folder.setTrashed().
- Allowed continuation of Logger logs even after warning box or input box.
- Enabled JDBC connection to MS Access Database.
- Set focus to inputBox when it is displayed.
- Allow DocsList.getFileById() to take a spreadsheet ID and key.
- Enabled paging of documents retrieved using the DocsLists service.
- Fixed an issue with Contacts Service relating to OutofMemory.
- Allowed binary files in host attachments.
- Added a method to get the script's service URL.
- Fixed an issue with functions mixup when a spreadsheet is copied.
- Fixed an issue where an error message was always displayed after the script execution finished.
- Fixed an issue with script execution failure if the first sheet is deleted.
- Fixed the appearance of the warning panel in UI Services.
- Added the ability to retrieve the calendar on which a CalendarEvent was created.
- Fixed errors in spreadsheet functions that implicitly call Spreadsheet.getActiveSheet() or Spreadsheet.getActiveRange().
- Fixed search in the script gallery.
- Fixed an issue with UiInstance.close().
- Fixed an issue where Toolbar buttons weren't behaving as buttons.
- Fixed an issue where CalendarEvent.removeAllReminders() didn't remove all reminders.
- Allowed binary files in hosted attachments.
- Fixed an issue where events didn't work for scripts associated with Sites.
- e.user in onEdit no longer shows the user email.
- Implemented Comment.getAuthor() to get the author of the comment on a Sites Page.
- Fixed ReferenceError: "SpreadsheetApp" is not defined when executing SpreadsheetApp.getActiveSpreadsheet().
- Fixed an issue with Spreadsheet.getOwner() which was throwing errors.
- Provided a a better error message if a script doesn't exist.
- Fixed event triggering in Sites.
- Fixed sample code in Events page in the documentation.
- Allowed named values for onFormSubmit events in forms submitted by non Google Apps users.
- Fixed documentation to provide specification for date format for Utilities.formatDate().
- Fixed Reading Spreadsheet Tutorial by removing the button.
- Fixed failure of certain DocsList actions failing after resuming from a continuation.
- Prevent consumer account from viewing another account's email address using User.getEmail().
- ImplementedJDBC Connectivity for Oracle.
- Fixed an issue with saving scripts in IE8.
- Fixed a 403 Forbiden error in spreadsheet in UiApp.
- Ability to call Browser.msgBox() twice in one execution
- Fixed documentation errors for Utilities.
- Allowed number format from Range#getNumberFormats() for percentage and currencies.
- Implemented a method to get timezone of the user.
- Included the link to long form date format for locale.
- Fixed Session.getActiveUser() when running from the editor.
- Fixed an issue with multilogin breaking second Auth panel.
- Fixed an issue for cases where Browser.msgBox() no longer worked.
- Fixed an issue where log messages were no longer viewable.
- Truncated the size of a notification email on script failure.
- Allowed deleting column from Sites ListPage.
- Fixed e.source for onEdit, onOpen.
- Allowed DocsList.getFileById() to take both key types from Spreadsheet ID and DocsList ID.
- Fixed a bug when scripts are invoked twice when assigned to images.
- Fixed documentation to include Logger.getLog().
- Added the ability to add email addresses to contacts.
- Fixed issue of Range.setValue() flipping the month/day in dates in DD-MM-YYYY locales.
- Create a binding for UserKeyFormatter in Apps Script.
- Fixed time zone issues for scripts.
- Fixed UiInstance.setStyleAttribute() in scripts.
- Added ContactsApp.findByName(name).
- Fixed JavaScript errors while typing in script editor in IE8
- Fixed an issue where the copy() method on DocsList failed to name the returned file correctly.
- Fixed Page.getLastUpdated() in Sites does to return the same date as what's shown in UI.
- Allowed MailApp's noReply behavior based on domain.
- Added the ability to rename the description of a script.
- Fixed a bug in cases when some users were unable to view or edit an existing script.
- Added documentation for DocsList.getFolder().
- Fixed an issue with Sheet.setActiveCell().
- Delete a script's properties when the script is deleted.
- ⌘+N opens a new browser window instead of New script.
- Fixed a script error that is displayed when script editor is opened in IE8.
- Fixed an issue which displayed an error message after executing a script.
- Fixed a dual login issue while accessing published scripts.
- When fetching contacts with Apps Script, you can only get 1000 back.
- Enable feedback when removing a trigger in trigger-only view.
- Fixed an issue where the File.addEditor() method threw an invalid error message when the user didn't have permission to add collaborators to the document.
- Fixed a bug where File.getSize() for non-Google formatted files always returns zero.
- Added findByFirstName, findByLastName ContactsApp
- Allowed focus on editor after doing find/replace.
- Implemented a method to add file to a folder.
- Implemented File.getUrl() and Folder.getUrl() methods.
- Added the ability to change sharing settings on Files and Folders.
- Provide correct line number for errors.
- No longer throwing an exception when trying to remove a collaborator on a spreadsheet.
- Objects returned by Utilities.jsonParse() now have .toString() and other standard JavaScript Object methods.
- Allowed DocsList.createFile() to create a file from a Google Apps account.
- Fixed an issue when no data is displayed in the notification dialog box.
- Permission dialog reports needing access to spreadsheets when User.getEmail() or User.getUserLoginId() is used.
- UserProperties is now accessible from custom functions.
- Removed User.getUsername() from auto complete.
- Fixed horizontal alignment constants in UI Services.
- Sheet.hideRows() and Sheet.showRows() now do validity checking on arguments.
- setValues() now behaves correctly for locales that use a comma for the decimal separator.
- Fixed an issue where ContactsApp was too slow.
- Prevent a script from creating sheets with duplicate sheet names.
- Fixed an issue where active sheet/selection doesn't pass through a function by an event handler.
- Added better error messaging when a widget cannot be added to a panel.
- Improved documentation for SitesApp.copySite().
- Added an isBlank() function on the Range object of SpreadsheetApp.
- Added HMAC-SHA1 support.
- Allowed proper escaping of all characters when executing UiApp createTextBox(), createLabel().
- Allowed UiApp TextArea to contain more HTML.
- Fixed an issue where the UiApp click handler gets an event with objects that don't appear to have 'toString'.
- Fixed an issue where getActiveSheet() doesn't return the correct sheet in the UiApp click handler.
- Added setSelected() methods in UiApp TabPanels, TabBars, DecoratedTabPanels and DecoratedTabBars.
- Fixed confusing behavior with getActiveCell() when using custom functions.
- Added an option to turn code autoformatting off/on.
- Fixed the Unknown Range error when using setValues() or setFormulaR1C1() to set a formula from a script.
- Fixed a bug where Spreadsheets created by SpreadsheetApp.create() are created, but then become inaccessible.
- toString() returns a string that represents the value of the object (where possible / feasible).
- Implemented basic version control with a long lived stack of copies.
- Spreadsheet object now has updateMenu and removeMenu methods.