V75 upgrade issue - scratching head!

My status page indicated that v75 was released, so I logged in and ran:

curl -s https://mailinabox.email/setup.sh | sudo bash

and got the following message:

Updating Mail-in-a-Box to v75 . . .
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 1 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 301 bytes | 301.00 KiB/s, done.
error: Your local changes to the following files would be overwritten by checkout:
management/dns_update.py
Please commit your changes or stash them before you switch branches.
Aborting
Update failed. Did you modify something in /root/mailinabox?

dns_update.py appears to be same dated as the rest of the files in the management directory:
ubuntu@box:~/mailinabox/management$ ls -al
total 328
drwxr-xr-x 4 root root 4096 May 3 15:00 .
drwxr-xr-x 9 root root 4096 May 3 15:00 …
drwxr-xr-x 2 root root 4096 Jul 18 2025 pycache
-rw-r–r-- 1 root root 6101 Jul 18 2025 auth.py
-rwxr-xr-x 1 root root 23795 May 3 15:00 backup.py
-rwxr-xr-x 1 root root 5842 Jul 18 2025 cli.py
-rw-r–r-- 1 root root 4449 Jul 18 2025 csr_country_codes.tsv
-rwxr-xr-x 1 root root 27240 Jul 18 2025 daemon.py
-rwxr-xr-x 1 root root 1087 Jul 18 2025 daily_tasks.sh
-rwxr-xr-x 1 root root 47275 Jul 18 2025 dns_update.py
-rwxr-xr-x 1 root root 1417 Jul 18 2025 email_administrator.py
-rwxr-xr-x 1 root root 29493 Jul 18 2025 mail_log.py
-rwxr-xr-x 1 root root 24819 Jul 18 2025 mailconfig.py
-rw-r–r-- 1 root root 4412 Jul 18 2025 mfa.py
-rwxr–r-- 1 root root 66 Jul 18 2025 munin_start.sh
-rwxr-xr-x 1 root root 26783 Jul 18 2025 ssl_certificates.py
-rwxr-xr-x 1 root root 55058 Jul 18 2025 status_checks.py
drwxr-xr-x 2 root root 4096 May 3 15:00 templates
-rw-r–r-- 1 root root 6926 Jul 18 2025 utils.py
-rw-r–r-- 1 root root 11545 Jul 18 2025 web_update.py
-rw-r–r-- 1 root root 142 Jul 18 2025 wsgi.py

So I am at a bit of a loss as to why i cannot proceed with v75…

Then…

Upon logging in to the Admin page and running a status check, I get this:

System Status Checks
No reboot is necessary.
Disable New-Version Check
Summary: 568 ✓ OK, 1 :heavy_multiplication_x: Error, 28 ? Warning
System

All system services are running.

SSH disallows password-based login.
:heavy_multiplication_x:
There are 6 software packages that can be updated.
show more

Mail-in-a-Box is up to date. You are running version v75.

Hence I am a little confused as the update script didn’t appear run

Does anyone have any guidance on this?

Cheers

Terry

