Skip to content

Weblate 2026.8

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Aug 11:05
Immutable release. Only release title and notes can be modified.
weblate-2026.8

Released on August 3rd 2026.

New features

  • Added a Show all columns in lists using horizontal scrolling preference to keep all listing columns visible on narrow screens instead of hiding them.

  • Workspaces now provide aggregate translation statistics and historical metrics, a permission-filtered My workspaces list, archive downloads, search and replace, upload guidance, workspace translation memory management, and removal of empty workspaces not associated with billing.

  • Added project-level translation metrics in JSON, CSV, and OpenMetrics formats.

  • Added opt-in Sample configuration to start Granian with ASGI deployment support, including WEBLATE_ASGI for Docker containers and asynchronous machine translation editor, GitHub App connection, and repository refresh requests.

  • Added grouped project and workspace Diagnostics views with state, severity, category, and actionable-by-user filters. Component diagnostics now track dismissal ownership, reopen after relevant changes, and notify only project maintainers who can act on warnings and errors.

  • Added API endpoints for listing, adding, accepting, rejecting, and voting on translation suggestions.

  • Translation reports are now generated in the background, stored for later download, available at workspace scope, and include translator work analysis.

  • Added Use keywords exclusively option to Update POT file (xgettext), allowing projects to disable xgettext default keywords and rely only on a custom keyword.

  • Added API support for reading and updating User profile preferences. See Users endpoint.

  • Added Maximum number of lines and AsciiDoc markup quality checks for limiting the number of translation lines and validating AsciiDoc strings.

  • Added Limiting translation languages, including per-language control for restricting direct translation editing to privileged users.

  • Added support for legacy Qt Linguist TS version 1 files. See Qt Linguist .ts.

  • Weblate is now available in Lao language.

Improvements

  • Authenticated web-action rate-limit lockouts are now recorded in the Audit log with the affected scope and request path.

  • OpenMetrics API responses now include metric metadata and a versioned content type.

  • Add-on management now uses separate configuration, logs, and components tabs, while activity logs distinguish pending, successful, failed, and skipped executions and explain skipped executions.

  • Expanded Selected change events documentation with detailed event semantics and improved OpenAPI schema accuracy.

  • Improved loading performance for multi-language matrix views, dashboard component lists, category histories, and shared component listings.

  • Translation memory management now loads origin summaries more efficiently, shows active and pending entry counts, and reports the number of entries processed during import.

  • Static assets now use content-hashed filenames, and CAPTCHA JavaScript is loaded only when needed.

  • Amazon Translate machine translation now supports configuring formality, brevity, and profanity masking.

  • Improved Screenshots and visual context OCR reliability and error reporting when downloading recognition data.

  • Repository failure alerts now link directly to component version control settings for users who can edit them, keep technical errors in English, and localize actionable diagnoses for each viewer, including GitHub pull request restrictions.

  • Celery workers now prefetch fewer tasks by default to reduce memory usage and improve task distribution.

  • Improved the recommended Sample configuration to start Granian configuration and Docker container worker resilience for Weblate’s WSGI workload.

  • Deployment checks now detect corrupted PostgreSQL relation statistics.

  • Community diagnostics now show source-string screenshot coverage, recommend key translation-instruction topics, and distinguish inbound from outbound repository automation.

  • User-provided links, such as those in comments, announcements, and profiles, are now underlined and use a higher contrast color.

Bug fixes

  • Disabling password authentication from site-wide user management now regenerates the user’s personal API key by default.

  • Category, project, and comment statistics now stay consistent after component topology and comment changes, and category metrics are collected correctly.

  • Mercurial repository filenames beginning with a dash are now handled safely.

  • URLs containing backslashes are now rejected as invalid.

  • Protected outbound HTTP and Git connections now bind to validated public addresses; protected Git operations fail closed when clients cannot enforce that binding (GHSA-45m9-pf98-8jmq).

  • Permanent same-host Git HTTP redirects are now validated and stored as canonical component repository URLs.

  • Self-service REST API e-mail changes are now restricted to verified addresses (GHSA-x84p-6892-473c).

  • REST API authorization now consistently protects internal accounts, restricted components, add-on configuration, component sharing, repository links, and review states.

  • Project backup imports now validate restored data before creating project state, skip repository-linked components the importer cannot access, and no longer load archive-supplied Mercurial configuration or shared-repository indirection (GHSA-f66g-8pcg-jm8r, GHSA-327h-qqgm-qv55).

  • Rebuilding project translation memory no longer removes entries imported from files.

  • Suggestion submission and rejection now reject excessively long suggestion text and rejection reasons.

  • Restricted components are now available on Hosted Weblate when the billing plan permits private projects.

  • Machine translation and translation memory AJAX lookups no longer disclose whether inaccessible unit IDs exist.

  • RSS feeds no longer disclose change history from inaccessible projects or restricted components (GHSA-vvc6-wvqm-w5gc).

  • Authenticated legacy GitHub App webhooks can again trigger repository updates through the generic GitHub webhook endpoint.

