Repository: MassimoCimmino/pygfunction (language: python)

Issue:
v2.2.3
This issue is to increment version in documentation and installation files in preparation for release.

Before merge to `master` : 

- [x] Increment version in changelog and citation files
- [x] Update year to 2024
- [x] Update Python versions in tests (3.7 has reached end-of-life and 3.12 is released)

Before merge to `maintenance/2.2.x` : 

- [x] Increment version in documentation
- [x] Increment version in configuration/project files

After merge to `maintenance/2.2.x` : 

- [x] Create release tag
- [x] Upload pdf documentation
- [x] Update default version page on readthedocs
- [x] Upload to Pypi (This should now be done automatically)


Discussion / hints:

Fix patch:
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index 4975558c..9fc4873c 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -1,20 +1,26 @@
-# .readthedocs.yaml
-# Read the Docs configuration file
+# Read the Docs configuration file for Sphinx projects
 # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
 
 # Required
 version: 2
 
-# Build documentation in the docs/ directory with Sphinx
+# Set the OS, Python version and other tools you might need
+build:
+  os: ubuntu-22.04
+  tools:
+    python: "3.11"
+
+# Build documentation in the "docs/" directory with Sphinx
 sphinx:
-   configuration: doc/source/conf.py
+  configuration: doc/source/conf.py
 
-# Optionally build your docs in additional formats such as PDF
+# Optionally build your docs in additional formats such as PDF and ePub
 formats:
-   - pdf
+  - pdf
 
-# Optionally set the version of Python and requirements required to build your docs
+# Optional but recommended, declare the Python requirements required
+# to build your documentation
+# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
 python:
-   version: 3.7
-   install:
-   - requirements: doc/requirements.txt
+  install:
+    - requirements: doc/requirements.txt
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8ef08814..6e103ef9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 ## Version 2.3 (in development)
 
+## Version 2.2.3 (2024-07-01)
+
 ### New features
 
 * [Issue 276](https://github.com/MassimoCimmino/pygfunction/issues/276) - Added functions to the `boreholes` module for the generation of rectangular fields in a staggered configuration.
diff --git a/CITATION.cff b/CITATION.cff
index 36210d94..0300b96e 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -5,8 +5,8 @@ authors:
   given-names: "Massimo"
   orcid: "https://orcid.org/0000-0002-9981-9926"
 title: "pygfunction"
-version: 2.2.2
-date-released: 2023-01-09
+version: 2.2.3
+date-released: 2024-07-01
 url: "https://github.com/MassimoCimmino/pygfunction"
 preferred-citation:
   type: conference-paper
diff --git a/LICENSE.md b/LICENSE.md
index 4843796b..59f21b2b 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,5 +1,5 @@
 
-Copyright (c) 2017-2023, Massimo Cimmino
+Copyright (c) 2017-2024, Massimo Cimmino
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 8d4dc597..a434e1ce 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -66,7 +66,7 @@
 
 # General information about the project.
 project = u'pygfunction'
-copyright = u'2017-2022, Massimo Cimmino'
+copyright = u'2017-2024, Massimo Cimmino'
 author = u'Massimo Cimmino'
 
 # The version info for the project you're documenting, acts as replacement for
diff --git a/setup.cfg b/setup.cfg
index 31273b2f..a68ac293 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -17,7 +17,7 @@ classifiers =
     Operating System :: OS Independent
     Programming Language :: Python :: 3
     Programming Language :: Python :: 3 :: Only
-    Programming Language :: Python :: 3.7
+    Programming Language :: Python :: 3.8
     Topic :: Scientific/Engineering
     Topic :: Utilities
 
@@ -28,7 +28,7 @@ install_requires =
     numpy >= 1.21.5
     scipy >= 1.7.3
     secondarycoolantprops >= 1.1
-python_requires = >=3.7
+python_requires = >=3.8
 
 [options.extras_require]
 doc =
diff --git a/tox.ini b/tox.ini
index f9b41526..8eeaf4dc 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,15 +1,15 @@
 [tox]
 minversion = 3.24.5
-envlist = py37, py38, py39, py310, py311
+envlist = py38, py39, py310, py311, py312
 isolated_build = true
 
 [gh-actions]
 python =
-    3.7: py37
     3.8: py38
     3.9: py39
     3.10: py310
     3.11: py311
+    3.12: py312
 
 [testenv]
 setenv =


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 29bb9918..38f98ec4 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -17,7 +17,7 @@ jobs:
     strategy:
       matrix:
         os: [ubuntu-latest, windows-latest]
-        python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
+        python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
       fail-fast: false
 
     steps: