Upgrading Weblate¶
Generic upgrade instructions¶
Before upgrading, please check the current Software requirements as they might have
changed. Once all requirements are installed or updated, please adjust your
settings.py
to match changes in the configuration (consult
settings_example.py
for correct values).
Always check Version specific instructions before upgrade. In case you are skipping some versions, please follow instructions for all versions you are skipping in the upgrade. Sometimes it’s better to upgrade to some intermediate version to ensure a smooth migration. Upgrading across multiple releases should work, but is not as well tested as single version upgrades.
Nota
It is recommended to perform a full database backup prior to upgrade so that you can roll back the database in case upgrade fails, see Backing up and moving Weblate.
Upgrade configuration file, refer to
settings_example.py
or Version specific instructions for needed steps.Upgrade database structure:
./manage.py migrate --noinput
Collect updated static files (mostly javascript and CSS):
./manage.py collectstatic --noinput
Update language definitions (this is not necessary, but heavily recommended):
./manage.py setuplang
Optionally upgrade default set of privileges definitions (you might want to add new permissions manually if you have heavily tweaked access control):
./manage.py setupgroups
If you are running version from Git, you should also regenerate locale files every time you are upgrading. You can do this by invoking:
./manage.py compilemessages
Verify that your setup is sane (see also Production setup):
./manage.py check --deploy
Restart celery worker (see Background tasks using Celery).
Version specific instructions¶
Upgrade from 2.x¶
If you are upgrading from 2.x release, always first upgrade to 3.0.1 and the continue upgrading in the 3.x series. Upgrades skipping this step are not supported and will break.
Upgrade from 3.0.1 to 3.1¶
Please follow Generic upgrade instructions in order to perform update.
Notable configuration or dependencies changes:
- Several no longer needed applications have been removed from
INSTALLED_APPS
. - The settings now recommend using several Django security features, see SSL/HTTPS.
- There is new dependency on the
jellyfish
module.
Ver también
Upgrade from 3.1 to 3.2¶
Please follow Generic upgrade instructions in order to perform update.
Notable configuration or dependencies changes:
- Rate limiting configuration has been changed, please see Rate limiting.
- Microsoft Terminology machine translation was moved to separate module and now requires
zeep
module. - Weblate now uses Celery for several background tasks. There are new dependencies and settings because of this. You should also run Celery worker as standalone process. See Background tasks using Celery for more information.
- There are several changes in
settings_example.py
, most notable Celery configuration and middleware changes, please adjust your settings accordingly.
Ver también
Upgrade from 3.2 to 3.3¶
Please follow Generic upgrade instructions in order to perform update.
Notable configuration or dependencies changes:
- The DEFAULT_CUSTOM_ACL settings was replaced by
DEFAULT_ACCESS_CONTROL
. If you were using that please update yoursettings.py
. - Increase required translate-toolkit version to 2.3.1.
- Increase required social auth module versions (2.0.0 for social-auth-core and 3.0.0 for social-auth-app-django).
- The CELERY_RESULT_BACKEND should be now configured unless you are using eager mode, see Configuration and defaults.
- There is new
weblate.middleware.ProxyMiddleware
middleware needed if you useIP_BEHIND_REVERSE_PROXY
.
Ver también
Upgrade from 3.3 to 3.4¶
Please follow Generic upgrade instructions in order to perform update.
Notable configuration or dependencies changes:
- The Celery now uses multiple queues, it is recommended to update to new worker setup which utilizes this, see Background tasks using Celery.
- There is new depedency on diff-match-patch and translation-finder.
Ver también
Upgrade from 3.4 to 3.5¶
Please follow Generic upgrade instructions in order to perform update.
Notable configuration or dependencies changes:
- There are several new checks included in the
CHECK_LIST
.
Ver también
Upgrade from 3.5 to 3.6¶
Please follow Generic upgrade instructions in order to perform update.
Notable configuration or dependencies changes:
- The automatic detection of file format has been removed. Please adjust your translation components configuration prior to upgrade. The upgrade should be able to gracefully handle most of situations, but can fail in some corner cases.
- If you have manually changed
WEBLATE_FORMATS
, you will have to removeAutoFormat
from it. - During the upgrade, the notifications settings need to be converted. This can be lengthty operation in case you have lot of users.
Ver también
Upgrade from 3.6 to 3.7¶
Please follow Generic upgrade instructions in order to perform update.
Notable configuration or dependencies changes:
- The Celery now uses separate queue for notifications, it is recommended to update to new worker setup which utilizes this, see Background tasks using Celery.
- There are new (
bleach
,gobject
,pycairo
) and updated (translation-finder
) dependencies, you will now need Pango and Cairo system libraries as well, see Pango and Cairo. - There are new addons, you might want to include them in case you modified the
WEBLATE_ADDONS
. - There are new file formats, you might want to include them in case you modified the
WEBLATE_FORMATS
. - There is change in the
CSRF_FAILURE_VIEW
.
Ver también
Upgrading from Python 2 to Python 3¶
Nota
Weblate will support Python 2 util 4.0 release currently scheduled on April 2020. This is in line with Django dropping support for Python 2.
Weblate currently supports both Python 2.7 and 3.x. Upgrading existing installations is supported, but you should pay attention to some data stored on the disk as it might be incompatible between these two.
Things which might be problematic include Whoosh indices and file based caches. Fortunately these are easy to handle. Recommended upgrade steps:
Backup your Translation Memory using
dump_memory
:./manage.py dump_memory > memory.json
Upgrade your installation to Python 3.
Delete Translation Memory database
delete_memory
:./manage.py delete_memory --all
Restore your Translation Memory using
import_memory
../manage.py import_memory memory.json
Recreate fulltext index using
rebuild_index
:./manage.py rebuild_index --clean --all
Cleanup avatar cache (if using file based) using
cleanup_avatar_cache
../manage.py cleanup_avatar_cache
It is recommended to throw away your caches.
Migrating from Pootle¶
As Weblate was originally written as replacement from Pootle, it is supported
to migrate user accounts from Pootle. You can dump the users from Pootle and
import them using importusers
.