From 20e04e67497e97ad05a7616fb57dead89a2f0a98 Mon Sep 17 00:00:00 2001 From: "Joshua (D) Drake" <136637981+ChronicallyJD@users.noreply.github.com> Date: Mon, 6 Jul 2026 21:11:31 -0600 Subject: [PATCH] Release 2.6.0 Cuts the 2.6.0 release folding in the post-2.5 PL/Python-parity work: - $_SD, a per-function static dictionary (the private counterpart to the session-global $_SHARED); mirrors PL/Python's SD/GD pair. - The bytea_plphp companion transform (bytea <-> binary-safe PHP string), shipping as its own 1.0 extension. Mechanics: control default_version 2.5 -> 2.6; git mv plphp--2.5.sql plphp--2.6.sql; a no-op plphp--2.5--2.6.sql upgrade script ($_SD is entirely in the C module, no SQL surface); Makefile DATA updated; CHANGELOG [Unreleased] promoted to [2.6.0]. Verified in the plphp-build container on PG 18: fresh CREATE EXTENSION reports 2.6 and $_SD works, and the 2.5 -> ALTER EXTENSION UPDATE -> 2.6 path succeeds. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 2 +- Makefile | 2 +- plphp--2.5--2.6.sql | 10 ++++++++++ plphp--2.5.sql => plphp--2.6.sql | 0 plphp.control | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 plphp--2.5--2.6.sql rename plphp--2.5.sql => plphp--2.6.sql (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14359b0..2d9d5e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to PL/php are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project aims to follow [Semantic Versioning](https://semver.org/). -## [Unreleased] +## [2.6.0] - 2026-07-06 ### Added diff --git a/Makefile b/Makefile index 2930d32..03629e2 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ MODULE_big = plphp OBJS = plphp.o plphp_io.o plphp_spi.o EXTENSION = plphp -DATA = plphp--2.5.sql plphp--2.0--2.1.sql plphp--2.1--2.2.sql plphp--2.2--2.3.sql plphp--2.3--2.4.sql plphp--2.4--2.5.sql +DATA = plphp--2.6.sql plphp--2.0--2.1.sql plphp--2.1--2.2.sql plphp--2.2--2.3.sql plphp--2.3--2.4.sql plphp--2.4--2.5.sql plphp--2.5--2.6.sql # PHP embed SAPI compile/link flags, discovered via php-config. PHP_CONFIG ?= php-config diff --git a/plphp--2.5--2.6.sql b/plphp--2.5--2.6.sql new file mode 100644 index 0000000..e18f1d2 --- /dev/null +++ b/plphp--2.5--2.6.sql @@ -0,0 +1,10 @@ +/* Upgrade PL/php from 2.5 to 2.6. + * + * 2.6 adds $_SD, a per-function static dictionary that persists across calls + * within a session (the private counterpart to the session-global $_SHARED). + * The companion bytea_plphp transform ships as its own extension. All of it + * lives in the C module, so there is nothing to change at the SQL level. + */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION plphp UPDATE" to load this file. \quit diff --git a/plphp--2.5.sql b/plphp--2.6.sql similarity index 100% rename from plphp--2.5.sql rename to plphp--2.6.sql diff --git a/plphp.control b/plphp.control index 48dc400..c8c9191 100644 --- a/plphp.control +++ b/plphp.control @@ -5,6 +5,6 @@ # the server's OS user. The extension is therefore superuser-only to install # and the language is created without the TRUSTED attribute. comment = 'PL/php procedural language (untrusted)' -default_version = '2.5' +default_version = '2.6' module_pathname = '$libdir/plphp' relocatable = false