---
title: "FOSSA Product Updates: Announcing Our New and Improved CLI"
description: "Announcing FOSSA's revamped CLI that simplifies integrations with reduced configuration. Discover the new features and improvements."
canonical_url: "https://fossa.com/blog/product-updates-announcing-new-improved-cli/"
markdown_url: "https://fossa.com/blog/product-updates-announcing-new-improved-cli.md"
content_type: "blog"
language: "en"
date_published: "2021-11-15"
date_modified: "2021-11-15"
author: "Andy Drukarev"
organization: "FOSSA"
---

# FOSSA Product Updates: Announcing Our New and Improved CLI

> Announcing FOSSA's revamped CLI that simplifies integrations with reduced configuration. Discover the new features and improvements.

We are excited to announce the release of our revamped CLI! The new CLI will make FOSSA integrations easier to deploy by reducing the amount of configuration needed by users. This represents a major step in our journey to enabling turnkey deployment on as many build systems and codebases as possible.

In this blog, we’ll highlight some of the specific improvements and features you can expect with the new CLI.

## Improvements

### New Build Manager Support

Our new CLI has added support for the following build managers and languages:

- [Swift Package Manager (for Swift)](https://github.com/fossas/spectrometer/blob/master/docs/references/strategies/platforms/ios/swift.md)
- [Pub (for Flutter and Dart)](https://github.com/fossas/spectrometer/blob/master/docs/references/strategies/languages/dart/dart.md)
- [Poetry (for Python)](https://github.com/fossas/spectrometer/blob/master/docs/references/strategies/languages/python/python.md)
- [Mix (for Elixir)](https://github.com/fossas/spectrometer/blob/master/docs/references/strategies/languages/elixir/elixir.md)
- [Fortran Package Manager (for Fortran)](https://github.com/fossas/spectrometer/blob/master/docs/references/strategies/languages/fortran/fortran.md)

### Improved Accuracy

Analysis strategies have substantive improvements in correctness and reliability across all language integrations. The new version has much stronger compile-time correctness guarantees in its parsers.

### Stronger Debug Logging

Our new CLI has improved debug logging, including a new feature called "replay logging," which allows developers to perfectly reproduce a bug report given a replay log. This is made possible by stronger compile-time guarantees that ensure all effects that occur during analysis are logged for replay.

### Automatic Analysis Target Discovery

The new CLI now does automatic analysis target discovery when you run `fossa analyze` without requiring `fossa init`. The CLI now automatically selects the optimal strategy for analysis targets given the current environment (e.g., whether a build tool is available).

### New Fossa-Deps Configuration Support

When working with a package manager that is not supported, or when you have a custom and non-standard dependency management solution, we now support:

- License scanning vendor dependencies
- Analyzing archives that are located at a specific web address (e.g., [https://my-deps-source/v1.zip](https://my-deps-source/v1.zip))
- Manually specifying dependency by its name and license (e.g., my-custom-dep with [MIT License](https://fossa.com/blog/open-source-licenses-101-mit-license.md))
- Manually specifying dependency for analysis by its name and dependency type (e.g., pip dependency: request)

Please refer to [fossa-deps documentation](https://github.com/fossas/spectrometer/blob/master/docs/features/manual-dependencies.md) for more details.

## How to Upgrade to the New FOSSA CLI

### 1. Remove Calls to `fossa init`

Since analysis targets are now automatically discovered during analysis, `fossa init` is no longer a valid command. Instead, `fossa init` is currently a no-op that emits a warning. It may be removed in a future release.

### 2. Migrate Your `.fossa.yml` File

We've made major breaking changes in the `.fossa.yml` file format for the new CLI to improve clarity. Customers need to migrate their 1.x `.fossa.yml` to the new format (3.x) for their configurations to apply. `.fossa.yml` for 1.x will be ignored when running the CLI with version greater than 1.x. We determine whether a configuration file is compatible by examining its `version` field.

- `.fossa.yml` with version field value of 1 and 2 are for 1.x.
- `.fossa.yml` with version field value of 3 are for 3.x, and 2.x.

For documentation on the new configuration file format, [click here](https://github.com/fossas/spectrometer/blob/master/docs/references/files/fossa-yml.md).

### Migrate "Archive Upload" Targets

With the new CLI, archive uploads are no longer a special analysis target type. Instead, you can use our general support for [manually specified dependencies](https://github.com/fossas/spectrometer/blob/master/docs/features/manual-dependencies.md) to specify local dependencies.

## Getting Help with Your Migration

Information about breaking changes and deprecated commands can be found [here](https://github.com/fossas/spectrometer/blob/master/docs/differences-from-v1.md#breaking-changes-in-fossa-2x).

If you are integrating a private project and want to share more details, or if you're a FOSSA customer with priority support, you can also email support@fossa.com or file a ticket at [support.fossa.com](https://support.fossa.com/) for assistance.

## Related resources

- [FOSSA July 2019 Product Release Notes](https://fossa.com/blog/july-product-release-notes.md): Enhancements to the FOSSA CLI, Rust support, and improvements to on-prem deployment are highlighted in the FOSSA July 2019 product release notes.

## Source

Canonical page: https://fossa.com/blog/product-updates-announcing-new-improved-cli/
