- CyberCP/urls.py: make emailMarketing include optional (ModuleNotFoundError)
so clean clone or git clean -fd does not break with missing app
- cyberpanel_upgrade.sh: in Sync_CyberCP_To_Latest, backup settings.py before
sync and restore after so production DB/config are not overwritten by repo
- Broader sed for baseurl uncomment (# baseurl= and #baseurl=)
- Fallback: inject explicit baseurl for appstream/baseos sections
- Uses repo.almalinux.org to avoid mirror timeouts
- Fix ReferenceError: use $timeout instead of timeout, store timer for cancel
- Add v2.5.5-dev to Select Branch dropdown (remove dev filter)
- Limit branch list to latest 10 by version
- Fix Upgrade Progress Log text visibility (light text on dark bg)
- On dev (2.5.5 dev): show Latest Version 2.5.5, Latest Build dev
- Compare Current Commit vs usmannasir v2.5.5-dev latest (e75ca45...)
- Show yellow banner when behind; fork users compare to upstream dev
- Stable branch unchanged (cyberpanel.net)
- Treat v2.5.5-dev as up to date; suppress upgrade banner for forks
- Always fetch and display Current Commit (local HEAD)
- For forks: fetch Latest Commit from fork's GitHub API
- Add _version_compare helper; wrap cyberpanel.net fetch in try/except
- versionManagment: explicitly treat 2.5.5 dev as up to date (before version compare)
- Add try/except for cyberpanel.net/version.txt fetch
- Add /base/versionManagement URL alias for versionManagment
- cyberpanel_upgrade: ols_binaries_config download, AlmaLinux mirror fix, SERVER_IP display
- versionManagment/versionManagement: detect git origin, compare only against usmannasir
- Local/fork installs: show up to date (no update nag)
- If current version > cyberpanel.net latest: show up to date
- cyberpanel_upgrade.sh: python3 -m venv for AlmaLinux 9/10, pip upgrade
Co-authored-by: Cursor <cursoragent@cursor.com>
Install:
- install.py: in preFlightsChecks.call(), replace missing CyberPanel python
with /usr/bin/python3 and force shell=True so any code path (including
old/cached script) never hits FileNotFoundError.
Upgrade:
- cyberpanel_upgrade.sh: resolve CP_PYTHON (CyberPanel, CyberCP, python3)
before running upgrade.py and configure.py; use it for both.
- plogical/upgrade.py: add _python_for_manage(), use it in GeneralMigrations,
collectstatic, and upgradePip so migrations/collectstatic work when
/usr/local/CyberPanel/bin/python is missing.
- install.py: only use system Python or /usr/local/CyberCP/bin/python for migrations;
never add /usr/local/CyberPanel paths to candidate list (often missing on fresh install)
- install_utils.py: if command uses /usr/local/CyberPanel/bin/python and it does not
exist, substitute /usr/bin/python3 and force shell=True so old/cached install.py
also works without failing
- install_default_keys: use shell rm -f and ssh-keygen with stdin=y for no prompt
- Migrations: try system Python (/usr/bin/python3) first, then venv paths
- Use absolute path /usr/local/CyberCP/manage.py for makemigrations/migrate/collectstatic
- Avoid FileNotFoundError for missing /usr/local/CyberPanel/bin/python on fresh install