github WeblateOrg/weblate weblate-2026.9.1
Weblate 2026.9.1

4 hours ago

Released on September 8th 2026.

New features

  • Added per-user notification diagnostics for users and administrators, with compact explanations of matching subscriptions for object paths.

Improvements

  • Added explicit search result refresh in the translation editors and improved recovery when saved search results expire.

  • Docker development tests now automatically prepare an isolated test environment without requiring application startup or the Dev Container CLI.

  • Added a development container for tests and lint, with an optional application QA profile, isolated storage per Git worktree, dynamically allocated localhost application and mailbox ports, and Chromium diagnostics and mandatory browser test commands.

  • Improved translation statistics calculation performance and avoided redundant parent updates when loading check and label details.

  • Added posting and displaying scoped announcements on category-language pages.

  • Added a dismissible diagnostic for glossaries with disabled string management when they use a local repository or contain terminology.

  • Clarified incident reporting, reporting deadlines, and security notifications for hosted and self-hosted users.

  • The Manage reports permission now consistently grants access to complete translation reports for the selected scope, including private projects and restricted components below it.

  • Docker deployments now use a combined Celery worker by default, reducing memory usage while increasing task throughput. Use CELERY_WORKER_MODE to select the combined, split, or single worker setup.

  • Improved Billing detail page loading performance by batching related project, invoice, and audit log queries.

  • Further reduced Celery worker memory usage by sharing preloaded URL configuration between worker processes and loading bitmap widget rendering dependencies only when needed.

  • Docker startup configuration warnings are now available as deployment checks, including in horizontally scaled deployments.

  • Reduced peak memory use and task duration for notification digests by processing recipients in bounded batches and limiting each summary to 100 entries.

Security fixes

  • Prevented repeated authenticator app registration from creating duplicate devices and allowing reuse of one-time codes. Existing equivalent duplicate devices are merged while preserving consumed codes.

  • Borg backup passphrases are now recursively scrubbed from Sentry error reports, including when a custom event scrubber is configured.

  • Font overrides are now restricted to fonts uploaded to the same project.

  • Engage pages and status widgets no longer disclose Private or Custom projects unless Public sharing is enabled.

  • Prevented excessive CPU consumption while checking malformed Markdown and MDX syntax.

Bug fixes

  • Fixed the approved-only commit policy blocking commits for languages with reviews disabled by workflow settings.

  • Fixed the uWSGI configuration example to use the virtual environment’s Python when launching helpers for SSH repository operations.

  • Fixed language context and links in change history for scoped announcements and other language-specific events.

  • Restored DeepL API v1 translation support while retaining modern API language discovery and glossary improvements.

  • REST API unit updates now enforce the same translation text length limit as the web editor.

  • HTML void elements in MDX files translations are now kept self-closing after sanitization, preventing invalid MDX output.

  • The autotranslate API endpoint now correctly describes its accepted request body fields (q, mode, auto_source, component, engines, threshold) in the OpenAPI schema instead of incorrectly reflecting the Translation resource.

  • Links outside tab navigation now correctly activate their target tabs, fixing upload links for missing translations and new components.

  • Error reporting integrations now distinguish informational messages from exceptions and reliably report the explicitly handled exception.

  • The default Celery per-child memory limit now accommodates the application’s baseline memory usage, avoiding unnecessary worker recycling.

  • Backup services now start only after settings and database backup files are fully updated, while backups to different Borg repositories can run in parallel.

Compatibility

  • Anonymous access to engage pages and status widgets is now disabled by default for Private and Custom projects. Enable Public sharing to preserve existing shared links after upgrading. Public and Protected projects are unchanged.

Upgrading

Please follow Generic upgrade instructions in order to perform update.

  • Authenticator app registrations started before this upgrade must be restarted. Sessions referencing a removed duplicate device may require two-factor verification again.

  • Docker deployments now default to the combined Celery worker mode. If your deployment relies on separate workers for each queue or configures them using CELERY_MAIN_OPTIONS, CELERY_NOTIFY_OPTIONS, CELERY_MEMORY_OPTIONS, CELERY_TRANSLATE_OPTIONS, or CELERY_BACKUP_OPTIONS, set CELERY_WORKER_MODE=split to preserve the previous behavior.

  • The Docker CELERY_SINGLE_PROCESS environment variable is deprecated. Use CELERY_WORKER_MODE=single instead; the compatibility alias logs a startup warning.

Contributors

Code contributions
Michal Čihař, Karen Konou, Shweta Singh, michael-smt

Translations contributions
ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), Ldm Public, hoanghuy309, Vaclovas Intas (Vac31.), Matthaiks, Adam Havránek, VfBFan, reducedradius, Bone NI, Yaron Shahrabani, Любомир Василев, Fjuro, Andrei Stepanov, Arif Budiman, Watchman89

Documentation contributions
Michal Čihař, Shweta Singh, michael-smt

All changes in detail.

Don't miss a new weblate release

NewReleases is sending notifications on new releases.