bundler-audit v0.8.0 Release Notes

Release Date: 2021-03-10 // 8 months ago
    • ๐Ÿ’Ž No longer vendor [ruby-advisory-db].
    • โž• Added {Bundler::Audit::Configuration}.
      • Supports loading YAML configuration data from a .bundler-audit.yml file.
    • โž• Added {Bundler::Audit::Results}.
    • โž• Added {Bundler::Audit::Report}.
    • โž• Added {Bundler::Audit::CLI::Formats}.
    • โž• Added {Bundler::Audit::CLI::Formats::Text}.
    • โž• Added {Bundler::Audit::CLI::Formats::JSON}.
    • โž• Added {Bundler::Audit::Database::DEFAULT_PATH}.
    • โž• Added {Bundler::Audit::Database.exists?}.
    • โž• Added {Bundler::Audit::Database#git?}.
    • โž• Added {Bundler::Audit::Database#update!}.
      • Will raise a {Bundler::Audit::Database::UpdateFailed UpdateFailed} exception, if the git pull command fails.
    • โšก๏ธ Added {Bundler::Audit::Database#last_updated_at}.
    • โž• Added {Bundler::Audit::Scanner#report}.
    • {Bundler::Audit::Database::USER_PATH} is now Gem.user_home aware.
      • Gem.user_home will try to infer HOME, even if it is not set.
    • {Bundler::Audit::Database#download} will now raise a {Bundler::Audit::Database::DownloadFailed DownloadFailed} exception, if the git clone command fails.
    • {Bundler::Audit::Scanner#initialize}:
      • Now accepts an additional database and config_dot_file arguments.
      • Will now raise a Bundler::GemfileLockNotFound exception, if the given Gemfile.lock file cannot be found.
    • {Bundler::Audit::Scanner#scan_sources} will now ignore any source with a 127.0.0.0/8 or ::1/128 IP address.
    • {Bundler::Audit::Scanner#scan_specs} will ignore any advisories listed in {Bundler::Audit::Configuration#ignore}, which is loaded from the .bundler-audit.yml file.
    • โšก๏ธ Deprecated {Bundler::Audit::Database.update!} in favor of {Bundler::Audit::Database#update! #update!}.
    • โœ‚ Removed Bundler::Audit::Database::VENDORED_PATH.
    • โœ‚ Removed Bundler::Audit::Database::VENDORED_TIMESTAMP.

    CLI

    • Require [thor] ~> 1.0.
    • โž• Added bundler-audit stats.
    • โž• Added bundler-audit download.
    • bundler-audit check:
      • Now accepts a optional DIR argument for the project directory.
      • bundler-audit check will now print an explicit error message and exit, if the given DIR does not exist.
      • Will now auto-download [ruby-advisory-db] to ensure the latest advisory information is used on first run.
      • Now supports a --database option for specifying a path to an alternative [ruby-advisory-db] copy.
      • Now supports a --gemfile-lock option for specifying a custom Gemfile.lock file within the project directory.
      • Now supports a --format option for specifying the desired format. text and json are supported, but other custom formats can be loaded. See {Bundler::Audit::CLI::Formats}.
      • Now supports a --output option for writing the report output to a file.
      • Prints both CVE and GHSA IDs.
    • ๐Ÿ–จ Print all error messages to stderr.
    • ๐Ÿ–จ No longer print number of advisories in bundler-audit version.

Previous changes from v0.7.0

    • Require [thor] >= 0.18, < 2.
    • โž• Added {Bundler::Audit::Advisory#ghsa} (@rschultheis).
    • โž• Added {Bundler::Audit::Advisory#cvss_v3} (@ahamlin-nr).
    • โž• Added {Bundler::Audit::Advisory#identifiers} (@rschultheis).
    • ๐Ÿš‘ Updated {Bundler::Audit::Advisory#criticality} ranges (@reedloden).
    • โšก๏ธ Avoid rebasing the ruby-advisory-db when updating (@nicknovitski).
    • ๐Ÿ›  Fixed issue with Bundler 2.x where source URIs are no longer parsed as URI::HTTP objects, but as Bundler::URI::HTTP objects. (@milgner)
    • โšก๏ธ Make it more explicit that git is required for database updates (@fatkodima)