Skip to content

v1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Nov 00:00
3b63d18

Install and setup: installation guide.

What's in 1.0.0

First stable release. Every plugin release is now tested end to end against the live Supertext API (.github/workflows/e2e.yml).

  • Removed: support for Wagtail 7.0 LTS (end of life since 2 November 2026); the minimum is now Wagtail 7.4 LTS.
  • Removed: support for Python 3.10 (end of life since October 2026); the minimum is now Python 3.11.
  • Changed: the demo runs on Python 3.14; CI also tests Wagtail 7.4 with Django 6.0.
  • Added: support for Wagtail 8.1 (tested in CI with Django 6.1 on Python 3.14); the demo runs Wagtail 8.1 and psycopg 3.3.8.
  • Docs: demo movie in the README (docs/images/demo.gif, recorded from the demo against the stand-in with tests/docs/movie.mjs; the MP4 version, not committed, is narrated with the Piper voice “alba”) and an install and configuration movie (tests/docs/movie-install.mjs: pip install, settings, urls.py, migrate, SUPERTEXT_API_KEY and supertext_check, then Settings → Supertext with Test connection and the Languages table; narrated MP4, not committed). The stand-in can keep files in_progress for a while (STAND_IN_DELAY).
  • Added: the Supertext support form is linked in the README, the user guide and GitHub's "New issue" page.
  • Added: Translation review per locale (Settings → Supertext → Languages → Translation review, or review in the LANGUAGES option): translations into a locale with it ticked go through Supertext's review service (Supertext Localization Review), where customers and Supertext linguists correct them on the website with a Chrome extension; corrections come back into Wagtail when the texts are translated again, and texts translated before keep their (reviewed) wording. Same API key, billing, languages and messages; other locales keep going directly to Supertext. New option REVIEW_URL / SUPERTEXT_REVIEW_URL (defaults to Supertext's review service; "" turns review off everywhere). Run python manage.py migrate (adds the column review; existing locales start with review off). All four interface languages.
  • Changed: requests to Supertext name the plugin and its version in the User-Agent (Wagtail-Supertext-Translation/<version>).
  • Added: Export for translation (XLIFF 1.2 or HTML) and import of translated files; Supertext SDK 0.5.0. Settings → Translation files downloads the texts of a wagtail-localize translation that still need translating as an XLIFF file (one or more languages, for translation tools) or an HTML file (one language, e.g. for Supertext's web app), and imports the translated file into the translation like a machine translation (existing translations never overwritten; texts whose source changed since the export only with Also import texts whose source changed since the export), with a summary per page and language; review and publish in the translation editor as usual. Different from wagtail-localize's PO files. Open to editors for the translations they may edit; files up to 10 MB, nothing stored on the server. In English, German, French and Italian.
  • Added: Settings → Supertext → Languages: a drop-down per locale with Supertext's languages (and the tone where the language offers it), saved in the database (new table; run python manage.py migrate). The suggested language is preselected. The LANGUAGES option stays as an override for automated setups and wins per locale, so existing configurations keep working unchanged.
  • Changed: locales without a chosen language now use an obvious default (de → de-DE, en → en-US, fr → fr-FR, it → it-IT, pt → pt-PT, zh-cn → zh-Hans, zh-tw → zh-Hant, es-es → es, …) instead of failing; only locales without one (en-ie, de-li, gsw, …) still need a choice. The no Supertext language yet message points to Settings → Supertext → Languages. Bundled Supertext SDK updated to 0.4.0 (commit 6aaad33).
  • Changed: version reports, the API key check result and the reachability ping now use Supertext Plugin Health 0.1.0 (bundled in wagtail_supertext/_vendor/plugin_health); bundled Supertext SDK updated to 0.3.0 (commit f7bd414). No change for sites: settings and stored state stay as they are.
  • Added: support for Python 3.14 (tested in CI with Wagtail 8.0 and Django 6.1).
  • Added: Send version information to Supertext (on by default; "VERSION_REPORTS": False or SUPERTEXT_VERSION_REPORTS=0 turns it off). The plugin reports the site URL and the plugin, Wagtail, Python and SDK versions, whether a key is set and the API key check to the Supertext Commando Center after an update and when the key changes, in the background. No content, no API key, no personal data. See the installation guide.
  • Added: automatic API key check (Supertext's cost-free features call) when the key changes, on Test connection, with supertext_check and when a translation is rejected; Settings → Supertext shows the latest result with its time (with the account and API key links when the key is rejected or missing). Test connection now shows this check.
  • Added: public ping endpoint GET /supertext/ping (add path("supertext/", include("wagtail_supertext.urls")) to your urls.py), so Supertext can see the site is reachable; 404 while version information is off.
  • Added: the plugin's own table (run python manage.py migrate) for the reporter's state and the latest key check (never the key).
  • Changed: languages are no longer guessed. A Wagtail locale whose code is a Supertext code (de-ch → de-CH, fr-ch, es, zh-hans, apart from case and _/-) is used as it is; every other locale needs LANGUAGES → code (its meaning changed: it is now the mapping, without default regions). The default regions are gone: they were wrong for most languages (Supertext wants es, sl, nl without region and zh-Hans instead of zh-CN). An unmapped locale gets the message has no Supertext language yet (four languages) and nothing is sent for it; Settings → Supertext marks it Not mapped.
  • Changed: formal/informal is only sent where Supertext offers it; for English, Swiss German, Romansh, Albanian and Serbian a set politeness gives the message Supertext offers no formal or informal tone for this language instead of a failed request, and Settings → Supertext warns.
  • Fixed: bundled Supertext SDK 0.2.1 (commit eeba8fa): one LANGUAGES → code entry serves both directions; a mapped language is sent as the source in its source form (de-CH → de), so English as the source no longer fails with an en-US mapping.
  • Changed: bundled Supertext SDK 0.2.0 (commit c66cb4d, v1 namespace) with the key check, the version reports and the API's language list; scripts/vendor-sdk.sh copies its subpackages.
  • Changed: the connection to Supertext now uses the shared Supertext SDK (Python SDK, shipped inside the package, so nothing else needs installing), still through requests. Translation works as before; an unsupported language pair now has its own message (Supertext does not support this language pair) in English, German, French and Italian. The package no longer needs BeautifulSoup. An unknown language (e.g. xx-YY) is now reported as an unsupported language pair too, not as "resource not found" (Supertext answers it with HTTP 404).
  • Added: French and Italian interface (and German where it was missing): Settings → Supertext and all Supertext error messages follow the user's admin language.
  • The "No Supertext API key" and "Authentication failed" messages now also link to Supertext account signup.
  • Settings → Supertext shows the plugin version, linked to its release notes on GitHub.