Skip to content

v1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Nov 23:52
2f8b11c

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).

  • Support: the Supertext support form is linked in the README, the user guide and GitHub's "New issue" page.

  • Docs: demo movie in the README (docs/images/demo.gif, recorded against the stand-ins with npm run docs:movie; the MP4 version, not committed, is narrated with the Piper voice “alba”) and an install and configuration movie (npm run docs:movie:install: connecting HubSpot, the API key, the language mapping, Test connection; narrated MP4, not committed).
    First version, tested on a real HubSpot account (17 October 2026: installing with OAuth, token refresh, blog posts into language variants and updating their drafts) and against a stand-in of the HubSpot APIs; pages, emails and the knowledge base still to be tried on a real account.

  • Hosted app installed in HubSpot with OAuth (content scope; the knowledge base scopes when the account has them). The HubSpot app definition is in hubspot-project/ (developer platform 2026.09).

  • Translates website pages, landing pages, blog posts, marketing emails and knowledge base articles with Supertext AI on the app's Translate page. Pages and posts become HubSpot language variants in the original's multi-language group, emails get one copy per language, articles a linked translation; everything as a draft, nothing published or sent.

  • Translates titles, meta descriptions, subject line, preview text, plain-text version, rich text and the text fields of modules and drag-and-drop sections; keeps layout, images, links, forms and HubL / personalization tokens (refuses a translation that lost one).

  • Update existing versions is ticked by default (with a warning that changes made by hand are replaced); unticked, existing language versions are kept. A sent email copy is never changed.

  • Settings per HubSpot account: Supertext API key (stored encrypted, with account and API key links) with the automatic key check and Test connection, the content language, target languages with their Supertext codes chosen from a searchable dropdown of Supertext's languages (type part of a name or code), the same language's variants first, preselected with the exact code or the usual variant (German → de-DE, English → en-US, Chinese (China) → zh-Hans, Spanish (Mexico) → es), which also applies to a language nobody mapped; languages without one (fr-be, en-au, no …) show — choose — and aren't translated until chosen, form of address, Send version information to Supertext (Commando Center through Supertext Plugin Health 0.1.0; Supertext SDK 0.4.0), disconnecting, and the app version linked to its release.

  • Translation review per language (Settings → Languages, a checkbox next to the language's Supertext code, off by default): translations into a ticked language 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 HubSpot with the next translation, and texts translated before keep their (reviewed) wording. Same API key, billing, languages and messages; other languages keep going directly to Supertext. New server variable SUPERTEXT_REVIEW_URL (defaults to Supertext's review service; empty turns review off for every account and hides the column). All four interface languages.

  • Requests to Supertext (and the review service) name the app's version in the User-Agent (HubSpot-Supertext-Translation/<version>).

  • Recent translations with the result per language and links into HubSpot's editors.

  • Export for translation (XLIFF 1.2 or HTML) and import of translated files; Supertext SDK 0.5.0. On the Translate page, Export for translation downloads the chosen item's texts for the ticked languages as an XLIFF file (for translation tools; personalization tokens as protected tags) or an HTML file (one language, e.g. for Supertext's web app); the new Import translation page reads the translated file back and writes the language versions as drafts like a Supertext translation, with a summary of imported, skipped (source changed since the export; optional), untranslated, invalid and missing texts. No API key needed; uploads up to 10 MB, never stored.

  • Supertext's look: the Supertext logo in a deep-green header, Supertext's colours, pill buttons and the Inter font (bundled), and the Supertext favicon.

  • Interface in English, German, French and Italian, in the browser's language unless Settings → Interface language chooses another one for that browser (no language switch in the header), also on phones (the pages fit the screen; wide tables scroll inside their card; Save stays at the bottom of the settings). The stylesheet and script addresses change with every release, so browsers, Safari on iPhone included, load the new layout right away instead of a cached one.

  • npm run hubspot:probe to look at a real account (read-only).

  • A language version is made in HubSpot before its texts are translated, so a version HubSpot refuses (for example a blog without that language) costs no translation; The blog has no “fr-ch” version in HubSpot yet explains how to add it. A version made for a translation that then fails is removed again.

  • Hosted on Railway at https://hubspot-production-ac4d.up.railway.app; the HubSpot app definition is uploaded by the Upload HubSpot app workflow.