)]}'
{
  "log": [
    {
      "commit": "a3c923fe2fce1823dcbd06cbe31bd41d1338a927",
      "tree": "02d650369fdb72e2887d60a6cd7828cebe33fc1a",
      "parents": [
        "9c67ccc929f0b4bd432f70b81759d5fd98a65512"
      ],
      "author": {
        "name": "Ben Beasley",
        "email": "code@musicinmybrain.net",
        "time": "Fri Mar 27 12:32:34 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 20:32:34 2026 +0800"
      },
      "message": "fix: Fix missing LICENSE file in published reqsign-volcengine-tos crate (#736)\n\nThis is the same fix as\nhttps://github.com/apache/opendal-reqsign/pull/635, but for the new\n`volcengine-tos` service."
    },
    {
      "commit": "9c67ccc929f0b4bd432f70b81759d5fd98a65512",
      "tree": "b573de3b134ff35193240b4e56331913ca72655f",
      "parents": [
        "0976884a738b22110e29fe7bed88caedd5392d50"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 15:45:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 15:45:12 2026 +0800"
      },
      "message": "feat(aliyun-oss): add signature v2 signing support (#725)\n\nThis PR adds OSS Signature V2 support to `reqsign-aliyun-oss`, covering\nboth header signing and presign.\n\nIt extends the signer parity work after V4 by adding the remaining OSS\nsigning variant with deterministic tests and updated docs."
    },
    {
      "commit": "0976884a738b22110e29fe7bed88caedd5392d50",
      "tree": "6e6b0c10d8d49ae85be9b1f8d0df903a0038fc21",
      "parents": [
        "3b749afa8ed2ee249e126c41fb6432f48dbcbb3c"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 15:38:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 15:38:08 2026 +0800"
      },
      "message": "fix(aliyun-oss): normalize custom sts endpoints (#726)\n\nThis fixes a correctness bug in Aliyun OSS STS endpoint handling: when\n`ALIBABA_CLOUD_STS_ENDPOINT` was set to a full URL, the AssumeRole path\nprefixed `https://` again and produced a malformed request URI.\n\nThe change normalizes custom STS endpoints so both bare hosts and full\nURLs work consistently across the AK-based AssumeRole provider and the\nOIDC-based STS provider. It also adds regression coverage for the\nenv-configured full-URL case.\n\nContext: found while reviewing the latest 20 commits on `main`,\nspecifically the new AssumeRole provider added in #724."
    },
    {
      "commit": "3b749afa8ed2ee249e126c41fb6432f48dbcbb3c",
      "tree": "f7cfea97e68e63885a6a9922c605324aa1b9a4d5",
      "parents": [
        "bf20a01f0185072348d6150ea33ec9681d3625a8"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 05:27:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 05:27:34 2026 +0800"
      },
      "message": "feat(google): support aws external account sources (#728)\n\nGoogle external account credentials also support the AWS-specific\n`credential_source` shape from AIP-4117. This teaches `reqsign-google`\nto resolve `aws1` region and credentials from environment variables or\nIMDS, mint the signed `GetCallerIdentity` subject token, and exchange it\nthrough the existing STS flow.\n\nThis follows the executable `external_account` support in #727 and keeps\nthe change fully inside `services/google`."
    },
    {
      "commit": "bf20a01f0185072348d6150ea33ec9681d3625a8",
      "tree": "7d4d94a987841c5b0c61685e13926064100e7633",
      "parents": [
        "85ed1dd30680682789f0869fcc7ec40d93b49bbe"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 05:23:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 05:23:36 2026 +0800"
      },
      "message": "feat(google): support executable external account sources (#727)\n\nThis adds executable-sourced `external_account` support for Google\ncredentials by extending the existing Google service-layer provider with\nAIP-4117 style executable loading, cache-file reuse, and validation. It\nkeeps the change scoped to `services/google` and uses the existing\ncommand execution context instead of introducing new core abstractions.\n\nThis is the first PR in a stacked series for broader Google WIF\ncoverage. The follow-up PR will focus on AWS provider-specific\n`credential_source` handling."
    },
    {
      "commit": "85ed1dd30680682789f0869fcc7ec40d93b49bbe",
      "tree": "88b7f5cccefd40329e7aafc8d94952aee721d4cf",
      "parents": [
        "3dc1cf19b2d69b35459cbcecabbd488bf0e69a5b"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 04:24:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 04:24:58 2026 +0800"
      },
      "message": "feat(aliyun-oss): add credentials URI and ECS RAM role providers (#721)\n\nThis stacked PR builds on #720 by adding the two network-based runtime\ncredential sources needed for Aliyun OSS parity: `credentials_uri` and\nECS RAM role metadata.\n\nIt introduces dedicated slot/no-slot builder entries, keeps refresh\nbehavior aligned with `reqsign_core::Signer` cache semantics, and adds\nfocused tests for chain order, IMDS fallback, and refresh-before-expiry\nbehavior. Related to #684."
    },
    {
      "commit": "3dc1cf19b2d69b35459cbcecabbd488bf0e69a5b",
      "tree": "0a5888fa6609a2db792afb1f7d2e04eaa2d604e7",
      "parents": [
        "34db49cc08b3e7b939b2c73aa3295d509b836788"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 02:50:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 02:50:16 2026 +0800"
      },
      "message": "feat(aliyun-oss): add assume role credential provider (#724)\n\nThis PR adds an AK-based AssumeRole provider for `reqsign-aliyun-oss`\nand wires it into the default credential builder.\n\nIt extends the OSS credential parity work with a non-recursive base\nprovider chain and keeps the builder semantics aligned with the new\nslot-based API."
    },
    {
      "commit": "34db49cc08b3e7b939b2c73aa3295d509b836788",
      "tree": "8ef48d845d3cca1eddc4fcd5ba7f312e7768a0d8",
      "parents": [
        "81399926577bbc7913c9d10192bc1a56f3f35265"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 01:59:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 01:59:38 2026 +0800"
      },
      "message": "feat(aliyun-oss): add signature v4 signing support (#723)\n\nThis stacked PR builds on #719 and adds OSS Signature V4 support for\nboth header signing and presigned URLs.\n\nIt reuses the signer API introduced in the parent PR, keeps V1 as the\ndefault, and adds golden-style tests for canonical requests,\nstring-to-sign construction, repeated query-key ordering, and final V4\noutput. Related to #684."
    },
    {
      "commit": "81399926577bbc7913c9d10192bc1a56f3f35265",
      "tree": "ea3e84463b1886d58d9e5e3d12a003cb5680c64c",
      "parents": [
        "7fccb97bd5e87e7471e38fdda34142c1821fce36"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 01:48:25 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 01:48:25 2026 +0800"
      },
      "message": "feat(aliyun-oss): add shared credentials and config file providers (#722)\n\nThis stacked PR builds on #720 by adding the two Alibaba shared file\nsources that are distinct from the OSS profile file: shared\n`credentials.ini` and `config.json` providers.\n\nIt keeps the slot boundaries explicit (`credentials_file` and\n`config_file`), limits this PR to direct static modes, and adds\nprecedence tests showing these file-based providers slot cleanly in\nfront of OIDC. Related to #684."
    },
    {
      "commit": "7fccb97bd5e87e7471e38fdda34142c1821fce36",
      "tree": "c3ed1f5337842b1c2139eac31f749bfec734cbea",
      "parents": [
        "1fe7000c942c80adb4409dab61f12b436eb34327"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 01:42:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 01:42:20 2026 +0800"
      },
      "message": "refactor(aliyun-oss): prepare signer for region-aware signing (#719)\n\nThis PR narrows the Aliyun OSS signer API to the part we can commit to\ntoday: region configuration on `RequestSigner`.\n\nIt keeps current V1 behavior unchanged, avoids exposing\nnot-yet-implemented signing-version switches, and adds tests/docs that\nlock in `with_region(...)` as a no-op for V1 while reserving the\nconfiguration path needed for future V4 work. Related to #684."
    },
    {
      "commit": "1fe7000c942c80adb4409dab61f12b436eb34327",
      "tree": "2ed3aa246831bf229d5dbbfa7dca7257bc8298c4",
      "parents": [
        "1f6d84bef58bb1418ddc64eab861349313126d84"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 01:39:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 01:39:03 2026 +0800"
      },
      "message": "feat(aliyun-oss): add OSS env aliases and profile provider (#720)\n\nThis PR expands the low-risk Aliyun OSS credential chain by adding OSS\nenvironment-variable aliases and a dedicated `~/.oss/credentials`\nprofile provider.\n\nIt keeps the new slot/no-slot builder API consistent with the repository\npolicy, inserts `oss_profile` between env and OIDC in the default chain,\nand adds focused tests for precedence, profile selection, and chain\nordering. Related to #684."
    },
    {
      "commit": "1f6d84bef58bb1418ddc64eab861349313126d84",
      "tree": "11ef430adb54a927a670a5991827a3680ee15dc9",
      "parents": [
        "710917e27299aad1da3b9d3e8cb620bfc5c82c40"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Mar 19 01:31:16 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 19 01:31:16 2026 +0800"
      },
      "message": "fix(aliyun-oss): sign canonicalized OSS headers in presign (#718)\n\nThis PR fixes a V1 presign correctness gap in Aliyun OSS: canonicalized\n`x-oss-*` headers now participate in the string-to-sign when generating\npresigned URLs.\n\nThe change keeps the existing STS query-token behavior intact, adds\nfocused regression tests for presign/header canonicalization, and\naddresses one of the concrete bugs called out in #684."
    },
    {
      "commit": "710917e27299aad1da3b9d3e8cb620bfc5c82c40",
      "tree": "33e60662797b4842bf1640117d5764c0631fd15c",
      "parents": [
        "9fd8cdb4cf6df8e5a04d1a65025e93de0673bd89"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 19:09:07 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 19:09:07 2026 +0800"
      },
      "message": "refactor: migrate huaweicloud-obs default credential provider builder API (#717)\n\nAlign `reqsign-huaweicloud-obs` with the new default credential provider\nAPI defined in `docs/default-credential-provider-api.md`.\n\nThis service only exposes the `env` default slot, so the PR keeps the\npublic builder on the `env(...)` / `no_env()` shape and updates examples\nand tests to cover explicit removal and re-adding of that slot."
    },
    {
      "commit": "9fd8cdb4cf6df8e5a04d1a65025e93de0673bd89",
      "tree": "e99936a936304112867e7d64add4e95403eefa2e",
      "parents": [
        "4b8be5ec348d29a40c9de77b74b78e8cd053a82c"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 19:08:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 19:08:21 2026 +0800"
      },
      "message": "refactor(aws-v4): migrate default credential builder (#713)\n\nThis updates `services/aws-v4` to the `DefaultCredentialProvider` slot\nAPI defined in `docs/default-credential-provider-api.md`. The builder\nnow exposes slot and no-slot methods only, and `build()` only pushes\nconfigured `Some(...)` slots without fallback re-enabling.\n\nThe aws-v4 README was refreshed to the current public API, and the crate\ntests now cover both `process(...)` and `no_process()` so the removal\nsemantics are exercised directly in this service."
    },
    {
      "commit": "4b8be5ec348d29a40c9de77b74b78e8cd053a82c",
      "tree": "ec52aa73f0a450eca9f9aef80ddcc32aa6e58eca",
      "parents": [
        "38265ddfbb28057225ca05581f651bd86c52e9a5"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 19:06:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 19:06:04 2026 +0800"
      },
      "message": "feat(volcengine-tos): migrate default credential builder api (#712)\n\nMigrate the Volcengine TOS default credential provider to the slot-based\nbuilder API from the default credential provider design. This removes\nthe legacy configure/disable env API, keeps env as the only public slot,\nand adds coverage that `no_env()` actually removes the provider from the\nchain.\n\nThis PR is part of the service-by-service migration toward the new\n`DefaultCredentialProvider` API documented in\n`docs/default-credential-provider-api.md`."
    },
    {
      "commit": "38265ddfbb28057225ca05581f651bd86c52e9a5",
      "tree": "72ad3bd4c63981360fe73a9cbd72353da4c88980",
      "parents": [
        "fc1e49108f8e3cc3c1c001983ac2e9b03df58c64"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 18:58:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 18:58:01 2026 +0800"
      },
      "message": "services/oracle: migrate default credential builder API (#710)\n\nThis updates Oracle\u0027s `DefaultCredentialProviderBuilder` to match the\nnew repository-wide slot API design, removing the legacy `configure_*`\nand `disable_*(bool)` methods.\n\nThe builder now models `env` and `config_file` as explicit optional\nslots, and the tests cover that `no_env()` and `no_config_file()`\nactually remove those providers instead of re-enabling them during\n`build()`."
    },
    {
      "commit": "fc1e49108f8e3cc3c1c001983ac2e9b03df58c64",
      "tree": "7582608870407a9639b6b66b3780e9d1ad09544f",
      "parents": [
        "56cc5a85aef517f893ffab7be5badfd9d7be4b09"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 18:57:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 18:57:06 2026 +0800"
      },
      "message": "refactor(aliyun-oss): migrate default credential provider API (#716)\n\nMigrate reqsign-aliyun-oss to the new DefaultCredentialProvider slot API\nso the public builder matches the repository design. This removes the\nlegacy configure/disable surface, renames the OIDC slot explicitly, and\nupdates Aliyun-specific docs and tests to cover slot removal semantics."
    },
    {
      "commit": "56cc5a85aef517f893ffab7be5badfd9d7be4b09",
      "tree": "2dee127418d8931633ee5dfc11fea2090211591b",
      "parents": [
        "a9fbc1c30f98d343dd4da38d439b7916277935af"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 18:56:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 18:56:22 2026 +0800"
      },
      "message": "feat: migrate azure-storage default credential provider API (#715)\n\nThis migrates `reqsign-azure-storage` to the slot-based\n`DefaultCredentialProvider` builder defined in\n`docs/default-credential-provider-api.md`.\nIt removes the legacy `configure_*` and `disable_*(bool)` APIs, keeps\nthe existing default chain and wasm/non-wasm slot set, and updates\ndocs/examples/tests to cover `no_slot()` removal semantics."
    },
    {
      "commit": "a9fbc1c30f98d343dd4da38d439b7916277935af",
      "tree": "d66a0ff89b7666ec1c206eb656e675709ae07f64",
      "parents": [
        "bbf41ec87209878cfaeac6c99ddb77322ce8afe0"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 18:55:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 18:55:23 2026 +0800"
      },
      "message": "feat(google): migrate default credential provider API (#714)\n\nThis updates the Google default credential provider to match the\nrepository-wide API defined in\n`docs/default-credential-provider-api.md`. The builder now uses explicit\n`slot(...)` and `no_slot()` methods for the env, well-known ADC, and VM\nmetadata providers, and removes the old patch-style and boolean-toggle\nAPIs.\n\nThe change also exports the Google-specific env and well-known ADC\nproviders so callers can still customize those slots directly, and adds\ntests that verify removed slots are truly absent from the default chain."
    },
    {
      "commit": "bbf41ec87209878cfaeac6c99ddb77322ce8afe0",
      "tree": "35016cb138d3c86cca6dce62abbd55d9afb29fd5",
      "parents": [
        "75decdbd4899d5e06c3613ca1bae59ef85012ffc"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 18:53:55 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 18:53:55 2026 +0800"
      },
      "message": "services/tencent-cos: migrate default credential provider API (#711)\n\nThis changes the Tencent COS `DefaultCredentialProvider` builder to\nfollow the repository\u0027s new default credential provider API design.\nIt replaces the legacy `configure_*` and `disable_*(bool)` methods with\nexplicit `env` and `web_identity` slots plus `no_*` removal APIs, and\nadds tests that verify removed slots are not re-enabled during\n`build()`."
    },
    {
      "commit": "75decdbd4899d5e06c3613ca1bae59ef85012ffc",
      "tree": "81be46cc10178cae9b87940f3a2ade9909c9062f",
      "parents": [
        "c5400d8d2cb3a309f2171f3ec24ac0c066fdfcd5"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 18:49:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 18:49:13 2026 +0800"
      },
      "message": "feat: migrate huaweicloud-obs default credential provider API (#709)\n\nThis updates the Huawei Cloud OBS default credential provider to match\nthe repository\u0027s new builder API contract.\n\nThe builder now exposes explicit `env(...)` and `no_env()` slot\ncontrols, removes the legacy `configure_*` and `disable_*(bool)` APIs,\nand keeps removed slots out of the chain instead of re-enabling them\nduring `build()`."
    },
    {
      "commit": "c5400d8d2cb3a309f2171f3ec24ac0c066fdfcd5",
      "tree": "32b1e26a863bf95a74cd1069f1b5f937142af475",
      "parents": [
        "35f3ede60f498d6c0234a2ce27c23e8100a9c738"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 18:39:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 18:39:32 2026 +0800"
      },
      "message": "docs: define default credential provider API policy (#708)\n\nThis PR turns the default credential provider API shape into explicit\nrepository documentation instead of leaving it implicit in legacy\nimplementations. It records the authoritative design in\n`docs/default-credential-provider-api.md` and keeps `AGENTS.md` focused\non durable agent-facing constraints.\n\nIt also converts `CLAUDE.md` into an alias of `AGENTS.md` so repository\nguidance has a single source of truth before we start the API refactor\nitself."
    },
    {
      "commit": "35f3ede60f498d6c0234a2ce27c23e8100a9c738",
      "tree": "b9a28624a583204946f864e8828b232e800b2d89",
      "parents": [
        "561a93a294a5b679133b1e7e3cd13f482cd9cb43"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 18:37:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 18:37:13 2026 +0800"
      },
      "message": "feat(google): add explicit file and token providers (#707)\n\nThis PR adds built-in Google credential providers for explicit\n`credential_path` and raw access token inputs so downstream integrations\nno longer need local adapters. It keeps the existing core caching model\nunchanged while factoring JSON credential parsing into a shared helper\nreused by default, static, and file-based providers.\n\nThis also adds targeted tests for file-path credentials and token\nproviders, including token-path loading and expiration handling. Related\nissues: #694, #696."
    },
    {
      "commit": "561a93a294a5b679133b1e7e3cd13f482cd9cb43",
      "tree": "0929f9956f492c7a7822db2c3fb81d0f0ba38601",
      "parents": [
        "2e566d0c3ba38692afb2603d907fba8dd89f8bc1"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 17:38:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 17:38:03 2026 +0800"
      },
      "message": "reqsign-google: support selecting service account in VM metadata provider (#706)\n\nThis PR adds service account selection support to reqsign-google\u0027s VM\nmetadata provider so integrations running on GCE can request tokens for\na non-default service account without shipping a local custom provider.\n\nThe default ADC builder can now pass that option through\n`configure_vm_metadata(...)`, and the existing behavior remains\nunchanged when no service account is configured.\n\nCloses #695."
    },
    {
      "commit": "2e566d0c3ba38692afb2603d907fba8dd89f8bc1",
      "tree": "cc3ae9216f21410028a46b25fec664082718f097",
      "parents": [
        "d87031dc4a7e81583fe76d8f0f521da2930c89b1"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Mar 18 17:03:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 17:03:53 2026 +0800"
      },
      "message": "fix(google): use rsa rand_core rng for signing (#699)\n\nGoogle service account signing only needs an RNG for RSA blinding during\nprivate-key operations.\n\nThis change switches the signer to `rsa::rand_core::OsRng` and removes\nthe direct `rand` dependency from `reqsign-google` and the workspace. It\nkeeps the RNG source aligned with `rsa`\u0027s `rand_core` version and avoids\nbinding this crate to `rand`\u0027s higher-level API surface.\n\n---------\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "d87031dc4a7e81583fe76d8f0f521da2930c89b1",
      "tree": "9a4e26c7e15aacfb99ddf776456ce6602d374513",
      "parents": [
        "5536ae96f2f2ce250c3b40007d2a93db8e988285"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 16:28:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 16:28:41 2026 +0800"
      },
      "message": "chore: align default credential provider API style (#700)\n\n## Summary\n\nThis PR aligns `DefaultCredentialProvider` /\n`DefaultCredentialProviderBuilder` API style across services using\n`aws-v4` as the baseline.\n\n### Changes\n- Fix Oracle `DefaultCredentialProvider::default()` semantics to match\n`new()`.\n- Add Oracle regression test to ensure `default()` and `new()` stay\nequivalent.\n- Export `DefaultCredentialProviderBuilder` from Volcengine\n`provide_credential` module.\n- Export `DefaultCredentialProviderBuilder` from Google and Oracle crate\nroots.\n- Make `provide_credential` module private in Oracle and Tencent (keep\npublic re-exports).\n\n## Validation\n\n- `cargo check -p reqsign-oracle -p reqsign-volcengine-tos -p\nreqsign-google -p reqsign-tencent-cos`\n- `cargo test -p reqsign-oracle test_default_matches_new`"
    },
    {
      "commit": "5536ae96f2f2ce250c3b40007d2a93db8e988285",
      "tree": "bf598bafeac4a7f23b558c4999e67b18f9cd46ad",
      "parents": [
        "14f98f55eee875eb23682554870b7625f014a85e"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 16:20:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 16:20:06 2026 +0800"
      },
      "message": "ci: skip secret-required tests for dependabot PRs (#704)\n\nDependabot pull requests in this repository cannot access CI secrets,\nbut several workflows currently treat same-repo PRs as secret-eligible\nand still run integration tests. This causes unrelated dependency bump\nPRs to fail before functional checks complete. This PR updates the\nworkflow guards so secret-required integration jobs are skipped for\nDependabot PRs while preserving existing behavior for normal PRs and\npushes.\n\nContext: https://github.com/apache/opendal-reqsign/pull/701 failed\nbecause 1Password credentials were unavailable in a Dependabot PR, and\nthe same pattern exists in multiple service workflows."
    },
    {
      "commit": "14f98f55eee875eb23682554870b7625f014a85e",
      "tree": "13fe7ff20664c13d00701283f4d05d9c7167f286",
      "parents": [
        "25718cf16983b376dab975341cc4dee5fc54b209"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Mar 18 16:18:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 16:18:22 2026 +0800"
      },
      "message": "chore(deps): Bump 1password/load-secrets-action from 3.1.0 to 3.2.1 (#705)\n\nBumps\n[1password/load-secrets-action](https://github.com/1password/load-secrets-action)\nfrom 3.1.0 to 3.2.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/1password/load-secrets-action/releases\"\u003e1password/load-secrets-action\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003ch3\u003eFix\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert SDK field-resolution regression introduced in v3.2.0 that\nbroke certain valid secret refs (website/url fields) \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/145\"\u003e1Password/load-secrets-action#145\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/compare/v3.2.0...v3.2.1\"\u003ehttps://github.com/1Password/load-secrets-action/compare/v3.2.0...v3.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s changed\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eService account auth now uses the 1Password SDK instead of the CLI;\nthe CLI is not installed when using a service account token. \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/137\"\u003e1Password/load-secrets-action#137\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFix\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEmpty string secret values are now set as outputs and environment\nvariables instead of being skipped by \u003ca\nhref\u003d\"https://github.com/toga4\"\u003e\u003ccode\u003e@​toga4\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/132\"\u003e1Password/load-secrets-action#132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Documented the SSH key format parameter for secret references\nby \u003ca\nhref\u003d\"https://github.com/BolajiOlajide\"\u003e\u003ccode\u003e@​BolajiOlajide\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/130\"\u003e1Password/load-secrets-action#130\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/BolajiOlajide\"\u003e\u003ccode\u003e@​BolajiOlajide\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/130\"\u003e1Password/load-secrets-action#130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/toga4\"\u003e\u003ccode\u003e@​toga4\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/132\"\u003e1Password/load-secrets-action#132\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/compare/v3.1.0...v3.2.0\"\u003ehttps://github.com/1Password/load-secrets-action/compare/v3.1.0...v3.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/dafbe7cb03502b260e2b2893c753c352eee545bf\"\u003e\u003ccode\u003edafbe7c\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/1password/load-secrets-action/issues/146\"\u003e#146\u003c/a\u003e\nfrom 1Password/release/v3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/7f98afc2d7a58e181e9c6a5bab0ddba1387efd0c\"\u003e\u003ccode\u003e7f98afc\u003c/code\u003e\u003c/a\u003e\nRemove binary\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/9cdab8f59d7cea0fc90e8aaf0e905a669755f6fd\"\u003e\u003ccode\u003e9cdab8f\u003c/code\u003e\u003c/a\u003e\ncreate new build\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/6a14785fa526929e3bb568fb6a8ee1ba6238afbb\"\u003e\u003ccode\u003e6a14785\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/1password/load-secrets-action/issues/145\"\u003e#145\u003c/a\u003e\nfrom 1Password/revert-pr-137\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/7d4e24a43ff243f56efa13564531f01f7fb52300\"\u003e\u003ccode\u003e7d4e24a\u003c/code\u003e\u003c/a\u003e\nRevert \u0026quot;Merge pull request \u003ca\nhref\u003d\"https://redirect.github.com/1password/load-secrets-action/issues/137\"\u003e#137\u003c/a\u003e\nfrom 1Password/feature/migrate-to-sdk\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/cb7c5acc8a2b09f96acc233de388fe361e49839a\"\u003e\u003ccode\u003ecb7c5ac\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/1password/load-secrets-action/issues/143\"\u003e#143\u003c/a\u003e\nfrom 1Password/release/v3.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/ea49b14f1eb06a1089612c3b54de04fd6b04c6aa\"\u003e\u003ccode\u003eea49b14\u003c/code\u003e\u003c/a\u003e\nRebuild\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/93abacc9df9ea7ea47d739758c9685e93640cca7\"\u003e\u003ccode\u003e93abacc\u003c/code\u003e\u003c/a\u003e\nFix version\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/40e52b6cef3f4d7118e21efd0011d273182b7fdd\"\u003e\u003ccode\u003e40e52b6\u003c/code\u003e\u003c/a\u003e\nUpdate version and build\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/commit/38b333095dd181f4fbb51e943024c6f2e28717e1\"\u003e\u003ccode\u003e38b3330\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/1password/load-secrets-action/issues/137\"\u003e#137\u003c/a\u003e\nfrom 1Password/feature/migrate-to-sdk\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/1password/load-secrets-action/compare/8d0d610af187e78a2772c2d18d627f4c52d3fbfb...dafbe7cb03502b260e2b2893c753c352eee545bf\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003d1password/load-secrets-action\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d3.1.0\u0026new-version\u003d3.2.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "25718cf16983b376dab975341cc4dee5fc54b209",
      "tree": "1f52cac72bcb89b02eab5b1188dadb3dee07c36c",
      "parents": [
        "5a9954c88c8d8c0cc42c0d357d02e740b68ddf75"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Mar 18 16:17:04 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 18 16:17:04 2026 +0800"
      },
      "message": "Bump reqsign to v0.20.0 (#703)\n\nThis PR bumps `reqsign` to `v0.20.0` and aligns workspace crate versions\nfor the recent breaking API refactor. It marks the `MaybeSend` migration\nand `async_trait` removal as a formal major-version update so downstream\nusers can upgrade with clear semver signals.\n\nContext:\n- Related change: #702 (`refactor: adopt MaybeSend futures and remove\nasync_trait`)\n- Validation: `cargo check --workspace`"
    },
    {
      "commit": "5a9954c88c8d8c0cc42c0d357d02e740b68ddf75",
      "tree": "9ba9c4b363ec7ee0b150615baa75781dbe95e818",
      "parents": [
        "635f0bceb6aafde7678c82ecc51041d02add636e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Mar 09 13:57:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 09 13:57:22 2026 +0800"
      },
      "message": "chore(deps): Update quick-xml requirement from 0.38.1 to 0.39.2 (#701)\n\nUpdates the requirements on\n[quick-xml](https://github.com/tafia/quick-xml) to permit the latest\nversion.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/releases\"\u003equick-xml\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.39.2 - Fix regression and read_text_into\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/483\"\u003e#483\u003c/a\u003e:\nImplement \u003ccode\u003eread_text_into()\u003c/code\u003e and\n\u003ccode\u003eread_text_into_async()\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/939\"\u003e#939\u003c/a\u003e:\nFix parsing error of the tag from buffered reader, when the first byte\n\u003ccode\u003e\u0026lt;\u003c/code\u003e is the last in the \u003ccode\u003eBufRead\u003c/code\u003e internal\nbuffer. This is the regression from \u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/936\"\u003e#936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/483\"\u003e#483\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/483\"\u003etafia/quick-xml#483\u003c/a\u003e\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/936\"\u003e#936\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/pull/936\"\u003etafia/quick-xml#936\u003c/a\u003e\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/939\"\u003e#939\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/939\"\u003etafia/quick-xml#939\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/compare/v0.39.1...v0.39.2\"\u003ehttps://github.com/tafia/quick-xml/compare/v0.39.1...v0.39.2\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/blob/master/Changelog.md\"\u003equick-xml\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.39.2 -- 2026-02-20\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/483\"\u003e#483\u003c/a\u003e:\nImplement \u003ccode\u003eread_text_into()\u003c/code\u003e and\n\u003ccode\u003eread_text_into_async()\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/939\"\u003e#939\u003c/a\u003e:\nFix parsing error of the tag from buffered reader, when the first byte\n\u003ccode\u003e\u0026lt;\u003c/code\u003e\nis the last in the \u003ccode\u003eBufRead\u003c/code\u003e internal buffer. This is the\nregression from \u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/936\"\u003e#936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/483\"\u003e#483\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/483\"\u003etafia/quick-xml#483\u003c/a\u003e\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/936\"\u003e#936\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/pull/936\"\u003etafia/quick-xml#936\u003c/a\u003e\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/939\"\u003e#939\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/939\"\u003etafia/quick-xml#939\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.39.1 -- 2026-02-15\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/598\"\u003e#598\u003c/a\u003e:\nAdd method \u003ccode\u003eNamespaceResolver::set_level\u003c/code\u003e which may be\nhelpful in some circumstances.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/597\"\u003e#597\u003c/a\u003e:\nFix incorrect processing of namespace scopes in\n\u003ccode\u003eNsReader::read_to_end\u003c/code\u003e\n\u003ccode\u003eNsReader::read_to_end_into\u003c/code\u003e,\n\u003ccode\u003eNsReader::read_to_end_into_async\u003c/code\u003e and\n\u003ccode\u003eNsReader::read_text\u003c/code\u003e.\nThe scope started by a start element was not ended after that call.\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/936\"\u003e#936\u003c/a\u003e:\nFix incorrect result of \u003ccode\u003e.read_text()\u003c/code\u003e when it is called\nafter reading \u003ccode\u003eText\u003c/code\u003e or \u003ccode\u003eGeneralRef\u003c/code\u003e event.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/597\"\u003e#597\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/597\"\u003etafia/quick-xml#597\u003c/a\u003e\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/598\"\u003e#598\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/pull/598\"\u003etafia/quick-xml#598\u003c/a\u003e\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/936\"\u003e#936\u003c/a\u003e:\n\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/pull/936\"\u003etafia/quick-xml#936\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.39.0 -- 2026-01-11\u003c/h2\u003e\n\u003cp\u003eAdded a way to configure \u003ccode\u003eWriter\u003c/code\u003e. Now all configuration\nis contained in the \u003ccode\u003ewriter::Config\u003c/code\u003e\nstruct and can be applied at once. When \u003ccode\u003eserde-types\u003c/code\u003e feature\nis enabled, configuration is serializable.\u003c/p\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/846\"\u003e#846\u003c/a\u003e:\nAdd methods \u003ccode\u003econfig()\u003c/code\u003e and \u003ccode\u003econfig_mut()\u003c/code\u003e to\ninspect and change the writer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/846\"\u003e#846\u003c/a\u003e:\nAdd ability to write space before \u003ccode\u003e/\u0026gt;\u003c/code\u003e in self-closed tags\nfor maximum compatibility with\nXHTML.\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/846\"\u003e#846\u003c/a\u003e:\nAdd method \u003ccode\u003eempty_element_handling()\u003c/code\u003e as a more powerful\nalternative to \u003ccode\u003eexpand_empty_elements()\u003c/code\u003e\nin \u003ccode\u003eSerializer\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/929\"\u003e#929\u003c/a\u003e:\nAllow to pass list of field names to\n\u003ccode\u003eimpl_deserialize_for_internally_tagged_enum!\u003c/code\u003e macro\nwhich is required if you enum variants contains \u003ccode\u003e$value\u003c/code\u003e\nfields.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/5611c894f6b9fd5301c266167a6d3a7ef005dedd\"\u003e\u003ccode\u003e5611c89\u003c/code\u003e\u003c/a\u003e\nRelease 0.39.2\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/b8eba9abf7a59f605981ef5ec10f9e260f1c0f94\"\u003e\u003ccode\u003eb8eba9a\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/941\"\u003e#941\u003c/a\u003e\nfrom Mingun/full-cover\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/f8e8857c46d010e7c2b94f7eea2d6b0229d6056e\"\u003e\u003ccode\u003ef8e8857\u003c/code\u003e\u003c/a\u003e\nImplement read_text_into and read_text_into_async\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/489dc17e4080d85885b1a30003ca40a0caea9bdb\"\u003e\u003ccode\u003e489dc17\u003c/code\u003e\u003c/a\u003e\nPlace \u003ccode\u003e;\u003c/code\u003e to the buffer when read general entity\nreferences\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/9a7e8f577a74f323abefc93a495004e88d60fa45\"\u003e\u003ccode\u003e9a7e8f5\u003c/code\u003e\u003c/a\u003e\nPlace \u003ccode\u003e\u0026gt;\u003c/code\u003e to the buffer when read elements, processing\ninstructions and XML d...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/c34af489c6d5fc90b1efde2d497db86fe051f7b9\"\u003e\u003ccode\u003ec34af48\u003c/code\u003e\u003c/a\u003e\nPlace \u003ccode\u003e\u0026gt;\u003c/code\u003e to the buffer when read comment, CDATA or\nDOCTYPE\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/241f01e20ff679e9248f2ae424c9ba823fc15444\"\u003e\u003ccode\u003e241f01e\u003c/code\u003e\u003c/a\u003e\nReturn only index from BangType::parse (renamed to feed) like in other\nparsers\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/e3230c24f35b41792b5a23fd46eb8f73ab402781\"\u003e\u003ccode\u003ee3230c2\u003c/code\u003e\u003c/a\u003e\nAppend +1 outside of BangType, in read_bang_element, like read_with\ndo\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/623c92cfb8908d46437e5a76a4fe06b2365898a5\"\u003e\u003ccode\u003e623c92c\u003c/code\u003e\u003c/a\u003e\nRewrite \u003ccode\u003eread_bang_element\u003c/code\u003e with the same style as\n\u003ccode\u003eread_with\u003c/code\u003e, \u003ccode\u003eread_ref\u003c/code\u003e an...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/commit/e06f70ab88d596f764217ac10202ae2663aaaa02\"\u003e\u003ccode\u003ee06f70a\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/tafia/quick-xml/issues/940\"\u003e#940\u003c/a\u003e\nfrom Mingun/fix-939\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/tafia/quick-xml/compare/v0.38.1...v0.39.2\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "635f0bceb6aafde7678c82ecc51041d02add636e",
      "tree": "f649beccef457eb8567684fe226dab5f3941807c",
      "parents": [
        "1d5ac3d18b984f11f55ed2c14c18e43f7d03a082"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Tue Mar 03 16:52:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 03 16:52:41 2026 +0800"
      },
      "message": "refactor: adopt MaybeSend futures and remove async_trait (#702)\n\nThis PR replaces `async_trait`-based async trait methods with an\nOpenDAL-style `MaybeSend` future model across reqsign. It keeps the\nsingle-trait architecture while making wasm/non-wasm send bounds\nexplicit through shared future aliases.\n\nTo preserve object safety and existing ergonomics, this change\nintroduces `*Dyn` adapters (`HttpSendDyn`, `FileReadDyn`,\n`CommandExecuteDyn`, `ProvideCredentialDyn`, `SignRequestDyn`) and keeps\npublic builder APIs (`Context`, `Signer`, provider chains) working with\ntrait objects.\n\n## Context\n- Aligns reqsign with the same `MaybeSend` direction used by OpenDAL.\n- Removes all `async-trait` usage and corresponding crate dependencies\nacross the workspace."
    },
    {
      "commit": "1d5ac3d18b984f11f55ed2c14c18e43f7d03a082",
      "tree": "7179f9e9329c03422c6860b428dd1c729f451e6f",
      "parents": [
        "f2942b0b5ffdca472ee589e17d9272bf6244c052"
      ],
      "author": {
        "name": "William Woodruff",
        "email": "william@yossarian.net",
        "time": "Thu Feb 26 09:27:58 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 26 22:27:58 2026 +0800"
      },
      "message": "Apply CI security best practices (#687)\n\nHi there! [uv](https://github.com/astral-sh/uv) is a downstream user of\nthis crate, and as a result we have an interest in ensuring your CI/CD\nis as secure, hermetic, and reproducible as possible 🙂\n\nTo that end, this PR has a series of commits (each of which can be\nreviewed separately) that will hopefully improve your default posture.\nThese changes were made based on findings from\n[zizmor](https://docs.zizmor.sh).\n\nTo summarize:\n\n1. All actions references are now hash-pinned, to prevent unexpected tag\nmutation. Dependabot will handle updating these hash-pins for you.\n2. Dependabot itself now enforces a seven-day cooldown, to reduce the\nrisk of quickly adopting a compromised dependency.\n3. I\u0027ve minimized all permissions and credential persistence risks in\nall workflows. This should be **reviewed carefully**, since it\u0027s hard to\npredict ahead-of-time whether some permissions were being used\nimplicitly.\n4. I\u0027ve eliminated all flagged template injection risks. Most of these\nare not exploitable in practice, but intermediating expressions with\nshell variables `${FOO}` instead of `${{ foo }}` is a best practice\nanyways.\n\nAfter all of that, the only remaining default finding is this:\n\n```\ninfo[use-trusted-publishing]: prefer trusted publishing for authentication\n  --\u003e ./.github/workflows/release.yml:40:14\n   |\n40 |       - run: cargo publish --workspace\n   |         ---  ^^^^^^^^^^^^^^^^^^^^^^^^^ this command\n   |         |\n   |         this step\n   |\n   \u003d note: audit confidence → High\n```\n\nTo fix that one, one of the maintainers will need to set up [Trusted\nPublishing](https://crates.io/docs/trusted-publishing) and remove your\ncurrent manual crates.io token. I strongly recommend doing this as a way\nto reduce your credential exposure risk 🙂\n\nFinally, I\u0027ve done all this without adding a workflow that will\nproactively catch new CI/CD issues. However, if you\u0027re interested in\nthat, I\u0027d be happy to add one.\n\nSigned-off-by: William Woodruff \u003cwilliam@astral.sh\u003e\n\n---------\n\nSigned-off-by: William Woodruff \u003cwilliam@astral.sh\u003e"
    },
    {
      "commit": "f2942b0b5ffdca472ee589e17d9272bf6244c052",
      "tree": "c5313cef33100c19530b9470d6149b8ff1c76aa3",
      "parents": [
        "7b2bbb1b8dde3b86ef593547e8e1c05c22c49549"
      ],
      "author": {
        "name": "Changxin Miao",
        "email": "mcx_221@foxmail.com",
        "time": "Thu Feb 26 21:15:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 26 21:15:00 2026 +0800"
      },
      "message": "fix(aliyun-oss): avoid duplicated bucket in canonicalized resource for path-style (#692)\n\nWhen using PrivateLink to access OSS, users must use the path-style\naccess method. For more information, see\n\nhttps://help.aliyun.com/zh/oss/user-guide/access-oss-via-privatelink-network\n\nBut `reqsign` currently does not support path-style signature, it always\nduplicates the bucket name in the path, which causes signature failure.\nA valid string to sign should be like:\n```\nGET\n\n\nWed, 25 Feb 2026 13:53:35 GMT\n/test-bucket/\n```\n\nwhereas the current code signs this:\n```\nGET\n\n\nWed, 25 Feb 2026 13:52:33 GMT\n/test-bucket/test-bucket\n```"
    },
    {
      "commit": "7b2bbb1b8dde3b86ef593547e8e1c05c22c49549",
      "tree": "ea1abd7f5c207572782d627cc021420069bc67b9",
      "parents": [
        "efbcf356d390fbd9d9f7ad7c5d86636347353dbf"
      ],
      "author": {
        "name": "Xin Sun",
        "email": "ddupgs@gmail.com",
        "time": "Thu Feb 26 15:34:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 26 15:34:48 2026 +0800"
      },
      "message": "feat: support volcengine tos (#686)\n\nCloses: https://github.com/apache/opendal/issues/7152"
    },
    {
      "commit": "efbcf356d390fbd9d9f7ad7c5d86636347353dbf",
      "tree": "494eb3b52b2dd6a935fbfed34a87505a598e5e8f",
      "parents": [
        "0ec4c323cae246e68c989d910ace5231bb354d6b"
      ],
      "author": {
        "name": "Dimitri John Ledkov",
        "email": "19779+xnox@users.noreply.github.com",
        "time": "Wed Feb 25 15:16:53 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 25 23:16:53 2026 +0800"
      },
      "message": "build(deps): upgrade jsonwebtoken (#689)\n\nMove jsonwebtoken to a workspace dependency.\n\nUpgrade to 10 series, to pick up CVE fix in 10.3.0. Use aws-lc backend, as aws-lc is already an existing transitive dependency."
    },
    {
      "commit": "0ec4c323cae246e68c989d910ace5231bb354d6b",
      "tree": "8b933057ec5dcdcf3894a6d4440da41a90c9b758",
      "parents": [
        "37966ac8c40ebd4af8cc70eda8f83e350557efe7"
      ],
      "author": {
        "name": "Alexander Kjäll",
        "email": "alexander.kjall@gmail.com",
        "time": "Mon Feb 23 02:19:31 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 23 09:19:31 2026 +0800"
      },
      "message": "Replace dotenv with dotenvy (#688)\n\ndotenv is no longer maintained:\nhttps://rustsec.org/advisories/RUSTSEC-2021-0141.html\ndotenvy seems like the best replacement:\nhttps://crates.io/crates/dotenvy"
    },
    {
      "commit": "37966ac8c40ebd4af8cc70eda8f83e350557efe7",
      "tree": "9f86488fbb3ad2d6bbee52790a2024a416070a6b",
      "parents": [
        "8ee4d8eacc36ea2707e27f20de73d119cdf74af0"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Tue Jan 20 20:54:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 20 20:54:19 2026 +0800"
      },
      "message": "chore: Update copyright year in NOTICE file (#682)\n\n"
    },
    {
      "commit": "8ee4d8eacc36ea2707e27f20de73d119cdf74af0",
      "tree": "d4022c2619f49efe589ddad3051f7823f0b9a52b",
      "parents": [
        "cc77c270da5d3d311b24c5d059e639cc6da0ff96"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Jan 19 23:38:26 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 19 23:38:26 2026 +0800"
      },
      "message": "chore: Enable feature flags for discussions (#680)\n\nEnable discussion for opendal-reqsign"
    },
    {
      "commit": "cc77c270da5d3d311b24c5d059e639cc6da0ff96",
      "tree": "5b1374858a097146496356728d4cb772d7d6c9d5",
      "parents": [
        "3918127630604e20bc14c2f8b03a10588a2c37df"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Jan 19 23:31:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 19 23:31:40 2026 +0800"
      },
      "message": "Bump reqsign to v0.19.0 (#679)\n\nThis PR will bump reqsign to v0.19.0\n\n---\n\n**Parts of this PR were drafted with assistance from Codex (with\n`gpt-5.2`) and fully reviewed and edited by me. I take full\nresponsibility for all changes.**"
    },
    {
      "commit": "3918127630604e20bc14c2f8b03a10588a2c37df",
      "tree": "18c171395cfb54fc3a1af2774815195028a6bc6b",
      "parents": [
        "b93f92c9ac71f0d12c5dae625109769ed74c1000"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Jan 19 23:00:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 19 23:00:38 2026 +0800"
      },
      "message": "feat(oss): Add role session name suppport (#678)\n\nThis PR will add role session name suppport for oss.\n\n---\n\n**Parts of this PR were drafted with assistance from Codex (with\n`gpt-5.2`) and fully reviewed and edited by me. I take full\nresponsibility for all changes.**"
    },
    {
      "commit": "b93f92c9ac71f0d12c5dae625109769ed74c1000",
      "tree": "16287ecbc4cf92f0b4f272d5591e85f0fca700b6",
      "parents": [
        "e3d028e09461d74506c71fe951e337c1c13ec7e0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jan 12 22:21:29 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 12 22:21:29 2026 +0800"
      },
      "message": "chore(deps): Bump 1password/load-secrets-action from 3.0.0 to 3.1.0 (#669)\n\nBumps\n[1password/load-secrets-action](https://github.com/1password/load-secrets-action)\nfrom 3.0.0 to 3.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/1password/load-secrets-action/releases\"\u003e1password/load-secrets-action\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport loading secrets from env files \u003ca\nhref\u003d\"https://redirect.github.com/1password/load-secrets-action/issues/93\"\u003e#93\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eop-cli-installer\u003c/code\u003e dependency is removed \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/127\"\u003e1Password/load-secrets-action#127\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdates js-yaml from 4.1.0 to 4.1.1 \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/128\"\u003e1Password/load-secrets-action#128\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/geofox\"\u003e\u003ccode\u003e@​geofox\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/117\"\u003e1Password/load-secrets-action#117\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/wcarlsen\"\u003e\u003ccode\u003e@​wcarlsen\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/1Password/load-secrets-action/pull/118\"\u003e1Password/load-secrets-action#118\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/1Password/load-secrets-action/compare/v3...v3.1.0\"\u003ehttps://github.com/1Password/load-secrets-action/compare/v3...v3.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/1password/load-secrets-action/compare/v3...v3.1.0\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003d1password/load-secrets-action\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d3.0.0\u0026new-version\u003d3.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "e3d028e09461d74506c71fe951e337c1c13ec7e0",
      "tree": "f66cd2d635583cca1a645844cdb0698fd92d4ced",
      "parents": [
        "0ff4c42d0373eadef7e2b00cf26cbc712202c4bd"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sun Jan 11 21:36:57 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 11 21:36:57 2026 +0800"
      },
      "message": "chore: upgrade reqwest to 0.13 (#675)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "0ff4c42d0373eadef7e2b00cf26cbc712202c4bd",
      "tree": "71518973c777977e82fec8f9170cd2bc8c523f7d",
      "parents": [
        "08aa73eaf75ab0fa8fe1a39eaa5053ef66c0e713"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Fri Dec 26 21:25:06 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 21:25:06 2025 +0800"
      },
      "message": "chore: Align our mock servers impl (#674)\n\nThis PR will align our mock servers impl\n\n---\n\n**Parts of this PR were drafted with assistance from Codex (with\n`gpt-5.2`) and fully reviewed and edited by me. I take full\nresponsibility for all changes.**"
    },
    {
      "commit": "08aa73eaf75ab0fa8fe1a39eaa5053ef66c0e713",
      "tree": "4d4ba177841e1b0239c6e3604f38267d674497ae",
      "parents": [
        "ab9b0fcb8c6cf58a14e9ab33d9854ea7e0d2c091"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Fri Dec 26 20:59:52 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 20:59:52 2025 +0800"
      },
      "message": "feat(google): Add workload identity support (#673)\n\nThis PR will add workload identity support\n\n---\n\n**Parts of this PR were drafted with assistance from Codex (with\n`gpt-5.2`) and fully reviewed and edited by me. I take full\nresponsibility for all changes.**"
    },
    {
      "commit": "ab9b0fcb8c6cf58a14e9ab33d9854ea7e0d2c091",
      "tree": "ca9ba614fb835bbb82fd79cdba9cac203e20d97f",
      "parents": [
        "c3b660eb42934a133881cabea8c42be01917271f"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Fri Dec 26 20:13:31 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 20:13:31 2025 +0800"
      },
      "message": "feat(azure): Add scoped SAS support (#672)\n\nThis PR will add scoped SAS support\n\n\n---\n\n**Parts of this PR were drafted with assistance from Codex (with\n`gpt-5.2`) and fully reviewed and edited by me. I take full\nresponsibility for all changes.**"
    },
    {
      "commit": "c3b660eb42934a133881cabea8c42be01917271f",
      "tree": "d650a98cc06fdba9c56d733dd648ec3e0bf55ee3",
      "parents": [
        "f2eb9ea8894566437b1f37f9c6a9f738155c2e29"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Fri Dec 26 19:21:58 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 19:21:58 2025 +0800"
      },
      "message": "feat(aws): Add session policy support for sts (#670)\n\nThis PR adds session policy support for sts\n\n---\n\n**Parts of this PR were drafted with assistance from Codex (with\n`gpt-5.2`) and fully reviewed and edited by me. I take full\nresponsibility for all changes.**"
    },
    {
      "commit": "f2eb9ea8894566437b1f37f9c6a9f738155c2e29",
      "tree": "a3686aa01018d20e4164bbb9da53f8d0d32be585",
      "parents": [
        "42fd8f3b18ba428b4db5138520fe302190e7408c"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Fri Dec 26 19:15:21 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 26 19:15:21 2025 +0800"
      },
      "message": "feat(google): Add sign blob support (#671)\n\nThis PR will add sign blob support\n\n---\n\n**Parts of this PR were drafted with assistance from Codex (with\n`gpt-5.2`) and fully reviewed and edited by me. I take full\nresponsibility for all changes.**"
    },
    {
      "commit": "42fd8f3b18ba428b4db5138520fe302190e7408c",
      "tree": "8f74601f68254b736a8733507e83b5e20e1e7cfb",
      "parents": [
        "4c60e7cd3d507411b3b76c022f1f7d685d4810a0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Dec 03 16:30:43 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 03 16:30:43 2025 +0800"
      },
      "message": "chore(deps): Bump actions/checkout from 5 to 6 (#665)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 5 to\n6.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/releases\"\u003eactions/checkout\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate README to include Node.js 24 support details and requirements\nby \u003ca href\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2248\"\u003eactions/checkout#2248\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePersist creds to a separate file by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2286\"\u003eactions/checkout#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev6-beta by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2298\"\u003eactions/checkout#2298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate readme/changelog for v6 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2311\"\u003eactions/checkout#2311\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v5.0.0...v6.0.0\"\u003ehttps://github.com/actions/checkout/compare/v5.0.0...v6.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6-beta\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cp\u003eUpdated persist-credentials to store the credentials under\n\u003ccode\u003e$RUNNER_TEMP\u003c/code\u003e instead of directly in the local git\nconfig.\u003c/p\u003e\n\u003cp\u003eThis requires a minimum Actions Runner version of \u003ca\nhref\u003d\"https://github.com/actions/runner/releases/tag/v2.329.0\"\u003ev2.329.0\u003c/a\u003e\nto access the persisted credentials for \u003ca\nhref\u003d\"https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action\"\u003eDocker\ncontainer action\u003c/a\u003e scenarios.\u003c/p\u003e\n\u003ch2\u003ev5.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v5 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2301\"\u003eactions/checkout#2301\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v5...v5.0.1\"\u003ehttps://github.com/actions/checkout/compare/v5...v5.0.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/blob/main/CHANGELOG.md\"\u003eactions/checkout\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003eV6.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePersist creds to a separate file by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2286\"\u003eactions/checkout#2286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README to include Node.js 24 support details and requirements\nby \u003ca href\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2248\"\u003eactions/checkout#2248\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eV5.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v5 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2301\"\u003eactions/checkout#2301\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eV5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate actions checkout to use node 24 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2226\"\u003eactions/checkout#2226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eV4.3.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePort v6 cleanup to v4 by \u003ca\nhref\u003d\"https://github.com/ericsciple\"\u003e\u003ccode\u003e@​ericsciple\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2305\"\u003eactions/checkout#2305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eV4.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README.md by \u003ca\nhref\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd internal repos for checking out multiple repositories by \u003ca\nhref\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation update - add recommended permissions to Readme by \u003ca\nhref\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust positioning of user email note and permissions heading by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2044\"\u003eactions/checkout#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CODEOWNERS for actions by \u003ca\nhref\u003d\"https://github.com/TingluoHuang\"\u003e\u003ccode\u003e@​TingluoHuang\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2224\"\u003eactions/checkout#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate package dependencies by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eurl-helper.ts\u003c/code\u003e now leverages well-known environment\nvariables by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1941\"\u003eactions/checkout#1941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand unit test coverage for \u003ccode\u003eisGhes\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1946\"\u003eactions/checkout#1946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck out other refs/* by commit if provided, fall back to ref by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1924\"\u003eactions/checkout#1924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Ref and Commit outputs by \u003ca\nhref\u003d\"https://github.com/lucacome\"\u003e\u003ccode\u003e@​lucacome\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1180\"\u003eactions/checkout#1180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency updates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e- \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1777\"\u003eactions/checkout#1777\u003c/a\u003e,\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1872\"\u003eactions/checkout#1872\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minor-npm-dependencies group across 1 directory with 4\nupdates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1739\"\u003eactions/checkout#1739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1697\"\u003eactions/checkout#1697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck out other refs/* by commit by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1774\"\u003eactions/checkout#1774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePin actions/checkout\u0027s own workflows to a known, good, stable\nversion. by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1776\"\u003eactions/checkout#1776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck platform to set archive extension appropriately by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1732\"\u003eactions/checkout#1732\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate NPM dependencies by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1703\"\u003eactions/checkout#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 2 to 3 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1694\"\u003eactions/checkout#1694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-node from 1 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1696\"\u003eactions/checkout#1696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 2 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1695\"\u003eactions/checkout#1695\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3\"\u003e\u003ccode\u003e1af3b93\u003c/code\u003e\u003c/a\u003e\nupdate readme/changelog for v6 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2311\"\u003e#2311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/71cf2267d89c5cb81562390fa70a37fa40b1305e\"\u003e\u003ccode\u003e71cf226\u003c/code\u003e\u003c/a\u003e\nv6-beta (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2298\"\u003e#2298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/069c6959146423d11cd0184e6accf28f9d45f06e\"\u003e\u003ccode\u003e069c695\u003c/code\u003e\u003c/a\u003e\nPersist creds to a separate file (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2286\"\u003e#2286\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493\"\u003e\u003ccode\u003eff7abcd\u003c/code\u003e\u003c/a\u003e\nUpdate README to include Node.js 24 support details and requirements (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2248\"\u003e#2248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v5...v6\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/checkout\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d5\u0026new-version\u003d6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "4c60e7cd3d507411b3b76c022f1f7d685d4810a0",
      "tree": "78de256a6594f574f01d8935e0b7a4d23479ed91",
      "parents": [
        "f6ff6a7ad039619b35a84d21214d4585130f4f7d"
      ],
      "author": {
        "name": "Aarni Koskela",
        "email": "akx@iki.fi",
        "time": "Wed Dec 03 09:50:17 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 03 15:50:17 2025 +0800"
      },
      "message": "chore: do not require `reqwest` directly in services (#666)\n\nThese features are provided via `reqsign-http-send-reqwest` (or another\nimplementation); these service providers shouldn\u0027t pull them in.\n\nSigned-off-by: Aarni Koskela \u003cakx@iki.fi\u003e\nCo-authored-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "f6ff6a7ad039619b35a84d21214d4585130f4f7d",
      "tree": "9f9624f15643ee92fc0ec2009a037c14dbb4dd49",
      "parents": [
        "507ed20ee43f86ef5a6b5919008d1577392724d2"
      ],
      "author": {
        "name": "Aarni Koskela",
        "email": "akx@iki.fi",
        "time": "Wed Dec 03 09:46:29 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 03 15:46:29 2025 +0800"
      },
      "message": "chore: fix wasm tests (#667)\n\nFixes the wasm_tests failure exhibited in #666\u0027s CI run."
    },
    {
      "commit": "507ed20ee43f86ef5a6b5919008d1577392724d2",
      "tree": "156085853f14a219f7cd07e1a5a2c169b6025846",
      "parents": [
        "6f4530d243746896483a5e548bf0df4ee3d31176"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Nov 13 21:00:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 13 21:00:30 2025 +0800"
      },
      "message": "ci: fix wasm test (#664)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "6f4530d243746896483a5e548bf0df4ee3d31176",
      "tree": "345445cf35e3fb3f32a21ee3661e00e64a91821e",
      "parents": [
        "3ae0ec8919f242bb75e71398f2eced57a8597c55"
      ],
      "author": {
        "name": "Ben Beasley",
        "email": "code@musicinmybrain.net",
        "time": "Thu Nov 13 08:59:21 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 13 16:59:21 2025 +0800"
      },
      "message": "chore: Fix typo in reqsign-google description (#663)\n\n"
    },
    {
      "commit": "3ae0ec8919f242bb75e71398f2eced57a8597c55",
      "tree": "a3fa74dd8647183c9b83fdfc35430a32f1d77cb8",
      "parents": [
        "4997eef7616e600e2ae509af64b60dfa861ad7eb"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Tue Oct 21 17:02:46 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 21 16:02:46 2025 +0800"
      },
      "message": "Bump version to 0.18.1 (#659)\n\nThis PR will bump reqsign version to 0.18.1\n\nAll other crates bumped to 2.0.1\n\n\n## Summary\n\n- Enabled reqsign-http-send-reqwest and reqsign-file-read-tokio to build\non WASM, tightening cross-platform coverage.\n- Improved credential handling by returning credential_invalid when no\ncredential is available and trimming/encoding AWS\n  tokens correctly.\n- Aligned internal crate versions for the 0.18.1/2.0.1 release and fixed\nthe release workflow.\n\n## Commits\n\n- bd9eee5 Bump version to 0.18.1\n- 4997eef feat: Make http-send-reqwest available on wasm (#656)\n- 125362c feat: Return credential_invalid while no credential found\n(#655)\n- c7953e5 feat(context-file-read-tokio): Allow file read tokio been\nbuilt on wasm (#654)\n- 1744efc fix(services-aws-v4): Ensure token has been trimmed and\nencoded (#653)\n- 60d1ca9 ci: fix up release workflow (#650)\n\n---\n\n**This PR was primarily authored with Codex using GPT-5-Codex and then\nhand-reviewed by me. I AM responsible for every change made in this PR.\nI aimed to keep it aligned with our goals, though I may have missed\nminor issues. Please flag anything that feels off, I\u0027ll fix it\nquickly.**\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "4997eef7616e600e2ae509af64b60dfa861ad7eb",
      "tree": "e3658f17c31ac5b0c73726a4d7c1708898692b74",
      "parents": [
        "125362c6ef4e116ed70c6e76260de3b47980985f"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Sun Oct 19 17:51:30 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 19 16:51:30 2025 +0800"
      },
      "message": "feat: Make http-send-reqwest available on wasm (#656)\n\nAllow https://github.com/apache/opendal/pull/6656 to pass.\n\n---\n\n**This PR was primarily authored with Codex using GPT-5-Codex and then\nhand-reviewed by me. I AM responsible for every change made in this PR.\nI aimed to keep it aligned with our goals, though I may have missed\nminor issues. Please flag anything that feels off, I\u0027ll fix it\nquickly.**\n\n---------\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "125362c6ef4e116ed70c6e76260de3b47980985f",
      "tree": "aa1c3b8c768fef7c62ddc9c5e21737df6bacaced",
      "parents": [
        "c7953e52e3daf8ed328dec2d34b5f89df9b6643a"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Oct 13 22:50:54 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 13 21:50:54 2025 +0800"
      },
      "message": "feat: Return credential_invalid while no credential found (#655)\n\n`Signer` should check and return error instead of passing down to\n`RequestSigner`.\n\n---------\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "c7953e52e3daf8ed328dec2d34b5f89df9b6643a",
      "tree": "f4d2df604e39b78c68d6ff39c47f18fdee7c090f",
      "parents": [
        "1744efcc7b4a0e817eb36956864e990179843902"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Oct 13 17:12:26 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 13 16:12:26 2025 +0800"
      },
      "message": "feat(context-file-read-tokio): Allow file read tokio been built on wasm (#654)\n\nTechnically, file-read-tokio doesn\u0027t support WASM at all. But it\u0027s still\nuseful to make this crate available on WASM so users don\u0027t have to\njuggle features and target configurations.\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "1744efcc7b4a0e817eb36956864e990179843902",
      "tree": "c349503c1333cd8cb3d52d624f76326ab421caec",
      "parents": [
        "60d1ca93bbc84e1344d14b5c47bb4ab870196911"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Oct 13 15:43:19 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 13 14:43:19 2025 +0800"
      },
      "message": "fix(services-aws-v4): Ensure token has been trimmed and encoded (#653)\n\nFix part of https://github.com/apache/opendal/pull/6656\n\nIn the real world, token files may contain non-URL-safe characters. This\nPR handles them by trimming and encoding the tokens before sending them\nout.\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "60d1ca93bbc84e1344d14b5c47bb4ab870196911",
      "tree": "238c25c69cde99ec181a4e72633dff92013ec83a",
      "parents": [
        "077a866f5c179bb1f2e9c05a4f8adc2f384bd39b"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Mon Oct 06 18:33:39 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 06 18:33:39 2025 +0800"
      },
      "message": "ci: fix up release workflow (#650)\n\n"
    },
    {
      "commit": "077a866f5c179bb1f2e9c05a4f8adc2f384bd39b",
      "tree": "b4dcef7664a192baf6fe8230d91e4a09f8a54642",
      "parents": [
        "84823db10adfd439b22fd4a63c7cccea43df7752"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Oct 04 21:59:55 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 04 21:59:55 2025 +0800"
      },
      "message": "chore: use the official license template (#649)\n\n"
    },
    {
      "commit": "84823db10adfd439b22fd4a63c7cccea43df7752",
      "tree": "4a197e5d794b50c71cfa62998648421c95174eef",
      "parents": [
        "54de7a2c0df10714573decb3f631ef77f333b313"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Oct 04 21:54:59 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 04 21:54:59 2025 +0800"
      },
      "message": "chore: add NOTICE file (#647)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "54de7a2c0df10714573decb3f631ef77f333b313",
      "tree": "b98357492485ad27c6c8c6a5852f2c50d03d2797",
      "parents": [
        "873fac195c1b678fa0f47f59d26f32e9015e419a"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Sat Oct 04 00:01:11 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 04 00:01:11 2025 +0800"
      },
      "message": "chore: metadata and release workflow (#645)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "873fac195c1b678fa0f47f59d26f32e9015e419a",
      "tree": "5f6c1d1f00866974c16b57a2869e91752f1733c0",
      "parents": [
        "c2f250a7d3324a1ca865909d865c3baf57ce9317"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Fri Oct 03 21:40:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 03 21:40:53 2025 +0800"
      },
      "message": "chore: bump major version and encapsulate Timestamp (#643)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "c2f250a7d3324a1ca865909d865c3baf57ce9317",
      "tree": "316abe060fff63db0c600596790813ec413cc594",
      "parents": [
        "282b5dc716af0f788c50802229652d342e97a33e"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Fri Oct 03 11:00:57 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 03 11:00:57 2025 +0800"
      },
      "message": "chore: add .asf.yaml file (#644)\n\nAdded configuration for GitHub integration and notifications."
    },
    {
      "commit": "282b5dc716af0f788c50802229652d342e97a33e",
      "tree": "0f87e5722e877c0dcc9dd137bce9857e300d5dc7",
      "parents": [
        "6a46ce475964ef0e887320e1c77b4d7c8d9ddbe1"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Oct 02 00:02:19 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 02 00:02:19 2025 +0800"
      },
      "message": "chore: bump version and fix up metadata (#642)\n\nThis closes https://github.com/apache/opendal-reqsign/pull/640.\n\n---------\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e\nCo-authored-by: SuzuyaXJZ \u003csuzuyax.jz@gmail.com\u003e"
    },
    {
      "commit": "6a46ce475964ef0e887320e1c77b4d7c8d9ddbe1",
      "tree": "b87c8a0643d5891bbabdbb44b056addfa820deea",
      "parents": [
        "484765a234a67cba65b28fd9dade3e24fa886c8e"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Wed Oct 01 22:21:14 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 01 22:21:14 2025 +0800"
      },
      "message": "chore: migrate branding to Apache OpenDAL Reqsign (#641)\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "484765a234a67cba65b28fd9dade3e24fa886c8e",
      "tree": "90c5b09bb361f098caed46c42778e470dd1e9a5c",
      "parents": [
        "c25ec1c7c522428f0aa2c160a35319d0e90bda93"
      ],
      "author": {
        "name": "Ben Beasley",
        "email": "code@musicinmybrain.net",
        "time": "Mon Sep 29 11:53:44 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 29 18:53:44 2025 +0800"
      },
      "message": "fix: Fix license files missing from published crates (#635)\n\nUse symbolic links to the top-level (workspace) license file.\n\nBefore this PR:\n\n```\n$ cd reqsign/\n$ cargo publish --dry-run\n$ tar -tzvf ../target/package/reqsign-0.17.0.crate\n-rw-r--r-- 0/0             101 1970-01-01 01:00 reqsign-0.17.0/.cargo_vcs_info.json\n-rw-r--r-- 0/0           61728 1970-01-01 01:00 reqsign-0.17.0/Cargo.lock\n-rw-r--r-- 0/0            2993 1970-01-01 01:00 reqsign-0.17.0/Cargo.toml\n-rw-r--r-- 0/0            2893 2006-07-24 02:21 reqsign-0.17.0/Cargo.toml.orig\n-rw-r--r-- 0/0            5086 2006-07-24 02:21 reqsign-0.17.0/README.md\n-rw-r--r-- 0/0            1496 2006-07-24 02:21 reqsign-0.17.0/examples/aws.rs\n-rw-r--r-- 0/0            1495 2006-07-24 02:21 reqsign-0.17.0/examples/azure.rs\n-rw-r--r-- 0/0            1520 2006-07-24 02:21 reqsign-0.17.0/examples/google.rs\n-rw-r--r-- 0/0            2395 2006-07-24 02:21 reqsign-0.17.0/src/aliyun.rs\n-rw-r--r-- 0/0            2823 2006-07-24 02:21 reqsign-0.17.0/src/aws.rs\n-rw-r--r-- 0/0            2812 2006-07-24 02:21 reqsign-0.17.0/src/azure.rs\n-rw-r--r-- 0/0            2715 2006-07-24 02:21 reqsign-0.17.0/src/context.rs\n-rw-r--r-- 0/0            3391 2006-07-24 02:21 reqsign-0.17.0/src/google.rs\n-rw-r--r-- 0/0            2411 2006-07-24 02:21 reqsign-0.17.0/src/huaweicloud.rs\n-rw-r--r-- 0/0            1429 2006-07-24 02:21 reqsign-0.17.0/src/lib.rs\n-rw-r--r-- 0/0            2355 2006-07-24 02:21 reqsign-0.17.0/src/oracle.rs\n-rw-r--r-- 0/0            2377 2006-07-24 02:21 reqsign-0.17.0/src/tencent.rs\n```\n\nAfter this PR:\n\n```\n$ cd reqsign/\n$ cargo publish --dry-run\n$ tar -tzvf ../target/package/reqsign-0.17.0.crate\n-rw-r--r-- 0/0             101 1970-01-01 01:00 reqsign-0.17.0/.cargo_vcs_info.json\n-rw-r--r-- 0/0           61728 1970-01-01 01:00 reqsign-0.17.0/Cargo.lock\n-rw-r--r-- 0/0            2993 1970-01-01 01:00 reqsign-0.17.0/Cargo.toml\n-rw-r--r-- 0/0            2893 2006-07-24 02:21 reqsign-0.17.0/Cargo.toml.orig\n-rw-r--r-- 0/0           11342 2006-07-24 02:21 reqsign-0.17.0/LICENSE\n-rw-r--r-- 0/0            5086 2006-07-24 02:21 reqsign-0.17.0/README.md\n-rw-r--r-- 0/0            1496 2006-07-24 02:21 reqsign-0.17.0/examples/aws.rs\n-rw-r--r-- 0/0            1495 2006-07-24 02:21 reqsign-0.17.0/examples/azure.rs\n-rw-r--r-- 0/0            1520 2006-07-24 02:21 reqsign-0.17.0/examples/google.rs\n-rw-r--r-- 0/0            2395 2006-07-24 02:21 reqsign-0.17.0/src/aliyun.rs\n-rw-r--r-- 0/0            2823 2006-07-24 02:21 reqsign-0.17.0/src/aws.rs\n-rw-r--r-- 0/0            2812 2006-07-24 02:21 reqsign-0.17.0/src/azure.rs\n-rw-r--r-- 0/0            2715 2006-07-24 02:21 reqsign-0.17.0/src/context.rs\n-rw-r--r-- 0/0            3391 2006-07-24 02:21 reqsign-0.17.0/src/google.rs\n-rw-r--r-- 0/0            2411 2006-07-24 02:21 reqsign-0.17.0/src/huaweicloud.rs\n-rw-r--r-- 0/0            1429 2006-07-24 02:21 reqsign-0.17.0/src/lib.rs\n-rw-r--r-- 0/0            2355 2006-07-24 02:21 reqsign-0.17.0/src/oracle.rs\n-rw-r--r-- 0/0            2377 2006-07-24 02:21 reqsign-0.17.0/src/tencent.rs\n```"
    },
    {
      "commit": "c25ec1c7c522428f0aa2c160a35319d0e90bda93",
      "tree": "d16a3cac16d580e3409e587fa1e9c33f7e2298e9",
      "parents": [
        "a925881ab574d65082a40a3bbe84fa0dc2850e1b"
      ],
      "author": {
        "name": "Ben Beasley",
        "email": "code@musicinmybrain.net",
        "time": "Mon Sep 29 11:53:23 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 29 18:53:23 2025 +0800"
      },
      "message": "fix: Fix failure of custom_client example to build in http-send-reqwest (#637)\n\nFixes #636 by adding a dev-dependency on `reqwest` with the\n`default-tls` feature enabled.\n\nAlso converts the `reqwest` dependencies in this crate to workspace\ndependencies. Other crates in the repository already use the workspace\n`reqwest`, and this avoids repetition (and possible eventual\nskew/mismatch) of the `reqwest` version number."
    },
    {
      "commit": "a925881ab574d65082a40a3bbe84fa0dc2850e1b",
      "tree": "46c390cd6ddcae59eb27d6bf10d490b530e33764",
      "parents": [
        "90475b4987f96702d3dee743f3ab8b1ddf8e1b08"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Mon Sep 29 15:00:01 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 29 15:00:01 2025 +0800"
      },
      "message": "refactor: chrono to jiff (#634)\n\nThis closes #631\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    },
    {
      "commit": "90475b4987f96702d3dee743f3ab8b1ddf8e1b08",
      "tree": "bfa2cebf01a6476c700377fba1bb0bc239cf4fe3",
      "parents": [
        "8f89556e54099497f6797844147d72b288b45ff5"
      ],
      "author": {
        "name": "Kingsword",
        "email": "kingsword09@gmail.com",
        "time": "Mon Sep 22 17:09:56 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 22 17:09:56 2025 +0800"
      },
      "message": "ci: use `cargo publish --workspace` for publishing all crates (#632)\n\n- Replace individual `cargo publish -p \u003ccrate\u003e` steps with a single\n`cargo publish --workspace`\n- Requires Rust 1.90.0 or newer\n\nReferences:\n- [Rust 1.90.0 release notes: Cargo adds native support for workspace\npublishing](https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/#cargo-adds-native-support-for-workspace-publishing)"
    },
    {
      "commit": "8f89556e54099497f6797844147d72b288b45ff5",
      "tree": "b726c90f91e5b868bc275e34f92c017a2687efd1",
      "parents": [
        "765bc446fbdedf1580cf72cec19d34149002ba2b"
      ],
      "author": {
        "name": "meteorgan",
        "email": "meteorite.gan@gmail.com",
        "time": "Mon Sep 22 17:08:46 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 22 17:08:46 2025 +0800"
      },
      "message": "chore: Make clippy happy (#633)\n\n"
    },
    {
      "commit": "765bc446fbdedf1580cf72cec19d34149002ba2b",
      "tree": "1145903cedb2dfe3f9d359718cfd636c49d57754",
      "parents": [
        "41f5df7fcb7ec79b253dccf93dae167e151b88a6"
      ],
      "author": {
        "name": "Adam Gutglick",
        "email": "adamgsal@gmail.com",
        "time": "Thu Sep 11 11:29:39 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 11 18:29:39 2025 +0800"
      },
      "message": "Build docs for all features on docs.rs (#628)\n\n"
    },
    {
      "commit": "41f5df7fcb7ec79b253dccf93dae167e151b88a6",
      "tree": "a355bf73dfff07c5ea6dad5eb0063f438a728a51",
      "parents": [
        "5236a930dfc19505fceb3ff62d1001d8c4d097c5"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Sep 11 17:25:37 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 11 17:25:37 2025 +0800"
      },
      "message": "feat: Allow configure from default chain (#620)\n\n**This PR was primarily authored with Codex using GPT-5 and then\nhand-reviewed by me. I AM responsible for every change made in this PR.\nI aimed to keep it aligned with our goals, though I may have missed\nminor issues. Please flag anything that feels off, I\u0027ll fix it\nquickly.**\n\n---------\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "5236a930dfc19505fceb3ff62d1001d8c4d097c5",
      "tree": "17e038df3d396bd49d8b4b12982e57ee422e2dce",
      "parents": [
        "6ebbd815de7133ab16f62502ac9370b748bd0e13"
      ],
      "author": {
        "name": "Kingsword",
        "email": "kingsword09@gmail.com",
        "time": "Mon Sep 08 16:58:02 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 08 16:58:02 2025 +0800"
      },
      "message": "ci: Switch from --nocapture to --no-capture (#626)\n\n`--no-capture` was added in 1.88, with `--nocapture` being\nsoft-deprecated.\nhttps://releases.rs/docs/1.88.0/#libraries"
    },
    {
      "commit": "6ebbd815de7133ab16f62502ac9370b748bd0e13",
      "tree": "41768db2b7fe777996be0bc7ac248aa5bdd0213d",
      "parents": [
        "65bcece3d3c7557c8f7c1759043a534a506353c7"
      ],
      "author": {
        "name": "Kingsword",
        "email": "kingsword09@gmail.com",
        "time": "Sun Sep 07 16:38:36 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 07 16:38:36 2025 +0800"
      },
      "message": "ci: Update GitHub Action to ASF approved patterns (#623)\n\n"
    },
    {
      "commit": "65bcece3d3c7557c8f7c1759043a534a506353c7",
      "tree": "04f895d97e069e2187c0bca44edc6187b3e82f1f",
      "parents": [
        "542768b3fda432ee91de51675cb4b1bc96b4ef10"
      ],
      "author": {
        "name": "Kingsword",
        "email": "kingsword09@gmail.com",
        "time": "Sun Sep 07 13:58:50 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 07 13:58:50 2025 +0800"
      },
      "message": "*: Add ASF headers for all code files (#622)\n\nCloses: #621"
    },
    {
      "commit": "542768b3fda432ee91de51675cb4b1bc96b4ef10",
      "tree": "a69d84d76f12647b9b11c21dcdabcb89720448ac",
      "parents": [
        "e82712c190362ea1009d1583bc2fd315e1626ff8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Sep 05 20:32:52 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 05 20:32:52 2025 +0800"
      },
      "message": "chore(deps): Update windows-sys requirement from 0.60.2 to 0.61.0 (#619)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e82712c190362ea1009d1583bc2fd315e1626ff8",
      "tree": "54e535b15e5cd63722460276ba24e150b2c072b6",
      "parents": [
        "e1c4d13e293075eebb3fb7112ac7d0ce56c5b7e7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Sep 05 20:32:39 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 05 20:32:39 2025 +0800"
      },
      "message": "chore(deps): Bump actions/github-script from 7 to 8 (#618)\n\nBumps [actions/github-script](https://github.com/actions/github-script)\nfrom 7 to 8.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/github-script/releases\"\u003eactions/github-script\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Node.js version support to 24.x by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/637\"\u003eactions/github-script#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME for updating actions/github-script from v7 to v8 by \u003ca\nhref\u003d\"https://github.com/sneha-krip\"\u003e\u003ccode\u003e@​sneha-krip\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/653\"\u003eactions/github-script#653\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Minimum Compatible Runner Version\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ev2.327.1\u003c/strong\u003e\u003cbr /\u003e\n\u003ca\nhref\u003d\"https://github.com/actions/runner/releases/tag/v2.327.1\"\u003eRelease\nNotes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMake sure your runner is updated to this version or newer to use this\nrelease.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/637\"\u003eactions/github-script#637\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/sneha-krip\"\u003e\u003ccode\u003e@​sneha-krip\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/653\"\u003eactions/github-script#653\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/github-script/compare/v7.1.0...v8.0.0\"\u003ehttps://github.com/actions/github-script/compare/v7.1.0...v8.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade husky to v9 by \u003ca\nhref\u003d\"https://github.com/benelan\"\u003e\u003ccode\u003e@​benelan\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/482\"\u003eactions/github-script#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd workflow file for publishing releases to immutable action\npackage by \u003ca\nhref\u003d\"https://github.com/Jcambass\"\u003e\u003ccode\u003e@​Jcambass\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/485\"\u003eactions/github-script#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade IA Publish by \u003ca\nhref\u003d\"https://github.com/Jcambass\"\u003e\u003ccode\u003e@​Jcambass\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/486\"\u003eactions/github-script#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix workflow status badges by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/497\"\u003eactions/github-script#497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate usage of \u003ccode\u003eactions/upload-artifact\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/512\"\u003eactions/github-script#512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClear up package name confusion by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/514\"\u003eactions/github-script#514\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate dependencies with \u003ccode\u003enpm audit fix\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/515\"\u003eactions/github-script#515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpecify that the used script is JavaScript by \u003ca\nhref\u003d\"https://github.com/timotk\"\u003e\u003ccode\u003e@​timotk\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/478\"\u003eactions/github-script#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Add Dependabot for NPM and Actions by \u003ca\nhref\u003d\"https://github.com/nschonni\"\u003e\u003ccode\u003e@​nschonni\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/472\"\u003eactions/github-script#472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefine \u003ccode\u003epermissions\u003c/code\u003e in workflows and update actions by\n\u003ca href\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/531\"\u003eactions/github-script#531\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Add Dependabot for .github/actions/install-dependencies by \u003ca\nhref\u003d\"https://github.com/nschonni\"\u003e\u003ccode\u003e@​nschonni\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/532\"\u003eactions/github-script#532\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Remove .vscode settings by \u003ca\nhref\u003d\"https://github.com/nschonni\"\u003e\u003ccode\u003e@​nschonni\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/533\"\u003eactions/github-script#533\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Use github/setup-licensed by \u003ca\nhref\u003d\"https://github.com/nschonni\"\u003e\u003ccode\u003e@​nschonni\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/473\"\u003eactions/github-script#473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake octokit instance available as octokit on top of github, to make\nit easier to seamlessly copy examples from GitHub rest api or octokit\ndocumentations by \u003ca\nhref\u003d\"https://github.com/iamstarkov\"\u003e\u003ccode\u003e@​iamstarkov\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/508\"\u003eactions/github-script#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eoctokit\u003c/code\u003e README updates for v7 by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/557\"\u003eactions/github-script#557\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add \u0026quot;exec\u0026quot; usage examples by \u003ca\nhref\u003d\"https://github.com/neilime\"\u003e\u003ccode\u003e@​neilime\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/546\"\u003eactions/github-script#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump ruby/setup-ruby from 1.213.0 to 1.222.0 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/563\"\u003eactions/github-script#563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump ruby/setup-ruby from 1.222.0 to 1.229.0 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/575\"\u003eactions/github-script#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClearly document passing inputs to the \u003ccode\u003escript\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/603\"\u003eactions/github-script#603\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/610\"\u003eactions/github-script#610\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/benelan\"\u003e\u003ccode\u003e@​benelan\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/482\"\u003eactions/github-script#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/Jcambass\"\u003e\u003ccode\u003e@​Jcambass\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/485\"\u003eactions/github-script#485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/timotk\"\u003e\u003ccode\u003e@​timotk\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/478\"\u003eactions/github-script#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/iamstarkov\"\u003e\u003ccode\u003e@​iamstarkov\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/508\"\u003eactions/github-script#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/neilime\"\u003e\u003ccode\u003e@​neilime\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/546\"\u003eactions/github-script#546\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/pull/610\"\u003eactions/github-script#610\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/github-script/compare/v7...v7.1.0\"\u003ehttps://github.com/actions/github-script/compare/v7...v7.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/ed597411d8f924073f98dfc5c65a23a2325f34cd\"\u003e\u003ccode\u003eed59741\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/issues/653\"\u003e#653\u003c/a\u003e\nfrom actions/sneha-krip/readme-for-v8\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/2dc352e4baefd91bec0d06f6ae2f1045d1687ca3\"\u003e\u003ccode\u003e2dc352e\u003c/code\u003e\u003c/a\u003e\nBold minimum Actions Runner version in README\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/01e118c8d0d22115597e46514b5794e7bc3d56f1\"\u003e\u003ccode\u003e01e118c\u003c/code\u003e\u003c/a\u003e\nUpdate README for Node 24 runtime requirements\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/8b222ac82eda86dcad7795c9d49b839f7bf5b18b\"\u003e\u003ccode\u003e8b222ac\u003c/code\u003e\u003c/a\u003e\nApply suggestion from \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/adc0eeac992408a7b276994ca87edde1c8ce4d25\"\u003e\u003ccode\u003eadc0eea\u003c/code\u003e\u003c/a\u003e\nREADME for updating actions/github-script from v7 to v8\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/20fe497b3fe0c7be8aae5c9df711ac716dc9c425\"\u003e\u003ccode\u003e20fe497\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/issues/637\"\u003e#637\u003c/a\u003e\nfrom actions/node24\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/e7b7f222b11a03e8b695c4c7afba89a02ea20164\"\u003e\u003ccode\u003ee7b7f22\u003c/code\u003e\u003c/a\u003e\nupdate licenses\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/2c81ba05f308415d095291e6eeffe983d822345b\"\u003e\u003ccode\u003e2c81ba0\u003c/code\u003e\u003c/a\u003e\nUpdate Node.js version support to 24.x\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/f28e40c7f34bde8b3046d885e986cb6290c5673b\"\u003e\u003ccode\u003ef28e40c\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/actions/github-script/issues/610\"\u003e#610\u003c/a\u003e\nfrom actions/nebuk89-patch-1\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/github-script/commit/1ae9958572fde544457e4d51aed5ea044e8936f3\"\u003e\u003ccode\u003e1ae9958\u003c/code\u003e\u003c/a\u003e\nUpdate README.md\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/actions/github-script/compare/v7...v8\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/github-script\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d7\u0026new-version\u003d8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e1c4d13e293075eebb3fb7112ac7d0ce56c5b7e7",
      "tree": "b31c3e57739d5c1e196b3482646b5f1578ecf12d",
      "parents": [
        "6041f6520da0df01fe0dcc0b045486eb6d4fdbcf"
      ],
      "author": {
        "name": "Tzu Gwo",
        "email": "gotzehsing@gmail.com",
        "time": "Fri Sep 05 20:32:24 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 05 20:32:24 2025 +0800"
      },
      "message": "chore: remove useless `reqwest` requirement (#617)\n\nreqwest is not required in aws, azure and huawei cloud. Remove it to\nmake dependencies neat.\n\nCo-authored-by: Tzu Gwo \u003ctzu@tonbo.io\u003e"
    },
    {
      "commit": "6041f6520da0df01fe0dcc0b045486eb6d4fdbcf",
      "tree": "857e6addaf4e08ec62c77d7364d7e00d24419c84",
      "parents": [
        "e8f3d73408bb32328f2d2248354c7ab2a2ee9094"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Sep 04 17:59:17 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 04 17:59:17 2025 +0800"
      },
      "message": "feat: Add push_front for all default credential providers (#616)\n\nClose https://github.com/Xuanwo/reqsign/issues/614\n\n---\n\n**This PR was primarily authored with Claude Code using Opus 4.1 and\nthen hand-reviewed by me. I AM responsible for every change made in this\nPR. I aimed to keep it aligned with our goals, though I may have missed\nminor issues. Please flag anything that feels off, I\u0027ll fix it\nquickly.**\n\n---------\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "e8f3d73408bb32328f2d2248354c7ab2a2ee9094",
      "tree": "6251fc8f51a111e96a28399fceace91f65dc3b7d",
      "parents": [
        "dd8e582f6e1bff15bd80591cd2791decb7b72cd1"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Tue Sep 02 12:22:24 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 02 12:22:24 2025 +0800"
      },
      "message": "ci: Fix cargo publish (#613)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "dd8e582f6e1bff15bd80591cd2791decb7b72cd1",
      "tree": "f5427c82d2124bfd0c4b8011d1a9ebed444adb14",
      "parents": [
        "273a9cd070ac39727ed943618618e8293e106df8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Sep 02 12:18:57 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 02 12:18:57 2025 +0800"
      },
      "message": "chore(deps): Bump actions/checkout from 4 to 5 (#612)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 4 to\n5.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/releases\"\u003eactions/checkout\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate actions checkout to use node 24 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2226\"\u003eactions/checkout#2226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare v5.0.0 release by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2238\"\u003eactions/checkout#2238\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Minimum Compatible Runner Version\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ev2.327.1\u003c/strong\u003e\u003cbr /\u003e\n\u003ca\nhref\u003d\"https://github.com/actions/runner/releases/tag/v2.327.1\"\u003eRelease\nNotes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMake sure your runner is updated to this version or newer to use this\nrelease.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4...v5.0.0\"\u003ehttps://github.com/actions/checkout/compare/v4...v5.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README.md by \u003ca\nhref\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd internal repos for checking out multiple repositories by \u003ca\nhref\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation update - add recommended permissions to Readme by \u003ca\nhref\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust positioning of user email note and permissions heading by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2044\"\u003eactions/checkout#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CODEOWNERS for actions by \u003ca\nhref\u003d\"https://github.com/TingluoHuang\"\u003e\u003ccode\u003e@​TingluoHuang\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2224\"\u003eactions/checkout#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate package dependencies by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release v4.3.0 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2237\"\u003eactions/checkout#2237\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4...v4.3.0\"\u003ehttps://github.com/actions/checkout/compare/v4...v4.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eurl-helper.ts\u003c/code\u003e now leverages well-known environment\nvariables by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1941\"\u003eactions/checkout#1941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand unit test coverage for \u003ccode\u003eisGhes\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1946\"\u003eactions/checkout#1946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4.2.1...v4.2.2\"\u003ehttps://github.com/actions/checkout/compare/v4.2.1...v4.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck out other refs/* by commit if provided, fall back to ref by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1924\"\u003eactions/checkout#1924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/Jcambass\"\u003e\u003ccode\u003e@​Jcambass\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1919\"\u003eactions/checkout#1919\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/actions/checkout/compare/v4.2.0...v4.2.1\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/blob/main/CHANGELOG.md\"\u003eactions/checkout\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003eV5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate actions checkout to use node 24 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2226\"\u003eactions/checkout#2226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eV4.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README.md by \u003ca\nhref\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd internal repos for checking out multiple repositories by \u003ca\nhref\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation update - add recommended permissions to Readme by \u003ca\nhref\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust positioning of user email note and permissions heading by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2044\"\u003eactions/checkout#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CODEOWNERS for actions by \u003ca\nhref\u003d\"https://github.com/TingluoHuang\"\u003e\u003ccode\u003e@​TingluoHuang\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2224\"\u003eactions/checkout#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate package dependencies by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eurl-helper.ts\u003c/code\u003e now leverages well-known environment\nvariables by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1941\"\u003eactions/checkout#1941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand unit test coverage for \u003ccode\u003eisGhes\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1946\"\u003eactions/checkout#1946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck out other refs/* by commit if provided, fall back to ref by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1924\"\u003eactions/checkout#1924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Ref and Commit outputs by \u003ca\nhref\u003d\"https://github.com/lucacome\"\u003e\u003ccode\u003e@​lucacome\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1180\"\u003eactions/checkout#1180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency updates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e- \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1777\"\u003eactions/checkout#1777\u003c/a\u003e,\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1872\"\u003eactions/checkout#1872\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minor-npm-dependencies group across 1 directory with 4\nupdates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1739\"\u003eactions/checkout#1739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1697\"\u003eactions/checkout#1697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck out other refs/* by commit by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1774\"\u003eactions/checkout#1774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePin actions/checkout\u0027s own workflows to a known, good, stable\nversion. by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1776\"\u003eactions/checkout#1776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck platform to set archive extension appropriately by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1732\"\u003eactions/checkout#1732\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate NPM dependencies by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1703\"\u003eactions/checkout#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 2 to 3 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1694\"\u003eactions/checkout#1694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-node from 1 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1696\"\u003eactions/checkout#1696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 2 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1695\"\u003eactions/checkout#1695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: Suggest \u003ccode\u003euser.email\u003c/code\u003e to be\n\u003ccode\u003e41898282+github-actions[bot]@users.noreply.github.com\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1707\"\u003eactions/checkout#1707\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDisable \u003ccode\u003eextensions.worktreeConfig\u003c/code\u003e when disabling\n\u003ccode\u003esparse-checkout\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1692\"\u003eactions/checkout#1692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dependabot config by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1688\"\u003eactions/checkout#1688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor-actions-dependencies group with 2 updates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1693\"\u003eactions/checkout#1693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump word-wrap from 1.2.3 to 1.2.5 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1643\"\u003eactions/checkout#1643\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/08c6903cd8c0fde910a37f88322edcfb5dd907a8\"\u003e\u003ccode\u003e08c6903\u003c/code\u003e\u003c/a\u003e\nPrepare v5.0.0 release (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2238\"\u003e#2238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/9f265659d3bb64ab1440b03b12f4d47a24320917\"\u003e\u003ccode\u003e9f26565\u003c/code\u003e\u003c/a\u003e\nUpdate actions checkout to use node 24 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2226\"\u003e#2226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4...v5\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/checkout\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d4\u0026new-version\u003d5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "273a9cd070ac39727ed943618618e8293e106df8",
      "tree": "acfe8c3066ad98ad698927a5a4044283b5649c12",
      "parents": [
        "f99172552d0e9946f3bc168059f0a5465badd177"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Sep 01 17:53:17 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 17:53:17 2025 +0800"
      },
      "message": "fix: Cyclic dependences in context crates (#610)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "f99172552d0e9946f3bc168059f0a5465badd177",
      "tree": "e82a78fafb8ab553c84d86b6b730150328fcfa92",
      "parents": [
        "d26ae1a4c99f87b2315f0946aa2d02d2a01c937e"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Sep 01 17:38:24 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 17:38:24 2025 +0800"
      },
      "message": "chore: Remove examples in to core to avoid cyclic deps (#609)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "d26ae1a4c99f87b2315f0946aa2d02d2a01c937e",
      "tree": "4cc873d10734586d9c134b891e3f951e662b7b41",
      "parents": [
        "682377741452c866affc1713095d9a397ad117ba"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Sep 01 17:20:38 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 17:20:38 2025 +0800"
      },
      "message": "Bump to version 1.0.0 (#607)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "682377741452c866affc1713095d9a397ad117ba",
      "tree": "4eaca500d5f7ca32867ae971c5b4e880527eb936",
      "parents": [
        "7d00c2b8bd068c5169a8fb3769062248d2fd1e4c"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Sep 01 17:11:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 17:11:42 2025 +0800"
      },
      "message": "ci: Add release workflow (#606)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "7d00c2b8bd068c5169a8fb3769062248d2fd1e4c",
      "tree": "6541d3ecbb80d808be7aa198d78dcd9bb6c7ea57",
      "parents": [
        "1883d1cbcde8037fe0fe844949b48fd097c683dd"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Sep 01 15:49:26 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 15:49:26 2025 +0800"
      },
      "message": "chore: Using workspace member instead (#605)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "1883d1cbcde8037fe0fe844949b48fd097c683dd",
      "tree": "23e07e628f5dae612456953b56ef1270e3b7cdff",
      "parents": [
        "416d6c9aabf3d93eb1cf07957b0436fdf59c6788"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Sep 01 14:39:25 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 14:39:25 2025 +0800"
      },
      "message": "chore(deps): Bump google-github-actions/auth from 2 to 3 (#604)\n\nBumps\n[google-github-actions/auth](https://github.com/google-github-actions/auth)\nfrom 2 to 3.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/releases\"\u003egoogle-github-actions/auth\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump to Node 24 and remove old parameters by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/508\"\u003egoogle-github-actions/auth#508\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove hacky script by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/509\"\u003egoogle-github-actions/auth#509\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: v3.0.0 by \u003ca\nhref\u003d\"https://github.com/google-github-actions-bot\"\u003e\u003ccode\u003e@​google-github-actions-bot\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/510\"\u003egoogle-github-actions/auth#510\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/compare/v2...v3.0.0\"\u003ehttps://github.com/google-github-actions/auth/compare/v2...v3.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.13\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate deps by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/506\"\u003egoogle-github-actions/auth#506\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: v2.1.13 by \u003ca\nhref\u003d\"https://github.com/google-github-actions-bot\"\u003e\u003ccode\u003e@​google-github-actions-bot\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/507\"\u003egoogle-github-actions/auth#507\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/compare/v2.1.12...v2.1.13\"\u003ehttps://github.com/google-github-actions/auth/compare/v2.1.12...v2.1.13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.12\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd retries for getIDToken by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/502\"\u003egoogle-github-actions/auth#502\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: v2.1.12 by \u003ca\nhref\u003d\"https://github.com/google-github-actions-bot\"\u003e\u003ccode\u003e@​google-github-actions-bot\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/503\"\u003egoogle-github-actions/auth#503\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/compare/v2.1.11...v2.1.12\"\u003ehttps://github.com/google-github-actions/auth/compare/v2.1.11...v2.1.12\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.11\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate troubleshooting docs for Python by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/488\"\u003egoogle-github-actions/auth#488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd linters by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/499\"\u003egoogle-github-actions/auth#499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/500\"\u003egoogle-github-actions/auth#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: v2.1.11 by \u003ca\nhref\u003d\"https://github.com/google-github-actions-bot\"\u003e\u003ccode\u003e@​google-github-actions-bot\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/501\"\u003egoogle-github-actions/auth#501\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/compare/v2.1.10...v2.1.11\"\u003ehttps://github.com/google-github-actions/auth/compare/v2.1.10...v2.1.11\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.10\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDeclare workflow permissions by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/482\"\u003egoogle-github-actions/auth#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument that the OIDC token expires in 5min by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/483\"\u003egoogle-github-actions/auth#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: v2.1.10 by \u003ca\nhref\u003d\"https://github.com/google-github-actions-bot\"\u003e\u003ccode\u003e@​google-github-actions-bot\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/484\"\u003egoogle-github-actions/auth#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/compare/v2.1.9...v2.1.10\"\u003ehttps://github.com/google-github-actions/auth/compare/v2.1.9...v2.1.10\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev2.1.9\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse our custom boolean parsing by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/478\"\u003egoogle-github-actions/auth#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate deps by \u003ca\nhref\u003d\"https://github.com/sethvargo\"\u003e\u003ccode\u003e@​sethvargo\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/479\"\u003egoogle-github-actions/auth#479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRelease: v2.1.9 by \u003ca\nhref\u003d\"https://github.com/google-github-actions-bot\"\u003e\u003ccode\u003e@​google-github-actions-bot\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/pull/480\"\u003egoogle-github-actions/auth#480\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/commit/7c6bc770dae815cd3e89ee6cdf493a5fab2cc093\"\u003e\u003ccode\u003e7c6bc77\u003c/code\u003e\u003c/a\u003e\nRelease: v3.0.0 (\u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/commit/42e4997ee345eebb9d114030d0f9e9b47829ee80\"\u003e\u003ccode\u003e42e4997\u003c/code\u003e\u003c/a\u003e\nRemove hacky script (\u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/commit/5ea4dc11472eebb0a541812f1063c7d318adf57e\"\u003e\u003ccode\u003e5ea4dc1\u003c/code\u003e\u003c/a\u003e\nBump to Node 24 and remove old parameters (\u003ca\nhref\u003d\"https://redirect.github.com/google-github-actions/auth/issues/508\"\u003e#508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/google-github-actions/auth/compare/v2...v3\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dgoogle-github-actions/auth\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d2\u0026new-version\u003d3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "416d6c9aabf3d93eb1cf07957b0436fdf59c6788",
      "tree": "b6b28efdd89bba832e11547143a7a3f239f1f686",
      "parents": [
        "83e08a50435037176f476acc484fd859cc440cb6"
      ],
      "author": {
        "name": "Kingsword",
        "email": "kingsword09@gmail.com",
        "time": "Mon Sep 01 14:38:54 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 14:38:54 2025 +0800"
      },
      "message": "fix: Update repository URL in Cargo.toml (#603)\n\n"
    },
    {
      "commit": "83e08a50435037176f476acc484fd859cc440cb6",
      "tree": "c22baf74822e52c7046dbfab3c7fc36127d003c8",
      "parents": [
        "80fdeb70c920c39a4218f9a009f4dbc9a5d58dd3"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Thu Aug 28 15:24:55 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 28 15:24:55 2025 +0800"
      },
      "message": "refactor: Implement DefaultContext and DefaultSigner  (#602)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "80fdeb70c920c39a4218f9a009f4dbc9a5d58dd3",
      "tree": "78161c5c9d052887ef962c485a9d0e544c5a7e85",
      "parents": [
        "2619ebe83bf48ad37837d2002e02a332cbb36033"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Aug 27 19:44:05 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 27 19:44:05 2025 +0800"
      },
      "message": "chore: Set all packages version to 1.0 (#601)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "2619ebe83bf48ad37837d2002e02a332cbb36033",
      "tree": "0b9e33c2a11bed7cf7a13f7ca8c7a23fc218b3fa",
      "parents": [
        "28b8bf5f27025d4a11e861e54d7862f7a85d9b97"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Aug 27 18:38:38 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 27 18:38:38 2025 +0800"
      },
      "message": "refactor: Add tests for gcs (#600)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "28b8bf5f27025d4a11e861e54d7862f7a85d9b97",
      "tree": "eb06657eaef89e579e14777af6f7aae022ef6b0a",
      "parents": [
        "27c55db2bc586251562638759db07b8d5a6103ec"
      ],
      "author": {
        "name": "Jack Ye",
        "email": "jackye@apache.org",
        "time": "Mon Aug 25 23:35:04 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 26 14:35:04 2025 +0800"
      },
      "message": "feat(services/aws-v4): Add direct configuration support to ECSCredentialProvider (#598)\n\n## Summary\n\n- Added direct configuration support to `ECSCredentialProvider` via new\nbuilder methods\n- Configuration via builder methods takes precedence over environment\nvariables\n- Maintained backward compatibility with existing environment variable\napproach\n\n## New Builder Methods\n\n- `with_relative_uri()`: Configure relative URI for ECS environments\n- `with_auth_token_file()`: Set path to authorization token file  \n- `with_metadata_uri_override()`: Override base metadata endpoint for\nrelative URIs\n\n## Benefits\n\n- Enables programmatic configuration without relying on environment\nvariables\n- Useful for containerized environments where setting env vars may not\nbe practical\n- Provides more flexible credential configuration options\n- Addresses the need to supply `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`,\n`AWS_CONTAINER_CREDENTIALS_FULL_URI`, or\n`AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE` externally\n\n## Test Plan\n\n- [x] Added comprehensive unit tests for all new configuration methods\n- [x] Tested priority order: direct config \u003e environment variables\n- [x] Verified backward compatibility with existing environment variable\nusage\n- [x] All existing tests continue to pass\n\n🤖 Generated with [Claude Code](https://claude.ai/code)\n\n---------\n\nCo-authored-by: Claude \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "27c55db2bc586251562638759db07b8d5a6103ec",
      "tree": "d6b6dcdf06fb3fd07f465d6842495d81d601506c",
      "parents": [
        "b6041c534ad21c5cb7323319f3bf259cd95c97f8"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Wed Aug 20 11:30:03 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 20 11:30:03 2025 +0800"
      },
      "message": "feat: Add integration tests for azure storage (#597)\n\nAdd integration tests for azure storage \n\n**This PR was primarily authored with Claude Code using Opus 4.1 and\nthen hand-reviewed by me. I AM responsible for every change made in this\nPR. I aimed to keep it aligned with our goals, though I may have missed\nminor issues. Please flag anything that feels off, I\u0027ll fix it\nquickly.**\n\n---------\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "b6041c534ad21c5cb7323319f3bf259cd95c97f8",
      "tree": "ba6b986d2fa72486a9c0f8441848ad1d54138178",
      "parents": [
        "0556048873201efb1f67ad8898e8031bf4438143"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Tue Aug 19 13:31:21 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 19 13:31:21 2025 +0800"
      },
      "message": "feat(services/aws-v4): Add test for s3 express session (#596)\n\nClose https://github.com/Xuanwo/reqsign/issues/594\n\n---------\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "0556048873201efb1f67ad8898e8031bf4438143",
      "tree": "da4eea6ebb1ac956185d794fc6881ac676061958",
      "parents": [
        "c63ad9dc4fabd35cd493d1ede9bb8537bee5f0d4"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Tue Aug 19 11:46:45 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 19 11:46:45 2025 +0800"
      },
      "message": "feat: Add CommandExecute in Context (#593)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "c63ad9dc4fabd35cd493d1ede9bb8537bee5f0d4",
      "tree": "47d52683ffc89c679f655fa9abb5e48c82b546df",
      "parents": [
        "e3f99552ff215df94564fe8f3d53cbbc6e610777"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Aug 18 23:13:45 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 18 23:13:45 2025 +0800"
      },
      "message": "refactor: Return reqsign error instead of anyhow (#592)\n\npart of https://github.com/Xuanwo/reqsign/issues/590\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "e3f99552ff215df94564fe8f3d53cbbc6e610777",
      "tree": "9dad56036001cccb0c5da8e3c000a64fe8b87b86",
      "parents": [
        "c522d510eb4d1727e1ff47cd0705bb822cb59dea"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Aug 18 22:46:14 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 18 22:46:14 2025 +0800"
      },
      "message": "refactor: Refactor reqsign error and aws-v4 usage (#591)\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "c522d510eb4d1727e1ff47cd0705bb822cb59dea",
      "tree": "06c4642eb38faac5d2aaacfa53d6f6bcb243d040",
      "parents": [
        "64c6bc84001eb285f2fe6be621730de9a61ddbaa"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Aug 18 18:40:19 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 18 18:40:19 2025 +0800"
      },
      "message": "chore(deps): Bump actions/checkout from 4 to 5 (#589)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 4 to\n5.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/releases\"\u003eactions/checkout\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate actions checkout to use node 24 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2226\"\u003eactions/checkout#2226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare v5.0.0 release by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2238\"\u003eactions/checkout#2238\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⚠️ Minimum Compatible Runner Version\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ev2.327.1\u003c/strong\u003e\u003cbr /\u003e\n\u003ca\nhref\u003d\"https://github.com/actions/runner/releases/tag/v2.327.1\"\u003eRelease\nNotes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMake sure your runner is updated to this version or newer to use this\nrelease.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4...v5.0.0\"\u003ehttps://github.com/actions/checkout/compare/v4...v5.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README.md by \u003ca\nhref\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd internal repos for checking out multiple repositories by \u003ca\nhref\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation update - add recommended permissions to Readme by \u003ca\nhref\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust positioning of user email note and permissions heading by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2044\"\u003eactions/checkout#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CODEOWNERS for actions by \u003ca\nhref\u003d\"https://github.com/TingluoHuang\"\u003e\u003ccode\u003e@​TingluoHuang\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2224\"\u003eactions/checkout#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate package dependencies by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release v4.3.0 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2237\"\u003eactions/checkout#2237\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e made\ntheir first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4...v4.3.0\"\u003ehttps://github.com/actions/checkout/compare/v4...v4.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eurl-helper.ts\u003c/code\u003e now leverages well-known environment\nvariables by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1941\"\u003eactions/checkout#1941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand unit test coverage for \u003ccode\u003eisGhes\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1946\"\u003eactions/checkout#1946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4.2.1...v4.2.2\"\u003ehttps://github.com/actions/checkout/compare/v4.2.1...v4.2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck out other refs/* by commit if provided, fall back to ref by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1924\"\u003eactions/checkout#1924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/Jcambass\"\u003e\u003ccode\u003e@​Jcambass\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1919\"\u003eactions/checkout#1919\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/actions/checkout/compare/v4.2.0...v4.2.1\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/actions/checkout/blob/main/CHANGELOG.md\"\u003eactions/checkout\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003eV5.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate actions checkout to use node 24 by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2226\"\u003eactions/checkout#2226\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eV4.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: update README.md by \u003ca\nhref\u003d\"https://github.com/motss\"\u003e\u003ccode\u003e@​motss\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1971\"\u003eactions/checkout#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd internal repos for checking out multiple repositories by \u003ca\nhref\u003d\"https://github.com/mouismail\"\u003e\u003ccode\u003e@​mouismail\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1977\"\u003eactions/checkout#1977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation update - add recommended permissions to Readme by \u003ca\nhref\u003d\"https://github.com/benwells\"\u003e\u003ccode\u003e@​benwells\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2043\"\u003eactions/checkout#2043\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdjust positioning of user email note and permissions heading by \u003ca\nhref\u003d\"https://github.com/joshmgross\"\u003e\u003ccode\u003e@​joshmgross\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2044\"\u003eactions/checkout#2044\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca\nhref\u003d\"https://github.com/nebuk89\"\u003e\u003ccode\u003e@​nebuk89\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2194\"\u003eactions/checkout#2194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CODEOWNERS for actions by \u003ca\nhref\u003d\"https://github.com/TingluoHuang\"\u003e\u003ccode\u003e@​TingluoHuang\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2224\"\u003eactions/checkout#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate package dependencies by \u003ca\nhref\u003d\"https://github.com/salmanmkc\"\u003e\u003ccode\u003e@​salmanmkc\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/2236\"\u003eactions/checkout#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eurl-helper.ts\u003c/code\u003e now leverages well-known environment\nvariables by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1941\"\u003eactions/checkout#1941\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpand unit test coverage for \u003ccode\u003eisGhes\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1946\"\u003eactions/checkout#1946\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck out other refs/* by commit if provided, fall back to ref by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1924\"\u003eactions/checkout#1924\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Ref and Commit outputs by \u003ca\nhref\u003d\"https://github.com/lucacome\"\u003e\u003ccode\u003e@​lucacome\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1180\"\u003eactions/checkout#1180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency updates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e- \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1777\"\u003eactions/checkout#1777\u003c/a\u003e,\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1872\"\u003eactions/checkout#1872\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the minor-npm-dependencies group across 1 directory with 4\nupdates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1739\"\u003eactions/checkout#1739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/checkout from 3 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1697\"\u003eactions/checkout#1697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck out other refs/* by commit by \u003ca\nhref\u003d\"https://github.com/orhantoy\"\u003e\u003ccode\u003e@​orhantoy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1774\"\u003eactions/checkout#1774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePin actions/checkout\u0027s own workflows to a known, good, stable\nversion. by \u003ca href\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1776\"\u003eactions/checkout#1776\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCheck platform to set archive extension appropriately by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1732\"\u003eactions/checkout#1732\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate NPM dependencies by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1703\"\u003eactions/checkout#1703\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump github/codeql-action from 2 to 3 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1694\"\u003eactions/checkout#1694\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-node from 1 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1696\"\u003eactions/checkout#1696\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/upload-artifact from 2 to 4 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1695\"\u003eactions/checkout#1695\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eREADME: Suggest \u003ccode\u003euser.email\u003c/code\u003e to be\n\u003ccode\u003e41898282+github-actions[bot]@users.noreply.github.com\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1707\"\u003eactions/checkout#1707\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDisable \u003ccode\u003eextensions.worktreeConfig\u003c/code\u003e when disabling\n\u003ccode\u003esparse-checkout\u003c/code\u003e by \u003ca\nhref\u003d\"https://github.com/jww3\"\u003e\u003ccode\u003e@​jww3\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1692\"\u003eactions/checkout#1692\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dependabot config by \u003ca\nhref\u003d\"https://github.com/cory-miller\"\u003e\u003ccode\u003e@​cory-miller\u003c/code\u003e\u003c/a\u003e in\n\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1688\"\u003eactions/checkout#1688\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the minor-actions-dependencies group with 2 updates by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1693\"\u003eactions/checkout#1693\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump word-wrap from 1.2.3 to 1.2.5 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/pull/1643\"\u003eactions/checkout#1643\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/08c6903cd8c0fde910a37f88322edcfb5dd907a8\"\u003e\u003ccode\u003e08c6903\u003c/code\u003e\u003c/a\u003e\nPrepare v5.0.0 release (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2238\"\u003e#2238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/actions/checkout/commit/9f265659d3bb64ab1440b03b12f4d47a24320917\"\u003e\u003ccode\u003e9f26565\u003c/code\u003e\u003c/a\u003e\nUpdate actions checkout to use node 24 (\u003ca\nhref\u003d\"https://redirect.github.com/actions/checkout/issues/2226\"\u003e#2226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/actions/checkout/compare/v4...v5\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dactions/checkout\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d4\u0026new-version\u003d5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "64c6bc84001eb285f2fe6be621730de9a61ddbaa",
      "tree": "ad8cee6f94b7eb91cbcac9bc7e8dd88334b5d05a",
      "parents": [
        "cde7c196f59d36757a3cc0c587f0833b44777087"
      ],
      "author": {
        "name": "Xuanwo",
        "email": "github@xuanwo.io",
        "time": "Mon Aug 18 18:29:15 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 18 18:29:15 2025 +0800"
      },
      "message": "refactor: Refactor s3 tests for different providers (#586)\n\n- [x] assume_role\n- [x] assume_role_with_web_identity\n- [x] cognito\n- [x] default\n- [x] ecs\n- [x] env\n- [x] imds\n- [x] process\n- [x] profile\n- [x] sso\n- [x] static\n\n---------\n\nSigned-off-by: Xuanwo \u003cgithub@xuanwo.io\u003e"
    },
    {
      "commit": "cde7c196f59d36757a3cc0c587f0833b44777087",
      "tree": "b12bdba27dae4c82eebdf8cdaa05ffc623cafaaa",
      "parents": [
        "36c27341dac1c93536a5a55eb8730a6ffa9dcfc0"
      ],
      "author": {
        "name": "tison",
        "email": "wander4096@gmail.com",
        "time": "Thu Aug 14 18:29:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 14 18:29:53 2025 +0800"
      },
      "message": "chore: upgrade and tidy dependencies (#588)\n\ncc @Xuanwo\n\n---------\n\nSigned-off-by: tison \u003cwander4096@gmail.com\u003e"
    }
  ],
  "next": "36c27341dac1c93536a5a55eb8730a6ffa9dcfc0"
}
