This document outlines the planning and roadmap process for the CloudNativePG project.
The CloudNativePG project tracks its high-level roadmap publicly using GitHub Projects. This board provides the most current view of major initiatives, features, and significant improvements we are actively tracking for future releases.
You can view our active roadmap here: CloudNativePG Public Roadmap
Our roadmap is a living document that evolves with the project, our community's needs, and the availability of our contributors.
We use two main tools in GitHub for planning:
-
GitHub Projects: as linked above, this is used for our high-level, strategic roadmap. It helps visualize the status of major work items (epics, features) over a longer time horizon.
-
GitHub Milestones: these are used for more granular, tactical planning. Milestones are tied to specific upcoming releases (e.g.,
v1.28.0) and contain the collection of issues and pull requests targeted for that version.
New work items (issues) are typically added to the roadmap or a specific milestone based on the following drivers:
-
Community and End-User Requests: We actively monitor GitHub issues. Feature requests, bug reports, and improvements suggested by our end-users are a primary source of work.
-
Maintainer and Contributor Interest: Work is often initiated based on the personal interest and availability of our maintainers and core contributors.
-
Real-World Use Cases: Many contributions are driven by the real-world needs of organizations that use CloudNativePG in production. This often includes requests originating from customers or internal teams of the organizations that employ our maintainers.
-
LFX Mentorship Program:* As active participants in the CNCF's LFX Mentorship program, we also identify and scope specific features or improvements as dedicated projects for mentees.
All planning is ultimately dependent on the availability of our maintainers and contributors to champion an issue, develop the code, and see it through the review process.
Our planning is iterative. If a feature or fix targeted for a specific milestone proves to be more complex than anticipated or resources are not available, its timeline may be adjusted.
Decisions to defer an item (move it to a later release) are discussed and voted on by maintainers directly within the relevant GitHub issue.