• Type: Epic
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 6.0.0
    • Component/s: None
    • Labels:
    • Epic Name:
      Remove Ruby 1.9.3 support
    • Template:
    • Team/s:
      Platform Core
    • Sub-team:
    • Release Notes:
      Bug Fix
    • Release Notes Summary:
      Puppet now requires ruby 2.3 or greater. We removed code paths for older ruby support, e.g. 1.8.7, relaxed our gem dependencies to include gems that require ruby 2 or up, and now test puppet PRs against JRuby 9k.


      Puppet maintains ruby language compatibility with MRI 1.9.3, because that is what JRuby 1.7 is compatible with. Once puppetserver drops support for JRuby 1.7, then we can remove ruby 1.9.3 support in puppet. This includes:

      1. Adding a minimum required ruby version constraint >= 2.0 to Gemfile, .gemspec, and ext/build_data.yaml
      2. Dropping 1.9.3 from the travis & appveyor test matrix
      3. Removing pins for some gem dependencies, and moving to newer versions, e.g. fast-gettext, addressable, etc.

      While we're doing this, we may want to bump the minimum ruby version to 2.2 or later. According to, 2.1 is already EOL, 2.2 is in security maint mode and will be EOL in May 2018.

      A counterpoint to dropping support for 2.0-2.2 is that we didn't do that for bolt. In fact we started out requiring 2.1 or greater, and then relaxed constraints to 2.0 or greater, as 2.0 is the default system ruby for certain distros. But bolt could only be distributed as a gem (as opposed to a puppet-agent package), so it's not an apples to apples comparison.


          Issue Links




                • Assignee:
                  ethan Ethan Brown
                • Votes:
                  0 Vote for this issue
                  5 Start watching this issue


                  • Due:

                    Zendesk Support