Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ltZeI-0007dA-E2 for psycopg@arkaria.postgresql.org; Wed, 16 Jun 2021 17:48:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ltZeH-0006bY-De for psycopg@arkaria.postgresql.org; Wed, 16 Jun 2021 17:48:21 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ltZeH-0006bQ-5o for psycopg@lists.postgresql.org; Wed, 16 Jun 2021 17:48:21 +0000 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1ltZeE-0002BU-7y for psycopg@postgresql.org; Wed, 16 Jun 2021 17:48:20 +0000 Received: by mail-lj1-x230.google.com with SMTP id b37so4960960ljr.13 for ; Wed, 16 Jun 2021 10:48:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=oDv1Lm/bM3Z8ZrSHQni2C4ErZ8K9NM3i11+7aC1RSMs=; b=RXPAOEQ1NC25INTzK6ocrNXRjTl5a6GKtKGcWS+VTqFbMpJ1RxgogMwWkYsT5miOF5 th1iu5DqEp/gQrS5D7xma0dKTxZR8NB5hx4nQLBSyWS3DAftoNmcEanH6biR4wwcFOs/ 3A9HBRAXTNeHDgkJTPTsKWJZWFlSFWcmMaWr6xKfHYaCJ+6tV3cdyTbUaFex8qKZMvZ7 CFbxZDgo/BWiguxK/mbMVWRXovJ4yDmpVqWWic7J27K9LCZlSnvRYfctWbGzhy0mOdEu owWZtyIOMb0agLaBWASL3tvyDJ1Omq5Yt3T1c906NtJKs9lQWeIoRlCVzFdOOKEYor4w N9/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=oDv1Lm/bM3Z8ZrSHQni2C4ErZ8K9NM3i11+7aC1RSMs=; b=FCDDOcJHsqX5sqH4GkUooXsKOSWLEyRI+ay1vvt8ISaYBlnyUxh8rJI4eearLtSrWR 4MxOL33mFaQfQqDD+Fg7JMJi3jWGXjCUKf9odPVMuCQOIypsDWvRESxAPdOxnAAFI8i9 0FCJYaMLOckiawnqCr9pvT+/LEbwo0WUAFGvWu/OqAXtn8fbXz61fmNsLmueLQXKYIjK 7H7ta00qPXZcZ+Yc9MAWASFt6w9hR8tNZM6ZYJvUEyDTAhHiEXhJRNVRP7ibL4Q0z1JZ 8gFKLgKXdEDy6em91dX30jPl+Dsoxlzhv285YqNd1z90joRdYSLY0/nvviINwZvccGdc BZLQ== X-Gm-Message-State: AOAM530xSKQiCrhg5rKX+y+ESFR36yoLTwedilkKE7plTRTPW55x7Rw7 XTQUZ/1hIOt78CelduIrKm6bFi/vjp8lFxbTwDJM70RgEvM= X-Google-Smtp-Source: ABdhPJwTnODZU5D9T28vC5ANBtlQClGqCnWdKbcT/mTayiXT1t6BAdJl5petIvHj8ZDrly6Vhib4RCC4zKcDvmvkErg= X-Received: by 2002:a05:651c:4c6:: with SMTP id e6mr883778lji.189.1623865695373; Wed, 16 Jun 2021 10:48:15 -0700 (PDT) MIME-Version: 1.0 From: Daniele Varrazzo Date: Wed, 16 Jun 2021 18:48:04 +0100 Message-ID: Subject: Psycopg 2.9 released To: psycopg@postgresql.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Psycopg 2.9 has been released! This is a relatively small release compared to previous major releases. However the creation of the packages took a lot of effort. The previously used CI system now has reduced support for free software projects - it was decided that package building should be moved to GitHub Actions. Packaging has also become more complex because of the evolution of the Python packaging standards and the need to support multiple architectures (Intel, ARM, PPC...). Maintaining a project such as Psycopg requires a lot of effort. For this reason, we are extremely grateful to all our sponsors who are enabling the maintenance and development of Psycopg. Thank you very much! <3 What=E2=80=99s new in psycopg 2.9 - "with connection" starts a transaction on autocommit transactions too (ticket #941). - Timezones with fractional minutes are supported on Python 3.7 and following (ticket #1272). - Escape table and column names in 'copy_from()' and 'copy_to()'. - Connection exceptions with sqlstate '08XXX' reclassified as 'OperationalError' (a subclass of the previously used 'DatabaseError') (ticket #1148). - Include library dirs required from libpq to work around MacOS build problems (ticket #1200). Other changes: - Dropped support for Python 2.7, 3.4, 3.5 (ticket #1198, ticket #1000, ticket #1197). - Dropped support for mx.DateTime. - Use 'datetime.timezone' objects by default in 'datetime' objects instead of 'FixedOffsetTimezone'. - The 'psycopg2.tz' module is deprecated and scheduled to be dropped in the next major release. - Provide PEP 599 wheels packages ('manylinux2014' tag) for i686 and x86_64 platforms. - Provide PEP 600 wheels packages ('manylinux_2_24' tag) for aarch64 and ppc64le platforms. - Wheel package compiled against OpenSSL 1.1.1k and PostgreSQL 13.3. - Build system for Linux/MacOS binary packages moved to GitHub Actions. ---- Psycopg is the most popular PostgreSQL adapter for the Python programming language. At its core it fully implements the Python DB API 2.0 specifications. Several extensions allow access to many of the features offered by PostgreSQL.