Skip to content

Commit f4f3b73

Browse files
authored
7.1.3-post-release; some updated release info for devs (RDFLib#3054)
1 parent 006949a commit f4f3b73

File tree

6 files changed

+87
-31
lines changed

6 files changed

+87
-31
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ A fix-up release that re-adds support for Python 3.8 after it was accidentally
44
removed in Release 7.1.2.
55

66
This release cherrypicks many additions to 7.1.2 added to 7.1.1 but leaves out
7-
typing changes that are not compatable
7+
typing changes that are not compatible
88
with Python 3.8.
99

1010
Also not carried over from 7.1.2 is the change from Poetry 1.x to 2.0.

README.md

-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,6 @@ Some features of RDFLib require optional dependencies which may be installed usi
7070
Alternatively manually download the package from the Python Package
7171
Index (PyPI) at https://pypi.python.org/pypi/rdflib
7272

73-
The current version of RDFLib is 7.1.3, see the ``CHANGELOG.md`` file for what's new in this release.
74-
7573
### Installation of the current main branch (for developers)
7674

7775
With *pip* you can also install rdflib from the git repository with one of the following options:

docker/latest/requirements.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# This file is used for building a docker image of the latest rdflib release. It
22
# will be updated by dependabot when new releases are made.
3-
rdflib==7.1.1
3+
rdflib==7.1.3
44
html5rdf==1.2.0

docker/latest/requirements.txt

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.12
2+
# This file is autogenerated by pip-compile with Python 3.8
33
# by the following command:
44
#
55
# pip-compile docker/latest/requirements.in
66
#
77
html5rdf==1.2
88
# via -r docker/latest/requirements.in
9+
isodate==0.7.2
10+
# via rdflib
911
pyparsing==3.0.9
1012
# via rdflib
11-
rdflib==7.1.1
13+
rdflib==7.1.3
1214
# via -r docker/latest/requirements.in

docs/developers.rst

+80-24
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,8 @@ flag them as expecting to fail.
434434
Compatibility
435435
-------------
436436

437+
RDFLib 8.x is likely to support only the Python versions in bugfix status at the time of its release, so perhaps 3.12+.
438+
437439
RDFlib 7.0.0 release and later only support Python 3.8.1 and newer.
438440

439441
RDFlib 6.0.0 release and later only support Python 3.7 and newer.
@@ -443,22 +445,46 @@ RDFLib 5.0.0 maintained compatibility with Python versions 2.7, 3.4, 3.5, 3.6, 3
443445
Releasing
444446
---------
445447

448+
These are the major steps for releasing new versions of RDFLib:
449+
450+
#. Create a pre-release PR
451+
452+
* that updates all the version numbers
453+
* merge it with all tests passing
454+
455+
#. Do the PyPI release
456+
#. Do the GitHub release
457+
#. Create a post-release PR
458+
459+
* that updates all version numbers to next (alpha) release
460+
* merge it with all tests passing
461+
462+
#. Let the world know
463+
464+
465+
1. Create a pre-release PR
466+
~~~~~~~~~~~~~~~~~~~~~~~~~~
467+
446468
Create a release-preparation pull request with the following changes:
447469

448-
* Updated version and date in ``CITATION.cff``.
449-
* Updated copyright year in the ``LICENSE`` file.
450-
* Updated copyright year in the ``docs/conf.py`` file.
451-
* Updated main branch version and current version in the ``README.md`` file.
452-
* Updated version in the ``pyproject.toml`` file.
453-
* Updated ``__date__`` in the ``rdflib/__init__.py`` file.
454-
* Accurate ``CHANGELOG.md`` entry for the release.
470+
#. In ``pyproject.toml``, update the version number
471+
#. In ``README.md``, update the *Versions & Releases* section
472+
#. In ``rdflib/__init__.py``, update the ``__date__`` value
473+
#. In ``docs/conf.py``, update copyright year
474+
#. In ``CITATION.cff``, update the version and date
475+
#. In ``LICENSE``, update the copyright year
476+
#. In ``CHANGELOG.md``, write an entry for this release
477+
#. You can use the tool ``admin/get_merged_prs.py`` to assist with compiling a log of PRs and commits since last release
478+
479+
2. Do the PyPI release
480+
~~~~~~~~~~~~~~~~~~~~~~
455481

456-
Once the PR is merged, switch to the main branch, build the release and upload it to PyPI:
482+
Once the pre-release PR is merged, switch to the main branch, build the release and upload it to PyPI:
457483

458484
.. code-block:: bash
459485
460486
# Clean up any previous builds
461-
\rm -vf dist/*
487+
rm -vf dist/*
462488
463489
# Build artifacts
464490
poetry build
@@ -487,24 +513,54 @@ Once the PR is merged, switch to the main branch, build the release and upload i
487513
## poetry publish -u __token__ -p pypi-<REDACTED>
488514
489515
490-
Once this is done, create a release tag from `GitHub releases
491-
<https://github.com/RDFLib/rdflib/releases/new>`_. For a release of version
492-
6.3.1 the tag should be ``6.3.1`` (without a "v" prefix), and the release title
493-
should be "RDFLib 6.3.1". The release notes for the latest version be added to
494-
the release description. The artifacts built with ``poetry build`` should be
495-
uploaded to the release as release artifacts.
516+
3. Do the GitHub release
517+
~~~~~~~~~~~~~~~~~~~~~~~~
496518

497-
The resulting release will be available at https://github.com/RDFLib/rdflib/releases/tag/6.3.1
519+
Once the PyPI release is done, tag the main branch with the version number of the release. For a release of version
520+
6.3.1 the tag should be ``6.3.1`` (without a "v" prefix):
521+
522+
.. code-block:: bash
523+
524+
git tag 6.3.1
498525
499-
Once this is done, announce the release at the following locations:
500526
501-
* Twitter: Just make a tweet from your own account linking to the latest release.
502-
* RDFLib mailing list.
503-
* RDFLib Gitter / matrix.org chat room.
527+
Push this tag to GitHub:
528+
529+
.. code-block:: bash
530+
531+
git push --tags
532+
533+
534+
Make a release from this tag at https://github.com/RDFLib/rdflib/releases/new
535+
536+
The release title should be "{DATE} RELEASE {VERSION}". See previous releases at https://github.com/RDFLib/rdflib/releases
537+
538+
The release notes should be just the same as the release info in ``CHANGELOG.md``, as authored in the first major step in this release process.
539+
540+
The resulting release will be available at https://github.com/RDFLib/rdflib/releases/tag/6.3.1
541+
542+
4. Create a post-release PR
543+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
504544

505545
Once this is all done, create another post-release pull request with the following changes:
506546

507-
* Set the just released version in ``docker/latest/requirements.in`` and run
508-
``task docker:prepare`` to update the ``docker/latest/requirements.txt`` file.
509-
* Set the version in the ``pyproject.toml`` file to the next minor release with
510-
a ``a0`` suffix to indicate alpha 0.
547+
#. In ``pyproject.toml``, update to the next minor release alpha
548+
549+
* so a 6.3.1 release would have 6.1.4a0 as the next release alpha
550+
551+
#. In ``docker/latest/requirements.in`` set the version to the just released version
552+
#. Use ``task docker:prepare`` to update ``docker/latest/requirements.txt``
553+
554+
555+
556+
5. Let the world know
557+
~~~~~~~~~~~~~~~~~~~~~
558+
559+
Announce the release at the following locations:
560+
561+
* RDFLib mailing list
562+
* RDFLib Gitter / matrix.org chat room
563+
* Twitter: Just make a tweet from your own account linking to the latest release
564+
* related mailing lists
565+
566+
* W3C (currently RDF-Star WG): [email protected]

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "rdflib"
3-
version = "7.1.3"
3+
version = "7.1.4a"
44
description = """RDFLib is a Python library for working with RDF, \
55
a simple yet powerful language for representing information."""
66
authors = ["Daniel 'eikeon' Krech <[email protected]>"]

0 commit comments

Comments
 (0)