Skip to content

2.1.0

Compare
Choose a tag to compare
@mskelton mskelton released this 30 Aug 04:03
· 64 commits to main since this release
07d0285

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.