Revision history for Perl extension Google::RestApi. 2.2.4 2026-09-21 - Migrate the OAuth token creator from Google's blocked out-of-band (urn:ietf:wg:oauth:2.0:oob) redirect to the loopback flow. The script now starts a temporary HTTP::Daemon on 127.0.0.1, uses it as the redirect_uri, and captures the authorisation code automatically -- no copy-and-paste. The default redirect_uri in OAuth2Client changes from the dead OOB value to http://localhost. - Add HTTP::Daemon prerequisite; drop the now-unused Term::Prompt. - Don't mutate the caller's auth hash when coercing it to an auth object. RestApi::auth() deleted the 'class' key and added 'config_dir' directly on the hashref passed to new(), which silently stripped 'class' from a caller's live config slice. It now coerces a shallow copy instead. 2.2.3 2026-04-30 - Declare UTF-8 charset on JSON request bodies (Content-Type: application/json; charset=utf-8) so non-ASCII payloads aren't mis-decoded by the server. - Accept absolute token_file/account_file paths in the OAuth2Client token creator script and the auth modules; resolve relative names (loaded from YAML) against the auth config_file's directory, then the main config_file's directory. - Expand test coverage for token_file path resolution and UTF-8 request/response round-trips. 2.2.2 2026-04-16 - Add MIME::Lite to dependencies (was missing; required by GmailApi1). - Remove File::Slurp from dependencies (not used). - Move HTTP::Status to test dependencies. - Restore strict validation in RestApi::new (google_restapi namespace makes _extra_ unnecessary). - Fix offline test log noise (log4perl_config test was polluting subsequent test classes). - Expand test coverage: log4perl_config, 401 token refresh, GmailApi1 profile/messages/labels, Drive CRUD. - Fix TestBase offline mode: guard live-capture path with GOOGLE_RESTAPI_LOGGER env var. 2.2.1 2026-04-14 - Add CONTRIBUTORS section to POD/README. - Read OAuth scope from config file instead of hard-coding in token creator. - Support optional google_restapi top-level key in config files. 2.2.0 2026-04-13 - Add enable_header_row/header_row tests. - Auto-tie columns from header row when tie_cols() called with no args. - Add 401 retry with automatic OAuth token refresh. - Surface Google Cloud Console activation URL in API-not-enabled errors. - Add ScopeCheck test to verify OAuth scopes and API enablement. - Run scope check automatically from token creator script. - Improve token creator docs with full Cloud Console setup instructions. 2.1.1 2026-03-02 - Fixed doc that claude incorrectly updated. - Replaced pod2doc script with standard one. - Added MANIFEST.SKIP 2.1.0 2026-02-15 - Upgrade Type::Params to latest. - Increase test coverage. - Small refactor. 2.0.0 2026-02-15 - Regenerate all exchange mock files from live API for Calendar, Gmail, Tasks, and Docs. - Add live resource creation to sub-resource tests for integration testing. - Fix JSON::MaybeXS bareword errors (missing parentheses on true/false calls). - Fix PerlX::Maybe missing 'provided' export. - Remove unused mock helpers and empty exchange file. - Block network traffic in TestBase fallback branch. - BREAKING CHANGE: DriveApi3::list uses names params instead of positional. 1.2.0 2026-02-14 - Build out drive api calls. 1.1.1 2026-02-13 - Separate Test::* from prod code. <= dkechag - Add github workflow. <= dkechag 1.1.0 2026-01-04 - Fill out missing API calls for sheets, should be comprehensive now. 1.0.6 2026-01-03 - Add missing PerlX::Maybe in Makefile.PL 1.0.5 2026-01-02 - Fixed bug in converting int columns to alpha for any columns > 52 (AZ). - Moved tutorial out of t dir as it never really belonged there. - Cleaned up tutorial. - Renamed Drive filter_files to list. - Added pagination support for Drive->list. - Fixed listing/deleting spreadsheets by name. - Allow listing/deleting spreadsheets by filters. - Renamed SheetsApi4 delete_all_spreadsheets to delete_all_spreadsheets_by_filters. - Complete makeover of testing framework to automatically load mock data from live api. 1.0.4 2022-11-29 - Support both multisig variables in Type::Params 1.0.3 2022-11-26 - Fixes to support Type::Params upgrade - Fix t/tutorial 1.0.2 2022-03-13 - Add support for renaming a worksheet - Fix test for win32 file comparisons 1.0.1 2022-03-06 - Comments in code - Remove Time::Out since Time::HiRes::alarm is not available in windows 1.0.0 2021-11-27 - Minor integration test fix, improved documentation - Stable release, no further major changes to api's expected. 0.9 2021-11-22 - Major refactoring of code, simplification, added tests 0.7 2021-07-08 - Add ToolSet dependency 0.6 2021-07-07 - Fix dist problems 0.5 2021-07-04 - Code cleanup and simplification - Made tests more comprehensive - Improved documentation 0.4 2019-11-26 - Support for multiple authorization mechanisms - Support for Google Service Account authorization - Support for borders and other cell formatting - Cleaned up and simplified Range request class - Cleaned up range unit tests - Minor bug fixes 0.3 2019-11-11 - Added spreadsheet attrs cache - Fixed missing files in MANIFEST - Removes testing dependency on Spreadsheets::Perl - Bug fixes in Range object - Fixed bugs in test suite, added more unit tests 0.2 2019-10-30 - Simplified login code in session_creator and RestApi. Breaking change. - POD/comments/debug message improvements. 0.1 2019-09-05 11:47:30 - original version; created by h2xs 1.23 with options -X -n Google::RestApi