Omnibus v4.0.0.beta.1

Ohai Chefs!

I’m super excited to announce the first beta release of Omnibus 4! The Release Engineering team at Chef has been working on exciting new features and improvements for this major update to Omnibus. You can read the entire Changelog on GitHub, but here are some high-level new features/changes:

  • Removed FPM in favor of custom packagers
  • Added support for packager DSLs for further customization
  • Added the baseline for “compressor” objects, which may optionally be defined for a project (like tgz and dmg)
  • Added a new make DSL command which prefers gmake over make when present
  • Refactored many packagers (especially Windows) to be more flexible
  • Improved the generator to reduce the number of files create
  • Renamed files/assets to “resources”
  • Added the ability to load external software gems and paths in the Omnibus config
  • Removed a number of configuration options that are now DSL methods on packagers
  • Refactored logger objects to support additional logging levels for nicer output
  • Refactor fetcher objects to reduce complexity and add parallelized downloads
  • Only load required software definitions from disk
  • Improved error messages when a command fails
  • Drastically improved test coverage
  • Drastically improved both inline documentation (YARD is at 76%) and outline documentation (see doc/ folder on GitHub)

You can read more about any of these specific bullet points and many more changes in the Changelog published on GitHub Please note:

  • This is a beta release, so it may contain bugs. Please report bugs using the GitHub issue tracker.
  • This is a major version release. This means there are non-backwards-compatible API changes in the codebase!

Happy bussing!
Seth Vargo