You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor PostgreSQLExecutor to support Windows compatibility for process management
- Convert _get_base_command method to BASE_PROC_START_COMMAND class attribute
- Use unified command format without single quotes around PostgreSQL config values
- Add _windows_terminate_process method for graceful Windows process termination
- Update stop() method to use list args instead of shell=True for security
- Add platform-specific termination logic with killpg fallback
- Add comprehensive Windows compatibility test suite
- Merge latest changes from main branch
Copy file name to clipboardExpand all lines: CHANGES.rst
+60Lines changed: 60 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,66 @@ CHANGELOG
3
3
4
4
.. towncrier release notes start
5
5
6
+
pytest-postgresql 8.0.0 (2026-01-23)
7
+
====================================
8
+
9
+
Breaking changes
10
+
----------------
11
+
12
+
- Refactor ``DatabaseJanitor`` to use explicit template management. This includes a new ``as_template`` flag and making ``dbname`` a required parameter. (`#890 <https://github.com/dbfixtures/pytest-postgresql/issues/890>`__)
13
+
- Bump the minimum supported pytest version to 8.2.
14
+
15
+
The previous minimum was about two years old, and older pytest versions
16
+
can be flaky with fixture chaining that relies on `getfixturevalue` on
17
+
Python 3.12-3.13 when used alongside xdist. (`#890 <https://github.com/dbfixtures/pytest-postgresql/issues/890>`__)
18
+
- Support only PostgreSQL version 14 and up. (`#1250 <https://github.com/dbfixtures/pytest-postgresql/issues/1250>`__)
19
+
- Dropped support for Python 3.9 as it has reached End of Life
20
+
21
+
22
+
Bugfixes
23
+
--------
24
+
25
+
- Fix issue where `--postgresql-drop-test-database` was applied in process fixture.
26
+
27
+
It was already being read in client and noprocess fixtures. (`#1148 <https://github.com/dbfixtures/pytest-postgresql/issues/1148>`__)
28
+
29
+
30
+
Documentation
31
+
-------------
32
+
33
+
- Add a Mermaid sequence diagram to the documentation to illustrate fixture chaining and hierarchical cloning. (`#890 <https://github.com/dbfixtures/pytest-postgresql/issues/890>`__)
34
+
- Improve code examples by adding types (`#1233 <https://github.com/dbfixtures/pytest-postgresql/issues/1233>`__)
35
+
- Add plugins' architecture diagram and display it in project's README. (`#1244 <https://github.com/dbfixtures/pytest-postgresql/issues/1244>`__)
36
+
- Improved README.rst:
37
+
- Added a "Quick Start" section with a simple example.
38
+
- Clarified `psycopg` 3 requirement for the plugin vs. `psycopg` 2 support for the application.
39
+
- Updated PostgreSQL versioning notes (>= 10).
40
+
- Explained the binary discovery mechanism (`pg_config` vs. fallbacks).
41
+
- Promoted `DatabaseJanitor` as an advanced API.
42
+
- Fixed broken table layouts and corrected various typos.
43
+
44
+
45
+
Features
46
+
--------
47
+
48
+
- Add ``depends_on`` parameter to ``postgresql_noproc`` factory to allow hierarchical cloning and chaining of process fixtures. (`#890 <https://github.com/dbfixtures/pytest-postgresql/issues/890>`__)
49
+
- Convert Config kept in TypedDict into a dataclass (`#1225 <https://github.com/dbfixtures/pytest-postgresql/issues/1225>`__)
Copy file name to clipboardExpand all lines: README.rst
+27Lines changed: 27 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -146,6 +146,33 @@ To connect to an external server (e.g., running in Docker), use the ``postgresql
146
146
147
147
By default, it connects to ``127.0.0.1:5432``.
148
148
149
+
Chaining fixtures
150
+
-----------------
151
+
152
+
You can chain multiple ``postgresql_noproc`` fixtures to layer your data pre-population. Each fixture in the chain will create its own template database based on the previous one.
0 commit comments