VERSION 3.3.0

*in this release*

✨  *new features*

   - Do you need to connect to Linux containers? Bolt has a new lxd
   transport which can be used to connect to Linux containers and run actions
   on them. For more information on using this transport, see the experimental
   features
   
<https://puppet.com/docs/bolt/latest/experimental_features.html#lxd-transport>
    documentation.
   *This feature is experimental and might change between minor versions.*
   - Have a command or task that takes a long time to execute and want to
   see what's happening on the target? Bolt now supports streaming output from
   targets as actions are running. To learn how to stream output, check out
   the documentation
   
<https://puppet.com/docs/bolt/latest/experimental_features.html#streaming-output>
   .
   *This feature is experimental and might change between minor versions.*
   - YAML plan steps now support metaparameters as top-level step keys. For
   example, you can set a run-as user when running a command using the new
   run_as key. For a full list of YAML plan steps and supported keys,
see writing
   YAML plans
   <https://puppet.com/docs/bolt/latest/writing_yaml_plans.html#steps>.
   - Ever look at what plans are available in your project and wished that
   you could see each plan's description? You're in luck! Bolt now shows plan
   descriptions in bolt plan show and Get-BoltPlan output.
   - Running scripts from the command-line is easier than ever. Bolt now
   supports specifying a Puppet path (<MODULE>/<SCRIPT NAME>) to the bolt
   script run and Invoke-BoltScript commands.
   - If your workflow includes running PowerShell scripts, you can take
   advantage of the new pwsh_params option for the run_script plan
   function. This option accepts a hash of PowerShell script parameters and
   passes them to the script as named arguments. For more information,
see the run_script
   reference
   <https://puppet.com/docs/bolt/latest/plan_functions.html#run-script>.
   - Several of Bolt's bundled modules have been upgraded to their latest
   versions, which include new major versions that are not compatible with
   Puppet 5. For a full list of upgraded modules, check out the changelog
   
<https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md#bolt-330-2021-03-15>
   .
   - Bolt now reports whether a file path is an absolute path or a Puppet
   path for the run_script, file::read, and upload_file plan functions when
   it collects analytics. Bolt does not report the path itself. For more
   information about the analytics Bolt collects, check out the
   documentation <https://puppet.com/docs/bolt/latest/analytics.html>.

🔧  *bug fixes*

   - Plans that include parameter tags without a description no longer
   cause Bolt to error.
   - The plan step for YAML plans now correctly passes the targets key as
   the targets parameter to the plan.
   - YAML plans can now be tested with the BoltSpec library. For more
   information about testing plans with BoltSpec, see testing plans
   <https://puppet.com/docs/bolt/latest/testing_plans.html>.
   - Converting YAML plans that include an eval step with a null value no
   longer causes Bolt to error.
   - The bundled http_request task now correctly reads SSL key contents
   from the path passed to the key parameter.
   - The run-as configuration for the SSH transport is now supported when
   downloading files.
   - Bolt no longer prints a task's parameters to standard out (stdout)
   when running with tty set.


VIEW FULL RELEASE NOTES
<https://github.com/puppetlabs/bolt/blob/main/CHANGELOG.md#bolt-330-2021-03-15>

*in the works*

   - Performance improvements for Windows packages.
   - Support for connecting to remote LXD servers.
   - Showing merged output (stdout and stderr) when running commands and
   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 Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CAGdD-pU5UZ9hgLBatsoHvDZfOe%3D8q7zaw%3DK712s%2BNKsqc23D8Q%40mail.gmail.com.

Reply via email to