PE release notes
These are the new features, enhancements, resolved issues, and deprecations in this version of PE.
For security and vulnerability announcements, see Security: Puppet's Vulnerability Submission Process.
PE 2023.0
Released January 2023
Important: PE 2023 is our new leading-edge PE release stream (also referred to as STS). For
important information about upgrading to 2023, see Upgrading Puppet Enterprise.
If you're on the LTS stream (2021.7), you'll find release notes and other information for that series in the 2021.7 documentation.
Customers on 2019.8.z, which is EOL, are encouraged to upgrade to either 2021.7 or 2023.
New features
- Authenticate users in multiple LDAP domains
- You can now connect multiple Lightweight Directory Access Protocol (LDAP) domains to PE. This new feature brings many changes to the role-based access control (RBAC) API and LDAP-related pages in the PE console.
- Default timeout limits for tasks and plans
- Timeout limits forcibly stop tasks and plans that run too long. This
feature is useful for stopping tasks and plans that are stuck without
requiring you to manually monitor task or plan progress.CAUTION: The feature for forcibly stopping tasks and plans can result in incomplete Puppet runs, partial configuration changes, and other issues. When setting timeout limits, consider the task or plan scope, typical runtime, and your infrastructure's capacity (such as concurrency limits).
- Unique status for queued jobs
- To better differentiate queued-but-unstarted jobs from jobs that are running, a new pending state was introduced for queued jobs.
- View and edit scheduled tasks in the console
- You can now view and edit scheduled task details in the console.
Enhancements
- Java 17 upgrade
- This version upgrades Java from version 11 to 17 and changes the default garbage collector from Parallel to G1.
- Stop in-progress plans in the console
- When Running plans in PE, you can click Stop plan on the plan's run details page to stop the plan. In this way, you can prevent new tasks from starting and allow in-progress tasks to finish. To forcibly stop in-progress tasks from a stopped plan, follow the instructions in Stop a task in progress.
- Forcibly stop in-progress tasks in the console
- To Stop a task in progress, you can now both stop and forcibly stop in-progress tasks from the console. Previously, you had to use the Orchestrator API to forcibly stop tasks.
- Provisioning replicas requires matching agent versions
- When provisioning a
replica, the target node's agent version must match the
primary server's agent version. If the versions don't match, the
puppet infra provision replica
command fails before initializing the provisioning process. Previously, the agent version wasn't checked, and mismatched agent versions caused provisioning to fail partway through. - Increased
task_concurrency
limit - The default value of the
task_concurrency
orchestrator parameter was increased from 250 to 1000. -
recover_configuration
command recreatesnodes
files - Previously, the
puppet infrastructure recover_configuration
command merged new values into thenodes
files (at/etc/puppetlabs/enterprise/conf.d/nodes
) instead of overwriting the files. This process caused problems if you deleted a value relevant to one or more nodes, because the deleted value would remain in these files and continue to be applied. - Notification when session expires due to inactivity
- PE redirects users to the login page when a session expires due to inactivity. When this happens, the login page now includes a message that indicates why the user was logged out.
- Improved performance when regenerating agent certificates for multiple agents
- The
puppet infrastructure run regenerate_agent_certificate
action is now faster when you Regenerate agent certificates for multiple agents. You can also now use theagent_pdb_query
parameter to use a PDB query to generate a list of agents for which you want to regenerate certificates. - Specify Code Manager worker cache cleanup interval
- The
deploy_pool_cleanup_interval
specified how often workers pause to clean their on-disk caches. Learn more about this setting in Code Manager parameters.
This release includes enhancements to cipher compatibility. For a complete list, go
to Compatible ciphers.
- CHACHA20 ciphers, compatible with non-FIPS PE installs
-
TLS_CHACHA20_POLY1305_SHA256
(TLSv1.3) - AES versions of two GCM ciphers, compatible with FIPS and non-FIPS installs
-
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
(TLSv1.2) - Removed restrictions
-
TLS_CHACHA20_POLY1305_SHA256
is no longer limited to Bolt server, ACE server, and NGINX.
Platform support
With this release, several previously deprecated platforms were removed. Before
upgrading, review the important information provided in Platforms removed in 2023.0.
- Removed primary server platforms
- CentOS 8
- Removed agent platforms
- CentOS 8
- Removed patch management platforms
- Debian 9
Deprecations and removals
- Deprecated RBAC API endpoints
- POST /v1/groups and POST /v2/groups are replaced by POST /command/groups/create.
- Removed RBAC API endpoints
- Removed the previously deprecated
GET /v1/ds/
, which is replaced by GET /ldap. - Removed platforms
- For information about platforms removed in this release, see the Platform Support section.
Resolved issues
-
Code Manager respects
full_deploy
setting in Hiera - The
full_deploy
parameter is now correctly applied when you Customize Code Manager configuration in Hiera. - Certain plans correctly restore
puppet
service to pre-plan state - Due to a bug introduced in PE 2021.6,
some plans that must stop the
puppet
service while the plans run were not restoring thepuppet
service to its pre-plan state after the plan finished running. - PuppetDB database user can purge reports
- An issue was fixed to ensure that the PuppetDB database user can purge reports.
- Corrected fact list handling in some PE console UI components
- Some UI components in the PE console use fact lists. A recent change caused these component to use the entire list of fact names, which caused performance problems in environments with many facts. The handling of fact lists was corrected to fix this issue and improve performance.
- Orchestrator code directories excluded from
puppet-backup create --scope=config
- When Customizing backup and restore scope, the orchestrator
code directories (specifically
/opt/puppetlabs/server/data/orchestration-services/data-dir
and/opt/puppetlabs/server/data/orchestration-services/code
) are excluded when you specify theconfig
scope. - Plan action jobs have user data
- Previously, jobs started as a result of plan action function didn't have an associated user stored in the database, which caused problems with some orchestrator commands. Now, user data is stored for these jobs.
- Garbage collection log fixes
- The introduction of Java 11 resulted in two issues relating to garbage collection logs. The issues are now fixed:
- Security fixes
- Addressed CVE-2022-41946 and CVE-2022-41404.