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.
Install your PostgreSQL client of choice, say:
sudo apt install postgresql-client
Connect to the public mirror with the following command:
psql -U udd-mirror -h udd-mirror.debian.net -p 5432 udd
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: