Homebrew casks are not updating, how can I fix this?

System Software Overview:

      System Version: macOS 12.0.1 (21A559)
      Kernel Version: Darwin 21.1.0

I am a newbie on MacOS. Most of the time I use Linux and tend to keep my software fresh and updated. On Linux it is quite easy - you run a simple command (apt update && apt upgrade for example) and it updates everything possible, include the kernel itself!

I want something similar for MacOS. I have installed homebrew package manager and with its help I have installed my favorite programs.

$ brew --version
Homebrew 3.3.7-22-g5fb34c8
Homebrew/homebrew-core (git revision 3dedb040d32; last commit 2021-12-09)
Homebrew/homebrew-cask (git revision dc3c9f0e1e; last commit 2021-12-09)
$ brew list
==> Formulae
[email protected]         curl            graphite2       libde265        libtiff         mbedtls         
...
[email protected]         theora

==> Casks
1password       adoptopenjdk8       dbeaver-community   google-chrome       ngrok           slack           transmission        zoom
adoptopenjdk        alt-tab         docker          iterm2          phpstorm        telegram-desktop    visual-studio-code

Until this moment everything went just fine. I turned off "Automatically check for updates" setting for every single program, I have installed. I don't want update each program manually and don't want to know when new update has been released. All I want - once a week do whole system update and that is it.

In a few weeks I decided to do such system update. I found many formulas which has higher version than I had installed:

$ brew info --cask phpstorm
phpstorm: 2021.3,213.5744.279 (auto_updates)
https://www.jetbrains.com/phpstorm/
/usr/local/Caskroom/phpstorm/2020.3.3 (122B)
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/phpstorm.rb
==> Name
JetBrains PhpStorm
==> Description
PHP IDE by JetBrains
==> Artifacts
PhpStorm.app (App)
==> Analytics
install: 645 (30 days), 1,785 (90 days), 6,826 (365 days)
$ brew info --cask alt-tab
alt-tab: 6.29.0 (auto_updates)
https://github.com/lwouis/alt-tab-macos
/usr/local/Caskroom/alt-tab/6.26.0 (120B)
From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/alt-tab.rb
==> Name
AltTab
==> Description
Enable Windows-like alt-tab
==> Artifacts
AltTab.app (App)
==> Analytics
install: 2,595 (30 days), 5,972 (90 days), 17,086 (365 days)

So, let's update them:

$ brew update
Updated 3 taps (homebrew/cask-versions, homebrew/core and homebrew/cask).
==> Updated Formulae
snakemake
==> Updated Casks
bitwarden               subsync                 syncovery               tableau-public          tandem                  taskade                 teamviewermeeting       textbar
propresenter-beta       sweet-home3d            tabby                   tableau-reader          tap-forms               td-agent                telavox-flow
$ brew update --cask
Already up-to-date.
$ brew upgrade --cask
$ brew upgrade

Nothing happened...

What I am doing wrong?


As said by Melonee in the comments, Homebrew Cask by default won't automatically update apps with built-in update function. If you want to do so you have to run:

brew upgrade --greedy

According to man brew:

--greedy
       Also include casks with auto_updates true or version :latest.

Beware that in some rare case, applications will store user data in the .app folder. Upgrading them via Homebrew Cask will uninstall and reinstall them, deleting associated user data. (See comments)