chore: bump verifier to v0.1.26 (plugin_id enum to text)#157
chore: bump verifier to v0.1.26 (plugin_id enum to text)#157RaghavSood wants to merge 1 commit intomainfrom
Conversation
Picks up the system migration that converts the plugin_id PostgreSQL ENUM type to TEXT with a domain alias. See vultisig/verifier#547. Co-Authored-By: Claude (claude-opus-4-6) <noreply@anthropic.com>
WalkthroughThe pull request updates multiple Go module dependencies in go.mod. The primary update is the verifier library from v0.1.20 to v0.1.26. Additionally, several golang.org standard library packages are upgraded, including crypto, sync, and indirect dependencies for net, sys, term, and text modules. Changes
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Pull request overview
Bumps the github.com/vultisig/verifier dependency to pick up upstream changes related to the plugin_id PostgreSQL type migration (ENUM → TEXT / domain), keeping this service’s embedded plugin migrations aligned with verifier’s expected schema.
Changes:
- Bump
github.com/vultisig/verifierfrom a pseudo-version tov0.1.26. - Refresh Go stdlib-adjacent dependency versions (
golang.org/x/*) as a result of the module bump.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| go.mod | Updates verifier and related golang.org/x/* module versions. |
| go.sum | Updates checksums to reflect the new module versions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@go.mod`:
- Line 30: Do not change the verifier version to v0.1.26 until you verify that
v0.1.26 is actually published; instead follow a staged upgrade: first upgrade to
v0.1.25, run and verify DB migrations, then upgrade to v0.1.26. If you proceed
with v0.1.26, update code to remove any PostgreSQL casts like ::plugin_id in SQL
queries and replace SQLC's PluginID wrapper type with plain string across
generated code and call sites (search for PluginID() and PluginID types),
recreate any custom indexes that referenced the old enum plugin_id, and confirm
that the system migration that converts plugin_id ENUM→TEXT will not conflict
with the app's migration mechanism (check usages of plugin.WithMigrations()).
Also verify the existence of the v0.1.26 release on GitHub before committing the
version bump.
| github.com/vultisig/mobile-tss-lib v0.0.0-20250316003201-2e7e570a4a74 | ||
| github.com/vultisig/recipes v0.0.0-20260129020926-577976dfb292 | ||
| github.com/vultisig/verifier v0.1.20-0.20260206093101-7552132a5cd0 | ||
| github.com/vultisig/verifier v0.1.26 |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
vultisig verifier v0.1.26 release github
💡 Result:
I couldn’t find any GitHub release/tag for vultisig/verifier v0.1.26 via public indexing/search.
The most recent verifier releases I can confirm from Vultisig’s aggregated GitHub snapshot are v0.1.20–v0.1.23, all dated 2026-02-06. [1] Libraries.io also shows the repo is actively releasing, but it doesn’t surface a v0.1.26 tag in the accessible results. [2]
To double-check directly against GitHub, run (from any machine with git):
git ls-remote --tags https://github.com/vultisig/verifier.git | grep -F "v0.1.26"Sources: [1] [2]
🌐 Web query:
vultisig verifier v0.1.20 v0.1.26 breaking changes migration
💡 Result:
Breaking changes between v0.1.20 → v0.1.26 (and how to migrate)
1) Plugin images: legacy columns removed (DB + API payload change)
v0.1.20introduced a plugin image management API (presigned S3 upload + confirm flow) and image endpoints under/plugins/:id/images/*. [1]v0.1.24then dropped legacy inline plugin image fields/columns (e.g.,logo_url,thumbnail_url,images) and moved to/normalized around aPluginImagemodel; “installed plugins” responses get enriched with associated image records. This is a breaking schema+DTO change if you were reading/writing those old fields. [2]
Migration actions
- Deploy and run DB migrations through
v0.1.24so the schema matches (legacy columns are removed). [2] - Update any code/queries/DTOs that referenced the removed fields (
logo_url,thumbnail_url,images) to use the image records API/model instead. [2] - If you relied on the new image endpoints from
v0.1.20, they remain the intended approach; notev0.1.21/v0.1.22briefly reverted/reinstated#532, but upgrading tov0.1.26lands you on the “images API + normalized storage” path. [1]
2) plugin_id type: PostgreSQL ENUM → TEXT (this is the big breaking change)
v0.1.26convertsplugin_idfrom a PostgreSQL ENUM to TEXT (via a dynamic “system” migration), removes enum casts, and removes the generatedqueries.PluginID()type usage—call sites become plainstring. [3][4]
Important sequencing
- The
v0.1.26migration is described as “Branch 2” and is intended to be deployed after#546(which shipped inv0.1.25). So don’t jump straight fromv0.1.20tov0.1.26in one step—go viav0.1.25first. [4][5]
Migration actions (recommended path)
- Upgrade to
v0.1.25, deploy, and run migrations. (v0.1.25contains the preparatory removal of::plugin_idcasts, etc.). [5] - Upgrade to
v0.1.26, deploy, and run migrations. [3][4] - In downstream/external consumers (anything using the shared
commonDB schema/migrations):- Remove
::plugin_idcasts from your SQL. [4] - Replace any usage of SQLC’s removed
PluginIDwrapper type (queries.PluginID(...)) with plainstring. [4] - Recreate any custom indexes that referenced the old enum type (the dynamic migration rebuilds FK/PK constraints, but not custom indexes). [4]
- Remove
Source highlights
v0.1.20release notes (new image endpoints + upload/confirm flow): [1]v0.1.24PR (drops legacy image columns; DTO/model changes): [2]v0.1.25release notes (#546prep work): [5]v0.1.26release notes + PR#547detailed migration guide (ENUM→TEXT): [3][4]
References:
[1] (github.com)
[2] (github.com)
[3] (github.com)
[4] (github.com)
[5] (github.com)
Citations:
- 1: https://github.com/vultisig/verifier/releases/tag/v0.1.20
- 2: drop legacy image columns verifier#545
- 3: https://github.com/vultisig/verifier/releases/tag/v0.1.26
- 4: feat: convert plugin_id from PostgreSQL ENUM to TEXT verifier#547
- 5: https://github.com/vultisig/verifier/releases/tag/v0.1.25
🌐 Web query:
vultisig verifier pull request 547 plugin_id migration
💡 Result:
I couldn’t reliably retrieve vultisig/verifier Pull Request #547 itself (the PR page didn’t show up in accessible search results from GitHub), so I can’t quote or confirm the exact diff/commit message for “plugin_id migration”.
What I can confirm from Vultisig’s published docs/code is what that migration is almost certainly referring to:
plugin_idis a first-class field in plugin→verifier workflows, e.g., the plugin API’s/vault/resharerequest includes aplugin_idstring. [1]- The verifier-side plugin framework includes explicit DB migration support, via
WithMigrations(...)and aMigrationManagerintended to run “plugin-specific migrations”. [2] - Vultisig’s developer docs point plugin authors to build on the verifier plugin server foundation (
github.com/vultisig/verifier/plugin). [3]
Practical implication / what to do for a “plugin_id migration”
- Update any plugin calls that now require/expect
plugin_id(notably reshare flows) to always send it. [1] - Deploy verifier with migrations enabled (use the verifier plugin framework’s migration runner) so the database schema/data changes associated with
plugin_idare applied. [2] - If you share more context (e.g., the PR link, title, or the failing error/log line), I can map it to the exact migration and describe the before/after schema and rollout order precisely.
Sources:
[1] Vultisig plugin repo docs showing plugin_id in /vault/reshare request: https://github.com/vultisig/plugin (see “Reshare Request”). (github.com)
[2] Go package docs for github.com/vultisig/verifier/plugin showing WithMigrations and MigrationManager. (pkg.go.dev)
[3] Vultisig “Build Your Plugin” docs referencing github.com/vultisig/verifier/plugin. (docs.vultisig.com)
Citations:
- 1: https://github.com/vultisig/plugin?utm_source=openai
- 2: https://pkg.go.dev/github.com/vultisig/verifier/plugin?utm_source=openai
- 3: https://docs.vultisig.com/developer-docs/marketplace/build-your-plugin?utm_source=openai
Do not upgrade directly to v0.1.26; v0.1.26 release cannot be confirmed to exist.
Web search indicates that while v0.1.20–v0.1.23 (dated 2026-02-06) are confirmed released on GitHub, v0.1.26 does not appear in public GitHub releases. Verify that v0.1.26 exists before proceeding.
If upgrading to v0.1.26, the upgrade path and breaking changes are more complex than noted:
-
Upgrade sequencing: Do not jump directly from v0.1.20 to v0.1.26. The migration for
plugin_id(ENUM → TEXT) requires deploying v0.1.25 first as a preparatory step, then v0.1.26. -
Breaking changes (v0.1.20 → v0.1.26):
- v0.1.24: Plugin image schema changes—legacy
logo_url,thumbnail_url,imagescolumns are removed (breaking schema and DTO change) - v0.1.26:
plugin_idtype converts from PostgreSQL ENUM to TEXT via system migration (PR#547)
- v0.1.24: Plugin image schema changes—legacy
-
Code updates required if this repo shares the verifier DB schema:
- Remove
::plugin_idcasts from SQL queries - Replace SQLC's
PluginID()wrapper type with plainstring - Recreate any custom indexes on
plugin_id
- Remove
-
Migration compatibility: The system migration does run outside
plugin.WithMigrations()context. Confirm that app-recurring's migration strategy (viaplugin.WithMigrations()) will not conflict with or duplicate the system migration.
🤖 Prompt for AI Agents
In `@go.mod` at line 30, Do not change the verifier version to v0.1.26 until you
verify that v0.1.26 is actually published; instead follow a staged upgrade:
first upgrade to v0.1.25, run and verify DB migrations, then upgrade to v0.1.26.
If you proceed with v0.1.26, update code to remove any PostgreSQL casts like
::plugin_id in SQL queries and replace SQLC's PluginID wrapper type with plain
string across generated code and call sites (search for PluginID() and PluginID
types), recreate any custom indexes that referenced the old enum plugin_id, and
confirm that the system migration that converts plugin_id ENUM→TEXT will not
conflict with the app's migration mechanism (check usages of
plugin.WithMigrations()). Also verify the existence of the v0.1.26 release on
GitHub before committing the version bump.
Summary
github.com/vultisig/verifierfromv0.1.20-0.20260206093101-7552132a5cd0tov0.1.26Context
This picks up the system migration from vultisig/verifier#547 that converts the
plugin_idPostgreSQL ENUM type to TEXT.The system migration:
plugin_idenum viapg_catalogCREATE DOMAIN plugin_id AS TEXTfor forward-compatibilityNote: This repo uses
plugin.WithMigrations()which runs plugin-specific migrations (scheduler, policy, tx_indexer, safety) but does not run system migrations. If the database this app connects to has already had system migrations applied by the verifier, this bump ensures the embedded plugin migrations are compatible with the new schema.Test plan
go build ./...passesSummary by CodeRabbit