diff --git a/CHANGELOG.md b/CHANGELOG.md index 798dabfd3..d72e4104b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,44 @@ +# 2023-03-18 RELEASE 6.3.1 + + +This is a patch release that includes a singular user facing fix, which is the +inclusion of the `test` directory in the `sdist` release artifact. + +The following sections describe the changes included in this version. + +## build: explicitly specify `packages` in `pyproject.toml` (#2280) + +Commit [334787b](https://github.com/RDFLib/rdflib/commit/334787b), closes [#2280](https://github.com/RDFLib/rdflib/issues/2280). + + +The default behaviour makes it more of a hassle to republish RDFLib to +a separate package, something which I plan to do for testing purposes +and possibly other reasons. + +More changes may follow in a similar vein. + + +## build: include test in sdist (#2282) + +Commit [e3884b7](https://github.com/RDFLib/rdflib/commit/e3884b7), closes [#2282](https://github.com/RDFLib/rdflib/issues/2282). + + +A perhaps minor regression from earlier versions is that the sdist does not include the test folder, which makes it harder for downstreams to use a single source of truth to build and test a reliable package. This restores the test folder for sdists. + +## docs: don't use kroki (#2284) + +Commit [bea782f](https://github.com/RDFLib/rdflib/commit/bea782f), closes [#2284](https://github.com/RDFLib/rdflib/issues/2284). + + +The Kroki server is currently experiencing some issues which breaks our +build, this change eliminates the use of Kroki in favour of directly +using the generated SVG images which is checked into git alongside the +PlantUML sources. + +I also added a task to the Taskfile to re-generate the SVG images from +the PlantUML sources by calling docker. + + # 2023-03-16 RELEASE 6.3.0 This is a minor release that includes bug fixes and features. diff --git a/README.md b/README.md index 49c63ac8a..172413e8b 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ The stable release of RDFLib may be installed with Python's package management t Alternatively manually download the package from the Python Package Index (PyPI) at https://pypi.python.org/pypi/rdflib -The current version of RDFLib is 6.3.0, see the ``CHANGELOG.md`` file for what's new in this release. +The current version of RDFLib is 6.3.1, see the ``CHANGELOG.md`` file for what's new in this release. ### Installation of the current main branch (for developers) diff --git a/docs/developers.rst b/docs/developers.rst index 0eb73c1a2..9d74df2f2 100644 --- a/docs/developers.rst +++ b/docs/developers.rst @@ -358,43 +358,53 @@ RDFLib 5.0.0 maintained compatibility with Python versions 2.7, 3.4, 3.5, 3.6, 3 Releasing --------- -Set to-be-released version number in :file:`rdflib/__init__.py` and -:file:`README.md`. Check date in :file:`LICENSE`. +Create a release-preparation pull request with the following changes: -Add :file:`CHANGELOG.md` entry. +* Updated copyright year in the ``LICENSE`` file. +* Updated copyright year in the ``docs/conf.py`` file. +* Updated main branch version and current version in the ``README.md`` file. The + main branch version should be the next major version with an ``a0`` suffix to + indicate it is alpha 0. When releasing 6.3.1, the main branch version in the + README should be 6.4.0a0. +* Updated version in the ``pyproject.toml`` file. +* Updated ``__date__`` in the ``rdflib/__init__.py`` file. +* Accurate ``CHANGELOG.md`` entry for the release. -Commit this change. It's preferable make the release tag via -https://github.com/RDFLib/rdflib/releases/new :: -Our Tag versions aren't started with 'v', so just use a plain 5.0.0 like -version. Release title is like "RDFLib 5.0.0", the description a copy of your -:file:`CHANGELOG.md` entry. -This gives us a nice release page like this:: -https://github.com/RDFLib/rdflib/releases/tag/4.2.2 +Once the PR is merged, switch to the main branch, build the release and upload it to PyPI: -If for whatever reason you don't want to take this approach, the old one is:: - - Tagging the release commit with:: - - git tag -am 'tagged version' X.X.X +.. code-block:: bash + + # Clean up any previous builds + \rm -vf dist/* - When pushing, remember to do:: + # Build artifacts + poetry build - git push --tags + # Check that the built wheel works correctly: + pipx run --spec "$(readlink -f dist/rdflib*.whl)" rdfpipe --version + # Publish to PyPI + poetry publish + -No matter how you create the release tag, remember to upload tarball to pypi with:: +Once this is done, create a release tag from `GitHub releases +`_. For a release of version +6.3.1 the tag should be ``6.3.1`` (without a "v" prefix), and the release title +should be "RDFLib 6.3.1". The release notes for the latest version be added to +the release description. The artifacts built with ``poetry build`` should be +uploaded to the release as release artifacts. - rm -r dist/X.X.X[.-]* # delete all previous builds for this release, just in case +The resulting release will be available at https://github.com/RDFLib/rdflib/releases/tag/6.3.1 - rm -r build - python setup.py sdist - python setup.py bdist_wheel - ls dist +Once this is done announce the release at the following locations: - # upload with twine - # WARNING: once uploaded can never be modified, only deleted! - twine upload dist/rdflib-X.X.X[.-]* +* Twitter: Just make a tweet from your own account linking to the latest release. +* RDFLib mailing list. +* RDFLib Gitter / matrix.org chat room. -Set new dev version number in the above locations, i.e. next release ``-dev``: ``5.0.1-dev`` and commit again. +Once this is all done, create another post-release pull request with the following changes: -Tweet, email mailing list and inform members in the chat. +* Set the just released version in ``docker/latest/requirements.in`` and run + ``task docker:prepare`` to update the ``docker/latest/requirements.txt`` file. +* Set the version in the ``pyproject.toml`` file to the next minor release with + a ``a0`` suffix to indicate alpha 0. diff --git a/pyproject.toml b/pyproject.toml index aa53bdac7..0999fd805 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "rdflib" -version = "6.4.0a0" +version = "6.3.1" description = """RDFLib is a Python library for working with RDF, \ a simple yet powerful language for representing information.""" authors = ["Daniel 'eikeon' Krech "] diff --git a/rdflib/__init__.py b/rdflib/__init__.py index ebf1344c8..bc49dc489 100644 --- a/rdflib/__init__.py +++ b/rdflib/__init__.py @@ -56,7 +56,7 @@ __docformat__ = "restructuredtext en" __version__: str = _DISTRIBUTION_METADATA["Version"] -__date__ = "2023-03-16" +__date__ = "2023-03-18" __all__ = [ "URIRef",