Thanks to Matt for clearing up the situation, I've written a new watch file. Matt said that there is no longer a distinction between stable and unstable releases, so please accept this watch file for the next upload and attribute me in the changelog as John Scott:
version=4 https://graphviz.org/download/source/ .*/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ https://qa.debian.org/cgi-bin/fakeupstream.cgi?upstream=gitlab_releases/graphviz/graphviz \ .*/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ opts="searchmode=plain" https://gitlab.com/api/v4/projects/4207231/releases \ [^"]*/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ This checks for the tarball in three different ways, so that if one method breaks, the others will be fallback options. (For example, if upstream makes a new upstream release and accidentally publishes it at only one place.) First, we check the Graphviz downloads page directly. This is obviously the preferred discovery option. If that fails, we use qa.debian.org's fakeupstream.cgi service to get the latest GitLab release. If that fails, we'll do more or less what the fakeupstream.cgi service is doing anyway without the dependence on that infrastructure, which is fetch the JSON from the GitLab API and parse that in a crude fashion. By default, uscan will check all three of these sources and see which directs it to the newest source. Note that the actual tarball URL discovered should be the same in all three cases. I hope this could be helpful :)
signature.asc
Description: This is a digitally signed message part
smime.p7s
Description: S/MIME cryptographic signature