QGIS 3 has been ported to support Python 3, so if you are familiar with previous versions of QGIS, some of the older plugins may not be compatible. These will either have been updated or will be in the process of being updated, some are also obsolete (because their functionality is now part of QGIS core) or abandoned by the original developer. In terms of the GUI, not a great deal has changed. If you have previous experience, it should be mostly familiar to you.
Some of the major changes that have taken place for QGIS 3 include processing in the background. This enables you to continue working while processing continues, rather than waiting for QGIS to complete tasks. The processing toolbox has been updated, meaning that many of the tools now execute faster than in QGIS 2.x. There has also been a significant update in the way maps are authored and data is styled. We will be covering this in detail in Chapter 3, Visualizing Data. There is a really useful search feature in the bottom-left corner of the QGIS information bar, allowing you to search for tools, layers, and features. Finally, QGIS now supports GeoPackage and is using it as its default GIS format.
We will cover all of these new features in this book using examples to bring QGIS to life.