versions  1.5.3
About: versions checks releases and versions of your favorite programs (on the main repositories) through RSS or Atom feeds.
  Fossies Dox: versions-1.5.3.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies versions-1.5.3.tar.gz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).
versions Documentation

Scrutinizer Code Quality Scrutinizer Build Status Travis Build Status Scrutinizer Code Coverage


Versions is an open source (GPL v3) software that checks releases and versions of your favorite programs through RSS or Atom feeds and tells you which one has been released since last check.

It can check projects from :

  • (FreeBSD packages)

Projects must be added to a YAML file (named by default ~/.config/versions/versions.yaml). One can use --file=FILENAME option to specify an alternative YAML file. The structure of this YAML file is explained below.

Versions uses and produces text files. Those files are cache files written into ~/.local/versions directory. *.cache are cache files containing the project list and their associated version (the latest). *.feed are information feed cache files containing on each line the latest parsed post of the feed.

YAML file structure

url: "https://the.url/to/theglobalfeed"
type: list
- list
- of
- projects
url: "{}.atom"
type: byproject
- list
- name: of
regex: '([\d.]+)'
entry: last checked
- projects

There is two types of sites :

  • 'list': The site has one feed with all projects in it such as or
  • 'byproject": The site gives access to one feed per project. brackets '{}' represents the name of the project as found in the 'project' list. Those projects can be listed directly or can take options. In the later case you have to name the project and then you can specify either a regex or an entry type option: regex is used to determine version number and entry is used to determine if versions has to print the latest entry (default behavior) or all entries from the "last checked" time.


Installation of versions is not mandatory and you can invoke it directly from the command line provided you have already installed its requirements.


In pypi the project is named program_versions but is still invoked by the command versions :

$ sudo pip install program_versions
$ versions -v

From source

$ git clone
$ cd versions
$ sudo pip install -r requirements.txt
$ sudo python install
$ versions -v

Tip : One may want to test versions without messing its installation and may use miniconda to do so.


./ should be enough to bring you the list of updated programs since last run. To verify each day one can use the following command in a persistant terminal (tmux, screen…):

$ watch -n 86400 ./
  • Option -h or --help will give you some help.
  • Option -v or --version will tell you the version you have.
  • Option -l or --list-cache prints the content of the local cache (ie latest known versions).
  • Option -f FILENAME or --file FILENAME ease usage of different YAML configuration files.
  • Option -d or --debug runs doctests and prints information about what's going on in the program.

Links of interest