Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 486e489

Browse filesBrowse files
authored
Merge pull request #454 from python-semver/release/3.0.3
Release/3.0.3
2 parents 15aa6a6 + cc4ae07 commit 486e489
Copy full SHA for 486e489

12 files changed

+210
-131
lines changed

‎.readthedocs.yaml

Copy file name to clipboardExpand all lines: .readthedocs.yaml
+9-3
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,17 @@ build:
1010
os: ubuntu-22.04
1111
tools:
1212
python: "3.11"
13+
jobs:
14+
pre_install:
15+
# - curl -LsSf https://astral.sh/uv/install.sh | sh
16+
- pip install uv
17+
- uv export --only-group docs --no-hashes --no-color > requirements-docs.txt
18+
post_install:
19+
- pip install -r requirements-docs.txt
20+
pre_build:
21+
- make -C docs html
1322

1423
# Build documentation in the docs/ directory with Sphinx
1524
sphinx:
1625
configuration: docs/conf.py
1726

18-
python:
19-
install:
20-
- requirements: docs/requirements.txt

‎CHANGELOG.rst

Copy file name to clipboardExpand all lines: CHANGELOG.rst
+86-1
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,96 @@ This section covers the changes between major version 2 and version 3.
1818

1919
.. towncrier release notes start
2020
21+
Version 3.0.3
22+
=============
23+
24+
:Released: 2025-01-18
25+
:Maintainer: Tom Schraitle
26+
27+
28+
Bug Fixes
29+
---------
30+
31+
* :pr:`453`: The check in ``_comparator`` does not match the check in :meth:`Version.compare`.
32+
This breaks comparision with subclasses.
33+
34+
35+
36+
Improved Documentation
37+
----------------------
38+
39+
* :pr:`435`: Several small improvements for documentation:
40+
41+
* Add meta description to improve SEO
42+
* Use canonicals on ReadTheDocs (commit 87f639f)
43+
* Pin versions for reproducable doc builds (commit 03fb990)
44+
* Add missing :file:`.readthedocs.yaml` file (commit ec9348a)
45+
* Correct some smaller issues when building (commit f65feab)
46+
47+
* :pr:`436`: Move search box more at the top. This makes it easier for
48+
users as if the TOC is long, the search box isn't visible
49+
anymore.
50+
51+
52+
53+
Features
54+
--------
55+
56+
* :pr:`439`: Improve type hints to fix TODOs
57+
58+
59+
60+
Internal Changes
61+
----------------
62+
63+
* :pr:`440`: Update workflow file
64+
65+
* :pr:`446`: Add Python 3.13 to GitHub Actions
66+
67+
* :pr:`447`: Modernize project configs with :file:`pyproject.toml` and
68+
use Astral's uv command.
69+
70+
* In :file:`pyproject.toml`:
71+
72+
* Move all project related data from :file:`setup.cfg` to :file:`pyproject.toml`
73+
* Use new dependency group from :pep:`735`
74+
* Consolidate flake8, isort, pycodestyle with ruff
75+
* Split towncrier config type "trivial" into "trivial" and "internal"
76+
77+
* Create config file for ruff (:file:`.ruff.toml`)
78+
* Create config file for pytest (:file:`.pytest.ini`)
79+
* Simplify :file:`tox.ini` and remove old stuff
80+
* Document installation with new :command:`uv` command
81+
* Simplify Sphinx config with :func:`find_version()`
82+
* Update the authors
83+
* Use :command:`uv` in GitHub Action :file:`python-testing.yml` workflow
84+
85+
* Update :file:`release-procedure.md`.
86+
87+
* :pr:`451`: Turn our Markdown issue templates into YAML
88+
89+
90+
Trivial Changes
91+
---------------
92+
93+
* :pr:`438`: Replace organization placeholder in license
94+
95+
* :pr:`445`: Improve private :func:`_nat_cmp` method:
96+
97+
* Remove obsolete else.
98+
* Find a better way to identify digits without the :mod:`re` module.
99+
* Fix docstring in :meth:`Version.compare`
100+
101+
102+
103+
----
104+
105+
21106
Version 3.0.2
22107
=============
23108

24109
:Released: 2023-10-09
25-
:Maintainer:
110+
:Maintainer: Tom Schraitle
26111

27112

28113
Bug Fixes

‎changelog.d/pr435.doc.rst

Copy file name to clipboardExpand all lines: changelog.d/pr435.doc.rst
-7
This file was deleted.

‎changelog.d/pr436.doc.rst

Copy file name to clipboardExpand all lines: changelog.d/pr436.doc.rst
-3
This file was deleted.

‎changelog.d/pr447.internal.rst

Copy file name to clipboardExpand all lines: changelog.d/pr447.internal.rst
-15
This file was deleted.

‎docs/build-semver.rst

