Next.js 5.1 introduces several key features, including support for environment configuration, phases, source maps, and new Next.js plugins. Major performance improvements are also included, such as a 102x speedup in resolving pages. Environment configuration allows for setting configuration values that are available on both the server and client sides using `publicRuntimeConfig` and `serverRuntimeConfig`. Improved error handling detects server errors when loading page bundles and automatically reloads the page to prevent navigation issues. The new logic also removes the need for a Router.onAppUpdated hook, which was mainly used to trigger a page reload. Additionally, exporting a function that returns the configuration object allows access to the phase in which Next.js is running, enabling plugins to be loaded only when needed. Improved production source map generation is also introduced with the ability to manually enable source maps in `next.config.js`. Two new official plugins are also added, including @zeit/next-bundle-analyzer for analyzing server and client side bundles separately.