VERSION 2.23.0

*in this release*

✨  *new features*

   - The out::message plan function is now more flexible and can be used to
   print any valid data type. A data type that is a plan result
   
<https://puppet.com/docs/bolt/latest/writing_plans.html#returning-results-from-plans>
will
   be pretty-printed, while all other data types will be stringified. To learn
   more about the out::message plan function, see Bolt functions
   <https://puppet.com/docs/bolt/latest/plan_functions.html#outmessage>.
   - Now that Bolt projects are stable, the bolt project init and
   New-BoltProject commands have been updated to create a
   bolt-project.yaml file. The commands take an optional argument that can
   be used to give your project a name. If a name is not provided, Bolt will
   automatically give your project the same name as the project directory. To
   learn more about Bolt projects, see Bolt projects
   <https://puppet.com/docs/bolt/latest/projects.html>.
   - The ctrl::do_until plan function now accepts an interval option. This
   option is used to specify the number of seconds to wait before repeating
   the block of code. To learn more about using the ctrl::do_until plan
   function, see Bolt functions
   <https://puppet.com/docs/bolt/latest/plan_functions.html#outmessage>.

🔧  *bug fixes*

   - Bolt now correctly shows the user-configured modulepath when showing
   task and plan information. Previously, if the user-configured modulepath
   included the path to Bolt's bundled modules, the displayed modulepath would
   be incorrect.
   - The YAML plan message step now correctly handles non-string data
   types. Previously, if the message step received an enumerable data type,
   such as an array or hash, it would cause Bolt to raise an error.
   - Bolt will no longer error when a user's analytics configuration file
   is empty and will write a new analytics configuration file instead.
   Previously, if the file was empty Bolt would raise an obscure
   NoMethodError.

SEE THE FULL RELEASE NOTES
<https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md>

*in the works*

   - In an effort to make it easier to debug when using Bolt content, we
   are developing a default debug log that will be written to each time Bolt
   runs. As part of this effort, we are also auditing the log messages that
   Bolt writes to determine which messages to keep and which levels to log
   them at, with the intent of making it easier to find the information you
   need and to provide more helpful contextual messages on what Bolt is doing.
   - Work has started on understanding the source of performance issues
   when running Bolt on Windows and macOS, and the different solutions we can
   implement to help improve performance.
   - The bolt project migrate command is being reworked so it's easier for
   users with existing project directories to start using Bolt projects.
   - We are continuing to rework our documentation to be clearer and more
   detailed. In the short-term, we'll be working on the information
   architecture for our documentation, including the hierarchy of the
   documentation navigation.

*nuts and bolts*

Each week, we'll highlight a different Bolt feature and cover the details
on what it is, why you might want to use it, and how it can be used in your
workflows.

This week's highlighted feature is: *Bolt projects*!

*What is a Bolt project?*

A Bolt project is a directory that serves as the launching point for Bolt
and allows you to create a shareable orchestration application that members
of your team can quickly start using. Bolt projects contain all of the
configuration and content relevant to your project, including the inventory
file and content such as tasks and plans.


*Why should I use a Bolt project?*

Bolt projects make it easier to manage your Bolt project and can be
utilized by other tools that use Bolt content. Additionally, Bolt projects
enable several features that benefit both project authors and project
consumers.


   - *Content allowlists*
   Project authors can specify an allowlist for both tasks and plans in
   their project's configuration, limiting which tasks and plans appear in the
   user interface.

   - *Project-level content*
   Project authors can quickly develop Bolt and Puppet content in the
   project directory without the need to create a module, speeding up the
   process of writing new tasks, plans, and manifests.

   -
*Generate new plans *Projects enable the bolt plan new command, which will
   create a new plan in the project's plans directory.


*How do I create a Bolt project?*

To create a new Bolt project, all you need to do is create a file named
bolt-project.yaml in your project directory and give your project a name by
setting the name key in the file.

You can also have Bolt create a Bolt project for you by running the
bolt project init command in Unix shells or the New-BoltProject  command in
PowerShell.

SEE THE DOCUMENTATION
<https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md>
[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-pXUOUt%2BuU%3DFv9fwSDe4FPqbzfT8nzDJXgrJfcmAbcrixA%40mail.gmail.com.

Reply via email to