VERSION 2.36.0 *in this release*
✨ *new features* - The bolt plan new and New-BoltPlan commands are no longer considered experimental. You can use these commands to create new project-level Puppet language plans <https://puppet.com/docs/bolt/latest/writing_plans.html#creating-a-new-project-level-puppet-language-plan> and YAML plans <https://puppet.com/docs/bolt/latest/writing_yaml_plans.html#creating-a-new-project-level-yaml-plan> . - The module management feature is no longer considered experimental. You can read more about managing a project's modules with Bolt in our Modules overview <https://puppet.com/docs/bolt/latest/modules.html>. - Creating a new Bolt project using the bolt project init and New-BoltProject commands now configure the modules key in the project configuration file. This enables the new module management workflow for all new projects by default. If you create a new project with modules, Bolt will add the specified modules to your project configuration. To learn more about creating new projects, see the documentation <https://puppet.com/docs/bolt/latest/projects.html#create-a-bolt-project> . - But that's not all! You no longer need to create a new project only to then have to create an inventory file separately. The bolt project init and New-BoltProject commands now also create an inventory file for you. To learn more about creating new projects, see the documentation <https://puppet.com/docs/bolt/latest/projects.html#create-a-bolt-project> . - Are you a plugin author that needs to see output for the plugin you're developing? We've updated Bolt to log plugin task output to the trace level instead of suppressing output altogether. To view this output, you can configure Bolt's log level <https://puppet.com/docs/bolt/latest/logs.html>. - We've improved Bolt's configuration validation so that it displays most errors for a configuration file in a single message, along with the location of the error. Bolt leverages its own configuration schemas for this validation. If you're interested in using these schemas to validate configuration before running Bolt, you can set them up in VS Code <https://puppet.com/docs/bolt/latest/vscode_and_bolt.html#validating-configuration-and-inventory-files-with-json-schemas> . - Bolt now issues a warning when it detects unknown configuration options and prints the location of the unknown option. - The ApplyResult plan data type has a new value() function that returns a hash that includes the Puppet report from an apply block. You can learn more about the ApplyResult data type in our data type reference <https://puppet.com/docs/bolt/latest/bolt_types_reference.html#applyresult> and about apply blocks in applying Puppet code <https://puppet.com/docs/bolt/latest/applying_manifest_blocks.html>. 🔧 *bug fixes* - Targets that do not have a uri set in the inventory file can now use the apply() and get_resources() plan functions. Previously, if a target configured the host but not uri, calling either of these functions with the target would result in an error. - Bolt will now fall back to loading SSH configuration from the inventory file or for the logged in user if it is unable to load SSH configuration using the net-ssh Ruby library when using native-ssh. You can learn more about using native-ssh in our documentation <https://puppet.com/docs/bolt/latest/experimental_features.html#native-ssh-transport> . - Bolt now ships the puppetlabs/puppet_agent and puppetlabs/stdlib modules with their manifests/ directories, allowing you to use the manifests that are included in both modules. 🚨 *deprecations* With the new year fast approaching, the Bolt team is preparing to release the next major version of Bolt: Bolt 3.0! Starting with this release, we are beginning to issue warnings for deprecated features so you have plenty of time to update your projects before Bolt 3.0 is released. To read more about the planned changes and our reasoning for them, see the developer updates <https://puppet.com/docs/bolt/latest/developer_updates.html#changes-coming-in-bolt-30> . - The --boltdir command-line option has been deprecated. Users should use the --project command-line option instead. This option will be removed in Bolt 3.0. - The --configfile command-line option has been deprecated. This option will be removed in Bolt 3.0. - The --puppetfile command-line option has been deprecated. This option will be removed in Bolt 3.0. - The --description command-line option has been deprecated. This option will be removed in Bolt 3.0. - The inventoryfile configuration option has been deprecated. Users should use the --inventoryfile command-line option if they need to specify a non-default inventory file. This option will be removed in Bolt 3.0. - The plugin_hooks configuration option has been deprecated in favor of plugin-hooks. This option will be removed in Bolt 3.0. - The apply_settings configuration option has been deprecated in favor of apply-settings. This option will be removed in Bolt 3.0. VIEW FULL RELEASE NOTES <https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md> *in the works* - Work continues on improving Bolt's performance on Windows. - You will soon be able to cache plugin results for a specified amount of time, allowing you to reuse plugin results between multiple Bolt runs. If you use a plugin that takes some time to return a result, this can speed up Bolt runs dramatically. - Work continues on adding support for alternate Forges and proxies to the module management feature. *nuts and bolts* Each month, we'll highlight a different Bolt feature and cover the details of what it is, why you might want to use it, and how it can be used in your workflows. November's highlighted feature is: *YAML plans*! *What are YAML plans?* Like plans written in the Puppet language, YAML plans allow you to define workflows that include multiple tasks. However, YAML plans are much simpler in structure and do not require learning the Puppet language. YAML plans allow you to define a list of steps for Bolt to execute in order, such as executing a command, running a task, or applying resources to a Target. You can also define and use variables or evaluate Puppet code snippets as needed. Because YAML plans are simpler to write, they're a great way to quickly start defining workflows for your project. *When should I use YAML plans?* In general, if your plan only needs to define a simple workflow that does not require sophisticated control flow or error handling, then a YAML plan may be preferable to a Puppet language plan. YAML plans are simple to write and don't require any knowledge of the Puppet language, so they're also easier for users new to Bolt to understand. But don't worry if you start writing a YAML plan only to find that you need some features only available to Puppet language plans. Bolt has a built-in command that makes converting YAML plans to Puppet language plans easy. Simply run the bolt plan convert shell command or Convert-BoltPlan PowerShell cmdlet to convert an existing YAML plan. *How do I start writing a YAML plan?* The first thing you'll want to do is check out the documentation on writing plans in YAML <https://pup.pt/bolt-yaml-plans>. Once you know how to write a YAML plan, you can create a new plan in a module or in your project's plans directory. Bolt has a built-in command that you can use to quickly create a new YAML plan with the basic structure of the plan filled out for you. To create a new plan with Bolt, run the bolt plan new shell command or the New-BoltPlan PowerShell cmdlet. The command will create a new plan file in the plans directory of your project. Happy planning! VIEW THE DOCUMENTATION <http://pup.pt/bolt-yaml-plans> [image: Tw] <https://twitter.com/puppetize> [image: Yt] <https://www.youtube.com/channel/UCPfMWIY-qNbLhIrbZm2BFMQ> [image: In] <https://www.linkedin.com/company/puppet/> *Bolt Documentation <https://puppet.com/docs/bolt/latest/bolt.html>* -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAGdD-pWX7bNRoHhLE_LK2mYG_ftjEEvJO-%2B2TW7UL9MsCs5uig%40mail.gmail.com.