$ pub outdated --json
{
  "packages": [
    {
      "package": "builder",
      "current": {
        "version": "1.2.3"
      },
      "upgradable": {
        "version": "1.3.0"
      },
      "resolvable": {
        "version": "2.0.0"
      },
      "latest": {
        "version": "2.0.0"
      }
    },
    {
      "package": "dev_trans",
      "current": {
        "version": "1.0.0"
      },
      "upgradable": null,
      "resolvable": {
        "version": "1.0.0"
      },
      "latest": {
        "version": "2.0.0"
      }
    },
    {
      "package": "foo",
      "current": {
        "version": "1.2.3"
      },
      "upgradable": {
        "version": "1.3.0"
      },
      "resolvable": {
        "version": "2.0.0"
      },
      "latest": {
        "version": "3.0.0"
      }
    },
    {
      "package": "transitive",
      "current": {
        "version": "1.2.3"
      },
      "upgradable": {
        "version": "1.3.0"
      },
      "resolvable": {
        "version": "1.3.0"
      },
      "latest": {
        "version": "2.0.0"
      }
    },
    {
      "package": "transitive2",
      "current": null,
      "upgradable": null,
      "resolvable": {
        "version": "1.0.0"
      },
      "latest": {
        "version": "1.0.0"
      }
    },
    {
      "package": "transitive3",
      "current": null,
      "upgradable": null,
      "resolvable": {
        "version": "1.0.0"
      },
      "latest": {
        "version": "1.0.0"
      }
    }
  ]
}

$ pub outdated --no-color
Showing outdated packages.
[*] indicates versions that are not the latest available.

Package Name  Current  Upgradable  Resolvable  Latest  

direct dependencies:
foo           *1.2.3   *1.3.0      *2.0.0      3.0.0   

dev_dependencies:
builder       *1.2.3   *1.3.0      2.0.0       2.0.0   

transitive dependencies:
transitive    *1.2.3   *1.3.0      *1.3.0      2.0.0   
transitive2   -        -           1.0.0       1.0.0   

transitive dev_dependencies:
dev_trans     *1.0.0   -           *1.0.0      2.0.0   
transitive3   -        -           1.0.0       1.0.0   

3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

3  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.

$ pub outdated --no-color --no-transitive
Showing outdated packages.
[*] indicates versions that are not the latest available.

Package Name  Current  Upgradable  Resolvable  Latest  

direct dependencies:
foo           *1.2.3   *1.3.0      *2.0.0      3.0.0   

dev_dependencies:
builder       *1.2.3   *1.3.0      2.0.0       2.0.0   

2 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

2  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.

$ pub outdated --no-color --up-to-date
Showing outdated packages.
[*] indicates versions that are not the latest available.

Package Name   Current  Upgradable  Resolvable  Latest  

direct dependencies:
bar            1.0.0    1.0.0       1.0.0       1.0.0   
foo            *1.2.3   *1.3.0      *2.0.0      3.0.0   
local_package  0.0.1    0.0.1       0.0.1       0.0.1   

dev_dependencies:
builder        *1.2.3   *1.3.0      2.0.0       2.0.0   

transitive dependencies:
transitive     *1.2.3   *1.3.0      *1.3.0      2.0.0   
transitive2    -        -           1.0.0       1.0.0   

transitive dev_dependencies:
dev_trans      *1.0.0   -           *1.0.0      2.0.0   
transitive3    -        -           1.0.0       1.0.0   

3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

3  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.

$ pub outdated --no-color --prereleases
Showing outdated packages.
[*] indicates versions that are not the latest available.

Package Name  Current  Upgradable  Resolvable  Latest       

direct dependencies:
foo           *1.2.3   *1.3.0      *2.0.0      3.0.0        

dev_dependencies:
builder       *1.2.3   *1.3.0      *2.0.0      3.0.0-alpha  

transitive dependencies:
transitive    *1.2.3   *1.3.0      *1.3.0      2.0.0        
transitive2   -        -           1.0.0       1.0.0        

transitive dev_dependencies:
dev_trans     *1.0.0   -           *1.0.0      2.0.0        
transitive3   -        -           1.0.0       1.0.0        

3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

3  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.

$ pub outdated --no-color --no-dev-dependencies
Showing outdated packages.
[*] indicates versions that are not the latest available.

Package Name  Current  Upgradable  Resolvable  Latest  

direct dependencies:
foo           *1.2.3   *1.3.0      3.0.0       3.0.0   

transitive dependencies:
transitive    *1.2.3   2.0.0       2.0.0       2.0.0   

2 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

1 dependency is constrained to a version that is older than a resolvable version.
To update it, edit pubspec.yaml.

$ pub outdated --no-color --no-dependency-overrides
Showing outdated packages.
[*] indicates versions that are not the latest available.

Package Name  Current  Upgradable  Resolvable  Latest  

direct dependencies:
foo           *1.2.3   *1.3.0      *2.0.0      3.0.0   

dev_dependencies:
builder       *1.2.3   *1.3.0      2.0.0       2.0.0   

transitive dependencies:
transitive    *1.2.3   *1.3.0      *1.3.0      2.0.0   
transitive2   -        -           1.0.0       1.0.0   

transitive dev_dependencies:
dev_trans     *1.0.0   -           *1.0.0      2.0.0   
transitive3   -        -           1.0.0       1.0.0   

3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

3  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.

$ pub outdated --no-color --mode=null-safety
Showing dependencies that are currently not opted in to null-safety.
[✗] indicates versions without null safety support.
[✓] indicates versions opting in to null safety.

Package Name   Current  Upgradable  Resolvable  Latest        

