Gsheet V2.1 Now

: Automatically filters spells by class and level, reducing the time spent looking up spell descriptions during a session.

Locate the hidden tab via the ☰ menu at the bottom left. Add your custom races or items to the relevant lists. gsheet v2.1

// New V2.1 style: Append without loading full sheet function appendRows(sheetId, sheetName, rows) const sheet = SpreadsheetApp.openById(sheetId).getSheetByName(sheetName); sheet.getRange(sheet.getLastRow() + 1, 1, rows.length, rows[0].length).setValues(rows); : Automatically filters spells by class and level,

Some users report issues with character portraits loading; this is often due to external hosting permissions for the image URL you provide. // New V2

: You must go to File > Make a copy to create a personal, editable version in your own Google Drive.

After a setValues() call, Google Sheets caches changes. Without SpreadsheetApp.flush() , subsequent reads may return stale data.

How does the native v2.1 framework compare to third-party solutions?