Hey i know it's very old but I ended up landing here and the question is very interesting for who is learning Linux. So please forgive me.
COMMANDS AVAILABLE
If the package is installed, you have some ways to read without extracting:
1. zless: if you type man zless you will read:
zless - file perusal filter for crt viewing of compressed text.
2. zcat: from man zcat:
zcat is identical to gunzip -c. (On some systems, zcat may be
installed as gzcat to preserve the original link to compress.) zcat
uncompresses either a list of files on the command line or its
standard input and writes the uncompressed data on standard output.
zcat will uncompress files that have the correct magic number
whether they have a .gz suffix or not.
3. gunzip -c <path/file> | less: from zcat above we learn that zcat is just an alias to "gunzip -c". So you can use gunzip plus "less".
SEARCH
Find your changelog. It's name traditionally is:
- changelog.gz (program itself)
- changelog.Debian.gz (fix package issues)
- NEWS.gz (same as changelog.gz)
- NEWS.Debian.gz (same as changelog.Debian.gz)
Changelogs are always installed in /usr/share/doc, so you can list that folder to discover the name of the changelog. let's use package passwd as example.
$ ls -l /usr/share/doc/passwd
total 24
-rw-r--r-- 1 root root 2279 nov 24 09:05 changelog.Debian.gz
-rw-r--r-- 1 root root 5153 nov 11 2021 copyright
drwxr-xr-x 1 root root 36 dez 17 12:13 examples
-rw-r--r-- 1 root root 801 nov 11 2021 NEWS.Debian.gz
-rw-r--r-- 1 root root 2075 nov 11 2021 README.Debian
-rw-r--r-- 1 root root 1020 nov 11 2021 TODO.Debian
Now read one by one (zcat or zless):
$ zcat /usr/share/doc/passwd/changelog.Debian.gz
$ zcat /usr/share/doc/passwd/NEWS.Debian.gz
Alternatively, you don't know that changelogs goes in /usr/share/doc, so search for it, then list, and finally read:
$ find / -type d -name passwd 2>/dev/null
/usr/share/doc/passwd
The 2>/dev/null is to avoid all those anoying Permission denied messages.