You can check what changes git sees by running git status in the ~/mailinabox folder. If you’re satisfied you’re not losing anything, run git reset --hard HEAD.
You should rerun the setup (curl -s https://mailinabox.email/setup.sh | sudo bash) after this, as it has not been executed yet.

The reason that the status check reports you’re up2date is because the version check works against the tag of the git repository. Apparently that has been updated to v75 even if not all your files are.

Howdy, thanks for the tip. I just gave that a try and I get the following:

ubuntu@box:~/mailinabox$ git status
fatal: detected dubious ownership in repository at ‘/home/ubuntu/mailinabox’
To add an exception for this directory, call:

git config --global --add safe.directory /home/ubuntu/mailinabox

ubuntu@box:~/mailinabox$
ubuntu@box:~/mailinabox$
ubuntu@box:~/mailinabox$ sudo git reset --hard HEAD
HEAD is now at b162b96 Version 75 (April 20, 2026)
ubuntu@box:~/mailinabox$
ubuntu@box:~/mailinabox$
ubuntu@box:~/mailinabox$ curl -s https://mailinabox.email/setup.sh | sudo bash
Updating Mail-in-a-Box to v75 . . .
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 1 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (1/1), 301 bytes | 301.00 KiB/s, done.
error: Your local changes to the following files would be overwritten by checkout:
management/dns_update.py
Please commit your changes or stash them before you switch branches.
Aborting
Update failed. Did you modify something in /root/mailinabox?
ubuntu@box:~/mailinabox$

ubuntu@box:~/mailinabox$ ls -al
total 160
drwxr-xr-x 9 root root 4096 May 3 15:00 .
drwxr-x— 12 ubuntu ubuntu 4096 May 4 00:39 …
-rw-r–r-- 1 root root 435 Jul 18 2025 .editorconfig
drwxr-xr-x 8 root root 4096 May 4 11:11 .git
-rw-r–r-- 1 root root 130 Jul 18 2025 .gitignore
-rw-r–r-- 1 root root 65707 May 3 15:00 CHANGELOG.md
-rw-r–r-- 1 root root 4867 Jul 18 2025 CODE_OF_CONDUCT.md
-rw-r–r-- 1 root root 2722 Jul 18 2025 CONTRIBUTING.md
-rw-r–r-- 1 root root 7048 Jul 18 2025 LICENSE
-rw-r–r-- 1 root root 6880 Jul 18 2025 README.md
-rw-r–r-- 1 root root 912 Jul 18 2025 Vagrantfile
drwxr-xr-x 3 root root 4096 Jul 18 2025 api
drwxr-xr-x 4 root root 4096 Feb 3 10:28 conf
drwxr-xr-x 4 root root 4096 May 3 15:00 management
-rw-r–r-- 1 root root 692 Jul 18 2025 pyproject.toml
-rw-r–r-- 1 root root 10442 Jul 18 2025 security.md
drwxr-xr-x 2 root root 4096 May 3 15:00 setup
drwxr-xr-x 2 root root 4096 Jul 18 2025 tests
drwxr-xr-x 2 root root 4096 Jul 18 2025 tools

ubuntu@box:~/mailinabox$ cd management/
ubuntu@box:~/mailinabox/management$ ls -al
total 328
drwxr-xr-x 4 root root 4096 May 3 15:00 .
drwxr-xr-x 9 root root 4096 May 3 15:00 …
drwxr-xr-x 2 root root 4096 May 4 01:29 pycache
-rw-r–r-- 1 root root 6101 Jul 18 2025 auth.py
-rwxr-xr-x 1 root root 23795 May 3 15:00 backup.py
-rwxr-xr-x 1 root root 5842 Jul 18 2025 cli.py
-rw-r–r-- 1 root root 4449 Jul 18 2025 csr_country_codes.tsv
-rwxr-xr-x 1 root root 27240 Jul 18 2025 daemon.py
-rwxr-xr-x 1 root root 1087 Jul 18 2025 daily_tasks.sh
-rwxr-xr-x 1 root root 47275 Jul 18 2025 dns_update.py
-rwxr-xr-x 1 root root 1417 Jul 18 2025 email_administrator.py
-rwxr-xr-x 1 root root 29493 Jul 18 2025 mail_log.py
-rwxr-xr-x 1 root root 24819 Jul 18 2025 mailconfig.py
-rw-r–r-- 1 root root 4412 Jul 18 2025 mfa.py
-rwxr–r-- 1 root root 66 Jul 18 2025 munin_start.sh
-rwxr-xr-x 1 root root 26783 Jul 18 2025 ssl_certificates.py
-rwxr-xr-x 1 root root 55058 Jul 18 2025 status_checks.py
drwxr-xr-x 2 root root 4096 May 3 15:00 templates
-rw-r–r-- 1 root root 6926 Jul 18 2025 utils.py
-rw-r–r-- 1 root root 11545 Jul 18 2025 web_update.py
-rw-r–r-- 1 root root 142 Jul 18 2025 wsgi.py
ubuntu@box:~/mailinabox/management$

cat of CHANGELOG.MD yields:
CHANGELOG

Version 75 (April 20, 2026)

  • Updated Roundcube to 1.6.15, fixing a security vulnerability.
  • Fixed error when configuring S3 backups on empty buckets.
  • Fixed issue in management daemon name resolution.
  • Fixed accessibility issues in the control panel.

Version 74 (January 4, 2026)

  • Updated Roundcube to 1.6.12, fixing a security vulnerability.
  • Updated zpush to version 2.7.6.
  • Fixed fail2ban filter for Nextcloud.
  • Fixed Thunderbird auto configuration.
  • Updated links in the control panel.

Version 73 (July 11, 2025)

Mail:

  • Quotas for mail storage can now be set per user in the control panel.
  • Autoconfig now includes POP3 and CardDAV/CalDAV.

Backups:

  • Fix for S3-compatible backups (other than AWS S3 itself).

Control Panel:

  • Backup status is added to the status checks.
  • S3 backup credentials can now be stored in environment variables.
  • Fix for when an AAAA record is set up the box’s own IP address.
  • Fix for when logged out of the control panel.
  • Fix link to Z-Push client compatibility list.

Setup:

  • The Ubuntu version check is updated.

Hence I am a little baffled

Note i get the same even if I sudo the commands

@KiekerJan i have noticed that my MIAB server (built in 2024) has what looks like two installs:

There is a:
/root/mailinabox/
and
/home/ubuntu/mailinabox

This is first time I have ever noticed this.

Should I be looking to do a rebuild and clean start?

Further scratching my head as to how this has come about. As this box handles mail for many domains for me, I never fiddle with it

Hmmmmmmm

Ah, that happens sometimes.
Check the contents of /usr/local/bin/mailinabox If it points to root, first login to root before running the upgrade command. Otherwise, it’ll probably point to your home folder, and you should run the upgrade command as that user.

thanks @KiekerJan
I still have same issue. As its a while since i did a server build and restore from backups, i have decided im going to build a new lightsail box and get it to assume my static IP and restore.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.