Hi all,

Here are our current plans for the Puppet Platform 8 release due out in 
February 2023. The work for this effort is contained in 
https://tickets.puppetlabs.com/browse/PA-4664.

*Ruby 3.2*

Ruby 3.2 should be released December 25, 2022 and we plan to vendor that 
version in puppet-agent packages. Ruby 3.2 has several notable breaking 
changes that may affect Puppet extensions, such as functions, custom facts, 
types & providers, report processors, etc:

* Ruby 3.2 removes some deprecated classes and constants, see 
https://github.com/ruby/ruby/blob/v3_2_0_preview3/NEWS.md#compatibility-issues

* Ruby 3.2 vendors the ruby/openssl 3.0 gem (ruby bindings for openssl). 
Several OpenSSL related classes have changed, see 
https://github.com/ruby/openssl/blob/master/History.md#version-300

* Ruby 3.1 vendors psych 4 (ruby bindings for libyaml), which defaults to 
safe YAML loading. This means `YAML.load` will not load arbitrary objects 
or aliases, see https://bugs.ruby-lang.org/issues/17866

Support for Ruby 2.5 and 2.6 will also be dropped.

*OpenSSL 3.0*

OpenSSL 1.1.1 will reach EOL 2023-09-11, therefore, Puppet 8 will vendor 
OpenSSL 3.0. See https://www.openssl.org/policies/releasestrat.html

*Ruby 3 on Windows*

Ruby 3 on Windows initializes the default external encoding to UTF-8. Prior 
to this, Ruby used an encoding corresponding to the active code page, such 
as Encoding::CP1252. This change may break custom facts and types/providers 
that shell out or call ANSI versions of Windows APIs. See 
https://bugs.ruby-lang.org/issues/13488 and 
https://tickets.puppetlabs.com/browse/PUP-11348

*Legacy Facts*

By default, legacy facts will no longer be collected or sent to 
puppetserver. Also builtin types and providers will no longer use legacy 
facts to determine provider suitability 
<https://puppet.com/docs/puppet/7/provider_development.html#tandp_provider_suitability>.
 
See https://groups.google.com/g/puppet-dev/c/hFIjgvOa5J0/m/-ROWsGTaBgAJ

*Unchanged Resource Reporting*

By default, puppet agents will no longer report on unchanged resources that 
were successfully managed and "insync". Doing so will dramatically reduce 
the amount of data sent to puppetserver and stored in puppetdb in the most 
common case where nothing has changed. See 
https://tickets.puppetlabs.com/browse/PUP-11684

*Deferred Functions*

The default value for the `preprocess_deferred` setting will be changed to 
false so that resources with deferred properties follow normal resource 
relationships and ordering. See 
https://puppet.com/docs/puppet/7/configuration.html#preprocess-deferred and 
https://tickets.puppetlabs.com/browse/PUP-11526

*Hiera 3 Gem*

The hiera 3 gem will no longer be a dependency of puppet and it will no 
longer be vendored in puppet-agent packages. Note this won't affect Puppet 
lookup functionality or modules that call the hiera, hiera_include, etc 
functions. It should only affect users relying on hiera 3 backends that 
extend the `Hiera::Backend` class. Anyone affected by this change can 
manually install the hiera gem using the `puppetserver_gem` provider. See 
https://tickets.puppetlabs.com/browse/PA-4646

*Java 8*

Puppet will drop support for Java 8, as mentioned in 
https://groups.google.com/g/puppet-dev/c/yg0YjNwhnTg/m/URqRFzanAgAJ

*Puppet Modules*

In order to test a Puppet module against Puppet 8, you'll need to remove 
the puppet-modules-gems <https://github.com/puppetlabs/puppet-module-gems> 
dependencies 
from your Gemfile. This can be done automatically using "pdk update 
--template-ref 2.7.0" If you're not using the pdk, then look for future 
communication about how to migrate your modules in preparation for Puppet 8.

Josh

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/ea2798a7-e348-4c6b-803b-1aa82c227687n%40googlegroups.com.

Reply via email to