pig-v1.1.0
This release focuses on an Agent-native architecture upgrade from v1.0.0 to v1.1.0.
Add 7 new extensions, now provide 451 extensions.
New Features
- Introduce unified structured output with global
--output(text,yaml,json,json-pretty) across major command groups. - Add ANCS (Agent Native Command Schema) metadata for commands, including machine-readable capability/risk semantics.
- Add
pig context(pig ctx) for one-shot environment snapshot (host, PostgreSQL, Patroni, pgBackRest, extensions). - Expand
--planmode for risky operations:pig ext add/rm --planpig pg stop/restart --planpig pt switchover/failover --plan- aligned with
pig pitr --plan/--dry-run
- Improve structured result coverage for
ext/repo/pg/pt/pb/pitr/status/version/context, with stable status codes. pig pb infonow embeds native pgBackRest info JSON in structured output.- Add legacy structured-output wrapper for existing command groups (
pg_exporter,pg_probe,do,sty) for better automation compatibility. - Routine extension catalog updates, including several Rust extension updates.
- Update pigsty version to v4.1.0
Extension Update
| Extension | Old | New | Comment |
|---|---|---|---|
| timescaledb | 2.24.0 | 2.25.0 | |
| citus | 14.0.0-2 | 14.0.0-3 | Official tag release |
| pg_incremental | 1.2.0 | 1.4.1 | |
| pg_bigm | 1.2-20240606 | 1.2-20250903 | |
| pg_net | 0.20.0 | 0.20.2 | libcurl too old on ubuntu22/el8/el9 |
| pgmq | 1.9.0 | 1.10.0 | Fix dependency issues |
| pg_textsearch | 0.4.0 | 0.5.0 | |
| pljs | 1.0.4 | 1.0.5 | |
| sslutils | 1.4-1 | 1.4-2 | el8.pg18 fails to compile |
| table_version | 1.11.0 | 1.11.1 | |
| supautils | 3.0.2 | 3.1.0 | |
| pg_math | 1.0 | 1.1.0 | |
| pgsentinel | 1.3.1 | 1.4.0 | |
| pg_uri | 1.20151224 | 1.20251029 | |
| pgcollection | 1.1.0 | 1.1.1 | Patch fix for concurrent build issue |
| pg_readonly | 1.0.3 | 1.0.4 | |
| timestamp9 | 1.4.0-1 | 1.4.0-2 | Rebuild to fix dependency issue |
| pg_uint128 | 1.1.1 | 1.2.0 | |
| pg_roaringbitmap | 0.5.5 | 1.1.0 | Handed over to PGDG |
| plprql | 18.0.0 | 18.0.1 | |
| pglinter | 1.0.1 | 1.1.0 | |
| pg_jsonschema | 0.3.3 | 0.3.4 | |
| pg_anon | 2.5.1 | 3.0.1 | |
| vchord | 1.0.0 | 1.1.0 | Updated to pgrx 0.17.0 |
| pg_search | 0.21.4 | 0.21.6/0.21.7 | RPM 0.21.7 (manual build for el8), DEB 0.21.6 |
| pg_graphql | 1.5.12-1 | 1.5.12-2 | Switch to official release |
| pg_summarize | 0.0.1-2 | 0.0.1-3 | Rebuild to fix pg18 issue |
| nominatim_fdw | - | 1.1.0 | New, synced with PGDG YUM |
| pg_utl_smtp | - | 1.0.0 | New, synced with PGDG YUM |
| pg_strict | - | 1.0.2 | New Rust extension |
| pg_track_optimizer | - | 0.9.1 | New extension |
| pgmb | - | 1.0.0 | New extension |
Bug Fixes
- Fix panic in
pig build proxywhen parsing malformed proxy addresses. - Fix path traversal risk in
pig pg logfile access. - Harden installer/repo path handling and quoting behavior.
- Fix build pipeline error propagation and non-zero exit behavior for download/build failures.
- Fix false DEB build failures caused by
pg_vermismatch. - Fix
repo add/set/rmto return proper non-zero status when cache update fails. - Fix
ext/repo reloadwith quiet mirror fallback. - Fix extension update behavior (explicit-only update + status drift issues).
- Fix
ext importto download requested DEB packages into target repo directory.
Changelog
- b273aff Add structured output for status/version and adjust IO
- 8c76a83 Standardize structured results for ext/repo/pitr
- b324a8f add --pkg option to print pkg name instead
- 73a8c7d add YAML and JSON renderers for Result
- 35f3aac add avail matrix into ext data
- 5eaac2c add internal/output package for unified result and status code
- d8c22b6 add more command to pig postgres
- 3ba2fe5 add new subcommand pgbackrest/postgres/patroni
- eb05a30 add new subcommand pitr
- 3f0149f add pig pg role sub command
- 310e45c add pig pg sub command stub
- 1d44c28 allow using mirror in pig build sub command
- a22ddfc ancs: normalize parsing and improve schema output
- 0eae347 build(deb): avoid false failures from pg_ver mismatch
- f8be6c0 build: make pkg/get fail correctly on download errors
- 6a0bf08 build: propagate extension build failures
- eaadbea bump extension catalog to 451 ext
- 3bd468d bump extension with pig 0.9.1
- 256e87f bump go deps to the latest version (1.25.6)
- e12eb75 bump go to 1.25.7
- b624098 bump golang to 1.26.0
- f35bce0 bump version string to 1.0.0
- 09ea7c5 bump version string to 1.1.0
- c6af7ad bump version string to the latest
- 344776d chore(cli): apply small simplifications and remove empty files
- cbea93a chore(cmd): add ANCS annotations to utility command groups
- 88ccdd6 ci: add vet staticcheck and deadcode checks
- d581b38 cmd(build): clarify mirror flag help
- 9573883 cmd/repo: add ANCS metadata and structured output routing
- bd8f20b cmd: reduce boilerplate for annotations and legacy wrappers
- 4bf7fb1 config: refactor env detection and license init
- 79d1f23 enhance Result with nil safety and String() method
- dbca98e enhance pg and pt commands with security and usability improvements
- d79dd60 ext/import: download requested DEBs into repo dir
- 32a3278 ext: align plan output with --yes and version pins
- 17e4890 ext: enforce structured output error handling
- e1ef2a1 ext: make update explicit-only and fix status drift
- 1887f9a ext: slim package ops and extension scanning
- c96bbab feat(ancs): add Agent Native Command Schema package
- 7b04581 feat(cli): add --output flag and ANCS help integration
- 0af7f23 feat(cmd): unify legacy structured output handling across commands
- 5763722 feat(cmd/ext): integrate structured output and ANCS annotations
- 0ae9e84 feat(config): add output format constants and global setting
- 5b95799 feat(context): add environment snapshot command for agent workflows
- 935646d feat(core): harden structured output runtime and schema helpers
- 67f57d2 feat(ext): add structured output for add/rm/update commands
- f46e90f feat(ext): add structured output for import/link/reload commands
- 9706f06 feat(ext): unify command output on Result DTOs and add plan preview
- dff0deb feat(output): add extension module error codes
- b2dd8a9 feat(output): complete Epic 1 - unified output framework
- 6d818f1 feat(patroni): introduce structured results for cluster operations
- 7b15a41 feat(pgbackrest): add structured backup/restore/stanza results
- e34f9c9 feat(pgbackrest): embed native info JSON in structured output
- 8dfb602 feat(pitr): add structured execution result and plan support
- 01d4835 feat(postgres): add structured ctl results and stop/restart plans
- 89b68b0 feat(repo): add structured output for repo add/set commands
- d87c5ca feat(repo): add structured output for repo commands
- 4062d95 feat(repo): add structured output for repo rm/update commands
- 730f7ff feat(repo): refactor repo commands to structured result pipeline
- e8b4c01 feat: add availability matrix to pig ext avail
- e8a26c5 feat: enhance pig ext ls status with avail matrix
- c75ddd4 fix ci test permission
- 146d6ae fix pig ext scan duplicate extension
- fb74fef fix pig pg ps SQL syntax and add sudo fallback for log commands
- 7abad69 fix the default patroni file path
- 3cd1d94 fix the missing UTIL extension categroy
- c3ca3d0 fix(build): rewrite createSymlink to prevent accidental data loss
- 82f37e4 fix(build,pg): fix proxy address parsing panic and log path traversal
- e15e236 fix(config): fix fd leak and silent errors in InitConfig
- 0682d9d fix(ext,repo): reload catalogs with quiet mirror fallback
- d2a03a7 fix(repo): harden module path against traversal attacks
- 225b40f fix(repo): return non-zero when cache update fails in add/set/rm flows
- 9db6bad get: refactor pigsty source download and tests
- d414437 go: tidy go.sum
- a6d00b3 harden installer and repo paths; fix quoting and detection
- 72141d3 optimize pgbackrest command
- 6343d83 optimize pig ext info sub command output
- 7db3645 output: add Plan struct for execution plan rendering
- 609e705 output: fix exit code and text rendering
- ca97875 patroni: add switchover plan mode support
- ff4b799 pg status: fix permission handling and parser tests
- d53cd5a pgbackrest: simplify info result tests
- 5716ed1 pitr: add structured output and plan mode support
- cc104ca postgres: refactor connection kill query building
- f5cdcaf refactor pig patroni command with subcommands
- 77287bc refactor subcommand and internal utils
- 7d04ff5 refactor(cmd): decompose patroni and pgbackrest init registration
- 980aeb8 refactor(cmd): simplify command registration boilerplate
- ea2fa65 refactor(cmd): split do patroni and pgbackrest commands into focused files
- 2bef4cf refactor(cmd/postgres): split command groups into dedicated files
- 7073f85 refactor(ext): split result hotspot into focused modules
- 919c150 refactor(ext): unify package resolution across ext and install
- 4515e46 refactor(p0): eliminate remaining dead code and stale tests
- 0ff307c refactor(p0): prune unreachable ext/get/postgres/repo code
- 0c87e00 refactor(p0): remove stale wrappers and align tests
- 71713c6 refactor(p0): remove unreachable utility helpers
- 652e50c repo: add structured results for auxiliary commands
- 7b5aaef repo: simplify OS inference and cache packaging
- a073958 routine extension update
- de93275 routine extension update
- b03567e routine extension update
- 65a2478 routine extension update with some rust extensions
- a86e71a routine update extension list
- 9eabf21 test(ext): add comprehensive tests for structured output functions
- ffaf2a6 update extension catalog
- 94e4ac5 v1.1.0 release