Issue #16061 has been updated by Charlie Sharpsteen.
Redmine Issue [#16061](http://projects.puppetlabs.com/issues/16061) has been migrated to JIRA: <https://tickets.puppetlabs.com/browse/PUP-776> ---------------------------------------- Bug #16061: Deprecate non-UTF-8 encodings for textual content https://projects.puppetlabs.com/issues/16061#change-101427 * Author: Deepak Giridharagopal * Status: Accepted * Priority: Normal * Assignee: * Category: * Target version: 3.5.0 * Affected Puppet version: * Keywords: * Branch: ---------------------------------------- This changes semantics, so it can't be done prior to 3.0.0. Though my preference would be to issue a deprecation warning in 2.7.x if we can. We currently don't specify what character sets we support for things that we know are textual (or things we'd like to enforce as text-only). Consequently, interoperability across systems or across languages on the same system is severely constrained...we have no idea how to encode or decode strings on the wire, because we don't know the original encodings of any strings. This has created severe headaches for PuppetDB, classic storeconfigs (thereby affecting Foreman), etc...we can't guarantee *reliable* storage of puppet data without dealing with this. Off the top of my head, I can think of the following key places that could use a tightening of semantics: * .pp files * templates * generate() * facts It may also be handy to just state up-front in the docs that all string values in puppet are presumed to be UTF-8. I don't believe we need to do anything around .rb files, as those already have ways of indicating alternate character sets. I believe that UTF-8 should work out-of-the-box for the vast, vast majority of Puppet users (who primarily use ASCII or UTF-8 already). The biggest impact, I think, will be on people using Latin-1 in their templates and .pp files...though a simple call to iconv on the command line should be enough to convert them all losslessly. Our deprecation warning could even include a reference to instructions on how to convert, if we want to get really fancy. Notable improvements we could make beyond simple deprecation: * change functions like template() and generate() so that they take additional, optional arguments which are the input encoding and output encoding. Default to UTF-8 for both. * probably other stuff I can't think of right now -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com. To post to this group, send email to puppet-bugs@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.