Releases: WeblateOrg/weblate
Release list
Weblate 2026.8.1
Released on August 7th 2026.
New features
-
Project and component APIs now expose all user-configurable settings, including access control and translation-memory settings. See Weblate’s REST API.
-
Added the
metricscommand for retrieving server metrics locally in JSON, CSV, or OpenMetrics format.
Bug fixes
-
Task progress now requires authentication and works for aggregate automatic translation operations.
-
Docker Celery worker logging no longer emits duplicate records through both Celery and Weblate log handlers.
-
Component creation through the REST API now returns the background task URL in the response when creation work is queued.
-
Large language model machine translation services no longer fail when the optional persona and style settings are absent from the stored configuration, as happens when the service is installed through the REST API.
-
import_jsonnow preserves the component source language for newly imported components from JSON exports. -
Repository actions now require permission on every component sharing the affected repository, including linked components in other projects.
-
Legal document confirmation now explicitly covers the linked privacy policy. See Legal module.
-
Add-on change history now retains only explicitly public configuration values and marks changed credential fields as redacted.
-
Translator work reports with metrics can now be displayed and downloaded as HTML.
-
Repository credentials are now consistently hidden from web and API output.
Upgrading
Please follow Generic upgrade instructions in order to perform update.
Contributors
Code contributions
Michal Čihař, i4i, Alafi, Kartik Ohri
Translations contributions
Yuri Chornoivan, hoanghuy309, goeran, peterxy, Ldm Public, António Oliveira, CYAXXX, Aindriú Mac Giolla Eoin, Valeria Sofia Azañero, DocNoc, Libre, MrLeaves, Matt P, Yaron Shahrabani, VfBFan, Lee Vincent, Michal Čihař, Andrei Stepanov, cat, Любомир Василев, Artyom Rybakov, Matthaiks, reducedradius, Peter Vančo, Steve, Anmoll Gupta, justcontributor, Besnik Bleta
Documentation contributions
Michal Čihař, i4i, Kartik Ohri
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_ASGIfor 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 i...
Weblate 2026.7.1
Released on July 10th 2026.
New features
- Added
INTERNAL_BOT_EMAIL_TEMPLATEto customize internal bot e-mail addresses.
Improvements
-
Restricted components now show a status icon in component listings.
-
Permission checks now reuse materialized team membership data from lightweight relation lookups.
-
Documented that intermediate language files are hidden from language listings and can make target strings read-only.
-
Component diagnostics now warn when regular GNU gettext PO (Portable Object) PO files are configured as monolingual PO files.
-
Translation memory fuzzy lookups are now faster on large translation memories.
-
Permission denied messages when saving translations, editing glossaries, or voting on suggestions now show more specific reasons.
-
Comment notifications for strings you translated now also include strings you previously commented on or suggested translations for.
-
Comments and suggestions now auto-watch the project when Automatically watch projects on contribution is enabled.
-
Clarified Hosted Weblate repository access guidance in Code-hosting integrations.
-
Searching for strings now includes filters for comments by the current user and separate source string comment lookups.
-
Code-hosting account pages now consistently use Code-hosting connections and provider-neutral connected account wording.
-
Discover Weblate registration can now be started from the management interface without manually copying the activation token.
-
Discover Weblate can now be managed from a dedicated management panel, registration starts with discovery enabled, and protected projects are included in the listing.
-
Updated the OpenAI, Mistral, and Anthropic model lists for currently supported models.
Bug fixes
-
Filtered translation and zen navigation now reuse a stable session result list, keeping positions and counts stable after translated strings leave the filter.
-
Component priority icons are no longer shown on translation listings.
-
Punctuation spacing no longer flags Markdown image markers as French punctuation and now shows which punctuation marks triggered the check.
-
Fedora Messaging received several reliability fixes.
-
The Things to check panel no longer uses error highlighting for suggestions and other non-error translation states.
-
Translation workflow customization now makes it clearer when per-language workflow settings are disabled until customization is enabled.
-
Anonymous user permission caches are now isolated between requests.
-
GitHub App setup now explains that a workspace is required instead of showing a permission error when no workspace exists.
-
LLM automatic suggestion settings no longer show
nullfor empty language-specific instructions. -
File format feature tables now better match actual format support, including descriptions, context, plural metadata, obsolete string removal, specialized file extensions, and merged variants.
-
Accepting a project invitation now automatically adds the project to the user’s watched projects.
-
Dismissing a failing check no longer shows a JSON parsing error in the translation editor.
-
Screenshot searches without an explicit field now match screenshot names only, and the search box links to the full screenshot search documentation.
-
Anonymous and internal bot accounts can no longer be edited through generic user management.
-
LLM machine translation suggestions now recover from more malformed structured JSON replies.
-
Azure AI Translator settings now reject malformed region names before validating service connectivity.
Upgrading
Please follow Generic upgrade instructions in order to perform update.
- Weblate now requires the PostgreSQL
btree_gistextension for translation memory lookups. The migration installs it automatically when the database user has sufficient privileges. Installations using a non-superuser database user should pre-create it before upgrading; see Creating a database in PostgreSQL.
Contributors
Code contributions
Michal Čihař, Karen Konou, Weblate CI, Benjamin Alan Jamie, Kartik Ohri
Translations contributions
Michal Čihař, António Oliveira, 大学没毕业, 為什麼不加空格, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), hoanghuy309, Libre, VfBFan, Peter Vančo, Jim Kats, ButterflyOfFire, Kiên Trần Trung, skittles poopy, Ulrik, Horus68, Mickaël Binos, Adam Havránek
Documentation contributions
Michal Čihař, mayank-dev-15, Benjamin Alan Jamie
Weblate 2026.7
Released on July 1st 2026.
New features
-
Added Safe MDX, Source string length, and Accelerator key quality checks for MDX files JSX expressions, source length limits, and accelerator key consistency.
-
Added Mistral machinery integration for Mistral LLM automatic suggestions.
-
Added Registering the GitHub App from Weblate for connecting GitHub repositories through a Weblate GitHub App.
-
Project level backups backups can now be created and downloaded via the Weblate’s REST API.
-
Added file format parameters for translating individual YAML front matter values in Markdown files and MDX files files and escaping formula-like values in CSV files files.
-
Added an option to capitalize the text in status badge widgets.
-
Added workspace translation memory with asynchronous scope backfill for existing translation memory entries.
-
Added
analyze_translator_workto estimate realistic daily translator throughput from change history.
Improvements
-
RTL editing and translation display now handle bidirectional text better, including Unicode isolate controls in the Visual keyboard.
-
Management interface access control is now more fine-grained with dedicated site-wide permissions.
-
Default commit and merge request message templates now use Conventional Commits, settings forms can restore installation defaults, and pull request messages use a compact language progress matrix.
-
Documented Legal module customizations and added options to hide legal pages or disable document numbering.
-
Expanded security documentation for data residency, EU cloud sovereignty, release artifacts, supported versions, release verification, SBOMs, dependency handling, vulnerability reporting, hosted-service incident response, and self-hosted operator responsibilities.
-
Update LINGUAS file better detects
LINGUASfile presence. -
Update POT file (xgettext) can now leave the xgettext language blank to let xgettext guess it from source file extensions.
-
Update POT file (xgettext), Update POT file (Meson), Update gettext template (Django), and Update POT file (Sphinx) can now keep source locations in generated POT files even when translated PO files omit locations.
-
Add-ons installed at higher scopes are now shown on lower-scope add-on pages, and broad-scope add-ons can list affected components with compatibility details.
-
WEBLATE_ALLOWED_ASSET_SIZEis now available in Docker container. -
LLM automatic suggestions now use translated examples, language-specific instructions, richer glossary context, and structured placeholder context for more reliable output.
-
Meta descriptions now better match single-project and self-hosted installations.
-
Zen mode, filtered searches, nearby strings, translation form submissions, and add-on management pages now load more efficiently on large sites.
-
Added Packaging Weblate for distributions guidance for distribution maintainers.
-
Large component imports now avoid duplicate translation-memory processing.
-
GNU gettext PO (Portable Object) files can now be configured to remove obsolete strings on save, including during repository maintenance.
-
Bulk accepting suggestions now confirms the number of affected suggestions, can approve them for reviewers, and processes the acceptance in the background.
-
Committing large numbers of pending translations now queues browser requests in the background and avoids duplicate repository commit tasks.
-
Change-event notification add-ons can now use presets for translation content events, all events, or selected individual events.
-
Fedora Messaging now validates secure broker connections and exposes delivery timing settings.
-
Component diagnostics now sort entries by severity, color-code severity badges, and show the error count on the Diagnostics tab.
-
Performance report now shows PostgreSQL database disk usage next to server disk usage and warns when the database usage cannot be collected.
-
Performance report now shows PostgreSQL database disk usage next to server disk usage and warns when the database usage cannot be collected or there is not enough free space in the backup destination to store a database dump.
-
The Search and replace preview now keeps the search parameters editable so the query can be refined before applying replacements.
Bug fixes
-
Regular expression and Placeholders now enforce regular expression timeouts when evaluating source-string flags (GHSA-r52j-4vjp-q949).
-
Restricted component changes are no longer exposed through nested project, component, or translation API change endpoints (GHSA-92m8-wv36-prmx...
Weblate 2026.6.1
Released on June 1st 2026.
Bug fixes
- Language-wide Announcements no longer break language overview pages.
Upgrading
Please follow Generic upgrade instructions in order to perform update.
Contributors
Code contributions
Michal Čihař
Documentation contributions
Michal Čihař
Weblate 2026.6
Released on June 1st 2026.
New features
-
Announcements can now also be managed via the Weblate’s REST API for specific project languages.
-
Team memberships can now be limited to selected languages for per-user translation permissions.
-
Added cost estimates to translation reports.
-
Added optional OpenTelemetry tracing for backend requests and tasks, and Google Cloud Error Reporting for handled server errors.
-
Added Workspaces to group related projects, with workspace project listings, workspace-scoped teams and project creation permissions, inherited workspace, project, and category defaults for selected component settings, and billing details when available.
Improvements
-
Docker containers can now configure
WEBLATE_SAML_SECURITY_CONFIGto customize SAML security settings, and adjustWEBLATE_FORMATSusingWEBLATE_ADD_FORMATSandWEBLATE_REMOVE_FORMATS. -
Improved performance of the Inconsistent check on large projects.
-
Contributor stats now de-duplicate repeated work on the same string by default, with an option to count all changes.
-
Code hosting integrations now documents HTTPS access-token URLs and dedicated-user SSH URLs for accessing repositories, and Continuous localization now explains why squash merging Weblate conflict-resolution pull requests can require a repository reset.
-
Translation component diagnostics now include dismissible component diagnostics for community localization.
-
Screenshots and visual context now support bulk assignment from search or image text recognition results, make finding strings in uploaded images easier to discover, show source string coverage counts, and include advanced listing search.
-
Software Bill of Material release artifacts now include CISA 2025 document-level metadata.
Bug fixes
-
Outbound URL validation now rejects additional non-public targets (GHSA-vmfc-9982-2m45).
-
Project-language Announcements no longer appear across the whole project.
-
Hardened
POST/api/screenshots/access checks against private project enumeration. -
Registration-attempt account activity e-mails now link to password reset to help users finish account setup.
-
Inviting new users links now work for signed-in users whose account owns the invited e-mail address.
-
Searching for strings with content changes without a recorded author now supports
changed_by:"", and combined change filters now apply to the same change event. -
Gitea and Forgejo pull requests no longer reconfigure existing fork remotes to point to the source repository.
-
Project and category language translation sessions now keep strings grouped by component priority and show component switch warnings reliably.
-
Engage page task links now stay centered and show the target translation language.
-
Gettext POT update add-ons now rescan translations after committing updated POT and PO files.
-
Git repositories now update branches correctly when the remote also has a tag with the same name.
-
Conflicting repository setup alerts now allow same-branch direct pushes.
-
Obsolete cleanup schedules are now removed from Celery beat during upgrade.
-
Translation pages for workspace projects no longer crash when workspace fields are deferred.
Upgrading
Please follow Generic upgrade instructions in order to perform update.
-
There is a change in
INSTALLED_APPS;weblate.workspacesshould be added. -
The database migrations might take longer on larger instances.
Contributors
Code contributions
Michal Čihař, Karen Konou, Weblate CI, Basheer Radman, michael-smt, Kristián Kunc, felixfon
Translations contributions
Michal Čihař, VfBFan, 大王叫我来巡山, Emin Tufan Çetin, Basheer Radman, 為什麼不加空格, Peter Vančo, Christian Wia, Любомир Василев, Matthaiks, Andrei Stepanov, Libre, Besnik Bleta, ℂ𝕠𝕠𝕠𝕝 (𝕘𝕚𝕥𝕙𝕦𝕓.𝕔𝕠𝕞/ℂ𝕠𝕠𝕠𝕝), Balázs Meskó, Aindriú Mac Giolla Eoin, Adam Havránek, Dick Groskamp, Arif Budiman, Mickaël Binos, Ryo Nakano, hoanghuy309, Pierfrancesco Passerini, Alefsander Ribeiro Nascimento, Massimo Pissarello, justcontributor, 이정희, Cabdi Waaxid Siciid, Yaron Shahrabani, User2068, Kyotaro Iijima, pan93412, jernejp21, libermax, Phileas Fogg, Fjuro, Jim Kats, Fulup Jakez, Priit Jõerüüt, Ldm Public, Andi Chandler, Burak SDN, ojppe
Documentation contributions
Michal Čihař, VfBFan, Basheer Radman, Weblate CI, michael-smt, felixfon
Weblate 2026.5
Released on May 15th 2026.
New features
-
Added MDX files support for translating Markdown text while preserving JSX syntax, with File format parameters shared with Markdown files for line wrapping, code blocks, front matter, and placeholder handling.
-
Added extended LLM translation context for automatic suggestions, covering string context, explanations, secondary-language translations, plurals, failing checks, and placeholders.
-
Added a digest-only translation activity summary notification, see Notifications.
-
CSV and XLSX downloads in Downloading translations now export plural strings as separate plural-form rows that can be imported back.
-
Added Gettext PO and POT File format parameters to control whether Weblate updates the
Language-Team,Last-Translator,X-Generator, andReport-Msgid-Bugs-Toheaders. -
Added a backup to run configured backup services synchronously.
-
The translation memory lookup API can now skip fuzzy matching with the
exactquery parameter. -
Added Translation files CDN to publish translation files to the configured CDN.
Improvements
-
Using DOS line endings can now be configured using the
dos_eolFile format parameters. -
OpenAI and Alibaba no longer require their vendor Python SDKs.
-
Audited project and component setting changes are now recorded in history.
-
Gerrit review pushes now use Push branch as the target branch.
-
Weblate now checks whether
CACHE_DIRallows executing generated helper files. -
The Software Bill of Material is now generated during release and published as a versioned release asset instead of being stored in the source repository.
-
The translating page now separates screenshots from string information, collapses rarely used string details, and groups glossary and screenshot actions more consistently.
-
Project access management now paginates users and better explains site-wide automatic team assignments.
-
Added provider-oriented code hosting documentation and Gettext-style Plural formula guidance.
-
The Python wheel no longer ships source translation catalogs, test files, or deployment example files, reducing the installed package size.
-
The engage page now highlights actionable translation task buckets for newcomers.
-
RSS feeds can now use the same filters as the changes browsing page.
-
Update gettext template (Django) now supports gettext PO files used as templates when they are excluded by the language filter.
-
Reworked Weblate threat model into a contract-style document.
Bug fixes
-
Hardened search previews and Automatic suggestions suggestion origins against XSS, and stopped exposing database error details in upload failures.
-
Screenshot URL uploads, remote HTML extraction in JavaScript localization CDN, and URL health-check redirects now reject internal or non-public targets by default.
-
Gerrit review pushes now reject target branches containing push options, track the target branch before invoking
git-review, and suggest short branch names when full refs are supplied. -
Category Announcements no longer appear across the whole project, and translation announcement deletion now honors language-scoped permissions.
-
Merge request pushes now refresh stale fork remotes after changing repository hosting.
-
Plural counts parsed from translation file headers are now bounded, and plural formulas are rejected when they can evaluate outside the configured plural form range.
-
Per-project access tokens expiring today now remain valid until the end of the day.
-
Malformed ALTCHA CAPTCHA submissions and repository URLs in webhook payloads no longer cause server errors.
-
Placeholders now merges overlapping non-nested spans from multiple flags.
-
Backing up and moving Weblate logs no longer include OpenSSH post-quantum key exchange warnings from remote Borg connections.
-
Category repository paths are now handled more safely during cleanup and moves.
-
Locked component pages now show an unsubscribe action after subscribing to unlock notifications.
-
Project level backups imports now restore in the background to avoid web worker memory limits.
Compatibility
-
The
dos-eolflag is no longer supported. Use thedos_eolFile format parameters instead. -
The registration CAPTCHA now uses the ALTCHA widget v3 protocol with Argon2id proof-of-work.
-
The
set_language_teamproject attribute has been replaced with thepo_set_language_teamfile format parameter at the component level; see File format parameters. -
Weblate now uses calendar versioning for releases, see Release cycle.
-
Weblate now uses stricter dependency version constraints to better control runtime environment.
Upgrading
Please follow Generic upgrade instructions in order to perform update.
- The
ALTCHA_MAX_NUMBERsetting has been replaced by <a href="h...
Weblate 5.17.1
Released on April 30th 2026.
New features
-
Add-ons that opt in to manual triggering can now be run from add-on management and the Add-ons.
-
Admins can now clean up blocked or abusive users by reverting edits, rejecting pending suggestions, and deleting comments across project or site-wide scopes.
-
Admin user management can now find users by audit log IP address.
-
Announcements can now also be managed via the Weblate’s REST API for categories.
-
Added LTEngine machine translation service.
Improvements
-
Improved documentation for the global
user.editpermission, Autoclean translation memory, Terminology, and current Translation Memory management options in the UI. -
Improved Screenshots and visual context documentation and linked it from the screenshots UI.
-
Documented restoring Docker-based setups from backups, see Restoring Docker based setup.
-
Clarified Generic upgrade instructions to state that Celery queues should be empty before upgrading.
-
The OpenAPI schema is cleaner and now describes action endpoints with their actual list, statistics, status, upload, and download response payloads.
-
The web installation flow for Add missing languages now shows a preview and requires confirmation before creating missing language files across projects, categories, or site-wide scopes.
-
Component discovery now offers guided client-side presets, suggests presets detected from component repository layouts, validates
{{component}}more clearly, and includes a worked discovery-template example in the docs. -
Superuser and site-wide team changes are now tracked in Audit log.
-
URL validation alerts now show clearer errors for project website and repository browser URLs, and project-level machine translation validation better explains private or local endpoint restrictions on hosted and self-managed sites.
-
Automatic translation now attributes copied translations to the add-on user and records automatic translation results in the add-on activity log.
-
Extended the conflicting repository setup alert to direct Git pushes, see Translation component alerts.
-
Profile links now show an external-link warning where possible.
-
Client-side popup notifications triggered by JavaScript now use Bootstrap toasts, with higher-contrast dark theme colors for Bootstrap subtle and emphasis variants.
-
The SSH keys management page can now remove stored host keys so changed host keys can be replaced there.
-
Project listings now show review progress columns when any listed project has reviews enabled.
Bug fixes
-
Image URLs in Markdown are now escaped before rendering (GHSA-5cmv-3rc4-7279).
-
Tightened Weblate’s REST API input validation to prevent translation enumeration (GHSA-gcg5-86jr-f7jg).
-
Project backup imports now revalidate component repository URLs before restoring from backup (CVE 2026-41654 / GHSA-cwcx-382v-8m9g).
-
Fixed revert links in the translate-view history tab after moving a component to another project.
-
Invitation acceptance now verifies the invited e-mail address and invitation expiry before granting team membership.
-
Inconsistent reStructuredText no longer crashes on repeated explicit-link targets.
-
The Add-ons now validates required add-on configuration when installing add-ons.
-
Component updates no longer time out waiting on their own repository lock during validation.
-
Punctuation spacing check no longer triggers false positives for placeholders.
-
Repository alerts, history entries, and task messages now preserve multiline Git and SSH backend error output.
-
Interrupted Git rebases now recover more reliably after worker restarts, and signal-terminated backend commands are reported more clearly.
-
Borg backups that finish with warnings are no longer shown as failed in the management UI, and backup logs now show
Centries for files that changed during the backup. -
Git exporter no longer rejects shared-history fetches just because the first negotiated
haverevisions are newer than Weblate’s local history. -
Weblate Translation Memory automatic translation avoids broad PostgreSQL searches.
-
Malformed IPv6 repository URLs no longer crash SSH host key detection.
-
Update POT file (xgettext) and related POT update add-ons now replace the standard descriptive-title placeholder in normalized POT headers again.
-
Update POT file (Django) now skips repository
localetrees during preflight validation, fixing components that storedjango.potin a top-levellocaledirectory. -
Screenshot OCR now skips corrupted or truncated image files instead of failing the request.
-
Monolingual component validation now honors Source language when checking duplicate files alongside a separate Monolingual base language file.
-
Translation memory upload and
import_memorynow report a validation error for TMX files missing the required header instead of failing the request. -
<a href="https://docs.weblate.org/en/weblate-5.17.1/admin/machine.html#mt-weblate-translation-memory" class="r...
Weblate 5.17
Released on April 15th 2026.
New features
-
Added
PROJECT_WEB_RESTRICT_ALLOWLISTto exempt selected project slugs from project website restriction settings. -
Added
WEBSITE_ALERTS_ENABLEDsetting to allow disabling project website availability checks and alerts. -
Added new management command
list_format_features, which generates RST documentation snippets describing the supported features for every file format. -
Shared components can now be categorized within the target project, including through the Weblate’s REST API using the
category_idparameter. -
Added Update POT file (xgettext), Update POT file (Meson), Update POT file (Django), and Update POT file (Sphinx) to update POT files with configurable update cadence.
-
Added
PASSWORD_RESET_URLto customize the sign-in page password reset link, useful for external identity providers (Docker env:WEBLATE_PASSWORD_RESET_URL). -
Added bulk user invitations.
-
Added Objective-C format.
-
Added Forgejo notification webhook, see Automatically receiving changes from Forgejo Repos.
-
Added translation memory API filtering, scoped access, and bulk lookup support.
-
Added
from_componentsupport to the REST API for creating components from existing component content and for seeding new translations by automatic translation from existing components. -
Announcements can now be managed via the Weblate’s REST API for projects, components and translations.
-
Added a
softmode toVERSION_DISPLAYto hide the Weblate version from prominent UI while keeping it available on the About page andGET/api/metrics/.
Improvements
-
Track origin of newly added source strings.
-
Markdown now uses
auto-safe-htmlby default, applying Unsafe HTML and Unsafe HTML cleanup only to plain text and source strings that contain standard HTML markup or valid custom elements. -
Improved LLM interfaces for better reliability.
-
Improved logic for adding monolingual plurals in GNU gettext PO (Portable Object).
-
Added a component alert for conflicting merge request repository setup, see Translation component alerts.
-
Improved plural handling in Automatic translation.
-
Improved error messages in some Weblate’s REST API endpoints.
-
Updated Microsoft Entra ID authentication docs and Microsoft sign-in branding while keeping legacy Azure AD backend identifiers and documentation anchors for compatibility.
-
Improved performance of project and category search result pages with very large match sets.
-
Docker now exposes
WEBLATE_COMMIT_PENDING_HOURS,WEBLATE_SOCIAL_AUTH_KEYCLOAK_ID_KEYfor customizing the Keycloak unique user identifier claim, andWEBLATE_NGINX_IPV6for controlling IPv6 listeners in the bundled NGINX. -
Project history now records project backups and project/component restore events.
-
Improved documentation with auto-generated snippets for Add-ons, Translation types capabilities, Quality checks, and Automatic suggestions machines, and clarified merge-conflict behavior for exported repositories using shallow clones by default.
-
Added
PROJECT_WEB_RESTRICT_PRIVATEto reject project website and repository browser URLs targeting internal or non-public addresses,WEBHOOK_RESTRICT_PRIVATEto reject webhook URLs targeting internal or non-public addresses, andVCS_RESTRICT_PRIVATEto reject repository and push URLs targeting internal or non-public addresses. These are exposed in Docker as <span...
Weblate 5.16.2
Released on March 6th 2026.
New features
- New setting
PUBLIC_ENGAGEto make the engage page public even withREQUIRE_LOGIN.
Improvements
-
Improved matching in Translation Memory.
-
Show the number of strings waiting for review in listings.
Bug fixes
-
Avoid displaying confusing status icons for ghost languages on project or category level.
-
Fixed missing plural source strings when creating new bilingual plural units.
-
Crash on certain pages with nested categories.
-
Improved API validation when adding strings.
-
Disabled throttling for incoming webhooks.
-
Avoid displaying non-actionable ghost languages.
-
Fixed highlighting in the translation editor.
Upgrading
Please follow Generic upgrade instructions in order to perform update.
Contributors
Code contributions
Michal Čihař, Karen Konou, Kartik Ohri
Documentation contributions
Michal Čihař