Mainly involves using a network parameter rather than a separate build for testnet and mainnet. This network object is also now the source of the SAPLING_ACTIVATION_HEIGHT, which varies by network. The other major change is the way wallet initialization works, particularly around viewing keys. Under the hood, this involves a database migration so it is worth testing the upgrade path.
ViewingKeys would sometimes get written in one way but not read back the same, dependeing on length. This was hard to catch because it only happened about 30 percent of the time. The fix was to update the secure storage library to work with lists and maintain order. A PR was submitted upstream but we are also going to seek out a better library to use going forward.