Copy file name to clipboardExpand all lines: docs/build-semver.rst
+11-42
Original file line numberDiff line numberDiff line change
@@ -7,58 +7,27 @@ Building semver
77
:description lang=en:
88
Building semver
99

10-
.. _PEP 517: https://www.python.org/dev/peps/pep-0517/
11-
.. _PEP 621: https://www.python.org/dev/peps/pep-0621/
12-
.. _A Practical Guide to Setuptools and Pyproject.toml: https://godatadriven.com/blog/a-practical-guide-to-setuptools-and-pyproject-toml/
13-
.. _Declarative config: https://setuptools.rtfd.io/en/latest/userguide/declarative_config.html
10+
.. _Installing uv: https://docs.astral.sh/uv/getting-started/installation/
1411

1512

16-
This project changed slightly its way how it is built. The reason for this
17-
was to still support the "traditional" way with :command:`setup.py`,
18-
but at the same time try out the newer way with :file:`pyproject.toml`.
19-
As Python 3.6 got deprecated, this project does support from now on only
20-
:file:`pyproject.toml`.
13+
This project changed its way how it is built over time. We used to have
14+
a :file:`setup.py` file, but switched to a :file:`pyproject.toml` setup.
2115

16+
The build process is managed by :command:`uv` command.
2217

23-
Background information
24-
----------------------
18+
You need:
2519

26-
Skip this section and head over to :ref:`build-pyproject-build` if you just
27-
want to know how to build semver.
28-
This section gives some background information how this project is set up.
20+
* Python 3.7 or newer.
2921

30-
The traditional way with :command:`setup.py` in this project uses a
31-
`Declarative config`_. With this approach, the :command:`setup.py` is
32-
stripped down to its bare minimum and all the metadata is stored in
33-
:file:`setup.cfg`.
22+
* The :mod:`setuptools` module version 61 or newer which is used as
23+
a build backend.
3424

35-
The new :file:`pyproject.toml` contains only information about the build backend, currently setuptools.build_meta. The idea is taken from
36-
`A Practical Guide to Setuptools and Pyproject.toml`_.
37-
Setuptools-specific configuration keys as defined in `PEP 621`_ are currently
38-
not used.
25+
* The command :command:`uv` from Astral. Refer to the section
26+
`Installing uv`_ for more information.
3927

4028

41-
.. _build-pyproject-build:
42-
43-
Building with pyproject-build
44-
-----------------------------
45-
46-
To build semver you need:
47-
48-
* The :mod:`build` module which implements the `PEP 517`_ build
49-
frontend.
50-
Install it with::
51-
52-
pip install build
53-
54-
Some Linux distributions has already packaged it. If you prefer
55-
to use the module with your package manager, search for
56-
:file:`python-build` or :file:`python3-build` and install it.
57-
58-
* The command :command:`pyproject-build` from the :mod:`build` module.
59-
6029
To build semver, run::
6130

62-
pyproject-build
31+
uv build
6332

6433
After the command is finished, you can find two files in the :file:`dist` folder: a ``.tar.gz`` and a ``.whl`` file.

‎docs/usage/semver-version.rst

Copy file name to clipboardExpand all lines: docs/usage/semver-version.rst
+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ Getting the Version of semver
44
To know the version of semver itself, use the following construct::
55

66
>>> semver.__version__
7-
'3.0.3-alpha.1'
7+
'3.0.3'

‎pyproject.toml

Copy file name to clipboardExpand all lines: pyproject.toml
+4-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
[build-system]
99
requires = [
10-
# sync with setup.py until we discard non-pep-517/518
1110
"setuptools>=61",
1211
# "setuptools-scm>=8",
1312
]
@@ -19,6 +18,8 @@ requires-python = ">=3.7"
1918
name = "semver"
2019
description = "Python helper for Semantic Versioning (https://semver.org)"
2120
readme = "README.rst"
21+
# PEP 639
22+
# licence = "BSD-2-Clause"
2223
# readme.content-type = "text/x-rst"
2324
license = { file = "LICENSE.txt" }
2425
authors = [
@@ -34,7 +35,7 @@ classifiers = [
3435
"Environment :: Web Environment",
3536
"Intended Audience :: Developers",
3637
"Development Status :: 5 - Production/Stable",
37-
"License :: OSI Approved :: BSD License",
38+
# "License :: OSI Approved :: BSD License",
3839
"Operating System :: OS Independent",
3940
"Programming Language :: Python :: 3",
4041
"Programming Language :: Python :: 3.7",
@@ -92,6 +93,7 @@ docs = [
9293
"sphinx", # ==7.0.1
9394
"sphinx-argparse", # ==0.4.0
9495
"sphinx-autodoc-typehints", # ==1.24.0
96+
"restview",
9597
]
9698
devel = [
9799
{include-group = "typing"},

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.