Puppet 4 introduces significant changes including improved performance, scalability, measurability and flexibility. It features a new Puppet Server and packaging, enhanced environments, r10k for managing environments from git, new language features like lambdas and EPP templating, stronger data typing, and deprecation of features like node inheritance. Upgrading requires testing and supporting modules for compatibility with the breaking changes in Puppet 4.