From f7e99749ef3ebfb2581e1eac84978d357259f990 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Wed, 20 Sep 2023 12:00:18 +0200 Subject: [PATCH] Release v3.1.1 (#2872) * Bump version * Update release notes * Update tox.ini (include v16) * Enable tests for `REL*` branches --- .github/workflows/tests.yaml | 1 + docs/releases.rst | 58 ++++++++++++++++++++++++++++++++++++ patroni/version.py | 2 +- tox.ini | 7 +++-- 4 files changed, 64 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 8b73c6e7..aba3e751 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -5,6 +5,7 @@ on: push: branches: - master + - 'REL_[0-9]+_[0-9]+' env: CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }} diff --git a/docs/releases.rst b/docs/releases.rst index 7a05bf7e..5d4af2cc 100644 --- a/docs/releases.rst +++ b/docs/releases.rst @@ -3,6 +3,64 @@ Release notes ============= +Version 3.1.1 +------------- + +**Bugfixes** + +- Reset failsafe state on promote (ChenChangAo) + + If switchover/failover happened shortly after failsafe mode had been activated, the newly promoted primary was demoting itself after failsafe becomes inactive. + +- Silence useless warnings in ``patronictl`` (Alexander Kukushkin) + + If ``patronictl`` uses the same patroni.yaml file as Patroni and can access ``PGDATA`` directory it might have been showing annoying warnings about incorrect values in the global configuration. + +- Explicitly enable synchronous mode for a corner case (Alexander Kukushkin) + + Synchronous mode effectively was never activated if there are no replicas streaming from the primary. + +- Fixed bug with ``0`` integer values validation (Israel Barth Rubio) + + In most cases, it didn't cause any issues, just warnings. + +- Don't return logical slots for standby cluster (Alexander Kukushkin) + + Patroni can't create logical replication slots in the standby cluster, thus they should be ignored if they are defined in the global configuration. + +- Avoid showing docstring in ``patronictl --help`` output (Israel Barth Rubio) + + The ``click`` module needs to get a special hint for that. + +- Fixed bug with ``kubernetes.standby_leader_label_value`` (Alexander Kukushkin) + + This feature effectively never worked. + +- Returned cluster system identifier to the ``patronictl list`` output (Polina Bungina) + + The problem was introduced while implementing the support for Citus, where we need to hide the identifier because it is different for coordinator and all workers. + +- Override ``write_leader_optime`` method in Kubernetes implementation (Alexander Kukushkin) + + The method is supposed to write shutdown LSN to the leader Endpoint/ConfigMap when there are no healthy replicas available to become the new primary. + +- Don't start stopped postgres in pause (Alexander Kukushkin) + + Due to a race condition, Patroni was falsely assuming that the standby should be restarted because some recovery parameters (``primary_conninfo`` or similar) were changed. + +- Fixed bug in ``patronictl query`` command (Israel Barth Rubio) + + It didn't work when only ``-m`` argument was provided or when none of ``-r`` or ``-m`` were provided. + +- Properly treat integer parameters that are used in the command line to start postgres (Polina Bungina) + + If values are supplied as strings and not casted to integer it was resulting in an incorrect calculation of ``max_prepared_transactions`` based on ``max_connections`` for Citus clusters. + +- Don't rely on ``pg_stat_wal_receiver`` when deciding on ``pg_rewind`` (Alexander Kukushkin) + + It could happen that ``received_tli`` reported by ``pg_stat_wal_recevier`` is ahead of the actual replayed timeline, while the timeline reported by ``DENTIFY_SYSTEM`` via replication connection is always correct. + + Version 3.1.0 ------------- diff --git a/patroni/version.py b/patroni/version.py index 87eff52e..ff98d3c0 100644 --- a/patroni/version.py +++ b/patroni/version.py @@ -2,4 +2,4 @@ :var __version__: the current Patroni version. """ -__version__ = '3.1.0' +__version__ = '3.1.1' diff --git a/tox.ini b/tox.ini index 71104357..415c905e 100644 --- a/tox.ini +++ b/tox.ini @@ -6,6 +6,7 @@ postgres_matrix = pg13: PG_MAJOR = 13 pg14: PG_MAJOR = 14 pg15: PG_MAJOR = 15 + pg16: PG_MAJOR = 16 psycopg_deps = py{37,38,39,310,311}-{lin,win}: psycopg[binary] mac: psycopg2-binary @@ -105,7 +106,7 @@ description = Reformat code with black deps = black commands = black {posargs:patroni tests} -[testenv:pg{12,13,14,15}-docker-build] +[testenv:pg{12,13,14,15,16}-docker-build] description = Build docker containers needed for testing labels = behave @@ -123,7 +124,7 @@ commands = --file features/Dockerfile allowlist_externals = docker -[testenv:pg{12,13,14,15}-docker-behave-{etcd}-{lin,mac}] +[testenv:pg{12,13,14,15,16}-docker-behave-{etcd}-{lin,mac}] description = Run behaviour tests in patroni-dev docker container setenv = etcd: DCS=etcd @@ -132,7 +133,7 @@ setenv = labels = behave depends = - pg{11,12,13,14,15}-docker-build + pg{11,12,13,14,15,16}-docker-build # There's a bug which affects calling multiple envs on the command line # This should be a valid command: tox -e 'py{36,37,38,39,310,311}-behave-{env:DCS}-lin'