From 4ca70b088edfd3a07283315171e0dccc51b17735 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Szczepan=20Cie=C5=9Blik?= <szczepan.cieslik@gmail.com>
Date: Fri, 10 Nov 2023 10:52:55 +0100
Subject: [PATCH] Added python 3.12 support, removed python 3.7 support.

---
 .github/workflows/test.yml       | 2 +-
 CONTRIBUTING.rst                 | 2 +-
 README.rst                       | 2 +-
 history/1699609698595784-0db2291 | 1 +
 history/1699609709341144-f161435 | 1 +
 setup.py                         | 4 ++--
 tox.ini                          | 2 +-
 7 files changed, 8 insertions(+), 6 deletions(-)
 create mode 100644 history/1699609698595784-0db2291
 create mode 100644 history/1699609709341144-f161435

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 10db3ff..62add76 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -8,7 +8,7 @@ jobs:
     strategy:
       max-parallel: 6
       matrix:
-        python-version: ["pypy-3.8", "3.7", "3.8", "3.9", "3.10", "3.11"]
+        python-version: ["pypy-3.8", "3.8", "3.9", "3.10", "3.11", "3.12"]
 
     steps:
       - uses: actions/checkout@v3
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 73fd228..5ea5682 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -108,7 +108,7 @@ Before you submit a pull request, check that it meets these guidelines:
 2. If the pull request adds functionality, the docs should be updated. Put
    your new functionality into a function with a docstring, and add the
    feature to the list in README.rst.
-3. The pull request should work for Python 3.7+, and for
+3. The pull request should work for Python 3.8+, and for
    PyPy. Check https://github.com/jazzband/jsonmodels/actions and make
    sure that the tests pass for all supported Python versions.
 
diff --git a/README.rst b/README.rst
index 9bfc35c..772e958 100644
--- a/README.rst
+++ b/README.rst
@@ -31,7 +31,7 @@ are converted to, or read from JSON.
 Features
 --------
 
-* Fully tested with Python 3.7+.
+* Fully tested with Python 3.8+.
 
 * Support for PyPy 3.8 (see implementation notes in docs for more details).
 
diff --git a/history/1699609698595784-0db2291 b/history/1699609698595784-0db2291
new file mode 100644
index 0000000..c738255
--- /dev/null
+++ b/history/1699609698595784-0db2291
@@ -0,0 +1 @@
+Added Python 3.12 support.
diff --git a/history/1699609709341144-f161435 b/history/1699609709341144-f161435
new file mode 100644
index 0000000..9b062e0
--- /dev/null
+++ b/history/1699609709341144-f161435
@@ -0,0 +1 @@
+Removed Python 3.7 support.
diff --git a/setup.py b/setup.py
index 2751208..b872187 100755
--- a/setup.py
+++ b/setup.py
@@ -71,17 +71,17 @@ def run_tests(self):
     license="BSD",
     zip_safe=False,
     keywords=PROJECT_NAME,
-    python_requires=">=3.7",
+    python_requires=">=3.8",
     classifiers=[
         "Intended Audience :: Developers",
         "License :: OSI Approved :: BSD License",
         "Natural Language :: English",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.10",
         "Programming Language :: Python :: 3.11",
+        "Programming Language :: Python :: 3.12",
         "Programming Language :: Python :: 3 :: Only",
     ],
     cmdclass={
diff --git a/tox.ini b/tox.ini
index dea85af..9cf1d32 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = py37, py38, py39, py310, py311
+envlist = py38, py39, py310, py311, py312
 
 [testenv]
 commands = python setup.py test