Having Metabase “magically” upgrade would be a really bad idea. The only time where you want auto-upgrade is for security, not when an application introduces new features.
Metabase is being used by all sizes - so from a single user running it to big companies with thousands of users running on multiple servers.
Since Metabase is essentially a JAR-file, a feature like auto-upgrade would be really difficult. There’s probably ways around this, but that would require another service running that would take care of the upgrade.
You can just use the JAR-file instead of Docker, which would mean that you simply download and replace the existing JAR-file and that would be the upgrade.
H2 was chosen because you could start using Metabase really fast, with almost zero configuration. But if you started to use Metabase in production, then you should move to a different backend database (as noted many times in the documentation).
If you want to continue using H2, you can even place the database outside of the container, so you’re not destroying it, when upgrading - but that would still be using H2, which is not recommended for production, since it doesn’t handle corruption very well.
So having an easy-upgrade-feature, would mean that the setup process would become more difficult.