direct dependencies:
bar            ✗1.0.0   ✗1.0.0      ✗1.0.0      ✗1.0.0        
foo            ✗1.2.3   ✗1.3.0      ✗2.0.0      ✗3.0.0        
local_package  ✗0.0.1   ✗0.0.1      ✗0.0.1      ✗0.0.1        

dev_dependencies:
builder        ✗1.2.3   ✗1.3.0      ✗2.0.0      ✗3.0.0-alpha  

2 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

2  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.

$ pub outdated --no-color --mode=null-safety --transitive
Showing dependencies that are currently not opted in to null-safety.
[✗] indicates versions without null safety support.
[✓] indicates versions opting in to null safety.

Package Name   Current  Upgradable  Resolvable  Latest        

direct dependencies:
bar            ✗1.0.0   ✗1.0.0      ✗1.0.0      ✗1.0.0        
foo            ✗1.2.3   ✗1.3.0      ✗2.0.0      ✗3.0.0        
local_package  ✗0.0.1   ✗0.0.1      ✗0.0.1      ✗0.0.1        

dev_dependencies:
builder        ✗1.2.3   ✗1.3.0      ✗2.0.0      ✗3.0.0-alpha  

transitive dependencies:
transitive     ✗1.2.3   ✗1.3.0      ✗1.3.0      ✗2.0.0        
transitive2    -        -           ✗1.0.0      ✗1.0.0        

transitive dev_dependencies:
dev_trans      ✗1.0.0   -           ✗1.0.0      ✗2.0.0        
transitive3    -        -           ✗1.0.0      ✗1.0.0        

3 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

3  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.

$ pub outdated --no-color --mode=null-safety --no-prereleases
Showing dependencies that are currently not opted in to null-safety.
[✗] indicates versions without null safety support.
[✓] indicates versions opting in to null safety.

Package Name   Current  Upgradable  Resolvable  Latest  

direct dependencies:
bar            ✗1.0.0   ✗1.0.0      ✗1.0.0      ✗1.0.0  
foo            ✗1.2.3   ✗1.3.0      ✗2.0.0      ✗3.0.0  
local_package  ✗0.0.1   ✗0.0.1      ✗0.0.1      ✗0.0.1  

dev_dependencies:
builder        ✗1.2.3   ✗1.3.0      ✗2.0.0      ✗2.0.0  

2 upgradable dependencies are locked (in pubspec.lock) to older versions.
To update these dependencies, use `pub upgrade`.

2  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, edit pubspec.yaml.

$ pub outdated --json --mode=null-safety
{
  "packages": [
    {
      "package": "bar",
      "current": {
        "version": "1.0.0",
        "nullSafety": false
      },
      "upgradable": {
        "version": "1.0.0",
        "nullSafety": false
      },
      "resolvable": {
        "version": "1.0.0",
        "nullSafety": false
      },
      "latest": {
        "version": "1.0.0",
        "nullSafety": false
      }
    },
    {
      "package": "builder",
      "current": {
        "version": "1.2.3",
        "nullSafety": false
      },
      "upgradable": {
        "version": "1.3.0",
        "nullSafety": false
      },
      "resolvable": {
        "version": "2.0.0",
        "nullSafety": false
      },
      "latest": {
        "version": "3.0.0-alpha",
        "nullSafety": false
      }
    },
    {
      "package": "dev_trans",
      "current": {
        "version": "1.0.0",
        "nullSafety": false
      },
      "upgradable": null,
      "resolvable": {
        "version": "1.0.0",
        "nullSafety": false
      },
      "latest": {
        "version": "2.0.0",
        "nullSafety": false
      }
    },
    {
      "package": "foo",
      "current": {
        "version": "1.2.3",
        "nullSafety": false
      },
      "upgradable": {
        "version": "1.3.0",
        "nullSafety": false
      },
      "resolvable": {
        "version": "2.0.0",
        "nullSafety": false
      },
      "latest": {
        "version": "3.0.0",
        "nullSafety": false
      }
    },
    {
      "package": "local_package",
      "current": {
        "version": "0.0.1",
        "nullSafety": false
      },
      "upgradable": {
        "version": "0.0.1",
        "nullSafety": false
      },
      "resolvable": {
        "version": "0.0.1",
        "nullSafety": false
      },
      "latest": {
        "version": "0.0.1",
        "nullSafety": false
      }
    },
    {
      "package": "transitive",
      "current": {
        "version": "1.2.3",
        "nullSafety": false
      },
      "upgradable": {
        "version": "1.3.0",
        "nullSafety": false
      },
      "resolvable": {
        "version": "1.3.0",
        "nullSafety": false
      },
      "latest": {
        "version": "2.0.0",
        "nullSafety": false
      }
    },
    {
      "package": "transitive2",
      "current": null,
      "upgradable": null,
      "resolvable": {
        "version": "1.0.0",
        "nullSafety": false
      },
      "latest": {
        "version": "1.0.0",
        "nullSafety": false
      }
    },
    {
      "package": "transitive3",
      "current": null,
      "upgradable": null,
      "resolvable": {
        "version": "1.0.0",
        "nullSafety": false
      },
      "latest": {
        "version": "1.0.0",
        "nullSafety": false
      }
    }
  ]
}

$ pub outdated --json --no-dev-dependencies
{
  "packages": [
    {
      "package": "foo",
      "current": {
        "version": "1.2.3"
      },
      "upgradable": {
        "version": "1.3.0"
      },
      "resolvable": {
        "version": "3.0.0"
      },
      "latest": {
        "version": "3.0.0"
      }
    },
    {
      "package": "transitive",
      "current": {
        "version": "1.2.3"
      },
      "upgradable": {
        "version": "2.0.0"
      },
      "resolvable": {
        "version": "2.0.0"
      },
      "latest": {
        "version": "2.0.0"
      }
    }
  ]
}

