diff --git a/README.md b/README.md
index eb8f4f3..b892592 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th
* Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal
-**Shipped version:** 28.0.6~ynh1
+**Shipped version:** 29.0.2~ynh1
**Demo:**
diff --git a/README_es.md b/README_es.md
index d895cfe..3ed8bc1 100644
--- a/README_es.md
+++ b/README_es.md
@@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th
* Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal
-**Versión actual:** 28.0.6~ynh1
+**Versión actual:** 29.0.2~ynh1
**Demo:**
diff --git a/README_eu.md b/README_eu.md
index 8cebaba..e1df5a3 100644
--- a/README_eu.md
+++ b/README_eu.md
@@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th
* Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal
-**Paketatutako bertsioa:** 28.0.6~ynh1
+**Paketatutako bertsioa:** 29.0.2~ynh1
**Demoa:**
diff --git a/README_fr.md b/README_fr.md
index df5d5a5..0bb2d4d 100644
--- a/README_fr.md
+++ b/README_fr.md
@@ -29,7 +29,7 @@ En plus des fonctionnalités principales de Nextcloud, les fonctionnalités suiv
* Utilise l'adresse `/.well-known` pour la synchronisation CalDAV et CardDAV du domaine si aucun autre service ne l'utilise déjà - par exemple, Baïkal
-**Version incluse :** 28.0.6~ynh1
+**Version incluse :** 29.0.2~ynh1
**Démo :**
diff --git a/README_gl.md b/README_gl.md
index f8da0b0..bbd9686 100644
--- a/README_gl.md
+++ b/README_gl.md
@@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th
* Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal
-**Versión proporcionada:** 28.0.6~ynh1
+**Versión proporcionada:** 29.0.2~ynh1
**Demo:**
diff --git a/README_zh_Hans.md b/README_zh_Hans.md
index 7eb94b6..d97e0ed 100644
--- a/README_zh_Hans.md
+++ b/README_zh_Hans.md
@@ -29,7 +29,7 @@ In addition to Nextcloud core features, the following are made available with th
* Serve `/.well-known` paths for CalDAV and CardDAV on the domain only if it's not already served - i.e. by Baïkal
-**分发版本:** 28.0.6~ynh1
+**分发版本:** 29.0.2~ynh1
**演示:**
diff --git a/doc/PRE_UPGRADE.d/29.0.0~ynh1.md b/doc/PRE_UPGRADE.d/29.0.0~ynh1.md
new file mode 100644
index 0000000..75e3ae6
--- /dev/null
+++ b/doc/PRE_UPGRADE.d/29.0.0~ynh1.md
@@ -0,0 +1,5 @@
+If you are upgrading to a new major version of Nextcloud, please make sure that your Nextcloud apps are up to date from Nextcloud's administration panel beforehand.
+
+Additionally, if you installed specific Nextcloud apps, we recommend making sure that they are compatible with the new major version.
+YunoHost will attempt to check this automatically at the very beginning of the upgrade, but a manual check doesn't hurt either.
+For Nextcloud 29, this forum thread might be helpful : .
diff --git a/manifest.toml b/manifest.toml
index eccc352..0c89952 100644
--- a/manifest.toml
+++ b/manifest.toml
@@ -5,7 +5,7 @@ name = "Nextcloud"
description.en = "Online storage, file sharing platform and various other applications"
description.fr = "Stockage en ligne, plateforme de partage de fichiers et diverses autres applications"
-version = "28.0.6~ynh1"
+version = "29.0.2~ynh1"
maintainers = ["kay0u"]
@@ -66,8 +66,12 @@ ram.runtime = "512M"
[resources.sources]
[resources.sources.main]
- url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.6.tar.bz2'
- sha256 = 'df0d3384b447cba1e128f22080f6780521f868169beabee8ea0d155bf9c66b8f'
+ url = 'https://download.nextcloud.com/server/releases/nextcloud-29.0.2.tar.bz2'
+ sha256 = '2d49d297dc340092021057823e8e78a312bc00f56de7d8677ac790590918ab17'
+
+ [resources.sources.28]
+ url = 'https://download.nextcloud.com/server/releases/nextcloud-28.0.0.tar.bz2'
+ sha256 = '4e8b0b74b40221e85f92ab869d0873c69a52d7e43889d9259c6259428a6a36f2'
[resources.sources.27]
url = 'https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2'
@@ -112,7 +116,7 @@ ram.runtime = "512M"
api.allowed = ["visitors", "all_users"]
[resources.apt]
- packages = "mariadb-server, imagemagick, libmagickcore-6.q16-6-extra, acl, tar, smbclient, at, php8.2-fpm, php8.2-bz2, php8.2-imap, php8.2-gmp, php8.2-gd, php8.2-intl, php8.2-curl, php8.2-apcu, php8.2-redis, php8.2-ldap, php8.2-imagick, php8.2-zip, php8.2-mbstring, php8.2-xml, php8.2-mysql, php8.2-igbinary, php8.2-bcmath"
+ packages = "mariadb-server, imagemagick, libmagickcore-6.q16-6-extra, acl, tar, smbclient, at, php8.3-fpm, php8.3-bz2, php8.3-imap, php8.3-gmp, php8.3-gd, php8.3-intl, php8.3-curl, php8.3-apcu, php8.3-redis, php8.3-ldap, php8.3-imagick, php8.3-zip, php8.3-mbstring, php8.3-xml, php8.3-mysql, php8.3-igbinary, php8.3-bcmath"
[resources.database]
type = "mysql"
diff --git a/scripts/install b/scripts/install
index 9be9341..88c1c0d 100755
--- a/scripts/install
+++ b/scripts/install
@@ -6,7 +6,7 @@ source _ynh_mysql_connect_as.sh
phpflags="--define apc.enable_cli=1"
-ynh_app_setting_set --app=$app --key=phpflags --value=$phpflags
+ynh_app_setting_set --app=$app --key=phpflags --value="$phpflags"
#=================================================
# CREATE A MYSQL DATABASE
diff --git a/scripts/upgrade b/scripts/upgrade
index 9d11edf..7dd9a82 100755
--- a/scripts/upgrade
+++ b/scripts/upgrade
@@ -13,11 +13,8 @@ ynh_script_progression --message="Ensuring downward compatibility..."
# Remove the option backup_core_only if it's in the settings.yml file
ynh_app_setting_delete --app=$app --key=backup_core_only
-# If phpflags doesn't exist, create it
-if [ -z "${phpflags:-}" ]; then
- phpflags="--define apc.enable_cli=1"
- ynh_app_setting_set --app=$app --key=phpflags --value=$phpflags
-fi
+phpflags="--define apc.enable_cli=1"
+ynh_app_setting_set --app=$app --key=phpflags --value="$phpflags"
if ynh_compare_current_package_version --comparison lt --version 22.2~ynh1
then