There is now finally an official upgrade mechanism for Homebrew Cask (see Issue 3396 for the implementation)! To use it, simply run this command:
brew upgrade --cask
However this will not update casks that do not have versioning information (version :latest) or applications that have a built-in upgrade mechanism (auto_updates true). To reinstall these casks (and consequently upgrade them if upgrades are available), run the upgrade command with the --greedy flag like this:
brew upgrade --cask --greedy
To get outdated:
brew outdated --cask --greedy --verbose
There is now finally an official upgrade mechanism for Homebrew Cask (see Issue 3396 for the implementation)! To use it, simply run this command:
brew upgrade --cask
However this will not update casks that do not have versioning information (version :latest) or applications that have a built-in upgrade mechanism (auto_updates true). To reinstall these casks (and consequently upgrade them if upgrades are available), run the upgrade command with the --greedy flag like this:
brew upgrade --cask --greedy
To get outdated:
brew outdated --cask --greedy --verbose
homebrew-cask-upgrade
I think this is by far the best solution to upgrade the casks.
source: https://github.com/buo/homebrew-cask-upgrade
Installation & usage
brew tap buo/cask-upgrade
brew update
brew cu
(Optional) Force upgrade outdated apps including the ones marked as latest:
brew cu --all
A command to upgrade all casks ?
homebrew - Is there any way to upgrade brew cask - Ask Different
Homebrew casks are not updating, how can I fix this? - Ask Different
Homebrew doesn't update casks?
As of December, 2017, brew cask upgrade is a thing.
https://github.com/Homebrew/brew/pull/3396
homebrew-cask-upgrade
I think this is by far the best solution to upgrade the casks.
source: https://github.com/buo/homebrew-cask-upgrade
Installation & usage
brew tap buo/cask-upgrade
brew update
brew cu
(Optional) Force upgrade outdated apps including the ones marked as latest:
brew cu --all
How is Homebrew supposed to work?
I've been able to install many programs.
However whenever I do
brew update
It tells me there are updated tasks
I then do brew upgrade
But you go into the actual programs themselves and the update still remains. I guess my question is does brew handle casks updates or is it up to the individual program?
brew cask install --force $(brew cask list) && brew cask cleanup
(In terminal)
EDIT: Yes, it does reinstall (hence also update) all the apps but for me its faster than having to find out which apps are out of date and install manually. Brew Cask seems to be lacking a feature that is essential to keeping apps relevant, that is a simple app version checker and updater.
If you're only trying to upgrade one package:
brew upgrade package_name
All packages
brew update && brew outdated && brew upgrade && brew cleanup
Note, I had to add my own answer for this since I got here looking for just one, and noticed the top answer had brew upgrade --cask, while I got the following from here:
During 2020 the sub-commands of the cask command were gradually integrated into the core of Homebrew and were deprecated. The core commands now operate on both formulae and casks. To limit their scope to only formulae or casks add the --formula or --cask option to the command line.
The cask command has been completely removed from Homebrew in version 2.6.0, released in December 2020.
There is a unified flow now for both formulae and casks:
brew update
brew outdated
brew upgrade
The first command (brew update) gets from the Homebrew servers the information about the most recent versions of the available formulae and casks.
The second command (brew outdated) lists the outdated installed formulae and casks. Add --formulae or --casks to the command line to limit the command scope to formulae or casks. Add --greedy to the command line to include in its output the casks that are marked as "auto-updateable".
This command is not needed. It can be used to see what programs will be upgraded before doing the actual upgrade.
The third command (brew upgrade) upgrades the packages listed by brew outdated. It also supports the options listed above for brew outdated and operates accordingly.
To have your packages and apps you just need to run these commands in your terminal:
brew update && brew upgrade && brew upgrade --cask && brew cleanup