Compatibility

  • django-compressor is no longer used, and the COMPRESS_* settings have been removed.

  • Legal document styling is now provided through an overridable template instead of Weblate’s global stylesheet. See Customizing legal documents and styles.

  • When VCS_RESTRICT_PRIVATE is enabled, Mercurial and Subversion repository hosts must be explicitly included in VCS_ALLOW_HOSTS; Git over HTTPS and SSH enforces connection address pinning without an allowlist entry.

  • Outbound HTTP proxy configuration is limited to the per-protocol environment variables documented in HTTP proxy.

  • Git SSH validates configured HostName and Port destinations before connecting; administrator SSH configuration remains trusted, and SSH_EXTRA_ARGS can override connection routing and address pinning.

  • Git LFS object transfers are unsupported and disabled for Weblate-managed repositories; LFS-tracked files remain pointer files.

  • The project and component credits REST API endpoints and their credits_url response fields have been replaced by scoped reports endpoints and reports_url. Credits report generation is now asynchronous; clients need to submit a credits report, follow the returned task URL, and fetch the completed report. See POST /api/reports/.

  • The top-level languages field on user REST API responses has been removed; use profile.languages instead. See User profile.

Upgrading

Please follow Generic upgrade instructions in order to perform update.

  • There are changes in settings_example.py, most notably the new STORAGES configuration and removal of the COMPRESS_* settings; please adjust your settings accordingly.

  • Running weblate compress is no longer necessary; weblate collectstatic --noinput now prepares versioned static assets without clearing the static storage.

Contributors

Code contributions
Michal Čihař, Karen Konou, Nikunj Tyagi, Weblate CI, Shweta Singh, Gersona, Giacomo La Serra, Kartik Ohri, mmustafasenoglu, Mustafa Senoğlu, “Emmanuelle Bonnemay”, Nicolas Lepage, “Guillaume Lagorce”, “Jérémie Jadé”, “Matthias le Coach”, Любомир Василев, Spyder

Translations contributions
António Oliveira, hoanghuy309, reducedradius, Michal Čihař, Andrei Stepanov, 為什麼不加空格, BoneNI, Любомир Василев, Adam Havránek, Libre, Horus68, Peter Vančo, Aindriú Mac Giolla Eoin, Matthaiks, VfBFan, Ldm Public, Mickaël Binos, Lee Vincent, Dick Groskamp, Rafael Fontenelle, Justin Parrot, Valeria Sofia Azañero, Priit Jõerüüt, Frank Paul Silye, goeran, Abduqadir Abliz, Arif Budiman, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), Aniwene Madolomani, Pierfrancesco Passerini, Andi Chandler, Thunderstrike116, Giacomo La Serra, Ulrik, Cyborus, PPNplus, justcontributor, AlexYang, Kyotaro Iijima, Rajkumar Ramadoss, Yuri Chornoivan, DocNoc, Anucha Hlownonkor, Milo Ivir, Alexander Gabilondo, mbutsk, Oğuz Ersen, nautilusx, Yago Raña Gayoso, Blueberry, Yoshihoko, suyeon kim, Azharul Haque, win7guru, Matt P, Miguel A. Bouzada

Documentation contributions
Michal Čihař, Nikunj Tyagi, Shweta Singh, Gersona, Giacomo La Serra, Weblate CI, Kartik Ohri, Karen Konou, mmustafasenoglu, Mustafa Senoğlu, Robert Wolff

All changes in detail.