Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 23.12 #710

Merged
merged 28 commits into from
Dec 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
8afa76d
release fixes
glyph Dec 21, 2023
737c32a
start 23.12 release
glyph Dec 21, 2023
bde4a64
default to release candidate please
glyph Dec 21, 2023
0c36d9a
have we _ever_ used this release process
glyph Dec 21, 2023
d262289
Update version to [klein, version 23.12.0.rc2]
glyph Dec 21, 2023
bc81cd6
update NEXT release
glyph Dec 21, 2023
04cf05d
case sensitivity?
glyph Dec 21, 2023
8abb69c
put it back
glyph Dec 21, 2023
700b2c0
Update version to [Klein, version 23.12.0.rc3]
glyph Dec 21, 2023
40e0089
NEXT updates
glyph Dec 21, 2023
e6e4c31
explain structure of NEWS file
glyph Dec 22, 2023
38f04ec
Update version to [Klein, version 23.12.0.rc4]
glyph Dec 22, 2023
1ca5d3b
roll everything back to re-test release script
glyph Dec 22, 2023
782a1d7
do NEXT version updates again
glyph Dec 22, 2023
35e9d90
update NEWS per release
glyph Dec 22, 2023
20c5148
get the dates right
glyph Dec 22, 2023
1bdb80d
Update version to [Klein, version 23.12.0.rc4]
glyph Dec 22, 2023
7459003
bump to sync back up with PyPI
glyph Dec 22, 2023
d2570a2
Update version to [Klein, version 23.12.0.rc5]
glyph Dec 22, 2023
962f56d
rc5
glyph Dec 22, 2023
c7e59a8
Update version to [Klein, version 23.12.0.rc6]
glyph Dec 22, 2023
f8a8315
why do these files keep getting lost
glyph Dec 22, 2023
95dccdc
so many release candidates
glyph Dec 22, 2023
c2d5ca4
all source files
glyph Dec 22, 2023
432246a
Update version to [Klein, version 23.12.0.rc7]
glyph Dec 22, 2023
49b1873
update date
glyph Dec 22, 2023
cb3dea2
cheating juuust a little bit on the review due to a release failure
glyph Dec 22, 2023
d156615
Update version to [Klein, version 23.12.0]
glyph Dec 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions NEWS.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
NEWS
====

NEXT
----
23.12.0 - 2023-12-22
--------------------

* Fixed a compatibility issue with Werkzeug versions greater than 2.2. [`#575 <https://github.com/twisted/klein/pull/575>`]
* Added explicit support for Python 3.10 and 3.11, although in practice they did work previously in 21.8. [`#578 <https://github.com/twisted/klein/pull/578>`]
Expand Down
18 changes: 15 additions & 3 deletions docs/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,22 @@ Releasing Klein

#. Start with a clean (no changes) source tree on the trunk branch.
#. Create a new release candidate: :code:`tox -e release -- start`
#. Manually update the ``NEXT`` heading in ``NEWS.rst`` to reference the
version that was just updated, *without* the "rc" release-candidate tag, and
the current RFC3339-formatted date; i.e. write the ``NEWS.rst`` file as if
it were for the final release.
#. Commit and push the branch
#. Open a PR from the branch (follow the usual process for opening a PR).
#. As appropriate, pull the latest code from :code:`trunk`: :code:`git checkout trunk && git pull --rebase` (or use the GitHub UI)
#. To publish a release candidate to PyPI: :code:`tox -e release -- publish`
#. As appropriate, pull the latest code from :code:`trunk`: :code:`git checkout
trunk && git pull --rebase` (or use the GitHub UI)
#. To publish a release candidate to PyPI: :code:`tox -e release -- publish --candidate`
#. Obtain an approving review for the PR using the usual process.
#. To publish a production release: :code:`tox -e release -- publish --final`
#. If the date has changed since the release candidate, update the RFC3339 date
in the ``NEWS.rst`` header for the release to the current date; commit and
push this change to the branch.
#. Publish a production release with the command: :code:`tox -e release --
publish --final`
#. In ``NEWS.rst``, add a new "NEXT" section at the top. You do not need a
separate review for this addition; it should be done after the release, but
before merging to trunk.
#. Merge the PR to the trunk branch.
17 changes: 10 additions & 7 deletions release.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def fadeToBlack() -> None:
"""
Run black to reformat the source code.
"""
spawn(["tox", "-e", "black-reformat"])
spawn(["pre-commit", "run", "black"])


def incrementVersion(candidate: bool) -> None:
Expand All @@ -77,7 +77,7 @@ def incrementVersion(candidate: bool) -> None:
"""
# Incremental doesn't have an API to do this, so we have to run a
# subprocess. Boo.
args = ["python", "-m", "incremental.update", "klein"]
args = ["python", "-m", "incremental.update", "Klein"]
if candidate:
args.append("--rc")
spawn(args)
Expand Down Expand Up @@ -263,11 +263,10 @@ def publishRelease(final: bool, test: bool = False) -> None:
1,
)

incrementVersion(candidate=False)
incrementVersion(candidate=not final)
version = currentVersion()

versonFile = Path(__file__).parent / "src" / "klein" / "_version.py"
repository.index.add(str(versonFile))
repository.index.add("src/klein")
repository.index.commit(f"Update version to {version}")

tagName = releaseTagName(version)
Expand Down Expand Up @@ -308,10 +307,14 @@ def bump() -> None:

@main.command()
@commandOption(
"--test/--production", help="Use test (or production) PyPI server"
"--test/--production",
help="Use test (or production) PyPI server",
default=False,
)
@commandOption(
"--final/--candidate", help="Publish a final (or candidate) release"
"--final/--candidate",
help="Publish a final (or candidate) release",
default=False,
)
def publish(final: bool, test: bool) -> None:
publishRelease(final=final, test=test)
Expand Down
6 changes: 3 additions & 3 deletions src/klein/_dihttp.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class RequestURL:
"""
Require a hyperlink L{DecodedURL} object from a L{Requirer}.

@since: Klein NEXT
@since: Klein 23.12.0
"""

@classmethod
Expand Down Expand Up @@ -80,7 +80,7 @@ class RequestComponent:
"""
Require a hyperlink L{DecodedURL} object from a L{Requirer}.

@since: Klein NEXT
@since: Klein 23.12.0
"""

interface: Type[Interface]
Expand Down Expand Up @@ -120,7 +120,7 @@ class Response:
- a body object, which can be anything else Klein understands; for
example, an IResource, an IRenderable, str, bytes, etc.

@since: Klein NEXT
@since: Klein 23.12.0
"""

code: int = 200
Expand Down
6 changes: 3 additions & 3 deletions src/klein/_version.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"""
Provides klein version information.
Provides Klein version information.
"""

# This file is auto-generated! Do not edit!
# Use `python -m incremental.update klein` to change this file.
# Use `python -m incremental.update Klein` to change this file.

from incremental import Version

__version__ = Version("klein", 23, 5, 0)
__version__ = Version("Klein", 23, 12, 0)
__all__ = ["__version__"]