Skip to content

Releases: mskelton/yarn-plugin-outdated

v3.0.1

31 May 15:30
8e041f9
Compare
Choose a tag to compare

What's Changed

  • Fix diff colors when using the --range flag by @mskelton in #67

Full Changelog: v3...v3.0.1

v3.0.0

26 May 04:02
a25aa80
Compare
Choose a tag to compare

It's been a while since we've had a release, but hold on to your seats because this release is packed with new features and improvements!

Improved workspace filtering

Previously, there was the option to include only the current workspace using the --workspace flag. This suited most use cases, but we've greatly improved this flag with support for workspace filtering. You can now filter workspaces by name or path using glob patterns!

yarn outdated --workspace 'packages/*'
yarn outdated --workspace package-a

You can also include multiple filters if you'd like!

yarn outdated --workspace test --workspace 'packages/*'

Note, the --workspace option can no longer be called without an argument. To include the current workspace, simply add a period as the argument.

yarn outdated .

New --range flag

Previously, only the latest version of dependencies was included in the output. While this remains the default for simplicity and performance, we've added a brand new --range flag which will also include the latest version that satisfies the range specified in your manifest file.

For example if you have "glob": "^7.2.0" in your manifest, the output with this flag might look something like this.

➤ YN0000: Package   Current   Range   Latest   Package Type
➤ YN0000: glob      7.2.0     7.2.3   8.0.3    devDependencies

Expanded documentation

The docs for this plugin have always been a bit lacking. Good news, all options now have detailed documentation in the readme with usage examples!

Allow multiple severity filters

Previously, the --severity flag could only be specified once. You can now specify it multiple times to support more use cases that we heard from the community. For example, to include all non-major version updates, you can use the following command.

yarn outdated --severity patch --severity minor

If your shell supports bracket expansion (most do), this command could be simplified a bit.

yarn outdated --severity={patch,minor}

Full Changelog: v2...v3.0.0

v2.4.0

27 Feb 14:38
e06fa60
Compare
Choose a tag to compare

With February coming to a close and spring right around the corner, it's time for another release!

GitHub sponsors

If you love this plugin and would like to give back to help me maintain this project and my other open source projects, I'd greatly appreciate your sponsorship! This repository now supports sponsorships through GitHub sponsors!

All workspaces by default

This release changes the behavior of this plugin with workspaces. Previously, it would only look for outdated dependencies in the current workspace. While less noisy, it made it much easier to miss dependencies in other workspaces that might be outdated. As such, this release now will include outdated dependencies from all workspaces by default.

You can disable this behavior using the --workspace flag (-w for short).

yarn outdated -w

Now that this is the default, the --all flag (-a for short) has been removed.

Fixed 0.x severity detection and colors

This release fixes an issue where the severity was not properly set for 0.x versions. Per the semver spec, version 0.x should not be considered stable and thus every new version should be considered a major change. The plugin now reflects this by always marking packages in the 0.x range as major changes.

Thanks to @Semigradsky for finding this bug!


Full Changelog: v2.3.0...v2.4.0

2.3.0

01 Dec 03:52
ceb81bb
Compare
Choose a tag to compare

It's been a while since we released some changes, but we've got a few quick updates to send out.

Patch protocol support!

Thanks to the suggestion by @alamothe we now support outdated checks for packages using the patch: protocol! If you aren't familiar with the patch: protocol, check out the Yarn docs for it.

Yarn 2 install instructions

While this plugin is only compatible with Yarn 3 at this point, we've added a section to the README to help you install the last version of this plugin that was compatible with Yarn 2 if your projects are still using Yarn 2. Hope this helps you during migration towards Yarn 3 and thanks for the suggestion @joshuapinter!

2.2.0

29 Sep 15:44
65f871c
Compare
Choose a tag to compare

Are you ready for new features? If so, you are in good company! This release brings two new filtering options to allow you to filter by dependency type and severity. Let's take a look at each of these new options:

Dependency type filtering

You can now filter the results of the outdated command to only include dependencies of a specific type. For example, if you only want to check for outdated devDependencies you could do that like so.

