Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pinact for openSUSE:Factory checked 
in at 2026-02-03 21:33:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pinact (Old)
 and      /work/SRC/openSUSE:Factory/.pinact.new.1995 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pinact"

Tue Feb  3 21:33:28 2026 rev:8 rq:1330666 version:3.9.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/pinact/pinact.changes    2026-01-13 
21:33:07.676436178 +0100
+++ /work/SRC/openSUSE:Factory/.pinact.new.1995/pinact.changes  2026-02-03 
21:34:30.072181464 +0100
@@ -1,0 +2,111 @@
+Tue Feb 03 06:08:11 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 3.9.0:
+  * Features
+    - #1365 Make version separator configurable via configuration
+      file @ReenigneArcher
+    - #1372 Make version separator configurable via command line
+      option and environment variable
+  * Bug Fixes
+    - #1359 Fix a bug that -log-color doesn't work
+  * Others
+    - docs: fix readme for ignore_actions[].ref by @nasa9084 in
+      #1323
+    - docs: fix readme for correct GHES_API_URL by @maruloop in
+      #1324
+    - docs(INSTALL): add mise alternate installation documentation
+      by @jylenhof in #1331
+  * Dependencies
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.465.0 (#1371)
+    - fix(deps): update module github.com/google/go-github/v81 to
+      v82 (#1368)
+    - chore(deps): update dependency aquaproj/aqua to v2.56.6
+      (#1370)
+    - chore(deps): update dependency anchore/syft to v1.41.1
+      (#1369)
+    - chore(deps): update dependency crate-ci/typos to v1.42.3
+      (#1367)
+    - chore(deps): update dependency anchore/syft to v1.41.0
+      (#1366)
+    - chore(deps): update dependency crate-ci/typos to v1.42.2
+      (#1364)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.464.0 (#1362)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.463.0 (#1361)
+    - fix(deps): update module github.com/suzuki-shunsuke/slog-util
+      to v0.3.1 (#1359)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.462.0 (#1360)
+    - chore(deps): update dependency suzuki-shunsuke/ghalint to
+      v1.5.5 (#1358)
+    - chore(deps): update dependency crate-ci/typos to v1.42.1
+      (#1357)
+    - chore(deps): update actions/checkout action to v6.0.2 (#1356)
+    - chore(deps): update aquaproj/aqua-renovate-config to v2.10.0
+      (#1355)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.461.0 (#1354)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.460.1 (#1353)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.459.0 (#1352)
+    - fix(deps): update module github.com/urfave/cli/v3 to v3.6.2
+      (#1351)
+    - chore(deps): update dependency aquaproj/aqua to v2.56.5
+      (#1350)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.458.0 (#1349)
+    - chore(deps): update dependency anchore/syft to v1.40.1
+      (#1348)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.457.0 (#1347)
+    - chore(deps): update dependency aquaproj/aqua to v2.56.4
+      (#1346)
+    - chore(deps): update dependency go to v1.25.6 (#1345)
+    - fix(deps): update module
+      github.com/suzuki-shunsuke/slog-error to v0.2.2 (#1344)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.456.0 (#1343)
+    - chore(deps): update actions/setup-go action to v6.2.0 (#1341)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.455.0 (#1340)
+    - chore(deps): update dependency aquaproj/aqua to v2.56.3
+      (#1339)
+    - chore(deps): update dependency goreleaser/goreleaser to
+      v2.13.3 (#1338)
+    - chore(deps): update dependency sigstore/cosign to v3.0.4
+      (#1337)
+    - chore(deps): update dependency anchore/syft to v1.40.0
+      (#1336)
+    - fix(deps): update module github.com/goccy/go-yaml to v1.19.2
+      (#1335)
+    - chore(deps): update dependency golangci/golangci-lint to
+      v2.8.0 (#1334)
+    - chore(deps): update dependency crate-ci/typos to v1.42.0
+      (#1332)
+    - fix(deps): update module github.com/google/go-github/v80 to
+      v81 (#1329)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.454.0 (#1330)
+    - chore(deps): update dependency aquaproj/aqua to v2.56.2
+      (#1328)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.453.0 (#1327)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.452.0 (#1325)
+    - chore(deps): update dependency crate-ci/typos to v1.41.0
+      (#1322)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.451.1 (#1321)
+    - chore(deps): update dependency rhysd/actionlint to v1.7.10
+      (#1320)
+    - chore(deps): update dependency crate-ci/typos to v1.40.1
+      (#1319)
+    - chore(deps): update dependency aquaproj/aqua-registry to
+      v4.451.0 (#1318)
+    - chore(deps): update dependency suzuki-shunsuke/pinact to
+      v3.8.0 (#1317)
+
+-------------------------------------------------------------------

Old:
----
  pinact-3.8.0.obscpio

New:
----
  pinact-3.9.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pinact.spec ++++++
--- /var/tmp/diff_new_pack.MN1ABL/_old  2026-02-03 21:34:31.744251736 +0100
+++ /var/tmp/diff_new_pack.MN1ABL/_new  2026-02-03 21:34:31.748251904 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           pinact
-Version:        3.8.0
+Version:        3.9.0
 Release:        0
 Summary:        CLI to edit GitHub Workflows and pin versions of Actions and 
Reusable Workflows
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.MN1ABL/_old  2026-02-03 21:34:31.780253249 +0100
+++ /var/tmp/diff_new_pack.MN1ABL/_new  2026-02-03 21:34:31.792253754 +0100
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/suzuki-shunsuke/pinact.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">refs/tags/v3.8.0</param>
+    <param name="revision">refs/tags/v3.9.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.MN1ABL/_old  2026-02-03 21:34:31.812254594 +0100
+++ /var/tmp/diff_new_pack.MN1ABL/_new  2026-02-03 21:34:31.816254762 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/suzuki-shunsuke/pinact.git</param>
-              <param 
name="changesrevision">5caad4c2e4c0e339aabe292b139313ace227dae8</param></service></servicedata>
+              <param 
name="changesrevision">9d8b3209778c876e9cdf2af2824f9573758273c3</param></service></servicedata>
 (No newline at EOF)
 

++++++ pinact-3.8.0.obscpio -> pinact-3.9.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/INSTALL.md new/pinact-3.9.0/INSTALL.md
--- old/pinact-3.8.0/INSTALL.md 2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/INSTALL.md 2026-02-03 01:05:29.000000000 +0100
@@ -7,6 +7,7 @@
 1. [Homebrew](#homebrew)
 1. [Scoop](#scoop)
 1. [aqua](#aqua)
+1. [mise-en-place](#mise-en-place)
 1. [GitHub Releases](#github-releases)
 1. [Build an executable binary from source code yourself using 
Go](#build-an-executable-binary-from-source-code-yourself-using-go)
 
@@ -43,6 +44,14 @@
 aqua g -i suzuki-shunsuke/pinact
 ```
 
+## mise-en-place
+
+You can install pinact using [mise](https://mise.jdx.dev).
+
+```sh
+mise use -g pinact@latest
+```
+
 ## Build an executable binary from source code yourself using Go
 
 ```sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/README.md new/pinact-3.9.0/README.md
--- old/pinact-3.8.0/README.md  2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/README.md  2026-02-03 01:05:29.000000000 +0100
@@ -1,7 +1,6 @@
 # pinact
 
-[![DeepWiki](https://img.shields.io/badge/DeepWiki-suzuki--shunsuke%2Fpinact-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBa
 
gOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/suzuki-shunsuke/pinact)
-
+[![DeepWiki](https://img.shields.io/badge/Ask_DeepWiki-000000.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP
 
46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/suzuki-shunsuke/pinact)
 
[NotebookLM](https://notebooklm.google.com/notebook/31982d97-104e-4778-9a8f-3b2c044a719d)
 | [Install](INSTALL.md) | [How to use](#how-to-use) | 
[Configuration](#configuration)
 
 pinact is a CLI to edit GitHub Workflow and Composite action files and pin 
versions of Actions and Reusable Workflows.
@@ -423,6 +422,10 @@
 ghes:
   api_url: https://ghes.example.com
   fallback: true # optional, default is false
+
+# Separator between version and tag comment (optional, default is " # ")
+# pinact >= v3.9.0
+separator: " # "
 ```
 
 #### `files`
@@ -474,13 +477,38 @@
 A regular expression of ignored action versions (branch, tag, or commit hash).
 
 > [!WARNING]
-> Regular expressions must match with action names exactly.
+> Regular expressions must match with action versions exactly.
 > For instance, `ref: main` doesn't match with `malicious-main`
 
 #### `ghes`
 
 [See GitHub Enterprise Support](#github-enterprise-server-ghes-support).
 
+#### `separator`
+
+pinact >= v3.9.0 [#1365](https://github.com/suzuki-shunsuke/pinact/pull/1365) 
[#1372](https://github.com/suzuki-shunsuke/pinact/pull/1372)
+
+This is optional. Default is ` # `.
+The separator between the action version (commit SHA) and the version tag 
comment.
+It must include `#`.
+You can also configure the separator by command line option `--separator 
(-sep)` or environment variable `PINACT_SEPARATOR`.
+
+e.g.
+
+```yaml
+# Default separator " # "
+separator: " # "
+# Results in: uses: actions/checkout@abc123... # v3.5.0
+
+# Custom separator " # tag="
+separator: " # tag="
+# Results in: uses: actions/checkout@abc123... # tag=v3.5.0
+
+# Custom separator with double space before #
+separator: "  # "
+# Results in: uses: actions/checkout@abc123...  # v3.5.0
+```
+
 ### Old Schemas
 
 Please see [here](docs/old_schema.md).
@@ -600,15 +628,15 @@
 
 You can also configure GHES using environment variables instead of a 
configuration file.
 
-- `PINACT_GHES_API_URL`
+- `GHES_API_URL`
 - `PINACT_GHES_FALLBACK`
 
 ```sh
-export PINACT_GHES_API_URL=https://ghes.example.com
+export GHES_API_URL=https://ghes.example.com
 export PINACT_GHES_FALLBACK=true
 ```
 
-If `PINACT_GHES_API_URL` is not set, `GITHUB_API_URL` will be used instead.
+If `GHES_API_URL` is not set, `GITHUB_API_URL` will be used instead.
 This is convenient when running on GitHub Actions hosted on GHES.
 
 ### Conditions for Enabling GHES
@@ -616,7 +644,7 @@
 GHES mode is enabled when any of the following conditions are met:
 
 1. `ghes.api_url` is configured in the configuration file
-2. `PINACT_GHES_API_URL` environment variable is set
+2. `GHES_API_URL` environment variable is set
 3. `GITHUB_API_URL` environment variable is set and is not 
`https://api.github.com`
 
 ## See also
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/USAGE.md new/pinact-3.9.0/USAGE.md
--- old/pinact-3.8.0/USAGE.md   2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/USAGE.md   2026-02-03 01:05:29.000000000 +0100
@@ -11,7 +11,7 @@
    pinact [global options] [command [command options]]
 
 VERSION:
-   3.7.4
+   3.8.0
 
 COMMANDS:
    init        Create .pinact.yaml if it doesn't exist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/aqua-checksums.json 
new/pinact-3.9.0/aqua/aqua-checksums.json
--- old/pinact-3.8.0/aqua/aqua-checksums.json   2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/aqua/aqua-checksums.json   2026-02-03 01:05:29.000000000 
+0100
@@ -1,108 +1,108 @@
 {
   "checksums": [
     {
-      "id": 
"github_release/github.com/anchore/syft/v1.39.0/syft_1.39.0_darwin_amd64.tar.gz",
-      "checksum": 
"EF28D9A8B09070EC2B04E1E97240EEBC66C4E6E78433757A8943CD4867476AF6",
+      "id": 
"github_release/github.com/anchore/syft/v1.41.1/syft_1.41.1_darwin_amd64.tar.gz",
+      "checksum": 
"08609B18692C89763120CCF17EC7744E0FCFAF8792A351A9BFEB92C7D74E35AA",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/anchore/syft/v1.39.0/syft_1.39.0_darwin_arm64.tar.gz",
-      "checksum": 
"FE99F5D9D76C48752A53C3E5F3D4044652623DAA623C0DA4B1B501BF4FC6CDE2",
+      "id": 
"github_release/github.com/anchore/syft/v1.41.1/syft_1.41.1_darwin_arm64.tar.gz",
+      "checksum": 
"2EF0308F238B5C762213774A81D1DF5B132C78E3C33D5651E037CBE96DADCD16",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/anchore/syft/v1.39.0/syft_1.39.0_linux_amd64.tar.gz",
-      "checksum": 
"BB8F1BA8201D1CE0D99AB4F5243142629C1AFBA4DA97A7C4CA2DF97327F97190",
+      "id": 
"github_release/github.com/anchore/syft/v1.41.1/syft_1.41.1_linux_amd64.tar.gz",
+      "checksum": 
"D5EF5AF2ACEBE7F6E60DDA19A708FDF4D6F3F49F8D6B2D3E29265C1629F5D121",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/anchore/syft/v1.39.0/syft_1.39.0_linux_arm64.tar.gz",
-      "checksum": 
"7074B90CBF4FBB8416FEB6ACDEA7A310EFC2D155198D559AEAA691EDD5A8C2CA",
+      "id": 
"github_release/github.com/anchore/syft/v1.41.1/syft_1.41.1_linux_arm64.tar.gz",
+      "checksum": 
"C30EF2039CD26F9E790EE9C415376AF348095472018BC5C1988E89B77AA6DF26",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/anchore/syft/v1.39.0/syft_1.39.0_windows_amd64.zip",
-      "checksum": 
"FCF42129786C8F7520EE87204851C38438F68EEC20FE69313BEC5B43B0549914",
+      "id": 
"github_release/github.com/anchore/syft/v1.41.1/syft_1.41.1_windows_amd64.zip",
+      "checksum": 
"0BAB55A5B9A22DEA6D5F5CA173355084A1DB5AD1BC7186A51B4F5A53E4190A81",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/crate-ci/typos/v1.40.0/typos-v1.40.0-aarch64-apple-darwin.tar.gz",
-      "checksum": 
"1EA9ED6520B94D0E1148942E3EF80A997FF8DB856E1389EDAA9A5BDAFF658FA4",
+      "id": 
"github_release/github.com/crate-ci/typos/v1.42.3/typos-v1.42.3-aarch64-apple-darwin.tar.gz",
+      "checksum": 
"9DF9FF62FBCC4D60D9FBEA6425A18870A794B93DCF179B4A6C5FA80237FEEF3F",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/crate-ci/typos/v1.40.0/typos-v1.40.0-aarch64-unknown-linux-musl.tar.gz",
-      "checksum": 
"349B2C3F7C7FBA125E978DF232FAA9C5A57C33AA144F88CBC250C8C6D3E8E054",
+      "id": 
"github_release/github.com/crate-ci/typos/v1.42.3/typos-v1.42.3-aarch64-unknown-linux-musl.tar.gz",
+      "checksum": 
"B3C5D7D7EF1E32145A8F060F8C1F145F91ACD076C298031CBB318BD11DE1CC68",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/crate-ci/typos/v1.40.0/typos-v1.40.0-x86_64-apple-darwin.tar.gz",
-      "checksum": 
"51368551A37E15464438EA5C95AD29CB7239BFDEFD69EE9A9BE5FF3D45FC4D19",
+      "id": 
"github_release/github.com/crate-ci/typos/v1.42.3/typos-v1.42.3-x86_64-apple-darwin.tar.gz",
+      "checksum": 
"88F59E57BD38F9D71EA201462DDB5D800B5C4022CA90CF17C5F0D71CB966568C",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/crate-ci/typos/v1.40.0/typos-v1.40.0-x86_64-pc-windows-msvc.zip",
-      "checksum": 
"F13426420749FAE31136E15A245C8EB144D6D3D681B3300D54D1A129999A140D",
+      "id": 
"github_release/github.com/crate-ci/typos/v1.42.3/typos-v1.42.3-x86_64-pc-windows-msvc.zip",
+      "checksum": 
"7A6A1172465F6678286EA131ADD992E1B4D43C9244E933344DD22832CF12482F",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/crate-ci/typos/v1.40.0/typos-v1.40.0-x86_64-unknown-linux-musl.tar.gz",
-      "checksum": 
"485405D0A92871F45EAD0703D23C04AE6969AD4A6E5799794F55EB04B9F07801",
+      "id": 
"github_release/github.com/crate-ci/typos/v1.42.3/typos-v1.42.3-x86_64-unknown-linux-musl.tar.gz",
+      "checksum": 
"E083BF917D840563E77B35B64F43924D98FCB77ACB69691455099D39E347D67D",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/golangci/golangci-lint/v2.7.2/golangci-lint-2.7.2-darwin-amd64.tar.gz",
-      "checksum": 
"6966554840A02229A14C52641BC38C2C7A14D396F4C59BA0C7C8BB0675CA25C9",
+      "id": 
"github_release/github.com/golangci/golangci-lint/v2.8.0/golangci-lint-2.8.0-darwin-amd64.tar.gz",
+      "checksum": 
"164C72806D0E31AB19DA4F08FFF748A3FDC57E241851279B666C945ED9B91830",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/golangci/golangci-lint/v2.7.2/golangci-lint-2.7.2-darwin-arm64.tar.gz",
-      "checksum": 
"6CE86A00E22B3709F7B994838659C322FDC9EAE09E263DB50439AD4F6EC5785C",
+      "id": 
"github_release/github.com/golangci/golangci-lint/v2.8.0/golangci-lint-2.8.0-darwin-arm64.tar.gz",
+      "checksum": 
"6F8979A83117E0607D4B85FF486382EF0404440BBF54F0E6F003CEAB6CCF641E",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/golangci/golangci-lint/v2.7.2/golangci-lint-2.7.2-linux-amd64.tar.gz",
-      "checksum": 
"CE46A1F1D890E7B667259F70BB236297F5CF8791A9B6B98B41B283D93B5B6E88",
+      "id": 
"github_release/github.com/golangci/golangci-lint/v2.8.0/golangci-lint-2.8.0-linux-amd64.tar.gz",
+      "checksum": 
"7048BC6B25C9515ED092C83F9FA8709CA97937EAD52D9FF317A143299EE97A50",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/golangci/golangci-lint/v2.7.2/golangci-lint-2.7.2-linux-arm64.tar.gz",
-      "checksum": 
"7028E810837722683DAB679FB121336CFA303FECFF39DFE248E3E36BC18D941B",
+      "id": 
"github_release/github.com/golangci/golangci-lint/v2.8.0/golangci-lint-2.8.0-linux-arm64.tar.gz",
+      "checksum": 
"2A58388DB8AF5AB9330791CEA0EBDD4100723CD05AD7185D92FEBAAEE272EC9A",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/golangci/golangci-lint/v2.7.2/golangci-lint-2.7.2-windows-amd64.zip",
-      "checksum": 
"D48F456944C5850CA408FEB0CAC186345F0A6D8CF5DC31875C8F63D3DFF5EE4C",
+      "id": 
"github_release/github.com/golangci/golangci-lint/v2.8.0/golangci-lint-2.8.0-windows-amd64.zip",
+      "checksum": 
"22428168A9406F79853BF9A198B66E88DED9FAA57CF85E5D225361F457F33513",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/golangci/golangci-lint/v2.7.2/golangci-lint-2.7.2-windows-arm64.zip",
-      "checksum": 
"E5FC39E0F3FE817F093B5467BFC60D2A9D1292DE930B29322D2A1F8AFF2A3BBF",
+      "id": 
"github_release/github.com/golangci/golangci-lint/v2.8.0/golangci-lint-2.8.0-windows-arm64.zip",
+      "checksum": 
"380E8552BCE26CB255A8FD21C0B57FE9241B2AB42E5674D30A84E36130B9C988",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.2/goreleaser_Darwin_all.tar.gz",
-      "checksum": 
"D63BA9584B71A0FFDB0F66BDDCBE4DB5CA1F23EEF1000A63328E19E3ED71D91D",
+      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.3/goreleaser_Darwin_all.tar.gz",
+      "checksum": 
"5516C37779EFB3935D5B213CDA3B0B9025AE94DDBCB51DF6919ACBCDEF4194B0",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.2/goreleaser_Linux_arm64.tar.gz",
-      "checksum": 
"81B59A932F6CB6632D29F334F890BD7A8414CB1B765451517A2E0B8DE523453D",
+      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.3/goreleaser_Linux_arm64.tar.gz",
+      "checksum": 
"156656D0F874542D618568BD50AFD3D33CED2E8AAB2C60CC7C21E1B9FA52031E",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.2/goreleaser_Linux_x86_64.tar.gz",
-      "checksum": 
"B38D8F8F9231EE52EEAC9BBD1E3441467A8B1A2E0AA7461F2B1E52B80CD5C62A",
+      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.3/goreleaser_Linux_x86_64.tar.gz",
+      "checksum": 
"4B66F2F78F78561330350651ADE557B70328664718490F37834749073AF21D20",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.2/goreleaser_Windows_arm64.zip",
-      "checksum": 
"11F8F48EA75817F071AB8F2C66CF24A3218FCABBE4B6ADA029644548603A14C2",
+      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.3/goreleaser_Windows_arm64.zip",
+      "checksum": 
"72416A357432D3CF256ADA8D0D0206CB8B734FD827BBF687D6506AAFCA929189",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.2/goreleaser_Windows_x86_64.zip",
-      "checksum": 
"105B8B760449D111775376580CE1B28BEF11AFAC5CB1B0FC4231113C52DAF06A",
+      "id": 
"github_release/github.com/goreleaser/goreleaser/v2.13.3/goreleaser_Windows_x86_64.zip",
+      "checksum": 
"C5586C4ED749CA358AD61ED73EE4B8039CFA68DAAE8C23E69FB086D549DFB31D",
       "algorithm": "sha256"
     },
     {
@@ -161,58 +161,58 @@
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.9/actionlint_1.7.9_darwin_amd64.tar.gz",
-      "checksum": 
"F89A910E90E536F60DF7C504160247DB01DD67CAB6F08C064C1C397B76C91A79",
+      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.10/actionlint_1.7.10_darwin_amd64.tar.gz",
+      "checksum": 
"16782C41F2AF264DB80F855EE5D09164CA98FC78EDF3BCD0F46EECFF279682BA",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.9/actionlint_1.7.9_darwin_arm64.tar.gz",
-      "checksum": 
"855E49E823FC68C6371FD6967E359CDE11912D8D44FED343283C8E6E943BD789",
+      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.10/actionlint_1.7.10_darwin_arm64.tar.gz",
+      "checksum": 
"004CA87B367B37F4D75C55AB6CF80F9B8C043ADBFBD440F31C604D417939C442",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.9/actionlint_1.7.9_linux_amd64.tar.gz",
-      "checksum": 
"233B280D05E100837F4AF1433C7B40A5DCB306E3AA68FB4F17F8A7F45A7DF7B4",
+      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.10/actionlint_1.7.10_linux_amd64.tar.gz",
+      "checksum": 
"F4C76B71DB5755A713E6055CBB0857ED07E103E028BDA117817660EBADB4386F",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.9/actionlint_1.7.9_linux_arm64.tar.gz",
-      "checksum": 
"6B82A3B8C808BF1BCD39A95ACED22FC1A026EEF08EDE410F81E274AF8DEADBBC",
+      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.10/actionlint_1.7.10_linux_arm64.tar.gz",
+      "checksum": 
"CD3DFE5F66887EC6B987752D8D9614E59FD22F39415C5AD9F28374623F41773A",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.9/actionlint_1.7.9_windows_amd64.zip",
-      "checksum": 
"7C8B10A93723838BC3533F6E1886D868FDBB109B81606EBE6D1A533D11D8E978",
+      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.10/actionlint_1.7.10_windows_amd64.zip",
+      "checksum": 
"283467F9D6202A8CB8C00AD8DD0EE4E685B71FB86A6A56C68FCBB9AE8ED91237",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.9/actionlint_1.7.9_windows_arm64.zip",
-      "checksum": 
"7ACA9BF09EEDF0A743E08C7CB9F1712467A7324A9342A029AE4536FB4BE95C25",
+      "id": 
"github_release/github.com/rhysd/actionlint/v1.7.10/actionlint_1.7.10_windows_arm64.zip",
+      "checksum": 
"0C7242BCA2F0EE4672A00CE7FA3C7185311FB94CB9E1E0F6BB57D5456E421D80",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/sigstore/cosign/v3.0.3/cosign-darwin-amd64",
-      "checksum": 
"6C75981E85E081A73F0B4087F58E0AD5FD4712C71B37FA0B6AD774C1F965BAFA",
+      "id": 
"github_release/github.com/sigstore/cosign/v3.0.4/cosign-darwin-amd64",
+      "checksum": 
"4DBAFCA16D29BE06A6A740D517A9F63DE67C78BE3A64D048E42520401D88FACC",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/sigstore/cosign/v3.0.3/cosign-darwin-arm64",
-      "checksum": 
"38349E45A8BB0D1ED3A7AFFB8BDD2E9D597CEE08B6800C395A926B4D9ADB84D2",
+      "id": 
"github_release/github.com/sigstore/cosign/v3.0.4/cosign-darwin-arm64",
+      "checksum": 
"7098C46809C0818D970E63F7ACD10F44C6919D3B4A261A63972A60694A9C9F66",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/sigstore/cosign/v3.0.3/cosign-linux-amd64",
-      "checksum": 
"052363A0E23E2E7ED53641351B8B420918E7E08F9C1D8A42A3DD3877A78A2E10",
+      "id": 
"github_release/github.com/sigstore/cosign/v3.0.4/cosign-linux-amd64",
+      "checksum": 
"10DAB2FD2170B5AA0D5C0673A9A2793304960220B314F6A873BF39C2F08287AA",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/sigstore/cosign/v3.0.3/cosign-linux-arm64",
-      "checksum": 
"81398231362031E3C7AFD6A7508C57049460CD7E02736F1EBE89A452102253E5",
+      "id": 
"github_release/github.com/sigstore/cosign/v3.0.4/cosign-linux-arm64",
+      "checksum": 
"C12FC6150195758EC0B1AEB1AADE3381A1D3A299584982B66543F22BAB04535B",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/sigstore/cosign/v3.0.3/cosign-windows-amd64.exe",
-      "checksum": 
"2593655025B52B5B1C99E43464459B645A3ACBE5D4A5A9F3A766E77BEEC5A441",
+      "id": 
"github_release/github.com/sigstore/cosign/v3.0.4/cosign-windows-amd64.exe",
+      "checksum": 
"A3A0DC4E8C745F9BD855EC18DB346538B78AB2C4D6D510AE4186BB4A03F35438",
       "algorithm": "sha256"
     },
     {
@@ -246,33 +246,33 @@
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.4/ghalint_1.5.4_darwin_amd64.tar.gz",
-      "checksum": 
"BA9604B55E512447803A2AD754749A82E3048DCF27B630D2FC068F9C9AB221F2",
+      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.5/ghalint_1.5.5_darwin_amd64.tar.gz",
+      "checksum": 
"CE76AEB46F051D19A618C4E89AE5CA1D37C5A06F1BAC3AFB261FF619FD33045F",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.4/ghalint_1.5.4_darwin_arm64.tar.gz",
-      "checksum": 
"3DE0A438EBB34A88F9D6AF23FAC75B698E04597DDD7098115C2273414FF31527",
+      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.5/ghalint_1.5.5_darwin_arm64.tar.gz",
+      "checksum": 
"DB969E288FC788348AA7C1323096D69DF28B457C70B4194FB76F14AD058C0BE7",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.4/ghalint_1.5.4_linux_amd64.tar.gz",
-      "checksum": 
"977555B7142CC057AAD4663679772510A9ED3F1687F26F2359D18BB6B67314FE",
+      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.5/ghalint_1.5.5_linux_amd64.tar.gz",
+      "checksum": 
"579CBF9024F86A8255CE8ACDD56C7792F0F9A7E76063D64CFB7B66FF65C396E4",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.4/ghalint_1.5.4_linux_arm64.tar.gz",
-      "checksum": 
"9B5C41332EE0C83C36D003A95813320A41DD0BE9186C4EB1DCB119908ADBC0A6",
+      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.5/ghalint_1.5.5_linux_arm64.tar.gz",
+      "checksum": 
"C3AB464130015D733BFC75A2851F4FC5B3CB966ACA2ED8BC0FA2A029BC0EE6AF",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.4/ghalint_1.5.4_windows_amd64.zip",
-      "checksum": 
"8D32A5EC2623A52A1EE5755131C6C73E5593E22B5795B1918F319C08970073E0",
+      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.5/ghalint_1.5.5_windows_amd64.zip",
+      "checksum": 
"58C2589E7455FC05D83A28051F9098984DB3FE6294F0F88AEDC9691AE25EAFF9",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.4/ghalint_1.5.4_windows_arm64.zip",
-      "checksum": 
"C816F297D658E466F59BBCADC521C6F7053C2DFBA89AFBABA8D2E542AFD6A72E",
+      "id": 
"github_release/github.com/suzuki-shunsuke/ghalint/v1.5.5/ghalint_1.5.5_windows_arm64.zip",
+      "checksum": 
"181024767B43BBA5EE15DBEBF8763DA6A1F576AEF5F18D5F44D5572471DA266B",
       "algorithm": "sha256"
     },
     {
@@ -306,38 +306,38 @@
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.7.4/pinact_darwin_amd64.tar.gz",
-      "checksum": 
"D636D9E295EB26F6FB104ABC0F4A80778E169655EC0CD1457F353272DB446F15",
+      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.8.0/pinact_darwin_amd64.tar.gz",
+      "checksum": 
"4F658C9258BA261019114AFCF8CBC155CE1B9A1157D17CB1FC2E0A48D962D1D7",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.7.4/pinact_darwin_arm64.tar.gz",
-      "checksum": 
"3C8B9546A44B32A8CBC4E2D573DA28EF99C8D70224B20E4A40E94472EFEF6754",
+      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.8.0/pinact_darwin_arm64.tar.gz",
+      "checksum": 
"512E90FB9861912B1414B473CEA7277794750BE1D7756C6D296FA1077CE9E5EC",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.7.4/pinact_linux_amd64.tar.gz",
-      "checksum": 
"DBBB251A6334BF06110D5365CFC9B1D6213472DF3BE34698ECB1FBEBA9FBCBA0",
+      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.8.0/pinact_linux_amd64.tar.gz",
+      "checksum": 
"13A5415F6A9E6F6CC7140954EEFF120488C0B6C69525FA541011ACC2A39F0429",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.7.4/pinact_linux_arm64.tar.gz",
-      "checksum": 
"08F90BC25FA6E136F4269F3DAE1503BC5253AADB78221EE1A02C6CE904FD8C51",
+      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.8.0/pinact_linux_arm64.tar.gz",
+      "checksum": 
"03AC062B927571372B6575E11A5E5760C4E1E3658A246FFBF6C8062369FFA5E5",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.7.4/pinact_windows_amd64.zip",
-      "checksum": 
"801B5B30882DEAF6D342822A131D28752EDAB923DD4279D6B41781DEBB73D9D2",
+      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.8.0/pinact_windows_amd64.zip",
+      "checksum": 
"9073BD0BDCCBE5653EBE9D1B7786A0F4CAF2B8BA9102A129C0A18262C7047570",
       "algorithm": "sha256"
     },
     {
-      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.7.4/pinact_windows_arm64.zip",
-      "checksum": 
"2172D6FC9DF047BA88B36EF86DF10E8D261F5EEB6E739992E1867DF0869DE941",
+      "id": 
"github_release/github.com/suzuki-shunsuke/pinact/v3.8.0/pinact_windows_arm64.zip",
+      "checksum": 
"051E6F025FCCAB521242268D198381774B27B92F2A385E3905A8D01615057955",
       "algorithm": "sha256"
     },
     {
-      "id": 
"registries/github_content/github.com/aquaproj/aqua-registry/v4.450.0/registry.yaml",
-      "checksum": 
"1DE8704F453F7E6A31A437479DE6E66876121F14EC8B1F0C111FE0DF822CDE78C5233B41A827CCDC14E23B5995A1355239EA1C8774890AE452D678C819AF3CE7",
+      "id": 
"registries/github_content/github.com/aquaproj/aqua-registry/v4.465.0/registry.yaml",
+      "checksum": 
"ACC05C7DC0C401667657F814F89B6B51FF4C3B82E745E3FF093C3D09255F888FA0F6CCD6C101412ECF0ECB66BD5B72E2E9538F1501FC1188393026BF3CD17315",
       "algorithm": "sha512"
     }
   ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/aqua.yaml 
new/pinact-3.9.0/aqua/aqua.yaml
--- old/pinact-3.8.0/aqua/aqua.yaml     2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/aqua/aqua.yaml     2026-02-03 01:05:29.000000000 +0100
@@ -1,5 +1,5 @@
 ---
-# yaml-language-server: 
$schema=https://raw.githubusercontent.com/aquaproj/aqua/v2.56.1/json-schema/aqua-yaml.json
+# yaml-language-server: 
$schema=https://raw.githubusercontent.com/aquaproj/aqua/v2.56.6/json-schema/aqua-yaml.json
 # aqua - Declarative CLI Version Manager
 # https://aquaproj.github.io/
 checksum:
@@ -7,5 +7,5 @@
   require_checksum: true
 registries:
   - type: standard
-    ref: v4.450.0 # renovate: depName=aquaproj/aqua-registry
+    ref: v4.465.0 # renovate: depName=aquaproj/aqua-registry
 import_dir: imports
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/imports/actionlint.yaml 
new/pinact-3.9.0/aqua/imports/actionlint.yaml
--- old/pinact-3.8.0/aqua/imports/actionlint.yaml       2025-12-30 
14:39:41.000000000 +0100
+++ new/pinact-3.9.0/aqua/imports/actionlint.yaml       2026-02-03 
01:05:29.000000000 +0100
@@ -1,2 +1,2 @@
 packages:
-  - name: rhysd/[email protected]
+  - name: rhysd/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/imports/cosign.yaml 
new/pinact-3.9.0/aqua/imports/cosign.yaml
--- old/pinact-3.8.0/aqua/imports/cosign.yaml   2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/aqua/imports/cosign.yaml   2026-02-03 01:05:29.000000000 
+0100
@@ -1,2 +1,2 @@
 packages:
-  - name: sigstore/[email protected]
+  - name: sigstore/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/imports/ghalint.yaml 
new/pinact-3.9.0/aqua/imports/ghalint.yaml
--- old/pinact-3.8.0/aqua/imports/ghalint.yaml  2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/aqua/imports/ghalint.yaml  2026-02-03 01:05:29.000000000 
+0100
@@ -1,2 +1,2 @@
 packages:
-  - name: suzuki-shunsuke/[email protected]
+  - name: suzuki-shunsuke/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/imports/golangci-lint.yaml 
new/pinact-3.9.0/aqua/imports/golangci-lint.yaml
--- old/pinact-3.8.0/aqua/imports/golangci-lint.yaml    2025-12-30 
14:39:41.000000000 +0100
+++ new/pinact-3.9.0/aqua/imports/golangci-lint.yaml    2026-02-03 
01:05:29.000000000 +0100
@@ -1,2 +1,2 @@
 packages:
-  - name: golangci/[email protected]
+  - name: golangci/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/imports/goreleser.yaml 
new/pinact-3.9.0/aqua/imports/goreleser.yaml
--- old/pinact-3.8.0/aqua/imports/goreleser.yaml        2025-12-30 
14:39:41.000000000 +0100
+++ new/pinact-3.9.0/aqua/imports/goreleser.yaml        2026-02-03 
01:05:29.000000000 +0100
@@ -1,2 +1,2 @@
 packages:
-  - name: goreleaser/[email protected]
+  - name: goreleaser/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/imports/pinact.yaml 
new/pinact-3.9.0/aqua/imports/pinact.yaml
--- old/pinact-3.8.0/aqua/imports/pinact.yaml   2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/aqua/imports/pinact.yaml   2026-02-03 01:05:29.000000000 
+0100
@@ -1,2 +1,2 @@
 packages:
-  - name: suzuki-shunsuke/[email protected]
+  - name: suzuki-shunsuke/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/imports/syft.yaml 
new/pinact-3.9.0/aqua/imports/syft.yaml
--- old/pinact-3.8.0/aqua/imports/syft.yaml     2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/aqua/imports/syft.yaml     2026-02-03 01:05:29.000000000 
+0100
@@ -1,2 +1,2 @@
 packages:
-  - name: anchore/[email protected]
+  - name: anchore/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/aqua/imports/typos.yaml 
new/pinact-3.9.0/aqua/imports/typos.yaml
--- old/pinact-3.8.0/aqua/imports/typos.yaml    2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/aqua/imports/typos.yaml    2026-02-03 01:05:29.000000000 
+0100
@@ -1,2 +1,2 @@
 packages:
-  - name: crate-ci/[email protected]
+  - name: crate-ci/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/go.mod new/pinact-3.9.0/go.mod
--- old/pinact-3.8.0/go.mod     2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/go.mod     2026-02-03 01:05:29.000000000 +0100
@@ -1,21 +1,21 @@
 module github.com/suzuki-shunsuke/pinact/v3
 
-go 1.25.5
+go 1.25.6
 
 require (
        github.com/fatih/color v1.18.0
-       github.com/goccy/go-yaml v1.19.1
+       github.com/goccy/go-yaml v1.19.2
        github.com/google/go-cmp v0.7.0
-       github.com/google/go-github/v80 v80.0.0
+       github.com/google/go-github/v82 v82.0.0
        github.com/hashicorp/go-version v1.8.0
        github.com/lmittmann/tint v1.1.2
        github.com/spf13/afero v1.15.0
        github.com/suzuki-shunsuke/gen-go-jsonschema v0.1.0
        github.com/suzuki-shunsuke/ghtkn-go-sdk v0.2.2
-       github.com/suzuki-shunsuke/slog-error v0.2.1
-       github.com/suzuki-shunsuke/slog-util v0.3.0
+       github.com/suzuki-shunsuke/slog-error v0.2.2
+       github.com/suzuki-shunsuke/slog-util v0.3.1
        github.com/suzuki-shunsuke/urfave-cli-v3-util v0.2.0
-       github.com/urfave/cli/v3 v3.6.1
+       github.com/urfave/cli/v3 v3.6.2
        golang.org/x/oauth2 v0.34.0
        gopkg.in/yaml.v3 v3.0.1
 )
@@ -27,7 +27,8 @@
        github.com/charmbracelet/x/term v0.2.2 // indirect
        github.com/danieljoos/wincred v1.2.2 // indirect
        github.com/godbus/dbus/v5 v5.1.0 // indirect
-       github.com/google/go-querystring v1.1.0 // indirect
+       github.com/google/go-github/v80 v80.0.0 // indirect
+       github.com/google/go-querystring v1.2.0 // indirect
        github.com/invopop/jsonschema v0.13.0 // indirect
        github.com/kr/pretty v0.3.1 // indirect
        github.com/mailru/easyjson v0.7.7 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/go.sum new/pinact-3.9.0/go.sum
--- old/pinact-3.8.0/go.sum     2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/go.sum     2026-02-03 01:05:29.000000000 +0100
@@ -13,17 +13,19 @@
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
 github.com/fatih/color v1.18.0/go.mod 
h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
-github.com/goccy/go-yaml v1.19.1 
h1:3rG3+v8pkhRqoQ/88NYNMHYVGYztCOCIZ7UQhu7H+NE=
-github.com/goccy/go-yaml v1.19.1/go.mod 
h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
+github.com/goccy/go-yaml v1.19.2 
h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM=
+github.com/goccy/go-yaml v1.19.2/go.mod 
h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
 github.com/godbus/dbus/v5 v5.1.0 
h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
 github.com/godbus/dbus/v5 v5.1.0/go.mod 
h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-github.com/google/go-cmp v0.5.2/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.6.0/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
 github.com/google/go-cmp v0.7.0/go.mod 
h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
 github.com/google/go-github/v80 v80.0.0 
h1:BTyk3QOHekrk5VF+jIGz1TNEsmeoQG9K/UWaaP+EWQs=
 github.com/google/go-github/v80 v80.0.0/go.mod 
h1:pRo4AIMdHW83HNMGfNysgSAv0vmu+/pkY8nZO9FT9Yo=
-github.com/google/go-querystring v1.1.0 
h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
-github.com/google/go-querystring v1.1.0/go.mod 
h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
+github.com/google/go-github/v82 v82.0.0 
h1:OH09ESON2QwKCUVMYmMcVu1IFKFoaZHwqYaUtr/MVfk=
+github.com/google/go-github/v82 v82.0.0/go.mod 
h1:hQ6Xo0VKfL8RZ7z1hSfB4fvISg0QqHOqe9BP0qo+WvM=
+github.com/google/go-querystring v1.2.0 
h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0=
+github.com/google/go-querystring v1.2.0/go.mod 
h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU=
 github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 
h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
 github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod 
h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
 github.com/hashicorp/go-version v1.8.0 
h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4=
@@ -65,14 +67,14 @@
 github.com/suzuki-shunsuke/go-error-with-exit-code v1.0.0/go.mod 
h1:kDFtLeftDiIUUHXGI3xq5eJ+uAOi50FPrxPENTHktJ0=
 github.com/suzuki-shunsuke/go-exec v0.0.1 
h1:xn/lvYnRQOujUd46ph6f6IT0gVJIC8+3liSZKOjNj44=
 github.com/suzuki-shunsuke/go-exec v0.0.1/go.mod 
h1:KstSwIiQTKY34wEurUcFyKkaJDogBr5E3xxfdkkzvb0=
-github.com/suzuki-shunsuke/slog-error v0.2.1 
h1:zcWOEo451RWmgusiONt/GueyvkTL7n4qA0ZJ3gTEjbA=
-github.com/suzuki-shunsuke/slog-error v0.2.1/go.mod 
h1:w45QyO2G0uiEuo9hhrcLqqRl3hmYon9jGgq9CrCxxOY=
-github.com/suzuki-shunsuke/slog-util v0.3.0 
h1:s+Go2yZqBnJCyV4kj1MDJEITfS7ELdDAEKk/aCulBkQ=
-github.com/suzuki-shunsuke/slog-util v0.3.0/go.mod 
h1:PgZMd+2rC8pA9jBbXDfkI8mTuWYAiaVkKxjrbLtfN5I=
+github.com/suzuki-shunsuke/slog-error v0.2.2 
h1:z8rymlIlZcMA+ERnnhVigQ0Q+X0pxKqBfDzSIyGh6vU=
+github.com/suzuki-shunsuke/slog-error v0.2.2/go.mod 
h1:w45QyO2G0uiEuo9hhrcLqqRl3hmYon9jGgq9CrCxxOY=
+github.com/suzuki-shunsuke/slog-util v0.3.1 
h1:tp4xgj4y/T2YcZkHtr7N2E49f5CiHl9o47/HKdwRQ4g=
+github.com/suzuki-shunsuke/slog-util v0.3.1/go.mod 
h1:PgZMd+2rC8pA9jBbXDfkI8mTuWYAiaVkKxjrbLtfN5I=
 github.com/suzuki-shunsuke/urfave-cli-v3-util v0.2.0 
h1:ORT/qQxsKuWwuy2N/z2f2hmbKWmlS346/j4jGhxsxLo=
 github.com/suzuki-shunsuke/urfave-cli-v3-util v0.2.0/go.mod 
h1:BYtzUgA4oeUVUFoJIONWOquvIUy0cl7DpAeCya3mVJU=
-github.com/urfave/cli/v3 v3.6.1 h1:j8Qq8NyUawj/7rTYdBGrxcH7A/j7/G8Q5LhWEW4G3Mo=
-github.com/urfave/cli/v3 v3.6.1/go.mod 
h1:ysVLtOEmg2tOy6PknnYVhDoouyC/6N42TMeoMzskhso=
+github.com/urfave/cli/v3 v3.6.2 h1:lQuqiPrZ1cIz8hz+HcrG0TNZFxU70dPZ3Yl+pSrH9A8=
+github.com/urfave/cli/v3 v3.6.2/go.mod 
h1:ysVLtOEmg2tOy6PknnYVhDoouyC/6N42TMeoMzskhso=
 github.com/wk8/go-ordered-map/v2 v2.1.8 
h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc=
 github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod 
h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw=
 github.com/zalando/go-keyring v0.2.6 
h1:r7Yc3+H+Ux0+M72zacZoItR3UDxeWfKTcabvkI8ua9s=
@@ -86,7 +88,6 @@
 golang.org/x/term v0.37.0/go.mod 
h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
 golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
 golang.org/x/text v0.28.0/go.mod 
h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod 
h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/json-schema/pinact.json 
new/pinact-3.9.0/json-schema/pinact.json
--- old/pinact-3.8.0/json-schema/pinact.json    2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/json-schema/pinact.json    2026-02-03 01:05:29.000000000 
+0100
@@ -29,6 +29,10 @@
         "ghes": {
           "$ref": "#/$defs/GHES",
           "description": "GitHub Enterprise Server configuration"
+        },
+        "separator": {
+          "type": "string",
+          "description": "Separator between version and tag comment. Default 
is ' # '"
         }
       },
       "additionalProperties": false,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/pkg/cli/run/command.go 
new/pinact-3.9.0/pkg/cli/run/command.go
--- old/pinact-3.8.0/pkg/cli/run/command.go     2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/pkg/cli/run/command.go     2026-02-03 01:05:29.000000000 
+0100
@@ -58,7 +58,7 @@
                        di.SetEnv(flags, env.Getenv)
                        secrets := &di.Secrets{}
                        secrets.SetFromEnv(env.Getenv)
-                       return di.Run(ctx, logger, flags, secrets)
+                       return di.Run(ctx, logger, flags, secrets, env.Getenv)
                },
                Flags: []cli.Flag{
                        &cli.BoolFlag{
@@ -153,6 +153,12 @@
                                        return nil
                                },
                        },
+                       &cli.StringFlag{
+                               Name:        "separator",
+                               Aliases:     []string{"sep"},
+                               Usage:       "Separator between version and tag 
comment",
+                               Destination: &flags.Separator,
+                       },
                },
                Arguments: []cli.Argument{
                        &cli.StringArgs{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/pkg/config/config.go 
new/pinact-3.9.0/pkg/config/config.go
--- old/pinact-3.8.0/pkg/config/config.go       2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/pkg/config/config.go       2026-02-03 01:05:29.000000000 
+0100
@@ -23,6 +23,7 @@
        Files         []*File         `json:"files,omitempty" 
jsonschema:"description=Target files. If files are passed via positional 
command line arguments, this is ignored"`
        IgnoreActions []*IgnoreAction `json:"ignore_actions,omitempty" 
yaml:"ignore_actions" jsonschema:"description=Actions and reusable workflows 
that pinact ignores"`
        GHES          *GHES           `json:"ghes,omitempty" yaml:"ghes" 
jsonschema:"description=GitHub Enterprise Server configuration"`
+       Separator     string          `json:"separator,omitempty" 
jsonschema:"description=Separator between version and tag comment. Default is ' 
# '"`
 }
 
 type GHES struct {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/pkg/controller/initcmd/init.go 
new/pinact-3.9.0/pkg/controller/initcmd/init.go
--- old/pinact-3.8.0/pkg/controller/initcmd/init.go     2025-12-30 
14:39:41.000000000 +0100
+++ new/pinact-3.9.0/pkg/controller/initcmd/init.go     2026-02-03 
01:05:29.000000000 +0100
@@ -15,6 +15,8 @@
 #   - pattern: action.yaml
 #   - pattern: */action.yaml
 
+# separator: "  # "
+
 ignore_actions:
 # - name: 
slsa-framework/slsa-github-generator/\.github/workflows/generator_generic_slsa3\.yml
 #   ref: v\d+\.\d+\.\d+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/pkg/controller/run/parse_line.go 
new/pinact-3.9.0/pkg/controller/run/parse_line.go
--- old/pinact-3.8.0/pkg/controller/run/parse_line.go   2025-12-30 
14:39:41.000000000 +0100
+++ new/pinact-3.9.0/pkg/controller/run/parse_line.go   2026-02-03 
01:05:29.000000000 +0100
@@ -223,7 +223,7 @@
        if err != nil {
                return "", fmt.Errorf("get a reference: %w", err)
        }
-       return patchLine(action, sha, lv), nil
+       return c.patchLine(action, sha, lv), nil
 }
 
 // pinCurrentVersion pins the current version to a commit SHA.
@@ -244,7 +244,7 @@
                        longVersion = v
                }
        }
-       return patchLine(action, sha, longVersion), nil
+       return c.patchLine(action, sha, longVersion), nil
 }
 
 // compareVersion compares two version strings.
@@ -293,7 +293,7 @@
                if err != nil {
                        return "", fmt.Errorf("get the latest version: %w", err)
                }
-               return patchLine(action, sha, lv), nil
+               return c.patchLine(action, sha, lv), nil
        case FullCommitSHA:
                return c.verifyIfNeeded(ctx, logger, action)
        }
@@ -313,7 +313,7 @@
        if err != nil {
                return "", fmt.Errorf("get the latest version: %w", err)
        }
-       return patchLine(action, sha, lv), nil
+       return c.patchLine(action, sha, lv), nil
 }
 
 // parseSemverTagLinePin handles the pin case for semver tag lines.
@@ -355,7 +355,7 @@
                if err != nil {
                        return "", fmt.Errorf("get the latest version: %w", err)
                }
-               return patchLine(action, sha, lv), nil
+               return c.patchLine(action, sha, lv), nil
        }
        // replace Shortsemer to Semver
        longVersion, err := c.getLongVersionFromSHA(ctx, logger, action, 
action.Version)
@@ -366,16 +366,16 @@
                logger.Debug("a long tag whose SHA is same as SHA of the 
version annotation isn't found")
                return "", nil
        }
-       return patchLine(action, action.Version, longVersion), nil
+       return c.patchLine(action, action.Version, longVersion), nil
 }
 
 // patchLine reconstructs a workflow line with updated version and tag.
 // It combines the action information with new version and tag to create
 // the updated line with proper formatting and comments.
-func patchLine(action *Action, version, tag string) string {
+func (c *Controller) patchLine(action *Action, version, tag string) string {
        sep := action.VersionCommentSeparator
        if sep == "" {
-               sep = " # "
+               sep = c.cfg.Separator
        }
        return action.Uses + action.Quote + action.Name + "@" + version + 
action.Quote + sep + tag + action.Suffix
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pinact-3.8.0/pkg/controller/run/parse_line_internal_test.go 
new/pinact-3.9.0/pkg/controller/run/parse_line_internal_test.go
--- old/pinact-3.8.0/pkg/controller/run/parse_line_internal_test.go     
2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/pkg/controller/run/parse_line_internal_test.go     
2026-02-03 01:05:29.000000000 +0100
@@ -205,7 +205,9 @@
                                                SHA: 
"ee0669bd1cc54295c223e0bb666b733df41de1c5",
                                        },
                                },
-                       }, nil, nil, fs, &config.Config{}, &ParamRun{})
+                       }, nil, nil, fs, &config.Config{
+                               Separator: " # ",
+                       }, &ParamRun{})
                        line, err := ctrl.parseLine(t.Context(), logger, d.line)
                        if err != nil {
                                if d.isErr {
@@ -257,7 +259,62 @@
        for _, d := range data {
                t.Run(d.name, func(t *testing.T) {
                        t.Parallel()
-                       line := patchLine(d.action, d.version, d.tag)
+                       fs := afero.NewMemMapFs()
+                       cfg := &config.Config{
+                               Separator: " # ",
+                       }
+                       ctrl := New(nil, nil, nil, fs, cfg, &ParamRun{})
+                       line := ctrl.patchLine(d.action, d.version, d.tag)
+                       if line != d.exp {
+                               t.Fatalf(`wanted %s, got %s`, d.exp, line)
+                       }
+               })
+       }
+}
+
+func Test_patchLine_customSeparator(t *testing.T) {
+       t.Parallel()
+       data := []struct {
+               name      string
+               tag       string
+               version   string
+               action    *Action
+               separator string
+               exp       string
+       }{
+               {
+                       name: "custom separator",
+                       exp:  "  - uses: 
actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5  # v3.5.2",
+                       action: &Action{
+                               Uses:    "  - uses: ",
+                               Name:    "actions/checkout",
+                               Version: 
"8e5e7e5ab8b370d6c329ec480221332ada57f0ab",
+                       },
+                       version:   "ee0669bd1cc54295c223e0bb666b733df41de1c5",
+                       tag:       "v3.5.2",
+                       separator: "  # ",
+               },
+               {
+                       name: "existing separator preserved",
+                       exp:  "  uses: actions/setup-go@abc123 # tag=v4.0.0",
+                       action: &Action{
+                               Uses:                    "  uses: ",
+                               Name:                    "actions/setup-go",
+                               Version:                 "v3",
+                               VersionCommentSeparator: " # tag=",
+                       },
+                       version:   "abc123",
+                       tag:       "v4.0.0",
+                       separator: "  # ",
+               },
+       }
+       for _, d := range data {
+               t.Run(d.name, func(t *testing.T) {
+                       t.Parallel()
+                       fs := afero.NewMemMapFs()
+                       cfg := &config.Config{Separator: d.separator}
+                       ctrl := New(nil, nil, nil, fs, cfg, &ParamRun{})
+                       line := ctrl.patchLine(d.action, d.version, d.tag)
                        if line != d.exp {
                                t.Fatalf(`wanted %s, got %s`, d.exp, line)
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/pkg/di/flag.go 
new/pinact-3.9.0/pkg/di/flag.go
--- old/pinact-3.8.0/pkg/di/flag.go     2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/pkg/di/flag.go     2026-02-03 01:05:29.000000000 +0100
@@ -9,13 +9,14 @@
 type Flags struct {
        *flag.GlobalFlags
 
-       Verify bool
-       Check  bool
-       Update bool
-       Review bool
-       Fix    bool
-       Diff   bool
-       Format string
+       Verify    bool
+       Check     bool
+       Update    bool
+       Review    bool
+       Fix       bool
+       Diff      bool
+       Format    string
+       Separator string
 
        IsGitHubActions bool
        FallbackEnabled bool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/pkg/di/run.go 
new/pinact-3.9.0/pkg/di/run.go
--- old/pinact-3.8.0/pkg/di/run.go      2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/pkg/di/run.go      2026-02-03 01:05:29.000000000 +0100
@@ -27,7 +27,7 @@
 // Run executes the main run command logic.
 // It configures logging, processes GitHub Actions context, parses 
includes/excludes,
 // sets up the controller, and executes the pinning operation.
-func Run(ctx context.Context, logger *slogutil.Logger, flags *Flags, secrets 
*Secrets) error {
+func Run(ctx context.Context, logger *slogutil.Logger, flags *Flags, secrets 
*Secrets, getEnv func(string) string) error {
        if flags.IsGitHubActions {
                color.NoColor = false
        }
@@ -42,6 +42,10 @@
        if err != nil {
                return err
        }
+       cfg.Separator = getSeparator(cfg, flags, getEnv)
+       if err := validateSeparator(cfg.Separator); err != nil {
+               return err
+       }
 
        review := setupReview(fs, logger, flags)
 
@@ -58,6 +62,28 @@
        return ctrl.Run(ctx, logger.Logger) //nolint:wrapcheck
 }
 
+func getSeparator(cfg *config.Config, flags *Flags, getEnv func(string) 
string) string {
+       if flags.Separator != "" {
+               return flags.Separator
+       }
+       if cfg.Separator != "" {
+               return cfg.Separator
+       }
+       if s := getEnv("PINACT_SEPARATOR"); s != "" {
+               return s
+       }
+       return " # "
+}
+
+var separatorPattern = regexp.MustCompile(` +# +(?:tag=)?`)
+
+func validateSeparator(sep string) error {
+       if !separatorPattern.MatchString(sep) {
+               return fmt.Errorf("separator must match the regular expression 
`%s`", separatorPattern.String())
+       }
+       return nil
+}
+
 func readConfig(fs afero.Fs, configFilePath string) (*config.Config, error) {
        cfgFinder := config.NewFinder(fs)
        cfgReader := config.NewReader(fs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/pkg/github/github.go 
new/pinact-3.9.0/pkg/github/github.go
--- old/pinact-3.8.0/pkg/github/github.go       2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/pkg/github/github.go       2026-02-03 01:05:29.000000000 
+0100
@@ -12,7 +12,7 @@
        "log/slog"
        "net/http"
 
-       "github.com/google/go-github/v80/github"
+       "github.com/google/go-github/v82/github"
        "github.com/suzuki-shunsuke/ghtkn-go-sdk/ghtkn"
        "github.com/suzuki-shunsuke/urfave-cli-v3-util/keyring/ghtoken"
        "golang.org/x/oauth2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/pkg/github/service.go 
new/pinact-3.9.0/pkg/github/service.go
--- old/pinact-3.8.0/pkg/github/service.go      2025-12-30 14:39:41.000000000 
+0100
+++ new/pinact-3.9.0/pkg/github/service.go      2026-02-03 01:05:29.000000000 
+0100
@@ -6,7 +6,7 @@
        "log/slog"
        "net/http"
 
-       "github.com/google/go-github/v80/github"
+       "github.com/google/go-github/v82/github"
 )
 
 // RepositoriesService defines the interface for GitHub Repositories API 
operations.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/renovate.json5 
new/pinact-3.9.0/renovate.json5
--- old/pinact-3.8.0/renovate.json5     2025-12-30 14:39:41.000000000 +0100
+++ new/pinact-3.9.0/renovate.json5     2026-02-03 01:05:29.000000000 +0100
@@ -3,8 +3,8 @@
     "github>suzuki-shunsuke/renovate-config#3.3.1",
     "github>suzuki-shunsuke/renovate-config:nolimit#3.3.1",
     "github>suzuki-shunsuke/renovate-config:go-directive#3.3.1",
-    "github>aquaproj/aqua-renovate-config#2.9.0",
-    "github>aquaproj/aqua-renovate-config:file#2.9.0(aqua/imports/.*\\.ya?ml)",
+    "github>aquaproj/aqua-renovate-config#2.10.0",
+    
"github>aquaproj/aqua-renovate-config:file#2.10.0(aqua/imports/.*\\.ya?ml)",
   ],
   ignorePaths: ["testdata/**"],
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/testdata/separator/foo.yaml 
new/pinact-3.9.0/testdata/separator/foo.yaml
--- old/pinact-3.8.0/testdata/separator/foo.yaml        1970-01-01 
01:00:00.000000000 +0100
+++ new/pinact-3.9.0/testdata/separator/foo.yaml        2026-02-03 
01:05:29.000000000 +0100
@@ -0,0 +1,30 @@
+---
+name: foo
+on: workflow_call
+jobs:
+  integration-test:
+    runs-on: ubuntu-latest
+    permissions: {}
+    steps:
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # 
tag=v3
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9  #  v3
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9  #  
tag=v3
+      - uses: actions/checkout@83b7061638ee4956cf7545a6f7efe594e5ad0247
+      - uses: actions/checkout@v2
+      - uses: actions/[email protected]
+      - uses: actions/setup-java@v3
+      - uses: rharkor/[email protected]
+      - uses: peaceiris/[email protected]
+      - 'uses': "actions/checkout@v3"
+      - "uses": 'actions/checkout@v3'
+      - uses: 
cardinalby/git-get-release-action@cf4593dd18e51a1ecfbfb1c68abac9910a8b1e0c # v1
+  actionlint:
+    uses: 
suzuki-shunsuke/actionlint-workflow/.github/workflows/[email protected]
+    with:
+      aqua_version: v2.3.4
+    permissions:
+      pull-requests: write
+      contents: read
+  slsa-github-generator:
+    uses: 
slsa-framework/slsa-github-generator/.github/workflows/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/testdata/separator/foo_after.yaml 
new/pinact-3.9.0/testdata/separator/foo_after.yaml
--- old/pinact-3.8.0/testdata/separator/foo_after.yaml  1970-01-01 
01:00:00.000000000 +0100
+++ new/pinact-3.9.0/testdata/separator/foo_after.yaml  2026-02-03 
01:05:29.000000000 +0100
@@ -0,0 +1,30 @@
+---
+name: foo
+on: workflow_call
+jobs:
+  integration-test:
+    runs-on: ubuntu-latest
+    permissions: {}
+    steps:
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # 
v3.5.3
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # 
tag=v3.5.3
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9  #  
v3.5.3
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9  #  
tag=v3.5.3
+      - uses: actions/checkout@83b7061638ee4956cf7545a6f7efe594e5ad0247
+      - uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5  # 
v2.7.0
+      - uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8  # v3.3.1
+      - uses: actions/setup-java@v3
+      - uses: 
rharkor/caching-for-turbo@c3de885e542eec7eb01eb1a6a59e97c7a2448615  # v1.6
+      - uses: peaceiris/[email protected]
+      - 'uses': "actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744"  # 
v3.6.0
+      - "uses": 'actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744'  # 
v3.6.0
+      - uses: 
cardinalby/git-get-release-action@cf4593dd18e51a1ecfbfb1c68abac9910a8b1e0c # v1
+  actionlint:
+    uses: 
suzuki-shunsuke/actionlint-workflow/.github/workflows/actionlint.yaml@b6a5f966d4504893b2aeb60cf2b0de8946e48504
  # v0.5.0
+    with:
+      aqua_version: v2.3.4
+    permissions:
+      pull-requests: write
+      contents: read
+  slsa-github-generator:
+    uses: 
slsa-framework/slsa-github-generator/.github/workflows/[email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pinact-3.8.0/testdata/separator/pinact.yaml 
new/pinact-3.9.0/testdata/separator/pinact.yaml
--- old/pinact-3.8.0/testdata/separator/pinact.yaml     1970-01-01 
01:00:00.000000000 +0100
+++ new/pinact-3.9.0/testdata/separator/pinact.yaml     2026-02-03 
01:05:29.000000000 +0100
@@ -0,0 +1,11 @@
+# yaml-language-server: $schema=../../json-schema/pinact.json
+# pinact - https://github.com/suzuki-shunsuke/pinact
+version: 3
+separator: "  # "
+ignore_actions:
+  - name: actions/setup-java
+    ref: v3
+  - name: 
slsa-framework/slsa-github-generator/\.github/workflows/generator_generic_slsa3\.yml
+    ref: .*
+  - name: peaceiris/.*
+    ref: .*

++++++ pinact.obsinfo ++++++
--- /var/tmp/diff_new_pack.MN1ABL/_old  2026-02-03 21:34:32.076265690 +0100
+++ /var/tmp/diff_new_pack.MN1ABL/_new  2026-02-03 21:34:32.092266362 +0100
@@ -1,5 +1,5 @@
 name: pinact
-version: 3.8.0
-mtime: 1767101981
-commit: 5caad4c2e4c0e339aabe292b139313ace227dae8
+version: 3.9.0
+mtime: 1770077129
+commit: 9d8b3209778c876e9cdf2af2824f9573758273c3
 

++++++ vendor.tar.gz ++++++
++++ 80539 lines of diff (skipped)

Reply via email to