# `mix igniter.upgrade`
[🔗](https://github.com/ash-project/igniter/blob/v0.8.3/lib/mix/tasks/igniter.upgrade.ex#L5)

Fetch and upgrade dependencies. A drop in replacement for `mix deps.update` that also runs upgrade tasks.

Updates dependencies via `mix deps.update` and then runs any upgrade tasks for any changed dependencies.

By default, this task updates to the latest versions allowed by the `mix.exs` file, just like `mix deps.update`.

To upgrade a package to a specific version, you can specify the version after the package name,
separated by an `@` symbol. This allows upgrading beyond what your mix.exs file currently specifies,
i.e if you have `~> 1.0` in your mix.exs file, you can use `mix igniter.upgrade package@2.0` to
upgrade to version 2.0, which will update your `mix.exs` and run any equivalent upgraders.

## Limitations

The new version of the package must be "compile compatible" with your existing code. See the upgrades guide for more.

## Example

```bash
mix igniter.upgrade package1 package2@1.2.1
```

## Options

* `--yes` - Accept all changes automatically
* `--all` - Upgrades all dependencies
* `--except` - when used with `--all`, skips the given comma-separated dependencies. Can be provided multiple times.
* `--only` - only fetches dependencies for given environment
* `--verbose` - display additional output from various operations
* `--target` - only fetches dependencies for given target
* `--no-archives-check` - does not check archives before fetching deps
* `--git-ci` - Uses git history (HEAD~1) to check the previous versions in the lock file.
  See the upgrade guides for more. Sets --yes automatically.

# `igniter`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