yarn outdated --type devDependencies
yarn outdated -t devDependencies # shorthand

Severity filtering

In addition to dependency type filtering, you can also filter by update severity. This can be handy if you only want to view packages that have major updates available.

yarn outdated --severity major
yarn outdated -s major # shorthand

Severity in JSON results

With the addition of the --severity filter, we've also updated the JSON output to include a severity field to allow you to quickly identify the severity of the update for a package.

{
  "current": "1.0.0",
  "latest": "1.1.0",
  "name": "package-a",
+ "severity": "minor",
  "type": "devDependencies"
}

2.1.2

22 Sep 21:32
935beda
Compare
Choose a tag to compare

This version fixes a bug where pre-release versions greater than the latest version would be marked as outdated. Sometimes it's nice living on the bleeding edge! ⛰️

2.1.1

30 Aug 15:18
Compare
Choose a tag to compare

This version fixes a bug where protocols such as workspace: would attempt to calculate outdated dependencies. This is not valid in most circumstances, so the plugin was updated to ignore all protocols except the npm: protocol.

2.1.0

30 Aug 04:03
07d0285
Compare
Choose a tag to compare

With the release of Yarn 3 not long behind us, I'm excited to introduce version 2.1.0 of the outdated plugin which adds lockfile aware version comparison, URLs in output, and fixes a number of annoying bugs.

TLDR

Don't want to bother with release notes? You can update your project to version 2.1.0 today using the following command.

yarn plugin import https://github.com/mskelton/yarn-plugin-outdated/raw/v2.1.0/bundles/@yarnpkg/plugin-outdated.js

Lockfile aware version comparison

In previous versions of the plugin, the current version of dependencies would be retrieved from the manifest (package.json file). While this worked well in many cases, using semver ranges that include a caret or tilde could result in a dependency having a newer version in the lockfile than in the manifest. This lead to confusing behavior where dependencies were marked as outdated even though they were actually updated. This problem became more of an issue in Yarn 3 with the addition of the --recursive flag for yarn up which will update dependencies in the lockfile without changing the manifest version.

With this release, we will now use the version information from your lockfile to determine outdated dependencies rather than the manifest versions. This should result in a more correct result of outdated dependencies.

URLs in output

In the Yarn 1 outdated command, package homepage URLs were printing in the output to make it easy to view more information about a given package. If you've been missing that feature, it's back! Simply add the --url flag to the outdated command to get URL information in the results.

yarn outdated --url

Bug squashing and maintenance

We've squashed a couple other small bugs in this release.

  • The name of aliased dependencies (e.g. "old-eslint": "npm:eslint@1.0.0") is now properly printed in the output.
  • Dependencies which are workspaces in the current project are now ignored. This fixes an issue where private workspaces that are not published would cause the outdated command to break.

In addition to these bugs, we've completely revamped out test suite to be more sustainable and to require much less mocking giving us better confidence when shipping new features.

2.0.0

26 Aug 03:31
a50c09d
Compare
Choose a tag to compare

Support for Yarn 3! 🎉 🚀

After some struggles with a Yarn bug, we are happy to release version 2 of this plugin which is built for Yarn 3+! To upgrade, run the following command in your project.

yarn plugin import https://github.com/mskelton/yarn-plugin-outdated/raw/v2.0.0/bundles/@yarnpkg/plugin-outdated.js

Note: version 2 of this plugin is NOT compatible with Yarn 2. If you are still using Yarn 2, continue to use version 1.2.0.

1.2.0

13 Jul 15:12
ef93016
Compare
Choose a tag to compare

This release brings two new features to the outdated plugin!

Outdated dependency count

Screen Shot 2021-07-13 at 10 11 21 AM

New --check flag

This release also adds a new --check flag (shorthand -c) which will cause the command to fail with an exit code of 1 if there are outdated dependencies. This is useful when checking for outdated dependencies in CI environments.

yarn outdated --check

Screen Shot 2021-07-13 at 10 12 17 AM