VERSION 3.5.0 *in this release*
✨ *new features* - Plans that use the run_task_with() plan function can now be tested with BoltSpec. For more information about testing your plans with Bolt's built-in testing library, see testing plans <https://puppet.com/docs/bolt/latest/testing_plans.html>. - You can now run Docker containers as a step in your plan using the new run_container() plan function. This function runs a Docker container with an optional command and returns its output. To learn more about using this new function, see the documentation <https://puppet.com/docs/bolt/latest/experimental_features.html#run_container-plan-step>. *This feature is experimental and is subject to change between releases.* - The following bundled modules have been updated to their latest versions: - puppetlabs-aws_inventory <https://forge.puppet.com/puppetlabs/aws_inventory/0.7.0> - puppetlabs-gcloud_inventory <https://forge.puppet.com/puppetlabs/gcloud_inventory/0.3.0> 🔧 *bug fixes* - Bolt no longer warns about the plugin_hooks and version options being unknown options in an inventory file. 🚨 *deprecations* - Using dotted fact names in Bolt is now deprecated. For more information, see the related developer update <https://puppet.com/docs/bolt/latest/developer_updates.html#deprecating-dotted-fact-names> . VIEW FULL RELEASE NOTES <https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md#bolt-350-2021-03-29> *in the works* - Performance improvements for Windows packages - Shipping the PuppetBolt PowerShell module to the PowerShell Gallery - Improvements to running scripts *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. March's highlighted feature is: *BoltSpec*! *What is BoltSpec?* BoltSpec is a library of helpers that ships with Bolt. It is intended to be used with RSpec, a testing tool, to write unit tests for your plans. Specifically, BoltSpec's helpers let you test the behavior of your plans without the need to connect to targets. *Why should I use BoltSpec?* Because plans can include complex logic that automates different jobs, it's important to test that the plan behaves as you expect. BoltSpec lets you easily write tests for your plans so you can test their behavior in development and catch any errors before your plans are used in production. Also, because BoltSpec stubs out Bolt functions that connect to targets, you don't need to worry about provisioning containers or VMs to run these tests. *How do I use BoltSpec?* Using BoltSpec is as easy as installing and configuring rspec-puppet for your module or project, and then adding a couple lines to your tests' configuration file. If you already develop Puppet modules using the Puppet Development Kit (PDK), then most of this is already done for you. Going over all the details of using BoltSpec to test your plans is a little much for an email. So if you're interested in testing your plans, why not check out our new Testing Plans <https://puppet.com/docs/bolt/latest/testing_plans.html> documentation? VIEW THE DOCUMENTATION <https://puppet.com/docs/bolt/latest/testing_plans.html> [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-pXhyYNJu9Faf7jWXqbr6fHnbZpk__DCr0vP2bhxLidW4g%40mail.gmail.com.