Revision history for Google-Auth
0.09 Mon Aug 3 2026
- Hardened ServiceAccountCredentials against SSRF by validating token_uri domain.
- Added regression test for ServiceAccountCredentials token_uri SSRF.
- Corrected typo in .perlcriticrc policy name (ProhibitStringEval -> ProhibitStringyEval).
0.08 Sun Aug 2 2026
- Improve safety and validation for external credentials.
- Added regression tests for universe domain bypass and sibling class validation gaps.
0.07 Fri Jul 31 2026
- Hardened credential validation and handling (Custom Universe opt-in safeguards).
- Added untainting and validation for pluggable credentials commands.
- Centralized version management (removed redundant submodule $VERSIONs).
- Normalized Copyright headers to "Google LLC and contributors" with first contribution year.
- Applied uniform code formatting via .perltidyrc.
- Restored MANIFEST hygiene and aligned contributing guidelines.
0.06 Tue Jul 28 2026
- Added SECURITY.md
- Pluggable credentials "executable" now require explicit opt-in via GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES=1.
- Added URL Domain Validation (`ExternalAccountCredentials::_validate_url`) to reject any `credential_source.url`, `token_url`, or `service_account_impersonation_url` whose host is not `googleapis.com`, `*.googleapis.com`, `$universe_domain`, or `*.$universe_domain`.
0.05 Wed Jul 22 2026
- Fixed POD test failures.
- Resolved author testing failures (Kwalitee, PerlTidy).
[Version Alignment & Submodule Synchronization]
- Synchronized $VERSION = '0.05' across all Google::Auth submodules.
- Hardened release_lint.pl distcheck verification.
0.04 Mon Jul 20 2026
[CPAN RT #180157 Fix]
- Replaced system free() with Perl's Safefree() for memory allocated via Newx() in XS.xs generate_self_signed_cert() and verify_signature().
- Fixes "invalid pointer" and "double free or corruption" test failures on Perls compiled with -DDEBUGGING and MULTIPLICITY.
0.03 Fri Jul 17 2026
[OpenSSL 3.0 & Cryptographic Modernization]
- Modernized XS.xs C bindings to use OpenSSL 3.0 high-level EVP_PKEY_fromdata and OSSL_PARAM_BLD APIs in load_rsa_pubkey and load_ec_pubkey, eliminating all OpenSSL 3.0 deprecation warnings.
- Retained backward-compatible fallback paths for OpenSSL 1.1.1 installations.
- Properly indented C preprocessor directives inside XS CODE: blocks for xsubpp parser compatibility.
[Authentication & Workload Identity Federation]
- Expanded Workload Identity Federation (WIF) support with Pluggable credentials (Google::Auth::ExternalAccountCredentials::Pluggable) and AWS IAM authentication (Google::Auth::ExternalAccountCredentials::Aws).
- Hardened Service Account, Impersonated Credentials, and Compute Engine metadata server token refresh loops.
[Architecture & Versioning]
- Upgraded distribution version to 0.03 (lib/Google/Auth.pm).
- Streamlined package versioning to single entrypoint $VERSION.
0.02 2022-03-16
- Release approved by Google OSPO
0.01 2022-03-02
- First version, including translation from Ruby into lib/Google/Auth/IDTokens/KeySources.pm
- Included tests translated from Ruby into t/key_sources_test.t and expanded upon