Skip to content

Commit f78dd8d

Browse files
committed
add v4.0 release note
1 parent 74fc36b commit f78dd8d

File tree

2 files changed

+143
-131
lines changed

2 files changed

+143
-131
lines changed

content/docs/about/release.md

Lines changed: 56 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -72,31 +72,35 @@ The current stable version is [**v4.0.0**](#v400), released 2025-12-25.
7272
curl https://pigsty.io/get | bash -s v4.0.0
7373
```
7474

75+
**318 commits**, 604 files changed, +118,655 / -327,552 lines
76+
7577
**Highlights**
7678

7779
- **Observability Revolution**: Prometheus → VictoriaMetrics (10x perf), Loki+Promtail → VictoriaLogs+Vector
7880
- **Security Hardening**: Auto-generated passwords, etcd RBAC, firewall/SELinux modes, permission tightening, Nginx Basic Auth
81+
- **Docker Support**: Run Pigsty in Docker containers with full systemd support (macOS & Linux)
7982
- **New Module**: JUICE - Mount PostgreSQL as filesystem with PITR recovery capability
80-
- **New Module**: VIBE - AI coding sandbox with Claude Code, JupyterLab, VS Code Server
83+
- **New Module**: VIBE - AI coding sandbox with Claude Code, JupyterLab, VS Code Server, Node.js
8184
- **Database Management**: `pg_databases` state (create/absent/recreate), instant clone with `strategy`
8285
- **PITR & Fork**: `/pg/bin/pg-fork` for instant CoW cloning, enhanced `pg-pitr` with pre-backup
8386
- **HA Enhancement**: `pg_rto_plan` with 4 RTO presets (fast/norm/safe/wide), `pg_crontab` scheduled tasks
8487
- **Multi-Cloud Terraform**: AWS, Azure, GCP, Hetzner, DigitalOcean, Linode, Vultr, TencentCloud templates
8588
- **License Change**: AGPL-3.0 → Apache-2.0
8689

87-
**299 commits**, 595 files changed, +117,624 / -327,455 lines
88-
8990
**Infra Software Versions** - MinIO now uses [**pgsty/minio**](https://github.com/pgsty/minio) fork RPM/DEB.
9091

9192
| Package | Version | Package | Version |
9293
|---------------------|----------|---------------------|----------|
9394
| victoria-metrics | 1.134.0 | victoria-logs | 1.43.1 |
9495
| vector | 0.52.0 | grafana | 12.3.1 |
9596
| alertmanager | 0.30.1 | etcd | 3.6.7 |
96-
| duckdb | 1.4.3 | pg_exporter | 1.1.2 |
97-
| pgbackrest_exporter | 0.22.0 | minio | 20251203 |
97+
| duckdb | 1.4.4 | pg_exporter | 1.1.2 |
98+
| pgbackrest_exporter | 0.22.0 | blackbox_exporter | 0.28.0 |
99+
| node_exporter | 1.10.2 | minio | 20251203 |
98100
| pig | 1.0.0 | claude | 2.1.19 |
99-
| opencode | 1.1.34 | juicefs | 1.4.0 |
101+
| opencode | 1.1.34 | uv | 0.9.26 |
102+
| asciinema | 3.1.0 | prometheus | 3.9.1 |
103+
| pushgateway | 1.11.2 | juicefs | 1.4.0 |
100104
| code-server | 4.100.2 | caddy | 2.10.2 |
101105
| hugo | 0.154.5 | cloudflared | 2026.1.1 |
102106
| headscale | 0.27.1 | | |
@@ -105,15 +109,15 @@ curl https://pigsty.io/get | bash -s v4.0.0
105109
**New Modules**
106110

107111
- **JUICE Module**: JuiceFS distributed filesystem using PostgreSQL as metadata engine, supports PITR recovery for filesystem. Multiple storage backends (PG large objects, MinIO, S3), multi-instance deployment with Prometheus metrics, new `node-juice` dashboard.
108-
- **VIBE Module**: AI coding sandbox with Code-Server (VS Code in browser), JupyterLab (interactive computing), Claude Code (AI coding assistant with OpenTelemetry observability). New `claude-code` dashboard for usage monitoring.
112+
- **VIBE Module**: AI coding sandbox with Code-Server (VS Code in browser), JupyterLab (interactive computing), Node.js (JavaScript runtime), Claude Code (AI coding assistant with OpenTelemetry observability). New `claude-code` dashboard for usage monitoring.
109113

110114
**PostgreSQL Extension Updates**
111115

112116
Major extensions add PG 18 support: age, citus, documentdb, pg_search, timescaledb, pg_bulkload, rum, etc.
113117

114-
**New**: [pg_textsearch](https://github.com/timescale/pg_textsearch) 0.4.0, [pg_clickhouse](https://github.com/clickhouse/pg_clickhouse/) 0.1.3, [pg_ai_query](https://github.com/benodiwal/pg_ai_query) 0.1.1, [etcd_fdw](https://github.com/pgsty/etcd_fdw), [pg_ttl_index](https://github.com/pg-ttl-index) 0.1.0, [pljs](https://github.com/plv8/pljs) 1.0.4, [pg_retry](https://github.com/pg-retry/pg_retry) 1.0.0, [pg_weighted_statistics](https://github.com/pgsty/pg_weighted_statistics) 1.0.0, [pg_enigma](https://github.com/pgsty/pg_enigma) 0.5.0, [pglinter](https://github.com/pgsty/pglinter) 1.0.1
118+
**New**: [pg_textsearch](https://github.com/timescale/pg_textsearch) 0.4.0, [pg_clickhouse](https://github.com/clickhouse/pg_clickhouse/) 0.1.3, [pg_ai_query](https://github.com/benodiwal/pg_ai_query) 0.1.1, [etcd_fdw](https://github.com/pgsty/etcd_fdw), [pg_ttl_index](https://github.com/pg-ttl-index) 0.1.0, [pljs](https://github.com/plv8/pljs) 1.0.4, [pg_retry](https://github.com/pg-retry/pg_retry) 1.0.0, [pg_weighted_statistics](https://github.com/pgsty/pg_weighted_statistics) 1.0.0, [pg_enigma](https://github.com/pgsty/pg_enigma) 0.5.0, [pglinter](https://github.com/pgsty/pglinter) 1.0.1, [documentdb_extended_rum](https://github.com/microsoft/documentdb) 0.109, [mobilitydb_datagen](https://github.com/MobilityDB) 1.3.0
115119

116-
**Updated**: timescaledb 2.24.0, pg_search 0.21.4, citus 14.0.0, documentdb 0.109, age 1.7.0, pg_duckdb 1.1.1, vchord 1.0.0, vchord_bm25 0.3.0, pg_biscuit 2.2.2, pg_anon 2.5.1, wrappers 0.5.7, pg_vectorize 0.26.0, pg_session_jwt 0.4.0, pg_partman 5.4.0, pgmq 1.9.0, pgBackRest 2.58
120+
**Updated**: timescaledb 2.24.0, pg_search 0.21.4, citus 14.0.0, documentdb 0.109, age 1.7.0, pg_duckdb 1.1.1, vchord 1.0.0, vchord_bm25 0.3.0, pg_biscuit 2.2.2, pg_anon 2.5.1, wrappers 0.5.7, pg_vectorize 0.26.0, pg_session_jwt 0.4.0, pg_partman 5.4.0, pgmq 1.9.0, pg_bulkload 3.1.23, pg_timeseries 0.2.0, pg_convert 0.1.0, pgBackRest 2.58
117121

118122
**Breaking Changes**
119123

@@ -130,7 +134,7 @@ Major extensions add PG 18 support: age, citus, documentdb, pg_search, timescale
130134
{.full-width}
131135

132136
**Observability**
133-
gst
137+
134138
- VictoriaMetrics replaces Prometheus — several times the performance with a fraction of the resources
135139
- VictoriaLogs + Vector replaces Promtail + Loki for log collection
136140
- Unified log format for all components, PG logs use UTC timestamp (log_timezone)
@@ -196,24 +200,51 @@ gst
196200

197201
**New Parameters**
198202

199-
| Parameter | Type | Default | Description |
200-
|-------------------------|--------|---------------|-------------------------------------|
201-
| `node_firewall_mode` | enum | none | Firewall mode: off/none/zone |
202-
| `node_selinux_mode` | enum | permissive | SELinux mode |
203-
| `node_admin_sudo` | enum | nopass | Admin sudo privilege level |
203+
| Parameter | Type | Default | Description |
204+
|-------------------------|--------|---------------|---------------------------------------|
205+
| `node_firewall_mode` | enum | none | Firewall mode: off/none/zone |
206+
| `node_selinux_mode` | enum | permissive | SELinux mode |
207+
| `node_admin_sudo` | enum | nopass | Admin sudo privilege level |
204208
| `pg_io_method` | enum | worker | I/O method: auto/sync/worker/io_uring |
205-
| `pg_rto_plan` | dict | - | RTO presets: fast/norm/safe/wide |
206-
| `pg_crontab` | list | [] | postgres dbsu scheduled tasks |
207-
| `grafana_view_password` | string | DBUser.Viewer | Grafana Meta datasource password |
208-
| `juice_cache` | path | /data/juice | JuiceFS cache directory |
209-
| `juice_instances` | dict | {} | JuiceFS instance definitions |
210-
| `vibe_data` | path | /fs | VIBE workspace directory |
211-
| `code_enabled` | bool | true | Enable Code-Server |
212-
| `jupyter_enabled` | bool | true | Enable JupyterLab |
213-
| `claude_enabled` | bool | true | Enable Claude Code configuration |
209+
| `pg_rto_plan` | dict | - | RTO presets: fast/norm/safe/wide |
210+
| `pg_crontab` | list | [] | postgres dbsu scheduled tasks |
211+
| `grafana_view_password` | string | DBUser.Viewer | Grafana Meta datasource password |
212+
| `juice_cache` | path | /data/juice | JuiceFS cache directory |
213+
| `juice_instances` | dict | {} | JuiceFS instance definitions |
214+
| `vibe_data` | path | /fs | VIBE workspace directory |
215+
| `code_enabled` | bool | true | Enable Code-Server |
216+
| `code_password` | string | Vibe.Coding | Code-Server password |
217+
| `jupyter_enabled` | bool | true | Enable JupyterLab |
218+
| `jupyter_password` | string | Vibe.Coding | JupyterLab access token |
219+
| `claude_enabled` | bool | true | Enable Claude Code configuration |
220+
| `nodejs_enabled` | bool | true | Enable Node.js installation |
221+
| `nodejs_registry` | string | '' | npm registry, auto china mirror |
222+
| `node_uv_env` | path | /data/venv | Node UV venv path, empty to skip |
223+
| `node_pip_packages` | string | '' | pip packages for UV venv |
214224
{.full-width}
215225

216-
**Removed Parameters**: `node_disable_firewall`, `node_disable_selinux`, `infra_pip_packages`, `pg_pwd_enc`, `code_home`, `jupyter_home`
226+
**Removed Parameters**: `node_disable_firewall`, `node_disable_selinux`, `infra_pip_packages`, `pg_pwd_enc`, `pgbackrest_clean`, `code_home`, `jupyter_home`
227+
228+
**Checksums**
229+
230+
```bash
231+
bca8a819ed83e5fc228af9e991de1f17 pigsty-v4.0.0.tgz
232+
db9797c3c8ae21320b76a442c1135c7b pigsty-pkg-v4.0.0.d12.aarch64.tgz
233+
1eed26eee42066ca71b9aecbf2ca1237 pigsty-pkg-v4.0.0.d12.x86_64.tgz
234+
03540e41f575d6c3a7c63d1d30276d49 pigsty-pkg-v4.0.0.d13.aarch64.tgz
235+
36a6ee284c0dd6d9f7d823c44280b88f pigsty-pkg-v4.0.0.d13.x86_64.tgz
236+
f2b6ec49d02916944b74014505d05258 pigsty-pkg-v4.0.0.el10.aarch64.tgz
237+
73f64c349366fe23c022f81fe305d6da pigsty-pkg-v4.0.0.el10.x86_64.tgz
238+
287f767fbb66a9aaca9f0f22e4f20491 pigsty-pkg-v4.0.0.el8.aarch64.tgz
239+
c0886aab454bd86245f3869ef2ab4451 pigsty-pkg-v4.0.0.el8.x86_64.tgz
240+
094ab31bcf4a3cedbd8091bc0f3ba44c pigsty-pkg-v4.0.0.el9.aarch64.tgz
241+
235ccba44891b6474a76a81750712544 pigsty-pkg-v4.0.0.el9.x86_64.tgz
242+
f2791c96db4cc17a8a4008fc8d9ad310 pigsty-pkg-v4.0.0.u22.aarch64.tgz
243+
3099c4453eef03b766d68e04b8d5e483 pigsty-pkg-v4.0.0.u22.x86_64.tgz
244+
49a93c2158434f1adf0d9f5bcbbb1ca5 pigsty-pkg-v4.0.0.u24.aarch64.tgz
245+
4acaa5aeb39c6e4e23d781d37318d49b pigsty-pkg-v4.0.0.u24.x86_64.tgz
246+
```
247+
217248

218249

219250
------

0 commit comments

Comments
 (0)