pig v1.8.1
CLI 安全与仓库流程加固、扩展目录刷新、Go 1.27.1,以及 cargo-pgrx 0.19.2。
Pig v1.8.1 是 v1.8.0 之上的安全、正确性与维护版本。
本版本加固命令初始化、提权日志访问、仓库与构建流程、发布完整性,以及结构化输出脱敏;
同时刷新内置扩展目录,并将构建工具链升级到 Go 1.27.1 与 cargo-pgrx 0.19.2。
内置 Pigsty 版本仍为 4.5.0。
CLI 安全与正确性
- 只读且不依赖配置的命令不再要求
HOME可写,也不会把创建~/.pig当作查询副作用; 叶子命令会保留自己声明的初始化策略。 pig pg log、pig pt log与pig pb log通过 sudo 切换数据库 OS 用户时完整保留参数, 并拒绝不安全的日志文件链接。pig do在执行前校验 Pigsty 名称,并拒绝 Ansible 保留的集群目标。- PostgreSQL 原生角色检测绑定到用户选中的实例,而不是无关的本机默认实例。
- 结构化结果会遮盖凭据、许可证材料与构建代理标识符,同时保持真实的失败状态。
仓库与构建加固
- 仓库添加与删除在任一请求失败时整体返回失败,对模块选择去重,并保持替换边界。
- 离线缓存包拒绝不安全路径、链接、特殊文件与不完整输入;归档解压继续采用有根、失败关闭的实现。 生产路径迁移到结构化结果后,删除了仅由测试引用的旧导出缓存包装。
- 构建源码与制品校验会拒绝不完整或不安全输入;
pig build proxy使用软件包提供的服务契约, 参数保持可选,结构化输出不再泄露秘密标识符。 - 自更新会验证发布校验和;发布工具拒绝脏工作区、错误 tag,以及覆盖不可变制品。
工具链与扩展目录
- Go 升级到
1.27.1,Logrus 升级到1.10.2,GoReleaser 升级到2.18.0, golangci-lint 升级到2.13.2。 pig build pgrx默认安装cargo-pgrx 0.19.2;如果某个扩展的目录元数据要求旧版 pgrx, 仍可通过-v显式选择。- 内置目录从维护中的 pgext 视图刷新:新增
acdat 0.1.0,将已被取代的pgcontext_pgvector标记为 removed,并更新软件包版本、仓库归属、PostgreSQL 覆盖与可用性矩阵。
验证
本版本从源码提交
e3d1eb4
构建。该精确提交通过完整 CI 工作流,
覆盖随机顺序测试、命令 race 回归、vet、静态分析、死代码检查、漏洞扫描与 GoReleaser snapshot。
随后 tag 通过 Release 工作流,生成并发布
RPM、DEB、macOS 与 Linux 制品。
兼容性提醒
- 本版本没有移除 CLI 命令或参数。
- 如果旧脚本依赖只读命令顺便创建本地配置,应改为显式准备所需状态。
- pgrx 默认值变为
0.19.2;构建特定扩展时,仍以该扩展的目录元数据为准。
校验和
制品:GitHub Release · checksums.txt
| 文件 | 校验和 | |
|---|---|---|
| pig-1.8.1-1.aarch64.rpm Linuxarm64SHA-256 | 839ce381…e38c |
|
| pig-1.8.1-1.x86_64.rpm Linuxamd64SHA-256 | 54183895…6d03 |
|
| pig-v1.8.1.darwin-amd64.tar.gz macOSamd64SHA-256 | 167891e1…826f |
|
| pig-v1.8.1.darwin-arm64.tar.gz macOSarm64SHA-256 | 1338500b…7d26 |
|
| pig-v1.8.1.linux-amd64.tar.gz Linuxamd64SHA-256 | 5050cc44…60a3 |
|
| pig-v1.8.1.linux-arm64.tar.gz Linuxarm64SHA-256 | ecf5fcf1…f167 |
|
| pig_1.8.1-1_amd64.deb Linuxamd64SHA-256 | cf0de4f9…de34 |
|
| pig_1.8.1-1_arm64.deb Linuxarm64SHA-256 | 108f50c5…963b |