diff --git a/.release.sh b/.release.sh index 48d7b08624..b9e131d7e8 100755 --- a/.release.sh +++ b/.release.sh @@ -8,16 +8,16 @@ echo " 1. Make sure you have Evennia upload credentials for Github (tagging) and echo " 2. On main branch, update CHANGELOG.md." echo " 3. Make sure pyproject.toml is set to the same major.minor.patch version as evennia/VERSION.txt ($VERSION)." echo " 4. If major release:" -echo " a. Update docs/sources/conf.py, Add '(NEW_VERSION).x' to 'legacy_versions' and 'v($VERSION)' to 'legacy_branches'." -echo " b. Make sure all changes are committed." +echo " a. Update docs/sources/conf.py, Add '[MAJOR_VERSION].x' to 'legacy_versions' and 'v$VERSION' to 'legacy_branches'." +echo " b. Make sure all changes are committed, e.g. as 'Evennia $VERSION major/minor/patch release'." echo " c. Check out a new branch v$VERSION." echo " d. Push the v$VERSION branch to github." echo " e. On the v$VERSION branch, temporarily set 'current_is_legacy=True' in source/conf.py, then (re)build " echo " the docs for this release with 'make local' and old-version warning headers. Throw away git changes after." -echo " f. Rename the created build/html folder to LATEST_RELEASE. Manually copy it to the gh-pages branch's build/ folder." +echo " f. Rename the created build/html folder to '[MAJOR_VERSION].x'. Manually copy it to the gh-pages branch's build/ folder." echo " g. Add the folder, commit and push to the gh-pages branch. Then checkout main branch again." echo " 5. Run 'make local' in docs/ to update dynamic docs (like Changelog.md) and autodocstrings (may have to run twice)." -echo " 6. Make sure all changes are committed, e.g. as 'Evennia $VERSION major/minor/patch release' (un-staged files will be wiped)." +echo " 6. Make sure all changes are committed (if not already), e.g. as 'Evennia $VERSION major/minor/patch release' (un-staged files will be wiped)." echo " 7. Make sure all unit tests pass!" read -p "Continue? [Y/n]> " yn diff --git a/CHANGELOG.md b/CHANGELOG.md index c740ff220f..b31ade7f4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog -## Evennia Main branch +## Evennia 4.0.0 + +March 17, 2024 - Feature: Support Python 3.12 (Griatch). Currently supporting 3.10,3.11 and 3.12. Note that 3.10 support will be removed in a future release. diff --git a/docs/source/Coding/Changelog.md b/docs/source/Coding/Changelog.md index 6bf4d8f5df..b31ade7f4c 100644 --- a/docs/source/Coding/Changelog.md +++ b/docs/source/Coding/Changelog.md @@ -1,6 +1,8 @@ # Changelog -## Evennia Main branch +## Evennia 4.0.0 + +March 17, 2024 - Feature: Support Python 3.12 (Griatch). Currently supporting 3.10,3.11 and 3.12. Note that 3.10 support will be removed in a future release. @@ -37,7 +39,8 @@ account (Griatch) - [Fix][issue4311]: SSH connection caused a traceback in protocol (Griatch) - Fix: Resolve a bug when loading on-demand-handler data from database (Griatch) -- Security: Potentially O(n2) regex exploit in rpsystem regex (Griatch) +- Security: Potential O(n2) regex exploit in rpsystem regex (Griatch) +- Security: Fix potential redirect vulnerability in character page redirect (Griatch) - Doc fixes (iLPdev, Griatch, CloudKeeper) [pull3420]: https://github.com/evennia/evennia/pull/3420 diff --git a/docs/source/conf.py b/docs/source/conf.py index e07e3f6946..193eafcb25 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -15,7 +15,7 @@ from sphinx.util.osutil import cd # -- Project information ----------------------------------------------------- project = "Evennia" -copyright = "2023, The Evennia developer community" +copyright = "2024, The Evennia developer community" author = "The Evennia developer community" # The full Evennia version covered by these docs, including alpha/beta/rc tags @@ -62,8 +62,8 @@ smv_tag_whitelist = r"^$" # These are also read from the deploy.py script. These are also the names of # the folders built in the gh-pages evennia branch, under docs/. latest_version = "latest" -legacy_versions = ["3.x", "2.x", "1.x", "0.x"] -legacy_branches = ["v3.0.0", "v2.0.0", "v1.0.0", "v0.9.5"] +legacy_versions = ["4.x", "3.x", "2.x", "1.x", "0.x"] +legacy_branches = ["v4.0.0", "v3.0.0", "v2.0.0", "v1.0.0", "v0.9.5"] def add_legacy_versions_to_html_page_context(app, pagename, templatename, context, doctree): @@ -74,7 +74,7 @@ def add_legacy_versions_to_html_page_context(app, pagename, templatename, contex LVersion = namedtuple("legacy_version", ["release", "name", "url", "branch"]) context["legacy_versions"] = [ - LVersion(release=f"{vers}", name=f"v{vers}", url=f"../../{vers}/index.html", branch=branch) + LVersion(release=f"{vers}", name=f"v{vers}", url=f"../{vers}/index.html", branch=branch) for (vers, branch) in zip(legacy_versions, legacy_branches) ] context["current_is_legacy"] = current_is_legacy @@ -374,12 +374,8 @@ def setup(app): # build toctree file sys.path.insert(1, os.path.dirname(os.path.dirname(os.path.dirname(__file__)))) - from docs.pylib import ( - auto_link_remapper, - contrib_readmes2docs, - update_default_cmd_index, - update_dynamic_pages, - ) + from docs.pylib import (auto_link_remapper, contrib_readmes2docs, + update_default_cmd_index, update_dynamic_pages) _no_autodoc = os.environ.get("NOAUTODOC") update_default_cmd_index.run_update(no_autodoc=_no_autodoc) diff --git a/evennia/VERSION.txt b/evennia/VERSION.txt index 944880fa15..fcdb2e109f 100644 --- a/evennia/VERSION.txt +++ b/evennia/VERSION.txt @@ -1 +1 @@ -3.2.0 +4.0.0 diff --git a/pyproject.toml b/pyproject.toml index 011269cab5..74b950053a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "evennia" -version = "3.2.0" +version = "4.0.0" maintainers = [{ name = "Griatch", email = "griatch@gmail.com" }] description = "A full-featured toolkit and server for text-based multiplayer games (MUDs, MU*, etc)." requires-python = ">=3.10"