Skip to content

Commit 505076d

Browse files
committed
Populate HISTORY.md from git history
Reconstructed one entry per real release (0.1.0 through 0.9.7) from each tag's actual diff, at pgxntool/HISTORY.asc's level of detail - a paragraph or == per-change section, not just a version bump line. Also credits the one real fix since 0.9.7 (dropping a redundant, unconditional client_min_messages override in the install script) under the pending "stable" section.
1 parent b7e0022 commit 505076d

1 file changed

Lines changed: 82 additions & 4 deletions

File tree

HISTORY.md

Lines changed: 82 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,88 @@
33
stable
44
------
55

6-
No user-facing changes yet.
6+
== Fix client_min_messages handling in the install script
7+
CREATE EXTENSION already raises client_min_messages to WARNING for the install
8+
script (only-raising, so a stricter caller is respected) and restores it
9+
afterward - the extension's own `SET client_min_messages = WARNING` was
10+
redundant and, being unconditional, could lower a stricter caller's level
11+
during install. Removed.
12+
13+
0.9.7
14+
-----
15+
16+
Distribution-only release - the extension version itself stayed at `0.9.6`
17+
(see RELEASE.md's note on distribution vs. extension versions). Raised the
18+
minimum supported PostgreSQL version to 9.4 (from 9.3), matching the jsonb
19+
functions added in 0.9.5, and enabled Travis CI.
20+
21+
0.9.6
22+
-----
23+
24+
== Fix functions failing when installed outside the search_path
25+
`null_count()`/`not_null_count()` and their trigger counterparts called each
26+
other unqualified, so installing count_nulls into a schema not on the
27+
caller's search_path broke them. All internal calls are now qualified with
28+
`@extschema@`. Because that qualification is baked into the install script at
29+
`CREATE EXTENSION` time, count_nulls is no longer relocatable
30+
(`relocatable = false`).
31+
32+
0.9.5
33+
-----
34+
35+
== Change null_count()/not_null_count() to return int instead of bigint
36+
Reverted the anyarray variants' return type from bigint (introduced in 0.1.0)
37+
back to int - a count of NULL arguments realistically never approaches
38+
bigint's range.
39+
40+
== Add jsonb support
41+
Added jsonb overloads of `null_count()`/`not_null_count()`; the existing json
42+
overloads now delegate to them via a cast instead of duplicating the
43+
`json_each_text` logic.
44+
45+
0.9.4
46+
-----
47+
48+
Metadata-only release: PostgreSQL's control-file parser rejects comments
49+
inside `prereqs`, which the previous release's `META.in.json` had; fixed, and
50+
documented the PostgreSQL 9.3 requirement.
51+
52+
0.9.3
53+
-----
54+
55+
Adopted pgxntool (https://github.com/decibel/pgxntool) as the project's build
56+
system. No functional changes.
57+
58+
0.9.2
59+
-----
60+
61+
No functional changes - added the first upgrade script (`0.9.0` -> `0.9.2`)
62+
and adjusted where `make dist` writes its distribution zip.
63+
64+
0.9.1
65+
-----
66+
67+
== Add null_count_trigger()/not_null_count_trigger()
68+
Trigger functions for enforcing "this row must have exactly N NULL (or NOT
69+
NULL) columns" as a table constraint, usable via
70+
`CREATE TRIGGER ... EXECUTE PROCEDURE null_count_trigger(N)`.
71+
72+
0.9.0
73+
-----
74+
75+
== Add json support
76+
Added `null_count(json)`/`not_null_count(json)`, counting NULL values across
77+
a JSON object's top-level keys.
78+
79+
0.1.0
80+
-----
81+
82+
Initial release. `null_count()`/`not_null_count()` variadic functions,
83+
counting NULL (or NOT NULL) arguments passed to them.
784

885
---
986

10-
Releases before this file existed (`0.1.0` through `0.9.7`) aren't detailed here;
11-
see https://pgxn.org/dist/count_nulls/ and the corresponding git tags for what
12-
shipped in each.
87+
Every entry above from `0.1.0` through `0.9.7` was reconstructed from git
88+
history when this file was created (2026-07-24), not written contemporaneously
89+
with each release - see the corresponding git tags and
90+
https://pgxn.org/dist/count_nulls/ for the authoritative record.

0 commit comments

Comments
 (0)