Upgrade
You will find here different ways to upgrade your wallabag:
- from 2.6.x to 2.7.x
- from 2.5.x to 2.6.x
- from 2.3.x to 2.4.x
- from 2.3.x to 2.3.y
- from 2.2.x to 2.3.x
- from 2.x.y to 2.3.x
- from 1.x to 2.x
composer installed on your server (or at least the composer.phar binary in the root directory of wallabag). If not, please install it.
Upgrading from 2.6.x to 2.7.x
app/config/parameters.yml file and your data/ folder before upgrading.
What changed
- PHP 8.2 or later is required. PHP 7.4, 8.0 and 8.1 are no longer supported.
- wallabag is now configured with environment variables. Your
app/config/parameters.ymlfile is still read, so you can keep it for now, but it is deprecated and will be removed in wallabag 3.0. See Parameters for the list of variables and how each legacy key maps to them. Therss_limitkey is no longer used. - The front controller is now
web/index.php.web/app.phpstill works but is deprecated. If you switch your web server configuration toweb/index.php, setAPP_ENV=prod(in your web server environment or in.env.local), otherwise wallabag starts in thedevenvironment. - Built assets moved from
web/wallassets/toweb/build/. Update your web server configuration if it referenceswallassets. - Pages and API endpoints you are not allowed to access now return a 404 error instead of a 403 error.
- Public registration is disabled by default (
WALLABAG_REGISTRATION_ENABLED=0). If you keepparameters.yml, yourfosuser_registrationvalue is still used. - A compromised-password check can be enabled on user forms with
WALLABAG_COMPROMISED_PASSWORD_CHECK_ENABLED. It is disabled by default. - The MOBI export, the Pocket API import and the demo mode have been removed. You can still import from Pocket with the CSV export.
- On MySQL and MariaDB, the database migrations convert the remaining
utf8mb3tables toutf8mb4. This can take a while on large databases. - If you configure wallabag only with environment variables (without
parameters.yml),APP_SECRETis required: it has no default value. - Import files are now stored in
var/import, outside of thewebfolder. If you upgrade from 2.6.15 or an older version, delete the content of theweb/uploads/importfolder: it may contain files left by previous imports.
Upgrade on a dedicated web server
make updatemake update checks out the latest release tag of the repository (pre-releases such as alpha or beta versions are skipped), installs the dependencies and runs the database migrations.
Upgrade on a shared hosting
-
Back up your database. If you use SQLite, it is in the
data/folder copied below. -
Download and extract the 2.7.x package in a new folder.
-
Copy from your current installation:
app/config/parameters.yml(or set the equivalent environment variables, see Parameters),- the
data/folder: it contains the key used to encrypt your site credentials, and your database if you use SQLite, - the
web/assets/images/folder if you enabled images download.
-
Run the database migrations, then clear the cache:
php bin/console doctrine:migrations:migrate --env=prod --no-interaction php bin/console cache:clear --env=prod
Upgrading from 2.5.x to 2.6.x
Same steps as for upgrading from 2.2.x to 2.3.x.
⚠️ There are two points to focus on for that update:
-
We added new fields in the database, don’t forget to run migration (by running
make update) otherwise your wallabag won’t work. -
We’ve updated the mailer config which needs to be replicated otherwise the image might not work.
We removed these fields from
app/config/parameters.yml:mailer_transportmailer_usermailer_passwordmailer_hostmailer_portmailer_encryptionmailer_auth_mode
And we added
mailer_dsnas a replacement. Here is an example of DSN:smtp://user:pass@smtp.example.com:port
You can find all the queries here.
Upgrading from 2.3.x to 2.4.x
Same steps as for upgrading from 2.2.x to 2.3.x.
For shared hosting
PHP version compatibility has changed. Check the release notes for details.
Apply the general steps for upgrades on shared hosting with the following modifications:
Use these data queries for the database upgrade to 2.4.
Four parameters were created and MUST be added to your app/config/parameters.yml file: mailer_port, mailer_encryption, mailer_auth_mode and sentry_dsn.
Do not forget to run bin/console cache:clear --env=prod in the wallabag directory afterwards.
Upgrading from 2.3.x to 2.3.y
make updateThat’s all.
If you get an error with Not a git repository, it means you installed wallabag using an archive rather than git. In this case, follow the steps for shared hosting.
Upgrading from 2.2.x to 2.3.x
Upgrade on a dedicated web server
make updateUpgrade on a shared hosting
-
Backup your
app/config/parameters.ymlfile. -
Download the latest release of wallabag:
wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-packageYou will find the md5 hash of the latest package on our website.
-
Extract the archive in your wallabag folder and replace
app/config/parameters.ymlwith yours. -
Please check that your
app/config/parameters.ymlcontains all the parameters as they are all mandatory. You can find documentation about parameters here. -
If you have modified the
app/config/parameters.ymlfile, runbin/console cache:clear --env=prodafterwards in the wallabag directory. A warning will appear if any parameter is missing. -
If you use SQLite, you must also copy your
data/folder into the new installation. -
Empty the
var/cachefolder. -
You must run SQL queries to upgrade your database. We assume that the table prefix is
wallabag_. Don’t forget to backup your database before migrating. -
You may encounter issues with indexes names: if so, please change queries with the correct index name.
-
You can find all the required queries in the query upgrade documentation.
Upgrading from 2.x.y to 2.3.x
If your wallabag instance is < 2.2.0, there is no automatic script. You need to:
- export your data
- install wallabag 2.3.x (read the installation documentation)
- import data in this fresh installation (read the import documentation )
From wallabag 1.x
There is no automatic script to update from wallabag 1.x to wallabag 2.x. You need to:
- export your data
- install wallabag 2.x (read the installation documentation)
- import data in this fresh installation (read the import documentation )