$ pub outdated --json
{
  "packages": [
    {
      "package": "foo",
      "current": {
        "version": "1.0.0-dev.1"
      },
      "upgradable": {
        "version": "1.0.0-dev.1"
      },
      "resolvable": {
        "version": "1.0.0-dev.2"
      },
      "latest": {
        "version": "1.0.0-dev.2"
      }
    },
    {
      "package": "mop",
      "current": {
        "version": "0.10.0-dev"
      },
      "upgradable": {
        "version": "0.10.0-dev"
      },
      "resolvable": {
        "version": "0.10.0"
      },
      "latest": {
        "version": "0.10.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.0.0-dev.1  *1.0.0-dev.1  1.0.0-dev.2  1.0.0-dev.2  
mop           *0.10.0-dev   *0.10.0-dev   0.10.0       0.10.0       

2  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.0.0-dev.1  *1.0.0-dev.1  1.0.0-dev.2  1.0.0-dev.2  
mop           *0.10.0-dev   *0.10.0-dev   0.10.0       0.10.0       

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           0.9.0         0.9.0         0.9.0        0.9.0        
foo           *1.0.0-dev.1  *1.0.0-dev.1  1.0.0-dev.2  1.0.0-dev.2  
mop           *0.10.0-dev   *0.10.0-dev   0.10.0       0.10.0       

2  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:
bar           *0.9.0        *0.9.0        *0.9.0       1.0.0-dev.2  
foo           *1.0.0-dev.1  *1.0.0-dev.1  1.0.0-dev.2  1.0.0-dev.2  
mop           *0.10.0-dev   *0.10.0-dev   *0.10.0      1.0.0-dev    

2  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.0.0-dev.1  *1.0.0-dev.1  1.0.0-dev.2  1.0.0-dev.2  
mop           *0.10.0-dev   *0.10.0-dev   0.10.0       0.10.0       

2  dependencies are constrained to versions that are older than a resolvable version.
To update these dependencies, 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.0.0-dev.1  *1.0.0-dev.1  1.0.0-dev.2  1.0.0-dev.2  
mop           *0.10.0-dev   *0.10.0-dev   0.10.0       0.10.0       

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
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           ✗0.9.0        ✗0.9.0        ✗0.9.0        ✗1.0.0-dev.2  
foo           ✗1.0.0-dev.1  ✗1.0.0-dev.1  ✗1.0.0-dev.2  ✗1.0.0-dev.2  
mop           ✗0.10.0-dev   ✗0.10.0-dev   ✗0.10.0       ✗1.0.0-dev    

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           ✗0.9.0        ✗0.9.0        ✗0.9.0        ✗1.0.0-dev.2  
foo           ✗1.0.0-dev.1  ✗1.0.0-dev.1  ✗1.0.0-dev.2  ✗1.0.0-dev.2  
mop           ✗0.10.0-dev   ✗0.10.0-dev   ✗0.10.0       ✗1.0.0-dev    

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 --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           ✗0.9.0        ✗0.9.0        ✗0.9.0        ✗0.9.0        
foo           ✗1.0.0-dev.1  ✗1.0.0-dev.1  ✗1.0.0-dev.2  ✗1.0.0-dev.2  
mop           ✗0.10.0-dev   ✗0.10.0-dev   ✗0.10.0       ✗0.10.0       

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": "0.9.0",
        "nullSafety": false
      },
      "upgradable": {
        "version": "0.9.0",
        "nullSafety": false
      },
      "resolvable": {
        "version": "0.9.0",
        "nullSafety": false
      },
      "latest": {
        "version": "1.0.0-dev.2",
        "nullSafety": false
      }
    },
    {
      "package": "foo",
      "current": {
        "version": "1.0.0-dev.1",
        "nullSafety": false
      },
      "upgradable": {
        "version": "1.0.0-dev.1",
        "nullSafety": false
      },
      "resolvable": {
        "version": "1.0.0-dev.2",
        "nullSafety": false
      },
      "latest": {
        "version": "1.0.0-dev.2",
        "nullSafety": false
      }
    },
    {
      "package": "mop",
      "current": {
        "version": "0.10.0-dev",
        "nullSafety": false
      },
      "upgradable": {
        "version": "0.10.0-dev",
        "nullSafety": false
      },
      "resolvable": {
        "version": "0.10.0",
        "nullSafety": false
      },
      "latest": {
        "version": "1.0.0-dev",
        "nullSafety": false
      }
    }
  ]
}

$ pub outdated --json --no-dev-dependencies
{
  "packages": [
    {
      "package": "foo",
      "current": {
        "version": "1.0.0-dev.1"
      },
      "upgradable": {
        "version": "1.0.0-dev.1"
      },
      "resolvable": {
        "version": "1.0.0-dev.2"
      },
      "latest": {
        "version": "1.0.0-dev.2"
      }
    },
    {
      "package": "mop",
      "current": {
        "version": "0.10.0-dev"
      },
      "upgradable": {
        "version": "0.10.0-dev"
      },
      "resolvable": {
        "version": "0.10.0"
      },
      "latest": {
        "version": "0.10.0"
      }
    }
  ]
}

