Release 0.15.0
Release 0.15.0
Tracking issue for the 0.15.0 release of PostgresAI monitoring. Process: rules/projects/postgresai__release_process.mdc.
Pre-release validation
- RC tag(s) cleared
- CI green on the latest RC tag — latest RC is now
0.15.0-rc.8, cut frommain(5f8af30, which includes merged GA-blocker fix !283 (merged)); supersedes rc.7. rc.8 publish pipeline 2571391321 succeeded (npm publish + docker:publish:images multi-arch). Historical: rc.7 tag / pipeline 2567649863 was green and superseded rc.6. - Manual + AI testing complete, evidence linked — automated suites green earlier + local Docker gates on rc.8 (fresh-install + upgrade-fix proof + isolated DinD e2e) all PASS; evidence in the rc.8 verdict note below.
- CI green on the latest RC tag — latest RC is now
- Artifacts smoke test (against the latest RC tag) — re-run against rc.8; all artifacts confirmed. Known anomaly to fix at GA: npm
latestdist-tag still =0.15.0-rc.0(rc.8 correctly did not move it); must be set to0.15.0at the GA tag.-
npm view postgresai@0.15.0-rc.8 versionreturns0.15.0-rc.8 -
npm view pgai@0.15.0-rc.8 versionreturns0.15.0-rc.8 -
npm view postgresai dist-tagsandnpm view pgai dist-tagsshowrc=0.15.0-rc.8 - Fresh-cache
npx postgresai@0.15.0-rc.8 --versionandnpx pgai@0.15.0-rc.8 --versionreturn0.15.0-rc.8 - Fresh-cache
bunx postgresai@0.15.0-rc.8 --versionandbunx pgai@0.15.0-rc.8 --versionreturn0.15.0-rc.8 -
docker pull postgresai/reporter:0.15.0-rc.8succeeds — digestsha256:743875ab…a949 -
docker pull postgresai/monitoring-flask-backend:0.15.0-rc.8succeeds — digestsha256:cc874c0c…d82f -
docker pull postgresai/postgres-ai-configs:0.15.0-rc.8succeeds — digestsha256:ea7a7c85…e75a4 -
docker pull postgresai/pgwatch:0.15.0-rc.8succeeds — digestsha256:e366c783…2bcfb - Evidence: rc.8 verdict note below. Historical rc.6 evidence: note #3398124945
-
- Fresh CLI install on a clean box
-
npx postgresai@0.15.0-rc.8 mon local-install --democompletes successfully on a disposable fresh Linux host (validated on rc.8 in isolated DinD) - Grafana Dashboard 01 renders data within 5 minutes (rc.8: renders 6 live series via the VM_AUTH-gated pgwatch→VM→Grafana chain; 15 dashboards provisioned)
- Evidence linked (screenshot / screencast) — rc.8 verdict note below
- Validated on rc.8 in an isolated DinD environment: VictoriaMetrics HEALTHY (no Exited 255), all services on rc.8 images, Dashboard 01 renders 6 live series within 5 min. Evidence in the rc.8 verdict note below.
-
- Console-driven deploy
- Deployed via
console.postgres.ai/<org>/monitoring/startup/create/managed?postgresai_version=0.15.0-rc.8to a fresh target - Dashboard 01 renders data on the deployed instance
- Evidence linked
- The only remaining validation gate. This is the external platform-all path; it needs an authenticated Console session plus a fresh deployment target/database, which is not available in this autonomous environment. Recommendation: document as a residual and validate post-GA (or via an authenticated Console session).
- Deployed via
- Upgrade test (previous release → latest RC)
- Documented upgrade procedure works end-to-end — real published
npx postgresai@0.15.0-rc.8 mon updateon a non-git 0.14 install:docker-compose.ymlrefreshed (VM_AUTH refs 0→10, sink-prometheus + Grafana datasource now wired), backupdocker-compose.yml.bak-0.14.0-cba2cda5= pristine 0.14,.envmigrated additively (VM_AUTH_* added, existing values + comments preserved) - User-configured
instances.ymltargets preserved —instances.ymlbyte-identical after upgrade (custom target preserved) - Breaking changes documented in release notes
- Original GA blocker (the documented npx 0.14→0.15 upgrade kept the stale
docker-compose.yml, so VictoriaMetrics crashed on missingVM_AUTH_*and dashboards went blind) was fixed in !283 (merged) (merged tomain, includes reviewer hardening) and is now confirmed GREEN on rc.8 via the real published-artifact upgrade above. Evidence in the rc.8 verdict note below.
- Documented upgrade procedure works end-to-end — real published
- Doc audit
- All install/upgrade commands in
README.md,cli/README.md, and docs.postgres.ai pin a concrete version (no@latest/@rc/@beta) — covered by docs!933 (merged) and postgresai!280, pending review/merge -
requirements.mdmatches actual compose resource needs — covered by docs!933 (merged), pending review/merge - README upgrade section flags/preserves the safe upgrade path — covered by postgresai!280, pending review/merge
- docs.postgres.ai monitoring section updated if needed — covered by docs!933 (merged), patched through commit
cc121897, pipeline 2561262859 passed. Full feature-coverage audit (5 of 31 features fully documented) closed by docs MR !934 — Denis (Sarumyan9999) approved → cap-postgresai SOC2 gate resolved → MERGED, commit90fe5d88; redeploy pipeline 2578484076 in progress (verify-live tracked in Post-release).
- All install/upgrade commands in
Downstream MRs prepared (do not merge until approved)
-
docsMR — postgres-ai/docs!933, commitcc121897, pipeline 2561262859 passed — merged -
platform-allMR — no new MR needed before GA; platform-all!367 already mergedpostgresai_versionoverride support - Helm / repo docs MR — postgres-ai/postgresai!280, commit
6162085, pipeline 2562303025 passed — merged - Release rules MR — postgres-ai/rules!27, commit
5c7ab70, pipeline 2561004969 passed — merged - GA-blocker fix MR — postgres-ai/postgresai!283 (upgrade kept stale
docker-compose.yml→ VictoriaMetrics crash; includes reviewer hardening) — merged tomain
Release
- Final tag
0.15.0pushed - Tag pipeline finished — all artifacts published
-
npm view postgresai@0.15.0 versionreturns0.15.0 -
npm view pgai@0.15.0 versionreturns0.15.0 -
npm view postgresai dist-tagsandnpm view pgai dist-tagsshowlatest=0.15.0 - Fresh-cache
npx postgresai --version,npx pgai --version,bunx postgresai --version, andbunx pgai --versionreturn0.15.0 - All four Docker Hub images pullable for
0.15.0
-
- Release notes published on both GitLab and GitHub (same body, generated with
cli/scripts/generate-release-notes.ts; MR/issue refs must be absolute URLs so they work from both sides) - Auxiliary MRs merged
-
docs(pins — docs!933 (merged), merged) -
docsfeature coverage MERGED — docs!934 (merged) (feature-coverage close + 4-gap accuracy follow-up folded in; ~232 source-verified corrections across 14 rounds) approved by Denis (Sarumyan9999) → cap-postgresai SOC2 gate resolved → merged, commit90fe5d88. docs.postgres.ai redeploy pipeline 2578484076 running — verify-live tracked in Post-release -
platform-alldefault-tag bump — N/A in platform-all; tracked under Post-release (ansiblev1.8+ prod setting; !367 override ≠ default bump) - Helm / repo docs chart-values prep (!280 (merged)) — note: chart release still requires
helm-v0.15.0(see Post-release) - Release rules
-
Post-release
- npm dist-tag sanity —
npm view postgresai dist-tags --json/npm view pgai dist-tags --json:latest=0.15.0for BOTHpostgresaiandpgai;rc=0.15.0-rc.8,dev=0.15.0-dev.11,beta=0.14.0-beta.16undisturbed (verified 2026-06-02 — passes) - GA app images all published —
postgresai/{reporter,monitoring-flask-backend,postgres-ai-configs,pgwatch}:0.15.0all return HTTP 200 on Docker Hub. Digests recorded in note #3413027662: reportersha256:37a1d093…b1f34, monitoring-flask-backendsha256:3995ab31…0352, postgres-ai-configssha256:7f6f87ab…5b88, pgwatchsha256:569dafad…e873. - Helm chart released —
helm-v0.15.0tag cut (chart publish is gated on a separatehelm-v<tag>tag; !280 (merged) only prepared chart values/defaults, it does not ship the chart). MUST follow the images-all-200 item above.-
helm-v0.15.0pipeline finished — chart packaged + GitLab release asset published - Fresh
helm installof the published0.15.0chart pulls the:0.15.0images and comes up healthy (not just "values updated") - Dashboard 01 renders data on the Helm-installed instance — evidence linked
-
- console.postgres.ai / simple-install default tag bumped to
0.15.0— the platform-all?postgresai_version=override (!367) is only an override; the default is thepostgres_ai-ansiblevars/main.ymlpin (now0.15.0at tagv1.8✅ ) plus the productionapp.settings.monitoring_ansible_imagesetting (still pending repoint — see below)-
postgres_ai-ansiblevars/main.yml→postgres_ai_version+postgres_ai_cli_version=0.15.0, release tagv1.8cut — commitf455ed2b7b27, tagv1.8; GA images published to Docker Hubpostgresai/monitoring-ansible:1.8+ GitLab registry.⚠️ Bump went direct-to-mainwithout an MR — retro-MR for the audit trail pending Nik's decision. - Production
platform_settingsupdated:app.settings.monitoring_ansible_image→ the PUBLIC Docker Hub imagepostgresai/monitoring-ansible:1.8(immutable GA tag).⚠️ Must NOT point at the private GitLab registry imageregistry.gitlab.com/postgres-ai/postgres_ai-ansible:1.8— the simple-install launcher cannot pull it (observed "access forbidden" deploy failure). PENDING Nik's prod-DB access. - Verified on production: a fresh console deploy with no
?postgresai_version=override provisions0.15.0(the rc.8 console gate used an explicit override, so the default path is still unverified) — evidence linked
-
-
demo.postgres.ai(5.161.85.183) upgraded to0.15.0— per the cloud-client upgrade runbook (WI #220); GA app images all-200 confirmed first. Done + verified (via PG-volume reset): HEAD at0.15.0, all services on0.15.0images, PG17 healthy. Evidence in confidential WI #220. - Demo dashboards verified rendering data after upgrade — Dashboards 01/07/14 render; VM metric history preserved (714M rows);
target_dbre-seeded + scraped; public site returns 302. Evidence in confidential WI #220. - docs.postgres.ai feature coverage complete — beyond pins (!933, merged): feature-coverage MR docs!934 (merged) (gap close + 4-gap accuracy follow-up folded in; ~232 source-verified corrections across 14 rounds, plus the PG 15→17 migration procedure and post-migration query-text recovery — IPv6
pg_hba+init.sql) MERGED (Denis/Sarumyan9999 approved → cap-postgresai SOC2 gate resolved → commit90fe5d88) and LIVE — redeploy pipeline 2578484076 succeeded (deploy_productionjob success). All sub-items done:- top_n list fixed in
02-query-analysis.md(5, 10, 15, 20, 50, 100, 500) to matchindex.md - D7
07-autovacuum.mdpanel titles match the shipped Dashboard_7 JSON + note xmin section is "(experimental)" -
installation-helm.mdVM auth/retention corrected (victoriaMetrics.retentionPeriod: 336h,auth.{enabled,username}, password viasecrets.vmAuth.password→ secret keyvm-auth-password; drop the false 90d-vs-336h callout) -
upgrade.mddocuments the npx/npm i -gbundled-compose auto-refresh +.bakbackup (!283 (merged)) for non-git installs - docs.postgres.ai redeploys after the docs MRs merge — verify live — LIVE: pipeline 2578484076 succeeded on
master(deploy_productionjob success), so the merged docs!934 (merged) content (PG15→17 migration + query-text recovery + ~232 corrections) is now live on docs.postgres.ai
- top_n list fixed in
- GitHub release parity — release
0.15.0published at https://github.com/postgres-ai/postgresai/releases/tag/0.15.0 (marked latest), body byte-for-byte identical to the GitLab release; both pages HTTP 200, GitHubrefs/tags/0.15.0→5f8af30matches GitLab tag commit (evidence: note #3413027662) - README "Access points" doc nit fixed — README says Grafana login
monitoring; actual admin user ismonitor(GF_SECURITY_ADMIN_USER). Follow-up MR linked - Backport decision recorded — per release-process §Backporting, decide whether npx-upgrade GA-blocker fix (!283 (merged)) warrants a
0.14.xbackport (likely N/A — ships in 0.15.0 GA) — N/A or MR linked - Post-publish monitoring window — watch GA artifacts after publish (Docker Hub pulls, npm installs, console default deploys, demo dashboards) for regressions/error reports before declaring the release stable
- Tracking issue closed — close #186 once all Release / Post-release / Announce items are checked
Announce
- Slack
- Email newsletter (major releases only — mark N/A for patches)
Edited by Nikolay Samokhvalov