Releases: mskelton/yarn-plugin-outdated
v3.0.2
v3.0.1
v3.0.0
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
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
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
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
2.1.1
2.1.0
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
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.