On The Road To macOS Catalina, Take The Scenic Route
Identify Your 32-Bit AppsCatalina dispenses with 32-bit app support, so it's a good idea to determine what 32-bit apps you depend on before going forward. In some cases, the vendor will have a 64-bit version available. In other cases, you might be out of luck.
To identify the 32-bit apps on your system, use the mdfind command to search metadata for application architectures. Open the terminal app and type the following:
$ mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')" | grep "app$"
The grep at the end is optional, but it filters the list to show only apps.
Automatic Light And Dark ModeWhile Mojave introduced light and dark modes, switching between them was a manual affair. Catalina adds an "Auto" option which automatically adjusts the appearance from light to dark as the day progresses.
I created a do-it-yourself "Auto" mode for Mojave. It works under Catalina, and I still use it because it allows me to specify the exact times when my system goes from light to dark. The DIY requires basic developer skills though, and you can find the details here: Automate Dark Mode in Apple OS Mojave.
Mail WeirdnessClicking on the icon to start Mail, the app would load, but would not open my inbox. I needed to click the Mail icon a second time for the inbox to present itself.
The behavior of "Flagged" mail is also different (broken). The colors are in the wrong order: orange, red, purple, blue, yellow, green, gray. When I reorganized my flagged mail to use only red, yellow, and green, only those three colors were displayed. The other colors vanished.
zsh replaces bashIn Programming Languages I've Loved and Hated, I found shells to be lovable, but not very portable. Fortunately zsh seems very compatible with bash, and the only adjustment I had to make (so far) was to copy my .bash_profile to .zprofile.
As to why Apple changed the default shell, the unofficial word is licensing. Specifically, bash in Mojave was on version 3.2, which dates back to 2007. Newer versions of bash would fall under the stricter GPLv3 license, and that would put Apple in an awkward position regarding patents and derivative works. Since freezing bash at 2007 would lead to stale software, Apple adopted zsh which lives under the simpler and more permissive MIT license.
For a deep dive into Catalina, look no further than Ars Technica.