diff --git a/CHANGELOG.md b/CHANGELOG.md index e72209c..981279d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ All changes that a user can see are in this file. The version is 0.M.patch, wher ## Unreleased +## 0.1.23 (2026-10-13) + +A patch release on the way to M2. rupg now reads and writes `aclitem` values and the values of the range and multirange types, and runs the operators of the range types. + +### Added + +- The input of `aclitem`, with `makeaclitem`, `aclcontains`, `aclitemeq` and the hash functions of `aclitem`. A function can now send a warning, such as "defaulting grantor to user ID 10" (#275). +- The text and binary forms of the six built-in range types, with the constructors, the functions that read the bounds and the flags, and the order of the ranges (#276). +- The operators of the range types, `range_merge`, `range_minus_multi` and the subtype difference functions (#277). +- The text and binary forms of the six built-in multirange types, with the constructors, the cast from a range, the functions that read the bounds and the flags, `range_merge`, `unnest` and the order of the multiranges (#278). + +### Fixed + +- PostgreSQL sends `CopyOutResponse` before it runs the query of `COPY ... TO STDOUT`. rupg now sends it before an error of the run too (#275). +- An integer literal that fits `int4` after the parser negates it, such as `-2147483648`, is now an `int4`, as in PostgreSQL (#277). + ## 0.1.22 (2026-10-13) A patch release on the way to M2. rupg now runs the operators and functions of the geometric types, and reads and writes the values of `xid`, `cid`, `pg_lsn`, `pg_snapshot` and `txid_snapshot`. diff --git a/Cargo.lock b/Cargo.lock index 3cc1173..2d30a05 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -257,7 +257,7 @@ dependencies = [ [[package]] name = "rupg" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-buffer", "rupg-common", @@ -272,7 +272,7 @@ dependencies = [ [[package]] name = "rupg-analyze" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-catalog", "rupg-common", @@ -283,11 +283,11 @@ dependencies = [ [[package]] name = "rupg-ann" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-buffer" -version = "0.1.22" +version = "0.1.23" dependencies = [ "loom", "rupg-common", @@ -297,41 +297,41 @@ dependencies = [ [[package]] name = "rupg-capi" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-catalog" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", ] [[package]] name = "rupg-cli" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg", ] [[package]] name = "rupg-cluster" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-column" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-common" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-contrib" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-crash" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg", "rupg-common", @@ -341,15 +341,15 @@ dependencies = [ [[package]] name = "rupg-encode" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-exchange" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-exec" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-analyze", "rupg-catalog", @@ -362,11 +362,11 @@ dependencies = [ [[package]] name = "rupg-ext" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-file" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", "rupg-platform", @@ -374,7 +374,7 @@ dependencies = [ [[package]] name = "rupg-func" -version = "0.1.22" +version = "0.1.23" dependencies = [ "md-5", "rupg-analyze", @@ -387,11 +387,11 @@ dependencies = [ [[package]] name = "rupg-graph" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-hot" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-buffer", "rupg-common", @@ -402,23 +402,23 @@ dependencies = [ [[package]] name = "rupg-import" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-index" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-jit" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-kernels" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-log" -version = "0.1.22" +version = "0.1.23" dependencies = [ "loom", "rupg-buffer", @@ -430,19 +430,19 @@ dependencies = [ [[package]] name = "rupg-opt" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-pgcatalog" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-plan" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-platform" -version = "0.1.22" +version = "0.1.23" dependencies = [ "libc", "rupg-common", @@ -450,15 +450,15 @@ dependencies = [ [[package]] name = "rupg-plpgsql" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-raft" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-server" -version = "0.1.22" +version = "0.1.23" dependencies = [ "ring", "rupg-common", @@ -470,7 +470,7 @@ dependencies = [ [[package]] name = "rupg-session" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-analyze", "rupg-catalog", @@ -486,22 +486,22 @@ dependencies = [ [[package]] name = "rupg-shim" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-sql" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", ] [[package]] name = "rupg-summary" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-table" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", "rupg-file", @@ -512,7 +512,7 @@ dependencies = [ [[package]] name = "rupg-tree" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-buffer", "rupg-common", @@ -522,7 +522,7 @@ dependencies = [ [[package]] name = "rupg-txn" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-buffer", "rupg-common", @@ -537,18 +537,18 @@ dependencies = [ [[package]] name = "rupg-types" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", ] [[package]] name = "rupg-wasm" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-wire" -version = "0.1.22" +version = "0.1.23" dependencies = [ "hmac", "md-5", @@ -822,7 +822,7 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "xtask" -version = "0.1.22" +version = "0.1.23" [[package]] name = "zeroize" diff --git a/Cargo.toml b/Cargo.toml index 5852af3..42c1cf1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ exclude = ["fuzz"] [workspace.package] # The version is 0.M.patch, where M is the last milestone that closed. See spec/23-milestones.md section 23.17. -version = "0.1.22" +version = "0.1.23" edition = "2024" # The MSRV is 1.88.0. Safe functions with target_feature need 1.86. core::hint::select_unpredictable needs 1.88. See spec/22-crate-layout.md section 22.11. rust-version = "1.88.0" @@ -20,47 +20,47 @@ readme = "README.md" # One version for the whole workspace. Internal crates are pinned exactly, so a partial publish cannot make a build with mixed versions. `cargo xtask version` changes all the pins together. [workspace.dependencies] -rupg = { version = "=0.1.22", path = "crates/rupg" } -rupg-analyze = { version = "=0.1.22", path = "crates/rupg-analyze" } -rupg-ann = { version = "=0.1.22", path = "crates/rupg-ann" } -rupg-buffer = { version = "=0.1.22", path = "crates/rupg-buffer" } -rupg-capi = { version = "=0.1.22", path = "crates/rupg-capi" } -rupg-catalog = { version = "=0.1.22", path = "crates/rupg-catalog" } -rupg-cli = { version = "=0.1.22", path = "crates/rupg-cli" } -rupg-cluster = { version = "=0.1.22", path = "crates/rupg-cluster" } -rupg-column = { version = "=0.1.22", path = "crates/rupg-column" } -rupg-common = { version = "=0.1.22", path = "crates/rupg-common" } -rupg-contrib = { version = "=0.1.22", path = "crates/rupg-contrib" } -rupg-encode = { version = "=0.1.22", path = "crates/rupg-encode" } -rupg-exchange = { version = "=0.1.22", path = "crates/rupg-exchange" } -rupg-exec = { version = "=0.1.22", path = "crates/rupg-exec" } -rupg-ext = { version = "=0.1.22", path = "crates/rupg-ext" } -rupg-file = { version = "=0.1.22", path = "crates/rupg-file" } -rupg-func = { version = "=0.1.22", path = "crates/rupg-func" } -rupg-graph = { version = "=0.1.22", path = "crates/rupg-graph" } -rupg-hot = { version = "=0.1.22", path = "crates/rupg-hot" } -rupg-import = { version = "=0.1.22", path = "crates/rupg-import" } -rupg-index = { version = "=0.1.22", path = "crates/rupg-index" } -rupg-jit = { version = "=0.1.22", path = "crates/rupg-jit" } -rupg-kernels = { version = "=0.1.22", path = "crates/rupg-kernels" } -rupg-log = { version = "=0.1.22", path = "crates/rupg-log" } -rupg-opt = { version = "=0.1.22", path = "crates/rupg-opt" } -rupg-pgcatalog = { version = "=0.1.22", path = "crates/rupg-pgcatalog" } -rupg-plan = { version = "=0.1.22", path = "crates/rupg-plan" } -rupg-platform = { version = "=0.1.22", path = "crates/rupg-platform" } -rupg-plpgsql = { version = "=0.1.22", path = "crates/rupg-plpgsql" } -rupg-raft = { version = "=0.1.22", path = "crates/rupg-raft" } -rupg-server = { version = "=0.1.22", path = "crates/rupg-server" } -rupg-session = { version = "=0.1.22", path = "crates/rupg-session" } -rupg-shim = { version = "=0.1.22", path = "crates/rupg-shim" } -rupg-sql = { version = "=0.1.22", path = "crates/rupg-sql" } -rupg-summary = { version = "=0.1.22", path = "crates/rupg-summary" } -rupg-table = { version = "=0.1.22", path = "crates/rupg-table" } -rupg-tree = { version = "=0.1.22", path = "crates/rupg-tree" } -rupg-txn = { version = "=0.1.22", path = "crates/rupg-txn" } -rupg-types = { version = "=0.1.22", path = "crates/rupg-types" } -rupg-wasm = { version = "=0.1.22", path = "crates/rupg-wasm" } -rupg-wire = { version = "=0.1.22", path = "crates/rupg-wire" } +rupg = { version = "=0.1.23", path = "crates/rupg" } +rupg-analyze = { version = "=0.1.23", path = "crates/rupg-analyze" } +rupg-ann = { version = "=0.1.23", path = "crates/rupg-ann" } +rupg-buffer = { version = "=0.1.23", path = "crates/rupg-buffer" } +rupg-capi = { version = "=0.1.23", path = "crates/rupg-capi" } +rupg-catalog = { version = "=0.1.23", path = "crates/rupg-catalog" } +rupg-cli = { version = "=0.1.23", path = "crates/rupg-cli" } +rupg-cluster = { version = "=0.1.23", path = "crates/rupg-cluster" } +rupg-column = { version = "=0.1.23", path = "crates/rupg-column" } +rupg-common = { version = "=0.1.23", path = "crates/rupg-common" } +rupg-contrib = { version = "=0.1.23", path = "crates/rupg-contrib" } +rupg-encode = { version = "=0.1.23", path = "crates/rupg-encode" } +rupg-exchange = { version = "=0.1.23", path = "crates/rupg-exchange" } +rupg-exec = { version = "=0.1.23", path = "crates/rupg-exec" } +rupg-ext = { version = "=0.1.23", path = "crates/rupg-ext" } +rupg-file = { version = "=0.1.23", path = "crates/rupg-file" } +rupg-func = { version = "=0.1.23", path = "crates/rupg-func" } +rupg-graph = { version = "=0.1.23", path = "crates/rupg-graph" } +rupg-hot = { version = "=0.1.23", path = "crates/rupg-hot" } +rupg-import = { version = "=0.1.23", path = "crates/rupg-import" } +rupg-index = { version = "=0.1.23", path = "crates/rupg-index" } +rupg-jit = { version = "=0.1.23", path = "crates/rupg-jit" } +rupg-kernels = { version = "=0.1.23", path = "crates/rupg-kernels" } +rupg-log = { version = "=0.1.23", path = "crates/rupg-log" } +rupg-opt = { version = "=0.1.23", path = "crates/rupg-opt" } +rupg-pgcatalog = { version = "=0.1.23", path = "crates/rupg-pgcatalog" } +rupg-plan = { version = "=0.1.23", path = "crates/rupg-plan" } +rupg-platform = { version = "=0.1.23", path = "crates/rupg-platform" } +rupg-plpgsql = { version = "=0.1.23", path = "crates/rupg-plpgsql" } +rupg-raft = { version = "=0.1.23", path = "crates/rupg-raft" } +rupg-server = { version = "=0.1.23", path = "crates/rupg-server" } +rupg-session = { version = "=0.1.23", path = "crates/rupg-session" } +rupg-shim = { version = "=0.1.23", path = "crates/rupg-shim" } +rupg-sql = { version = "=0.1.23", path = "crates/rupg-sql" } +rupg-summary = { version = "=0.1.23", path = "crates/rupg-summary" } +rupg-table = { version = "=0.1.23", path = "crates/rupg-table" } +rupg-tree = { version = "=0.1.23", path = "crates/rupg-tree" } +rupg-txn = { version = "=0.1.23", path = "crates/rupg-txn" } +rupg-types = { version = "=0.1.23", path = "crates/rupg-types" } +rupg-wasm = { version = "=0.1.23", path = "crates/rupg-wasm" } +rupg-wire = { version = "=0.1.23", path = "crates/rupg-wire" } # Outside crates. Each one is in the table of spec/22-crate-layout.md section 22.5. # libc: the system calls of rupg-platform on Unix, for example F_FULLFSYNC and getentropy. diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 36144ec..5131de6 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -207,7 +207,7 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rupg" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-buffer", "rupg-common", @@ -221,7 +221,7 @@ dependencies = [ [[package]] name = "rupg-analyze" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-catalog", "rupg-common", @@ -232,7 +232,7 @@ dependencies = [ [[package]] name = "rupg-buffer" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", "rupg-file", @@ -241,18 +241,18 @@ dependencies = [ [[package]] name = "rupg-catalog" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", ] [[package]] name = "rupg-common" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-file" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", "rupg-platform", @@ -260,7 +260,7 @@ dependencies = [ [[package]] name = "rupg-func" -version = "0.1.22" +version = "0.1.23" dependencies = [ "md-5", "rupg-analyze", @@ -290,7 +290,7 @@ dependencies = [ [[package]] name = "rupg-hot" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", "rupg-file", @@ -299,11 +299,11 @@ dependencies = [ [[package]] name = "rupg-kernels" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-log" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-buffer", "rupg-common", @@ -313,11 +313,11 @@ dependencies = [ [[package]] name = "rupg-pgcatalog" -version = "0.1.22" +version = "0.1.23" [[package]] name = "rupg-platform" -version = "0.1.22" +version = "0.1.23" dependencies = [ "libc", "rupg-common", @@ -325,14 +325,14 @@ dependencies = [ [[package]] name = "rupg-sql" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", ] [[package]] name = "rupg-table" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", "rupg-file", @@ -342,7 +342,7 @@ dependencies = [ [[package]] name = "rupg-tree" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", "rupg-file", @@ -350,7 +350,7 @@ dependencies = [ [[package]] name = "rupg-txn" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-buffer", "rupg-common", @@ -364,14 +364,14 @@ dependencies = [ [[package]] name = "rupg-types" -version = "0.1.22" +version = "0.1.23" dependencies = [ "rupg-common", ] [[package]] name = "rupg-wire" -version = "0.1.22" +version = "0.1.23" dependencies = [ "hmac", "md-5",