VERSION 3.8.1 *in this release*
🔧 *bug fixes* - The apply_prep plan function now supports the _run_as option. To learn more about this plan function, see the plan functions reference page <https://puppet.com/docs/bolt/latest/plan_functions.html#apply-prep>. - Bolt no longer stack traces when the controller does not have a home directory. Previously, Bolt would stack trace when running bolt help or bolt --help for the first time if there was no home directory for the logged-in user. - The file::exists, file::read, and file::readable plan functions no longer error when invoked outside of apply blocks when the future configuration option is not set. 📚 *documentation* - Bolt's JSON format is now documented. Check it out here <https://puppet.com/docs/bolt/latest/json_output_reference.html>. VIEW FULL RELEASE NOTES <https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md#bolt-381-2021-05-17> *in the works* - Improvements to parallelism in plans, including new background and wait functions. - Support for running plans in no-operation mode. - Support for looking up Hiera data using the plan_hierarchy key with the bolt lookup command. *nuts and bolts* Each month, 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. May's highlighted feature is: *scripts*! *What is a script?* A script is a list of commands that are executed by a certain program or scripting engine. Scripts may be used to automate processes. Script files are usually just text documents that contain instructions written in a certain scripting language. When opened by the appropriate scripting engine, the commands within the script are executed. Bolt can execute scripts either on the command line or from a Bolt plan using the run_script() function. *How is a script different from a task?* Bolt tasks are similar to scripts, but they are kept in modules and optionally have a defined API for input into the task and output from the task. This allows you to reuse and share them, and interact with them programmatically more easily. Using the API capabilities of tasks requires adding a JSON metadata file next to the task, which oftentimes is unnecessary work for users who simply want to run a script. VIEW THE DOCUMENTATION <https://puppet.com/docs/bolt/latest/running_bolt_commands.html#run-a-script> [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-pXL4cq2_J_urbArqHfAb_XD2LyhSucRdEddV3E-UXXpLQ%40mail.gmail.com.