In #debian:matrix.org one person just performed stretch->buster upgrade and asked about a way to get a list of newly added packages, that is a list of packages in buster but not in stretch. Another person proposed to run a VM with stretch to get a list of packages in stretch, then run a VM with buster to get a list of packages in buster, then do diff between them. This advise is pretty ingenious, but I doubt that it's good way to do such a simple task. Well, there is UDD, so UDD to the rescue!

There's a public UDD mirror which allows anyone to query UDD using PostgreSQL command-line or GUI clients. So, the mentioned task can be easily solved as follows.

  1. Install your PostgreSQL client of choice, say:

    sudo apt install postgresql-client

  2. Connect to the public mirror with the following command:

    psql -U udd-mirror -h udd-mirror.debian.net -p 5432 udd

  3. Run the following PostgreSQL query:

SELECT package FROM packages WHERE release='buster' AND architecture='amd64'
EXCEPT
SELECT package FROM packages WHERE release='stretch' AND architecture='amd64' ORDER BY package;

This SQL query gives a list of packages in buster but not in stretch for amd64 architecture sorted by package name.

That's it! Pretty easy, huh? UDD is a wonderful source of data about Debian and I really like it.

More information about UDD:

Debian wikipage on UDD

Index of UDD database