0.9.0 (2026-08-28)
The first release since 2020. Busser now runs on current Ruby, which is the main reason to take this version.
- Ruby 3.2 or newer is now required (#61)
- The CLI no longer crashes on startup on modern Ruby. thor 1.1 and newer are
required, because earlier versions reference
DidYouMean::SPELL_CHECKERS, which Ruby 3.1 removed (#54) base64is declared as a runtime dependency. It stopped being a default gem, sobusser deserializefailed to load on Ruby 3.4 and newer (#54)- A plugin installed at more than one version is no longer reported once per
version.
busser testran that plugin's suite repeatedly andbusser plugin listprinted it repeatedly (#64) busser deserializeverifies the md5 digest before writing. It previously checked afterwards, so a corrupted or truncated stream left the unverified file on disk with its requested permissions, even though the command failed (#64)
- Test suites run on Ruby 3.2 through 4.0 with minitest 6 and cucumber 11, and the cucumber suite moved to aruba 2 (#54, #60, #61)
- CI runs on pushes to main, uses a least privilege token, and pins the shared workflow to a release (#59)
- Releases are automated with release-please (#62)
- Rewritten README, and development documentation moved to CONTRIBUTING.md (#63)
0.9.2 (2026-08-28)
- quote the prepare.sh path before handing it to a shell (#73) (00a24a4)
- restore SSL verification if a plugin postinstall raises (#72) (7f26adb)
- stop
busser plugin listprinting git errors and a phantom plugin (#77) (7a99ebd) - tell Thor to exit non-zero when a command fails (#76) (218ba31)
0.9.1 (2026-08-28)
- generate a plugin project that resolves and builds (#68) (0c9a450)
- report signals and keep bundler out of the busser binstub (#66) (4fc9b35)
- Add http_proxy support to
busser plugin install - Use a SPDX compliant license string in the gemspec
- Remove the pin to bundler 1.x in the development gems
- Misc readme updates
- Add testing with Appveyor
- Pin the Aruba dev dep to prevent API churn
- Pull request #23: Dir.glob does not accept
/but on windows hosts uses/when joining path segments - expanding the path corrects this. (@tyler-ball)
- Pull request #20, issue #17: Better detection of failed forked subprocess in
#run_ruby_script!&#run!. (@fnichol, @tyler-ball, @tknerr)
- Add optional
--type batflag tobusser setupto support Windows platforms. (@fnichol)
- Simplify busser binstub for more conservative bourne shell support. (@fnichol)
- Pull request #15: Fix spelling in
busser test. (@obazoud)
- Issue #7: Ensure that Pathname is coerced to a String before calling Thor's #say. (@fnichol)
- Pull request #4, issue #3: /usr/bin/env sh shouldn't assume bourne shell. (@jtimberman)
- Pull request #5: Remove binstub before create. (@sawanoboly)
- Pull request #6: Support binstub on SmartOS. (@neuhalje)
- Ensure that the Busser binstub script is bourne shell safe. (@fnichol)
- Allow
busser setupbinstub script to honor gem sandboxing and a relocatable BUSSER_ROOT. (@fnichol) - TravisCI matrix build updates. (@fnichol)
- Add method to Drop SSL verify peer to VERIFY_NONE within a given block (see commit for explanation). (@fnichol)
- Add Busser::Helpers.install_gem. (@fnichol)
- Add Busser::UI.run_ruby_script! (dies on nonzero exit). (@fnichol)
- Add more cucumber steps for vendor paths. (@fnichol)
- If gem is installed but not on RubyGems, then pass #gem_installed?. (@fnichol)
- Add
busser plugin createcommand to help create new plugin gem projects. (@fnichol) - Add #chef_apply to Busser::Helpers; chef-apply inline baby! (@fnichol)
- Implement execution of prepare.sh/prepare_recipe.rb before suite test. (@fnichol)
- Add Busser::Helpers.vendor_path helper. (@fnichol)
- Add dummy runner internal plugin and skip on plugin install commands. (@fnichol)
- Add postinstall feature to runner plugins & add dummy runner plugin. (@fnichol)
- Move cucumber steps into lib/ for use by plugin authors. (@fnichol)
- Add
busser deserializecommand to accept streamed files. (@fnichol)
- Support installing plugins from local .gem files. (@fnichol)
- Initial release