|  | @@ -19,71 +19,6 @@ source _modules/scripts/ipv6_controller.sh
 | 
	
		
			
				|  |  |  source _modules/scripts/new_options.sh
 | 
	
		
			
				|  |  |  source _modules/scripts/migrate_options.sh
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -detect_major_update() {
 | 
	
		
			
				|  |  | -  if [ ${BRANCH} == "master" ]; then
 | 
	
		
			
				|  |  | -    # Array with major versions
 | 
	
		
			
				|  |  | -    # Add major versions here
 | 
	
		
			
				|  |  | -    MAJOR_VERSIONS=(
 | 
	
		
			
				|  |  | -      "2025-02"
 | 
	
		
			
				|  |  | -      "2025-03"
 | 
	
		
			
				|  |  | -    )
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    current_version=""
 | 
	
		
			
				|  |  | -    if [[ -f "${SCRIPT_DIR}/data/web/inc/app_info.inc.php" ]]; then
 | 
	
		
			
				|  |  | -      current_version=$(grep 'MAILCOW_GIT_VERSION' ${SCRIPT_DIR}/data/web/inc/app_info.inc.php | sed -E 's/.*MAILCOW_GIT_VERSION="([^"]+)".*/\1/')
 | 
	
		
			
				|  |  | -    fi
 | 
	
		
			
				|  |  | -    if [[ -z "$current_version" ]]; then
 | 
	
		
			
				|  |  | -      return 1
 | 
	
		
			
				|  |  | -    fi
 | 
	
		
			
				|  |  | -    release_url="https://github.com/mailcow/mailcow-dockerized/releases/tag"
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    updates_to_apply=()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    for version in "${MAJOR_VERSIONS[@]}"; do
 | 
	
		
			
				|  |  | -      if [[ "$current_version" < "$version" ]]; then
 | 
	
		
			
				|  |  | -        updates_to_apply+=("$version")
 | 
	
		
			
				|  |  | -      fi
 | 
	
		
			
				|  |  | -    done
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    if [[ ${#updates_to_apply[@]} -gt 0 ]]; then
 | 
	
		
			
				|  |  | -      echo -e "\e[33m\nMAJOR UPDATES to be applied:\e[0m"
 | 
	
		
			
				|  |  | -      for update in "${updates_to_apply[@]}"; do
 | 
	
		
			
				|  |  | -        echo "$update - $release_url/$update"
 | 
	
		
			
				|  |  | -      done
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -      echo -e "\nPlease read the release notes before proceeding."
 | 
	
		
			
				|  |  | -      read -p "Do you want to proceed with the update? [y/n] " response
 | 
	
		
			
				|  |  | -      if [[ "${response}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
 | 
	
		
			
				|  |  | -        echo "Proceeding with the update..."
 | 
	
		
			
				|  |  | -      else
 | 
	
		
			
				|  |  | -        echo "Update canceled. Exiting."
 | 
	
		
			
				|  |  | -        exit 1
 | 
	
		
			
				|  |  | -      fi
 | 
	
		
			
				|  |  | -    fi
 | 
	
		
			
				|  |  | -  fi
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -remove_obsolete_options() {
 | 
	
		
			
				|  |  | -  OBSOLETE_OPTIONS=(
 | 
	
		
			
				|  |  | -    "ACME_CONTACT"
 | 
	
		
			
				|  |  | -  )
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -  for option in "${OBSOLETE_OPTIONS[@]}"; do
 | 
	
		
			
				|  |  | -    if [[ "$option" == "ACME_CONTACT" ]]; then
 | 
	
		
			
				|  |  | -      sed -i '/^# Lets Encrypt registration contact information/d' mailcow.conf
 | 
	
		
			
				|  |  | -      sed -i "/^# Let's Encrypt registration contact information/d" mailcow.conf
 | 
	
		
			
				|  |  | -      sed -i '/^# Optional: Leave empty for none/d' mailcow.conf
 | 
	
		
			
				|  |  | -      sed -i '/^# This value is only used on first order!/d' mailcow.conf
 | 
	
		
			
				|  |  | -      sed -i '/^# Setting it at a later point will require the following steps:/d' mailcow.conf
 | 
	
		
			
				|  |  | -      sed -i '/^# https:\/\/docs.mailcow.email\/troubleshooting\/debug-reset_tls\//d' mailcow.conf
 | 
	
		
			
				|  |  | -      sed -i '/^ACME_CONTACT=.*/d' mailcow.conf
 | 
	
		
			
				|  |  | -      sed -i '/^#ACME_CONTACT=.*/d' mailcow.conf
 | 
	
		
			
				|  |  | -    else
 | 
	
		
			
				|  |  | -      sed -i "/^${option}=.*/d" mailcow.conf
 | 
	
		
			
				|  |  | -      sed -i "/^#${option}=.*/d" mailcow.conf
 | 
	
		
			
				|  |  | -    fi
 | 
	
		
			
				|  |  | -  done
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  |  ############## End Function Section ##############
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # Check permissions
 |