Blog
June 11, 2026
What You Need to Know About the New puppetlabs-stdlib 10 in June 2026
Community & Open Source,
Announcements & Events
The TL;DR
- We are releasing puppetlabs-stdlib 10.0.1 with a target date of June 30, 2026.
- This is a major version bump because we are dropping support for Puppet 7 (which reached its end-of-life in February 2025) and requiring Ruby 3.1+.
- If your modules pin stdlib to < 10.0.0, they will continue to work as-is on stdlib 9.x.
- You do not need to take any immediate action, but we wanted to give the community advance notice so module owners have time to plan.
Why a Major Release?
The puppetlabs-stdlib module is one of the most widely depended-upon open source modules in the Puppet ecosystem. Because of that, we take major version bumps seriously and want to be transparent about what is changing and why.
The last release of stdlib (9.7.0) was published in December 2024. Since then, maintenance work has accumulated in the main branch, updates to Puppet Core tooling, CentOS 9 support, Rubocop alignment, CI and testing infrastructure updates, and various bug fixes and enhancements contributed by both Puppet engineers and community members.
Among those accumulated changes is the removal of Puppet 7 from the supported platforms in the module metadata. Since Puppet 7 reached end-of-life over a year ago, this is a natural and expected housekeeping step. However, because removing a previously supported Puppet version is a backwards-incompatible change under semver, it requires a major version bump. By making a major version release along with the removal of Puppet 7 support, this will make a clean delineation for any users still running Puppet 7.
Additionally, the Rubocop and tooling updates in the branch enforce Ruby 3.1+ syntax standards (such as the shorthand hash syntax). While these are primarily code-style changes, they mean the module codebase is no longer guaranteed to run on Ruby versions older than 3.1, which further supports the decision to move to a new major version.
Back to topWhat’s Included in stdlib 10
This release rolls up approximately 18 months of changes. The highlights include:
- Puppet 7 support removed: The module metadata now requires Puppet 8.0.0 or later. Puppet 7 has been end-of-life since early 2025.
- Ruby 3.1+ required: Rubocop and code style enforcement now targets Ruby 3.1 standards. Syntax that is incompatible with older Ruby versions has been adopted throughout the codebase.
- CentOS 9 support: The module metadata now states support for CentOS 9.
- Bug fixes and enhancements: Multiple community-contributed fixes and improvements that have been pending release.
- CI and testing updates: Updated testing infrastructure using Puppet Core tooling, updated nightly test matrices, and improved CI workflows.
A full changelog will accompany the release on the Puppet Forge and on GitHub.
Back to topWhat This Means for Module Authors
If you maintain a Puppet module that depends on puppetlabs-stdlib, here is what you need to know.
If You Do Nothing
Your module will continue to work. Most modules pin their stdlib dependency with an upper bound like "puppetlabs/stdlib" >= “4.0.0 < 10.0.0". The Puppet module resolver will keep you on the latest 9.x release. Nothing breaks, nothing changes.
If your module did not specify an upper bound, your module will be able to start using version 10 without any changes.
If You Want to Adopt stdlib 10
When you are ready, update the upper bound of your stdlib dependency in your metadata.json:
"puppetlabs/stdlib": ">= 4.0.0 < 11.0.0"
This will allow your module to resolve either stdlib 9.x or 10.x, giving your users flexibility. You should also confirm that your module no longer requires Puppet 7 support and that your testing and CI pipelines use Ruby 3.1 or later.
Timing Is Up to You
There is no urgency to adopt stdlib 10 on day one. The 9.x line will remain available on the Forge. We encourage module owners to update at their own pace, and we are providing this advance notice specifically so you can plan that work into your roadmap rather than being caught off-guard.
Back to topWhat Perforce Puppet Is Doing to Prepare
We recognize that stdlib touches a huge portion of the module ecosystem. There are approximately 34 puppetlabs modules that depend on stdlib. Between now and the release date, we will be updating all of those modules to expand their dependency bounds to accept stdlib 10.x. These updated modules will be released to the Forge ahead of or alongside the stdlib 10 release so that the transition is as smooth as possible.
Our goal is that by the time stdlib 10 lands on the Forge, the puppetlabs module ecosystem will already be ready for it.
Back to topTimeline
| Date | Milestone |
| Now | This announcement. Community has advance notice. |
| June 18–30 | Perforce will release updated dependency bounds across puppetlabs modules. |
| June 30, 2026 | Target release date for puppetlabs-stdlib 10 on the Puppet Forge. |
A Note on Communication
We want to acknowledge that an earlier attempt to release stdlib 10.0.0 was made without sufficient advance communication to the community. We heard the feedback, rolled that release back, and are now doing this the right way: giving you notice, giving you time, and coordinating the broader module ecosystem before the release lands.
Major stdlib releases have historically been disruptive because of how deeply the module is embedded across the ecosystem. We are committed to making this transition as smooth as possible, and your feedback during this notice period is welcome and appreciated.
Back to topHow to Prepare
- Review your dependency bounds: Check your metadata.json for your stdlib version constraint.
- Check your Puppet version support: If your module still claims Puppet 7 support, consider whether that is still necessary given Puppet 7 is end-of-life.
- Check your Ruby version: Ensure your testing and CI environments use Ruby 3.1 or later.
- Test against the main branch: If you want to verify compatibility ahead of the release, you can test your module against the main branch of puppetlabs-stdlib on GitHub.
Questions and Feedback
We want to hear from you. If you have questions, concerns, or feedback about this upcoming release, please reach out through any of the following channels:
- Community Slack: The Puppet community Slack workspace, particularly the #forge-modules channel where we have already had some discussion on this upcoming change.
Perforce Forums: Join the discussion on the Perforce Puppet forums, part of the official Perforce Portal.
Thank you for being part of the Puppet community! We appreciate your collaboration and your contributions, and we are looking forward to getting this release into your hands.