| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: python314-lastversion | Distribution: openSUSE Tumbleweed |
| Version: 3.6.17 | Vendor: openSUSE |
| Release: 1.1 | Build date: Sat Aug 22 11:35:52 2026 |
| Group: Development/Languages/Python | Build host: reproducible |
| Size: 710027 | Source RPM: python-lastversion-3.6.17-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://github.com/dvershinin/lastversion | |
| Summary: Find the latest stable release version of an arbitrary project | |
lastversion is a command-line tool and Python library to find the latest stable release version of an arbitrary project. It supports GitHub, GitLab, Bitbucket, PyPI, Mercurial, SourceForge, WordPress and more, handling inconsistent versioning schemes, pre-release detection, and asset filtering.
BSD-2-Clause
* Sat Aug 22 2026 Dirk Müller <dmueller@suse.com>
- update to 3.6.17:
* **Fixes RPM spec auto-bumps that were silently failing.**
* Every `lastversion .spec` update against a spec genuinely
behind upstream died with:
* ```
* TypeError: '<' not supported between instances of 'str' and
'Version'
* ```
* That is the only case the auto-bump exists for, so packaging
cron chains failed on exactly the releases they were meant to
catch. An already-current spec took the "nothing to do"
branch and looked healthy, which hid it.
* **Root cause:** `current_version` is read off the spec's
`Version:` tag — the state of the file on disk — but it was
stored in, and served back from, the release cache. The cache
round-trips through JSON, so a cache hit returned a plain
`str` while `version` was a `Version`.
* **Fixed:**
* Local project metadata is now parsed *before* the cache
lookup and re-applied over a cache hit, mirroring the fetch
path. This also fixes staleness: a cache entry written when
the spec said 6.0.16 no longer dictates `current_version`
after the spec moves on.
* `update_spec()` coerces `current_version` and `version` to
`Version` before comparing, as defence in depth.
- update to 3.6.16:
* Page-scan holders now return the artifact URL instead of
`[None]`.
* `lastversion --assets` crashed with `TypeError: sequence
item 0: expected str instance, NoneType found`. Holders that
scrape a links page have no `RELEASE_URL_FORMAT`, so
`release_download_url()` returned `None` and `get_assets()`
appended it verbatim. A falsy download URL is now simply not
an asset.
* The feed holder can do better: the hyperlink it matched on
* is* the artifact location, so it is kept (absolute) and
returned as the download URL.
* A releases page typically links both the tarball and its
release notes for the same version (`varnish-6.0.18.tgz` next
to `rel6.0.18.html`). Both sanitize to the same version, so
ties now break towards the archive rather than document
order.
* Pre-existing since the page link-scan landed in 3.6.13.
- update to 3.6.15:
* Resolve Varnish/Vinyl Cache 6.0 LTS via vinyl-cache.org.
* The Varnish Cache FOSS project renamed to **Vinyl Cache** in
the 9.0 release (2026-03-16) after a trademark dispute with
Varnish Software. The `varnishcache/*` GitHub org is
archived; development moved to code.vinyl-cache.org. Varnish
Software kept the trademark and now runs
github.com/varnish/varnish as a downstream fork (a different
codebase).
* The 6.0 and 8.0 LTS branches stayed with Vinyl Cache, so the
known-repo entries now scrape `vinyl-cache.org/releases/`.
* This also fixes resolution on EL7: `varnish-cache.org` is
TLS-1.3-only and EL7's OpenSSL 1.0.2k cannot negotiate it, so
lookups died on the handshake. `vinyl-cache.org` serves TLS
1.2.
* All historic spellings keep working (`varnish-cache`,
`varnishcache/varnish-cache`, URL form); new `vinyl-*`
spellings and bare hostnames resolve too.
- update to 3.6.14:
* Resolve `varnishcache/varnish-cache` (GitHub owner/repo form)
from the varnish-cache.org releases page as well, not just
the bare name and site URL. The 6.0 LTS branch is no longer
tagged on GitHub, so that form returned a stale 6.0.16.
- update to 3.6.13:
* ## What's new
* Feed holder: known-repo entries can carry a `page` URL whose
hyperlinks are scanned for versioned artifact names — used
when a project's homepage feed lags or omits maintenance
releases.
* `varnish-cache` now resolves from varnish-cache.org/releases/
(by name and by URL): Varnish 6.0 LTS releases after 6.0.16
are dist-tarball-only (no GitHub tags), so `lastversion
varnish-cache --major 6.0` previously stalled at 6.0.16. It
now returns 6.0.18.
* Fixed a crash (`NoneType` concatenation) when invoking `--at
website-feed example.org` with a bare hostname.
* Mon Jul 06 2026 Dirk Müller <dmueller@suse.com>
- update to 3.6.12:
* Fixed Docker image publish on release
* Moved the `NOSONAR` suppression for the missing `USER`
directive off the `FROM` line; BuildKit's frontend rejects
trailing inline comments on `FROM`, breaking the `Publish
Docker image` workflow in 3.6.11
* Fixed `Version` object JSON serialization error when caching
release data with dict output format
* The `version` field is now serialized to string at the cache
layer for both file and Redis backends
* This fixes the "Object of type 'Version' is not JSON
serializable" warning when running `lastversion --changelog
* .spec`
* Companion to the 3.6.8 datetime serialization fix; the dict-
format path kept `version` as a `Version` instance and
tripped the same cache encoder
* Mon Mar 30 2026 Tim Neujahr <timnjr.opensuse.reference660@passmail.net>
- Update to 3.6.10:
* Fixed debug print() calls in update_spec/pypi breaking automation
scripts that parse lastversion output
* Fixed silent error discarding in changelog generation and release
notes collection
* Fixed deprecated datetime.utcnow() causing DeprecationWarning on
Python 3.12+
* Added Python 3.13 support
* Added release data cache with configurable TTL and optional
Redis backend (3.6.0)
* Added bulk input option -i/--input-file for multiple repos (3.5.10)
* Added Codeberg and Gitea support (3.5.10, 2.4.5)
* Added --formal switch for formal releases only (3.4.3)
* Added --sem option for semantic versioning level filtering (2.4.0)
* Added --even switch for odd/even versioning schemes (2.4.9)
* Added unzip command to extract projects directly (2.2.0)
* Added SourceForge --source URL fetching (3.3.0)
* Added WordPress plugin support via --at wordpress (2.1.0)
* Added arbitrary version string extraction from CLI (2.4.4)
* Added arbitrary version comparison: lastversion 1.2.3 -gt 1.2.4
(1.3.4)
* Fixed stale lock files causing LockAcquireTimeout errors (3.6.5)
* Fixed wrong version returned for branch-filtered repos (3.6.3)
* Fixed UnicodeEncodeError in --help on LANG=C systems (3.5.12)
* Fixed various GitHub, GitLab and pre-release detection issues
* Dropped Python 2 support (3.0.0)
- Add python-distro dependency (new upstream requirement)
- Drop python-lockfile dependency (no longer required upstream)
- Drop python-six dependency (Python 2 no longer supported upstream)
* Tue Nov 24 2020 John Vandenberg <jayvdb@gmail.com>
- Activate non-network subset of test suite
- Update to v1.2.3
* Tue Sep 17 2019 John Vandenberg <jayvdb@gmail.com>
- Initial spec for v0.2.2
/etc/alternatives/lastversion /usr/bin/lastversion /usr/bin/lastversion-3.14 /usr/lib/python3.14/site-packages/lastversion /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/INSTALLER /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/METADATA /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/RECORD /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/REQUESTED /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/WHEEL /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/entry_points.txt /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/licenses /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/licenses/LICENSE /usr/lib/python3.14/site-packages/lastversion-3.6.17.dist-info/top_level.txt /usr/lib/python3.14/site-packages/lastversion/__about__.py /usr/lib/python3.14/site-packages/lastversion/__init__.py /usr/lib/python3.14/site-packages/lastversion/__main__.py /usr/lib/python3.14/site-packages/lastversion/__pycache__ /usr/lib/python3.14/site-packages/lastversion/__pycache__/__about__.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/__about__.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/__init__.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/__init__.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/__main__.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/__main__.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/ai.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/ai.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/argparse_version.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/argparse_version.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/cache.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/cache.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/cli.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/cli.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/config.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/config.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/exceptions.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/exceptions.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/holder_factory.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/holder_factory.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/lastversion.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/lastversion.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/spdx_id_to_rpmspec.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/spdx_id_to_rpmspec.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/utils.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/utils.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/version.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/__pycache__/version.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/ai.py /usr/lib/python3.14/site-packages/lastversion/argparse_version.py /usr/lib/python3.14/site-packages/lastversion/cache.py /usr/lib/python3.14/site-packages/lastversion/cli.py /usr/lib/python3.14/site-packages/lastversion/config.py /usr/lib/python3.14/site-packages/lastversion/exceptions.py /usr/lib/python3.14/site-packages/lastversion/holder_factory.py /usr/lib/python3.14/site-packages/lastversion/lastversion.py /usr/lib/python3.14/site-packages/lastversion/repo_holders /usr/lib/python3.14/site-packages/lastversion/repo_holders/__init__.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__ /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/__init__.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/__init__.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/alpine.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/alpine.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/base.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/base.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/bibucket.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/bibucket.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/feed.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/feed.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/gitea.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/gitea.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/github.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/github.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/gitlab.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/gitlab.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/helmchat.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/helmchat.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/local.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/local.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/mercurial.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/mercurial.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/pypi.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/pypi.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/sourceforge.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/sourceforge.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/system.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/system.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/test.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/test.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/wikipedia.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/wikipedia.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/wordpress.cpython-314.opt-1.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/__pycache__/wordpress.cpython-314.pyc /usr/lib/python3.14/site-packages/lastversion/repo_holders/alpine.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/base.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/bibucket.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/feed.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/gitea.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/github.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/gitlab.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/helmchat.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/local.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/mercurial.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/pypi.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/sourceforge.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/system.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/test.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/wikipedia.py /usr/lib/python3.14/site-packages/lastversion/repo_holders/wordpress.py /usr/lib/python3.14/site-packages/lastversion/spdx_id_to_rpmspec.py /usr/lib/python3.14/site-packages/lastversion/utils.py /usr/lib/python3.14/site-packages/lastversion/version.py /usr/share/doc/packages/python314-lastversion /usr/share/doc/packages/python314-lastversion/README.md /usr/share/licenses/python314-lastversion /usr/share/licenses/python314-lastversion/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Mon Aug 24 22:41:45 2026