Repository: NREL/HOPP (language: python)

Issue:
Document version changes in RELEASE.md



Discussion / hints:
@kbrunik @johnjasa What is the context here? Is this the sort of changelog that we were hoping for?
Yes, it'd be updating [this file](https://github.com/NREL/HOPP/blob/main/RELEASE.md) with v2.0, v3.0, etc change details.

Fix patch:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 11ff63577..07d64536a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -8,7 +8,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python-version: ["3.9", "3.10", "3.11"]
+        python-version: ["3.10", "3.11"]
 
     steps:
       - uses: actions/checkout@v3
diff --git a/.github/workflows/conda_build.yml b/.github/workflows/conda_build.yml
index aa01d2813..c412d72f8 100644
--- a/.github/workflows/conda_build.yml
+++ b/.github/workflows/conda_build.yml
@@ -13,7 +13,7 @@ jobs:
     - uses: conda-incubator/setup-miniconda@v3
       with:
         auto-update-conda: true
-        python-version: 3.9
+        python-version: 3.10
     - name: Build and upload conda package
       shell: bash -l {0}
       env:
diff --git a/.github/workflows/publish_to_pypi.yml b/.github/workflows/publish_to_pypi.yml
index 70ea9f944..177c4867e 100644
--- a/.github/workflows/publish_to_pypi.yml
+++ b/.github/workflows/publish_to_pypi.yml
@@ -18,7 +18,7 @@ jobs:
     - name: Set up Python
       uses: actions/setup-python@v5
       with:
-        python-version: 3.9
+        python-version: 3.10
     - name: Build package
       run: |
         python -m pip install --upgrade pip
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
index 6210d47ee..1cbb7fe18 100644
--- a/.readthedocs.yaml
+++ b/.readthedocs.yaml
@@ -9,7 +9,7 @@ version: 2
 build:
   os: ubuntu-22.04
   tools:
-    python: "3.9"
+    python: "3.10"
     # You can also specify other tool versions:
     # nodejs: "19"
     # rust: "1.64"
diff --git a/README.md b/README.md
index 9cd7dcd1a..5fe276494 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ solar and storage.
 
 ## Software requirements
 
-- Python version 3.9, 3.10, and 3.11 only (PySAM 4.2 is incompatible with 3.12)
+- Python version 3.10, and 3.11 only (PySAM 4.2 is incompatible with 3.12)
 
 ## Installing from Package Repositories
 
diff --git a/RELEASE.md b/RELEASE.md
index 852fc70ce..92a1e41ea 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -1,12 +1,37 @@
 # Release Notes
 
-## Version 1.0.0, Upcoming
-* Add Wind + PV + Battery + PEM Electrolyzer analysis to examples in `H2_Analysis`
-* Add default scenario inputs for hydrogen as end product with result files
-* Add files for simulating, optimizing and plotting Wind + PV + Battery + PEM Electrolyzer hybrids
-* Add a PEM electrolyzer model to hybrid (not integrated into HybridSimulation)
-* Separate power and financial simulations for PowerSoures and HybridSimulation
-* Fix multiprocessing issues
+## Version 3.0, Oct. 18th, 2024
+* Updated to use pyproject for package management
+* Adopted FLORIS v4
+* Removed hydrogen modeling and GreenHEART into a separate repository
+* Removed out-dated examples to be update in a future release
+* General clean-up of repository for planned new development
+
+## Version 2.2.0, Apr. 23, 2024
+* Added load following heuristic dispatch method for battery
+* Fixed a bug with defining a user's email for the API calls from resource databases
+* HOPP solver refactored to be more modular
+
+## Version 2.1.0, Nov. 27, 2023
+* Solar plant updated with new input parameters
+* GitHub templates added for PRs and Issues
+* Updated PySAM dependency to v4.2.0
+* Re-enabled testing for hydrogen pressure vessel
+
+## Version 2.0.0, Nov. 27, 2023
+* Restructuring of core code to facilitate a new, more user-friendly interface and developer experience
+* Developed HoppInterface as the single entry-point for users
+* Expanded input files to yaml format for all technologies
+* Restructured code by technology to make relevant code more easy to find
+* Refactored technology classes using attrs library to better define classes
+* Improved documentation for the technologies and what fields are available for each
+* Cleaned up examples and resource files
+* Added Wind + PV + Battery + PEM Electrolyzer analysis to examples in `H2_Analysis`
+* Added default scenario inputs for hydrogen as end product with result files
+* Added files for simulating, optimizing and plotting Wind + PV + Battery + PEM Electrolyzer hybrids
+* Added a PEM electrolyzer model to hybrid (not integrated into HybridSimulation)
+* Separate power and financial simulations for PowerSources and HybridSimulation
+* Fixed multiprocessing issues
 * Updates to integrate FLORIS v3
 
 ## Version 0.1.0.dev3, Mar. 11, 2022
@@ -36,7 +61,7 @@
 * Battery dispatch and simulation with example in examples/simulate_hybrid_wbattery_dispatch.py 
 * Separate layout-related functions from optimization code into Layout classes
 * Refactor Optimizer classes to use HybridSimulation with examples in examples/optimization/hybrid_npv.py and examples/optimization/hybrid_sizing_problem.py
-* Add Floris as custom module for Wind simulations with examples in examples/add_custom_module
+* Add FLORIS as custom module for Wind simulations with examples in examples/add_custom_module
 * Move plotting functions into dedicated files
 * Rename "Solar" classes to "PV"
 * Add ElectricityPrices class with some example input files in resource_files/grid
diff --git a/docs/installation.rst b/docs/installation.rst
index b68ceaa31..5c3065cd9 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -4,8 +4,8 @@ Installation
 
 HOPP currently supports the following versions of Python:
 
-* 3.8
-* 3.9
+* 3.10
+* 3.11
 
 Contents:
 
diff --git a/pyproject.toml b/pyproject.toml
index 0672ce0ce..181e162c0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -8,7 +8,7 @@ dynamic = ["version"]
 authors = [{name = "NREL", email = "dguittet@nrel.gov"}]
 readme = {file = "README.md", content-type = "text/markdown"}
 description = "Hybrid Systems Optimization and Performance Platform."
-requires-python = ">=3.9, <3.12"
+requires-python = ">=3.10, <3.12"
 license = {file = "LICENSE"}
 dependencies = [
     "Cython",
@@ -65,7 +65,6 @@ classifiers = [  # https://pypi.org/classifiers/
     "Operating System :: OS Independent",
     "Programming Language :: Python",
     "Programming Language :: Python :: 3 :: Only",
-    "Programming Language :: Python :: 3.9",
     "Programming Language :: Python :: 3.10",
     "Programming Language :: Python :: 3.11",
     "Topic :: Scientific/Engineering",


Test patch:
diff --git a/.github/workflows/publish_to_test_pypi.yml b/.github/workflows/publish_to_test_pypi.yml
index 979345fc2..8321756a2 100644
--- a/.github/workflows/publish_to_test_pypi.yml
+++ b/.github/workflows/publish_to_test_pypi.yml
@@ -19,7 +19,7 @@ jobs:
     - name: Set up Python
       uses: actions/setup-python@v5
       with:
-        python-version: 3.9
+        python-version: 3.10
     - name: Build package
       run: |
         python -m pip install --upgrade pip