plumber2 is a complete rewrite of the plumber package for creating HTTP APIs in R. It maintains similar functionality to the original but makes breaking changes to improve the API design based on lessons learned from the original package’s development.
The package separates path parameters from query and body parameters for clearer request handling, adds extensive type checking and validation for inputs and outputs (including nested objects, enums, and default values), supports content negotiation with multiple serializers per endpoint, and provides simplified async handler creation. The documentation system is rebuilt on roxygen2 for better parsing and follows modern API documentation conventions.