brew cleanup: Warning: Skipping XXX: most recent version X not installed Did upgrade all formulas:

&gt; brew upgrade
Updating Homebrew...
==&gt; Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
No changes to formulae.


Why this upgrade did not install the latest version of httping?

&gt; brew cleanup
Warning: Skipping httping: most recent version 2.5_2 not installed
Pruned 0 symbolic links and 7 directories from /usr/local


This command also complains something about httping:

&gt; brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. 

Thanks!

Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  httping


How to fix this? Upgrade to latest and what are unlinked kegs in your Cellar.

UPDATE after first answer and comments (summary brew link httping did not help):

&gt; brew link httping
Linking /usr/local/Cellar/httping/2.5_1.reinstall... 6 symlinks created
&gt; brew upgrade
Updating Homebrew...
==&gt; Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==&gt; Updated Formulae
recon-ng

&gt; brew cleanup
Warning: Skipping httping: most recent version 2.5_2 not installed
&gt; brew info httping
httping: stable 2.5 (bottled), HEAD
Ping-like tool for HTTP requests
https://www.vanheusden.com/httping/
/usr/local/Cellar/httping/2.5_1.reinstall (12 files, 163.7KB) *
  Poured from bottle on 2019-06-19 at 17:57:11
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/httping.rb
==&gt; Dependencies
Required: gettext ✔, openssl@1.1 ✔
==&gt; Options
--HEAD
        Install HEAD version


more comments:

&gt; brew upgrade httping
Error: httping 2.5_1.reinstall already installed
&gt; brew outdated
&gt;
Why my httping package is unlinked? No one knows, it's your machine. We don't know what you have done in the command line. 

To fix the unlinked kegs error, run the following command to relink it manually,

brew unlink httping
brew link httping

# if it doesn't link, force link it
brew link --overwrite httping

Why a Homebrew package need to be linked?

Take httping for an example. httping is installed into /usr/local/Cellar/httping/2.5_2 with the suffix &lt;package-name&gt;/&lt;version&gt;.

tree -L 2 /usr/local/Cellar/httping/2.5_2
/usr/local/Cellar/httping/2.5_2
├── bin
│   └── httping
├── share
│   ├── doc
│   ├── locale
│   └── man
├── INSTALL_RECEIPT.json
├── license.txt
└── readme.txt


Homebrew contains the content of a package in one place, a folder named with pattern above. 

But to expose them for global use, the pkg content needs to be linked under /usr/local, which is an acknowledge place for *nix software installation. So, bin/httping is linked as /usr/local/bin/httping. And other contents also need to be linked into corresponding folder, like /usr/local/share, /usr/local/sbin, etc.




Update

According to the additional info you provided. The installation location of httping should be /usr/local/Cellar/httping/2.5_1, but not /usr/local/Cellar/httping/2.5_1.reinstall. It indicates the reinstall process may be interrupted.

I reproduced the problem on my machine and fixed it by the following commands.

# don't use reinstall
brew uninstall -f httping

# remove possible broken symlinks
brew cleanup

# install httping again
brew install httping

# check the version
brew info httping