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.

Reply via email to