Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u6Bdk-00CQ2f-Hm for pgsql-hackers@arkaria.postgresql.org; Sat, 19 Apr 2025 17:06:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u6Bdf-00Gnmu-Oo for pgsql-hackers@arkaria.postgresql.org; Sat, 19 Apr 2025 17:06:00 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u6Bdf-00Gnlh-5D for pgsql-hackers@lists.postgresql.org; Sat, 19 Apr 2025 17:06:00 +0000 Received: from mail-ed1-x531.google.com ([2a00:1450:4864:20::531]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u6Bdd-000tay-1i for pgsql-hackers@lists.postgresql.org; Sat, 19 Apr 2025 17:05:58 +0000 Received: by mail-ed1-x531.google.com with SMTP id 4fb4d7f45d1cf-5ec9d24acfbso6766356a12.0 for ; Sat, 19 Apr 2025 10:05:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745082355; x=1745687155; darn=lists.postgresql.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=vBYmtodxWA1qtE4xg2v47kBs8YMuY6wR9mytPd8s66c=; b=jUgOcwBYSysoYHon5LLZyLC4epbXZpRemy8+Q21YmaLwz2cfv6IeZoMZKaOXyAUii/ OQB40UUg42Kzd+eFsGhdJcGH0X+ZfXOPC6mvZvNoNwn2Q7rdWbxifXDK4IGRZxrSjD+X I8gu9r6vec1zwBukc20mK5nuS9oz4+NZO6CuI8fZwhaiwGw6nBW1SjfUPFjQcn8DExGp ePg+s7TPIC8hREZLsy1kCdBsI2ysv/WSz60KQLvORvMilgJxSYKlIjhh29M3BsxS2Hmj L1OjlqRp5pQwxpHxchcBsWbe8lrX18H5Gt2mORMVHWCgU067GIqqgbkaubTGcJhqaoHu y+4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745082355; x=1745687155; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vBYmtodxWA1qtE4xg2v47kBs8YMuY6wR9mytPd8s66c=; b=enAqp/3LvHUZE6HuIRATXYj/3bDSWB2ClWkm0ZmVd6B46zu6Gx9OLPtHppzJiZ1l2f zq0JM2dWd9Z4ldCleB1WYaYjjL9SP2jwN7fttF92fiHqTcWV6aNJKoUDfjgxRWGNRVup 4M5VGP/HYdXcwOb+khg49e7kdJnNsFsPWCfLutvH93si8ylqV3l9nVAQarta9HBK8xpY UeDO/opZG6Fz/FDi1SmVtBi4BnJgFlZK4OgvN4+u6Rk3xFQ6mlhlusj3oLb6aukufxw/ /66RUJPmmyU/3lvlaRqu+kps2f0yDvw0zrZ0OGsecFhTYkOPUZD0u+bRy2Qr1YZvcbrO MT+g== X-Gm-Message-State: AOJu0YwC+yqzNef9CFvBntjj/qNaNyFhi4TO7c+rwGVGG3tNh3DdtXUQ IDsuIg9GwOnkWIN1+ouI+6Mb56xSgP1fzFLHXmOshTojcEHPAG8ZR+TWgw8X X-Gm-Gg: ASbGncsbx6c3DVYxwFYvfbfM2Rd/PreJ5hWQ+FgSyw8x4V6/+vhAkg2+k3WbHlym7yW fl+8xl+AKLGjrUDr2qKbK/dy+oxvTX8McWHjur4acdeAZXjJx8Avj4HsGBiNszRuR0vGMRy4Spy WJzPFGgfLnsxziEpJdu3iJN3wTXQilUKlPiwzxcbAcdhfLlKvGRMJwCG5/lSkRi6M7mjowOCI50 wVQqpVAdd3L4pGacQ0ofcQPCBNZU4SRNfSW5eR8NtlHkXvu9ESiblmxQ3a3dnXqfot/Xpey61l9 A5vMqPRu5FmiLHL8somHKdAWWHdtGEl9vzpazJNnj/ZaPJjeEyFihkQI9AZag1PL2O7dwjUtGwO 3ooB8Kg== X-Google-Smtp-Source: AGHT+IEHrKitUqAng5DAAmf8q4rMMTIYu7sDBOGs5p8bEYg924chjfpITeyijnvKeSDaGfUNeCA4bQ== X-Received: by 2002:a17:906:6a10:b0:ac4:3d0:8bca with SMTP id a640c23a62f3a-acb753c2b3cmr516811266b.29.1745082355076; Sat, 19 Apr 2025 10:05:55 -0700 (PDT) Received: from smtpclient.apple ([2a02:85f:e845:ccdd:999f:5dd6:f88c:27c1]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-acb6ec4245csm286063366b.46.2025.04.19.10.05.53 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 19 Apr 2025 10:05:54 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: What's our minimum supported Python version? From: Florents Tselai In-Reply-To: <16098.1745079444@sss.pgh.pa.us> Date: Sat, 19 Apr 2025 20:05:22 +0300 Cc: pgsql-hackers Content-Transfer-Encoding: quoted-printable Message-Id: <13A8FADC-B04D-4BA1-8EC2-18BCBEFF5EF9@gmail.com> References: <16098.1745079444@sss.pgh.pa.us> To: Tom Lane X-Mailer: Apple Mail (2.3826.500.181.1.5) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On 19 Apr 2025, at 7:17=E2=80=AFPM, Tom Lane = wrote: >=20 > Our fine manual claims the answer to $SUBJECT is 3.2. >=20 > However, there is room to doubt that our code still actually > works with 3.2, because the oldest version I can find being > tested by the buildfarm is topminnow's 3.4.2. The next oldest > is shelduck's 3.4.10, and everything else has 3.5.2 or newer. > topminnow hasn't reported in a couple months, so it may > actually be dead. >=20 > The reason I bring this up is that I found out the hard way > that src/test/modules/oauth_validator fails on RHEL8, because > its oauth_server.py script is not compatible with the 3.6.8 > version of Python supplied by this distro. (There are 22 > buildfarm animals running 3.6.8, presumably mostly also Red > Hat-derived platforms, so I'm not going to apologize for > my workstation being a little long in the tooth.) >=20 > I think we need to do some combination of moving our > minimum-supported-version goalposts forward, making sure that > whatever we claim is the minimum Python version is actually > being tested in the buildfarm, and fixing oauth_server.py > so that it works on that version. >=20 > I am not familiar enough with the Python landscape to > have an informed opinion about what the minimum supported > version should be. But I'll present this data scraped > from the buildfarm about how many animals are running what > (counting animals that have reported since 2025-01-01): >=20 > Count Version >=20 > 1 3.4.2 > 1 3.4.10 > 2 3.5.2 > 3 3.5.3 > 2 3.6.5 > 22 3.6.8 > 3 3.6.9 > 5 3.6.15 > 1 3.7.1 > 2 3.7.3 > 1 3.7.10 > 2 3.7.16 > 1 3.8.8 > 4 3.8.10 > 15 3.9.2 > 6 3.9.16 > 6 3.9.18 > 1 3.9.19 > 2 3.9.20 > 13 3.9.21 > 6 3.10.x > 18 3.11.x > 21 3.12.x > 22 3.13.x >=20 > 160 total >=20 > Thoughts? >=20 > regards, tom lane >=20 =46rom an Python ecosystem perspective, 3.9 is the usual minimum that people use in CI matrices nowdays. So if it was up to me, that=E2=80=99s what I=E2=80=99d choose.=20 Mabe 3.7 if I was too liberal, but <3.6 and older it=E2=80=99s probably = too old to bother. Then again, I=E2=80=99m not a buildfarm power user, so my 2 cents are = worth a bit less.