Upgrading from Debian 8 to Debian 9 gave me quite a number of problems...
For years I've had vim highlight commands for my personal color scheme in my ~/.vimrc file. All of a sudden these seem to be overwritten by the default color scheme. To have my colors take effect, I need to move those commands to a file ~/.vim/colors/neels.vim and in my ~/.vimrc add "colorscheme neels".
On my Thinkpad X230, the backlight suddenly is always on full brightness. xbacklight says there is no device that has adjustable brightness. Turns out my X server suddenly runs on the glamorgl driver, while on Debian 8 it used to run on the intel driver. When following these instructions the xorg.conf file produced uses the intel driver, and I can adjust my backlight again.
xdm doesn't start
I think this already existed in Debian 8: when I install xdm as login manager, I need to manually place a symlink in /lib/systemd/system/multi-user.target.wants to point at "../xdm.service" to get xdm to actually start after boot.
synaptics touchpad rules don't work
I configure my touchpad behavior by the "synclient" tool; but since Debian 9 that has no effect, even though synclient is installed successfully. There seems to be a package dependency bug, and I need to manually install xserver-xorg-input-synaptics for synclient to work again.
wicd cannot connect
wicd, a lightweight tool to connect to the internet (sort of replaces NetworkManager with friendlier behavior) connects to my ethernet only for a second, then disconnects right away, and cannot connect to wifi. What? Turns out wicd requires ifconfig, which is no longer installed by default. The wicd package has a dependency bug, simply install net-tools and wicd will work again.
network device names
I've grown used to my network device names being simply eth0 and wlan0. My desktop status bar also depends on those names. But in Debian 9 they are some convoluted (to me) unreadable letter/number combinations. To get the old device names, edit /etc/default/grub to set GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" , run "sudo update-grub" and reboot.
offlineimap refuses to do ssl
In offlineimap, to use my workplace's SSL encrypted IMAP server, I suddenly have to supply the path to that server's root certificate in the config file; having that certificate installed system-wide doesn't fix it. Instead, in ~/.offlineimaprc, in section "[Repository Remote]", I need to add a line "sslcacertfile = /path/to/certificate.crt" to be able to connect to the server.
short audio playback omitted
When a shell script tries to play a short notification sound, it sometimes simply doesn't play. I observed this behavior sporadically, independent from the program playing it (aplay, mplayer, ...). Re-running aplay then sometimes gives the correct sound output. When I tried again later, the problem magically disappeared ... I wonder whether it will come back.
Not all of these have been reported to Debian upstream by me, maybe I'll find the time to follow up on them. Until then, enjoy these workarounds...