-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
Describe the problem as clearly as you can
When running bundle outdated it shows the current and latest versions for any version outdated gem that's required based on your Gemfile. It doesn't actually show gems that are very old(outdated) and possibly unmaintained, such as rest-client rest-client/rest-client#764, which hasn't been updated in about 7 years(just an example). I understand that the outdated command currently checks if there's a new version for a gem based on the version number, this is just an idea to help with detecting unmaintained gems.
Post steps to reproduce the problem
source "https://rubygems.org"
gem "rest-client"bundle installWhich command did you run?
bundle outdated
$ bundle outdated
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Gem Current Latest Requested Groups
http-accept 1.7.0 2.2.1What were you expecting to happen?
bundle outdated
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Gem Current Latest Requested Groups Release Date
http-accept 1.7.0 2.2.1 2024-02-05
rest-client 2.1.0 2.1.0 2019-08-22Idea for solution
The RubyGems API returns the details for each version of a gem.
For the example with rest-client:
https://rubygems.org/api/v1/versions/rest-client.json
[
{
"authors": "REST Client Team",
"built_at": "2019-08-22T00:00:00.000Z",
"created_at": "2019-08-22T01:07:47.061Z",
"description": "A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.",
"downloads_count": 7016,
"metadata": {},
"number": "2.1.0",
"summary": "Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.",
"platform": "x86-mswin32",
"rubygems_version": ">= 0",
"ruby_version": ">= 2.0.0",
"prerelease": false,
"licenses": [
"MIT"
],
"requirements": [],
"sha": "a35a3bb8d16ca39d110a946a2c805267f98ce07a0ae890e4512a45eadea47a6e",
"spec_sha": "9c0b98543a802e9c23370448ba059be28334b02685e0c8bc8e63dcde90d01425"
}
]Upon fetching the versions for a gem, Bundler could then select the version that matches number and platform from your current dependency map, and then print the created/built_at datetime.
This might need to be enabled behind an option such as --release-date or something along those lines so it doesn't mess with anyone's current CI flows.