{"version":"0.10.6","download_url":"https://updates.zerolingua.studio/zero-lingua.zip","sha256":"cd6ed4d6082588187aee40de8977a33798ff72f1356f57e151b89a7f8c8c87b5","signature":"7yPIdABuZ6R4nR+xxGGEcZkirVvs3dnqkRl4gjHiqkaMl0kcsFhThCXFkki9y7W8TcnGUpPhe/omhHG7tVe2Dg==","requires":"6.5","tested":"7.1","requires_php":"8.2","name":"Zerø Lingua","author":"Zerø Sense","homepage":"https://zerolingua.studio","sections":{"description":"Multilingual layer for WordPress. Single canonical document plus content-hash translation memory, resolved at render. Etch first-class, Gutenberg supported.","changelog":"<h4>0.10.6</h4><ul><li>The translation bar's card is redesigned in three columns: on the left, what the text is (its kind, its place on the page, its status and its last change) and the two switches; in the centre, the original and your translation; on the right, the links, bold, italics and attributes that belong to the text, each in its own numbered card.</li><li>«Keep original» (show this text as written in every language) and «Keep this translation» (AI and imports won't overwrite it; on by itself when you save by hand) replace the «Protect ▾» menu, as two switches always in sight.</li><li>The buttons appear where and when they apply: under the field, «Translate with AI» when nothing is written yet, «Approve» and «Re-translate» for an AI draft, «Save draft» and «Save &amp; publish» once you type, «clear translation» on the left. «copy original» sits inside the field.</li><li>An empty field shows the original underneath in grey, as tracing paper, and grows only when your text is longer. A long original is cut to four lines with its own scroll.</li><li>On the page, the text you are editing is framed in its status colour and the rest of the page dims a little; every text is marked as one tidy rectangle around its words, and hovering another text lights it so you know you can open it.</li><li>A link that is the whole text says where it goes under it («→ /ca/enllacos/») and its card is «Links to», with «Another page (Català only)», «Remove link» and, for a page of this site, a button that opens that page's translation bar.</li><li>Images, icons and form fields: their alt text, title, accessible name or placeholder are edited in the centre, with a small preview of the element; an image with no text to translate says so.</li><li>The bar is one row, in this order: the language and its status, the places left, «Not visible», «Show original», then «Translate with AI» and the one filled button for this page's next step, then «Linked pages», «Console» and «?». On a narrow window the labels shorten, the rail hides, and below that the bar becomes a small pill that opens a sheet with everything.</li><li>«Not visible · N» lists everything of the page you can't click on it — its address, its SEO title and description, hidden blocks, form messages, field-specific translations — in three groups you can fold and search, and opens each one in the same card.</li><li>«Linked pages · N» opens the pages this page links to that still need work.</li><li>The page's address (slug) moved from the bar into «Not visible» → «Address»; on the original language's bar it is shown read-only, with a link to change it in WordPress.</li><li>A field's own translation (a «slot», when the same text needs a different translation in one field) can be edited from «Not visible».</li><li>Glossary terms in a text are underlined in the original and listed in the card's margin, where you can remove them (with Undo); «+ glossary» adds the text and offers Undo too.</li><li>«Go live» sits next to «not live» and asks before publishing a language on the whole site; the filled button is always this page's work («Approve N safe» or «Translate N with AI»).</li><li>The rail on the right marks each text as a thin line in its status colour; hovering magnifies the lines like the macOS Dock and shows the start of the text, its kind and its status. The «next ↓» button is gone: the bar's arrows (and J/K) are the one «next».</li><li>The language arrows left the bar: click the language name for the menu, or use ⌥← / ⌥→, which also keeps you on the same text.</li><li>Every number on a page now counts what that page prints in that language — content, templates, menus and site-wide texts shown there, SEO and hidden texts — and the admin-bar chip says the same with the bar closed or open. Everywhere the two states are «to translate» and «to approve».</li><li>Escape closes one thing at a time — the field you are in, a notice, the card — and, with only the bar left, asks «Press Esc again to close the bar».</li><li>Every notice has its ×, and its action («Undo», «Unlock»…) looks like a button.</li><li>Two-step confirmations keep their size: «Confirm» in red with «Cancel», and what will be removed said in one line.</li><li>The help («?») opens above the bar and describes the marks and keys as they are now.</li><li>In the console, a new tools menu (toolbox icon) gathers «Written language», «Clean up» and «Import / export», with a dot when one of them has something waiting; each opens in a window over the console. «Clean up all» is a button at the top of Clean up.</li><li>The «keep the data when the plugin is deleted» switch moved to Settings → License &amp; privacy.</li><li>The notice that offers to check which pages are written in another language now updates by itself while it scans («Checking 12 of 40 pages…»), says what it found, and starts with «Show me which pages».</li><li>Settings → Languages: a missing WordPress language pack is offered as a quiet download instead of a warning, and switches use the same colour everywhere.</li><li>Keyboard: focus rings are visible on every bar and card control, and touch targets are at least 44 px.</li></ul><h4>0.10.5</h4><ul><li>With «translate on publish» on for a post type, a custom field that only appears once the page is shown (a Meta Box field in an Etch template, for instance) is now queued for AI translation the first time the published page is viewed, instead of staying untranslated.</li><li>A text with inch or foot marks (<code>4,3\"</code>, <code>6'</code>), which WordPress prints as ″ and ′, is now served translated instead of in the original, and no longer shows up a second time in the translation manager as «seen on the page». After updating, the page cache is purged once.</li><li>In a paragraph with bold, italics or a link, the translated page keeps the spaces around the marked words exactly as you typed them: a space you add after a mark is no longer lost, and one you remove (as in «de l'home») no longer comes back. Translations saved before keep the spacing they had until you edit them.</li><li>The translation bar is calmer: three text sizes instead of a dozen equal ones, one filled button per moment («Approve N safe» at rest, the card's own «approve» or «Save &amp; publish» when a text is open), colour only for a text's state (a field you are typing in no longer turns orange, the AI button is no longer blue), and labels such as «paragraph» or «written by hand» as plain text instead of boxes. Nothing was removed and every button does what it did.</li><li>Screen readers now hear the translation bar: where the arrows or J / K landed, waits, warnings and failures (a failed save is also shown in red), and the translation field is named by its language. Pressing «Translate with AI» from the keyboard keeps the focus on the button.</li><li>While the translation bar is open, the admin-bar chip and its language list show the bar's own numbers, so one page has one «what is left» figure. Clicking «N untranslated» in the bar takes you to the first place that still needs work.</li><li>On the original page, «Open translation bar» now opens the bar in your first translation language instead of the original.</li><li>The translation bar is one band now: each number sits on the button that acts on it («Translate 5 with AI», «Approve 2 safe», «Console · 10» for linked pages that need work, «Manager · 2» for texts that do not show on the page), «not live» sits beside the language's name, and messages appear in a strip just above the bar (errors in red, until you close them). «Clear all translations» moved to the language menu, «Original» is one button you press again to go back, and the language arrows appear when you point at or tab to the language name. Nothing you could do before is gone.</li><li>The bar's card is quieter: «Don't translate» and «Lock» live together in a small «Protect ▾» menu, whose button says what is on without opening it («Locked», «Not translated»). The kind of text and who wrote it are always shown side by side («paragraph · AI», «paragraph · by hand»), with the date when you point at it. «re-translate», «copy original» and «clear translation» stay in their place and show while you edit, point at or tab into the card, and always on touch screens.</li><li>Every text in the translation bar now opens the same card, including texts hidden on the page (a slider's other slides, a closed popup, a link hidden on small screens): you edit them in its field and protect them with «Protect ▾». The older card, its «⋯» menu and its inline switches are gone; nothing they did is lost.</li><li>In the translation bar, a paragraph made of several pieces (plain words, bold, italic or links) that opens as one text is now marked as one block, instead of a mark per piece with gaps between them.</li><li>In the translation bar's field for a sentence made of several pieces, a link no longer has a wide gap before it: the space between a word and the link is one space, as on the page.</li><li>When you change a translation by hand in the translation bar and it gets locked so the AI won't overwrite it, the save message now says so, with an «Unlock» link beside it. Before, «Lock» turned on without a word.</li></ul><h4>0.10.4</h4><ul><li>Settings → cleanup: «remove all» clears every text no page prints any more in one go, after one confirmation that says how many texts and translations go, and one undo puts them all back.</li><li>The sitemap now leaves out the post types and taxonomies your SEO plugin keeps out of its own sitemap (SEOPress, Rank Math, Yoast), not only the noindex ones. After updating, the page cache is purged once.</li></ul><h4>0.10.3</h4><ul><li>WPML import: every step and re-run of an import uses the same list of translatable custom fields, and fields that recent WPML versions record outside their main settings are read too, so running the import again after closing it no longer skips fields such as Meta Box groups.</li><li>WPML import: running the import's memory step again no longer overwrites a translation someone restored or approved after the import; the importer's text is set aside instead.</li><li>WooCommerce cart and checkout blocks: product names, shipping options, and payment method titles and descriptions now appear in the visitor's language, both when the page loads and after every update (changing a quantity, choosing shipping, applying a coupon). Notices and prices follow the page's language too. Orders still store the names as you wrote them.</li></ul><h4>0.10.2</h4><ul><li>WooCommerce: the shipping method's name appears in the visitor's language in the cart and classic checkout, on the order received page, in My Account and in customer emails; the order still stores the name as you wrote it.</li><li>WooCommerce: with a persistent object cache (Redis, Memcached), product subcategories and classic WooCommerce widgets are cached per language, so each language shows its own names.</li><li>Language switcher: on My Account › Edit address, the billing or shipping link opens the same address form in the other language instead of an empty one.</li><li>The translation bar opens a paragraph wrapped in a style-only <code>&lt;span&gt;</code> (pasted from Google Docs or Word) with its bold and links instead of raw HTML, and the translated page keeps the source's span around the text.</li><li>The translation manager gains a «to review» filter (drafts, texts served unreviewed, and texts with a set-aside alternative), selected when you arrive from «Review them»; closed rows say how many alternatives are set aside, and a copy set aside by the WPML import says it was the translation WPML was serving.</li><li>WPML import: every clone of a Meta Box cloneable group saved as separate rows now brings its translation, not just the first; a run not yet confirmed picks them up with <code>wp zero-lingua wpml import --steps=memory --run=&lt;id&gt; --yes</code>.</li><li>A heading or paragraph whose original has the same mark twice, one inside the other (a doubled bold, for instance), now shows its translation when the translation keeps that mark once, instead of the original language.</li><li>Bricks: the heading of the Frames table of contents element can now be translated, and its translation is brought over from WPML.</li><li>WooCommerce: on an order's payment, received or view page, the language switcher now keeps the order (its endpoint, number and key) in every language, instead of offering the empty checkout.</li></ul><h4>0.10.1</h4><ul><li>After updating, the page cache is purged once: the sitemap and the hreflang of noindex pages change, and excerpts in Bricks loops change language (see the SEO and Bricks lines below).</li><li>Every Zerø Lingua notice in wp-admin can now be dismissed, and comes back only when what it says changes; its button sits under the sentence, smaller. The two that mean the site is paused or its database update did not finish stay until fixed.</li><li>The translation manager keeps a row open, with what you typed, when someone else changed it first; its filters are now «hidden on the page» and «meta» («long» is gone); a custom slug shows the automatic one as its placeholder; the language popover's slug has Save and Cancel buttons; and the console opened with ?zero-lingua closes like the one opened from the bar, with no corner button left behind.</li><li>With Yoast, Rank Math or SEOPress, a post type or taxonomy marked noindex leaves the sitemap and its pages no longer announce hreflang.</li><li>«Switch to &lt;main language&gt;» from the wp-admin notice no longer loses its proposal when the editor reopens.</li><li>Console: opening a scope no longer nudges the tabs beside it, the language card's links have room between them, the AI translate button stays short with its details on a line below, and the language switcher row aligns its icon with the title.</li><li>Switching a post's language no longer refuses posts with an automatic excerpt, and after «Switch» the language notice says the proposal is waiting for your review in the console, with a link to it.</li><li>Yoast SEO: turning the source-language URL prefix on or off now refreshes Yoast's stored URLs, so canonical and og:url no longer keep pointing at the old address (Yoast may offer its «SEO data optimization» afterwards; that is expected).</li><li>Settings explain themselves on demand: each help line sits behind an &quot;i&quot;, technical options fold under &quot;advanced&quot;, languages can be dragged into order, the language switcher page shows how to place it in your own builder, and clean-up has its own tab.</li><li>The translation bar's card is simpler: the open text gets a thin 1px outline around its words, “Don't translate” and “Lock” are switches, the original and your translation sit in two labelled rows, and the save buttons share one row under the field; “Open that page's translation bar” is now a plain link.</li><li>The Zerø Lingua button in the Bricks builder toolbar now looks and behaves like Bricks' own toolbar buttons (size, icon colour, hover, open state and tooltip), in both the dark and light builder modes.</li><li>WPML import: a text WPML left unchanged from the original no longer overwrites another translation of the same phrase; it is set aside for you to pick (&quot;use this&quot;), and the import and the close list every text now served differently than with WPML.</li><li>WPML import: SEO titles and descriptions that WPML kept on each language's copy of a category or other term (Slim SEO and other term fields) now come across as that language's translation.</li><li>WPML import: a plugin's or theme's plural text translated in WPML String Translation (&quot;3 hours of service&quot;) now imports as one correction with its singular and plural forms, so the right form shows in each language.</li><li>The translation bar opens a paragraph whose translation has straight quotes or apostrophes (l'oportunitat) that the page prints curly, in every builder: Gutenberg and classic content as well as Bricks. Before, such a paragraph could not be opened.</li><li>Clearing a translation from the bar now shows the original on the page straight away.</li><li>A translation made only of invisible characters (such as a no-break space) is refused, so a heading can no longer be served blank.</li><li>Reloading or leaving the page with unsaved edits in the translation bar now asks first.</li><li>WPML import: a translation whose WPML copy added a line break the original does not have (a product's short description, for one) is now served instead of the original.</li><li>WPML import: a term's name keeps the translation of its WPML copy, as WPML served it; a different String Translation text for the same words no longer overwrites it and is set aside («use this») and listed among the texts served differently.</li><li>WPML import: menu labels translated in WPML's menu copies now come across as translations. When a label clashes with a different translation of the same words elsewhere on the site, it is kept as an alternative you can pick with &quot;use this&quot; in the panel, and the import report counts it.</li><li>WooCommerce: on a translated page the currency symbol now sits where that language puts it (€21.00 in English, 21,00 € in Spanish), together with the decimal and thousands separators, unless your store places it differently from its own language on purpose.</li><li>Bricks: product and post excerpts written on several lines are now translated in loops and Excerpt elements, keeping their line breaks, instead of showing in the original language.</li><li>Bricks: the Dropdown element's label (a header menu item, for one), its button's aria-label and the multilevel «Back» text are now translated.</li><li>Bricks: rich text (and an alert's text or an accordion's content) is now translated paragraph by paragraph. Each paragraph opens in the translation bar with its bold and links, never as raw HTML. Translations saved or imported from WPML as one block are split by paragraph once after updating; until that background pass ends, such a text shows in the original.</li><li>The translation bar's card has one mode: Esc or its × closes it (asking once if there are unsaved changes), approve sits at the top beside Don't translate and Lock when nothing is unsaved, their explanations show at once on hover or keyboard focus, text that isn't on the page gets the same card with a field to type in, and the admin-bar Ø menu shows each language on one short line with the details on hover.</li></ul><h4>0.10.0</h4><ul><li><strong>Update a staging copy first.</strong> Stored data is migrated once and every post is re-collected once after the update, in the background; a few translated addresses change (two posts whose titles translate the same now get their own address).</li><li><strong>Lighter:</strong> fewer files load per visit and a smaller download; the WPML importer loads only where WPML is.</li><li><strong>A one-click WPML import</strong> in wp-admin: review, import, close, keep or undo, one step per click.</li><li><strong>Re-translate a whole scope with AI</strong> (a post type, for example) through the queue, without touching locked or hand-corrected translations; a wider translation manager.</li><li><strong>The translation bar:</strong> the page's SEO title and description behind a «meta N» link, a station reached with the arrows says how to type, and one field per repeated text.</li><li><strong>wp-admin notices speak plainly</strong>, and many fixes from the testers' reports: links that point where a page exists, old category addresses redirect, one hreflang code per language, honest counts. Full notes in the shipped CHANGELOG.</li></ul><h4>0.9.1</h4><ul><li><strong>Before you update, take a backup.</strong> After updating, the page cache is purged once and existing content is re-collected in the background, on WP-cron.</li><li><strong>The plugin speaks Spanish, Catalan, German, French and Italian</strong> in wp-admin, the panel and the switcher’s label (German, French and Italian not yet reviewed by a native speaker).</li><li><strong>Migrating from WPML:</strong> other plugins’ multilingual options and admin texts come along, texts that had lost a mark are served marked unreviewed, as WPML served them, and undo is byte for byte, also after the close.</li><li><strong>Links and SEO:</strong> written links follow the page’s language in REST answers, feeds and WooCommerce cart fragments; the sitemap lists only what may be indexed; the shop page announces its translated address.</li><li><strong>Background work runs on WP-cron, not in your admin pages</strong>; when cron is silent, a notice says so and how to fix it.</li><li>Bricks global elements and image captions translated, <code>translate=&quot;no&quot;</code> and <code>zl-notranslate</code> reaching further, a wider cache purge and <code>wp zero-lingua search-replace</code> for a moved site. Full notes in the shipped CHANGELOG.</li></ul><h4>0.9.0</h4><ul><li><strong>Before you update, take a backup.</strong> Sites still on a version older than 0.7.3 must update to 0.7.3 first: 0.9.0 says so in wp-admin and does nothing until then. Open wp-admin as an administrator right after updating: a one-time pass upgrades the stored data.</li><li><strong>WooCommerce orders keep their language</strong> wherever they are born (checkout, wp-admin, REST): payment and order links, order lines and the merchant’s email texts, payment gateway titles, descriptions and instructions, all in the buyer’s language.</li><li><strong>Migrating from WPML</strong>, from WP-CLI, step by step and with undo: languages, translations, translated slugs and URL bases, String Translation, each order’s language, WPML’s language selectors, and a last step that retires the copies and WPML itself. An optional bridge answers code written against WPML’s API.</li><li><strong>Content that exists in only some languages</strong>, and the language each content is written in, said where it is edited, with a role swap when it was written in another language.</li><li><strong>Theme &amp; plugin texts:</strong> correct what any theme, plugin or WordPress prints, in every language, from its own page — scan a plugin’s code to list every text, translate what is missing with AI, or export and import a .po file.</li><li><strong>Fixes from the testers’ reports:</strong> AI translation with Claude models that think (Opus 5, Sonnet 5) and with GPT-5 and GPT-5.5; an AI queue that sets aside a text it cannot translate and goes on, and says so when the account has no credit left; Redis object cache; post bodies printed by Etch, Oh My Etch facets and the www address; and the page cache is purged once after updating.</li><li>A <strong>reasoning effort</strong> setting for the AI, the page’s language as a condition in Etch and Bricks, and <code>translate=&quot;no&quot;</code> or the class <code>zl-notranslate</code> to leave part of a page as written.</li><li>URL bases per content type, a language switcher that keeps query parameters, and more public functions. Full notes in the shipped CHANGELOG.</li></ul><h4>0.8.0</h4><ul><li><strong>Before you update, take a backup:</strong> going back to 0.7.x afterwards is not supported. Then open wp-admin as an administrator right after updating: a one-time pass moves some translations to their new keys and the page cache is purged once. Nothing switches language while it runs.</li><li><strong>The translation bar, rebuilt around the page:</strong> click any words on the page and type them in the bar while the page follows as you write; «Original | Español» shows the page in its original, for a glance or kept; a paragraph’s links and emphasis are edited as what they are, each link named by its words with its destination beside it; «Approve N safe» approves only the drafts nothing flags, with a five-minute undo. The bar folds (double-click the band or ⌥↓, ⌥↑ to unfold) and keeps every word whole on a phone.</li><li><strong>Faster translated pages:</strong> a page asks for its strings in batches, and the HTML layer switches itself off where it has nothing to do. The sitemap is paginated.</li><li><strong>Bricks</strong> (2.4 or newer) translates on the served page — header, footer, popups, loops, WooCommerce labels, query-filter labels, field values — and any other builder or theme is covered by reading the finished page.</li><li><strong>Internal links written inside your content</strong> now lead to the page’s own language.</li><li>An AI work queue on WP-cron, translate on publish, a monthly budget and a cheaper bulk model; cache purge by name; a 301 from an old translated slug; WooCommerce emails in the language of the purchase; translated JSON-LD; WP-CLI commands; four switcher designs. Full notes in the shipped CHANGELOG.</li></ul><h4>0.7.3</h4><ul><li><strong>Fixed:</strong> a prefixless URL now lands in the language that holds the path instead of assuming the default language, which 404ed translated slugs and localized archive bases.</li><li><strong>Fixed:</strong> the editor’s «+ glossary» could replace the whole glossary with one line; the pair is now merged on the server.</li><li><strong>Fixed:</strong> a WS Form Redirect action lands the visitor on the page in the language they were reading.</li><li><strong>Added:</strong> the glossary travels in the JSON export (v5) and is merged back on import.</li><li><strong>Added:</strong> «keep the data when the plugin is deleted» under Settings → exchange, and a note on the Plugins screen saying what a delete does.</li></ul><h4>0.7.2</h4><ul><li><strong>SureCookie:</strong> the Blocked Content placeholder is translated on server-blocked embeds too (a temporary shim at the stored setting, front-end requests only — never wp-admin, AJAX or REST — until SureCookie exposes a filter).</li></ul><h4>0.7.1</h4><ul><li><strong>Fixed:</strong> Claude Opus 5, Sonnet 5, Fable 5 and Opus 4.8 could not translate at all — <code>temperature</code> is no longer sent to models that reject it.</li><li><strong>Fixed:</strong> SureCookie’s Blocked Content texts (placeholder and button) are collected and served translated.</li><li><strong>Fixed:</strong> the translation bar’s arrows no longer lose the caret on a paragraph mixing approved and pending sentences.</li><li><strong>Sitemap:</strong> post type archives are listed, every entry carries <code>lastmod</code>, and <code>x-default</code> follows Settings → routes.</li></ul><h4>0.7.0</h4><ul><li>Panel information-architecture rework; trust the AI per post type; a regional locale per language; native WS Form integration; per-translation locks; media alt text translated; <code>zero_lingua_permalink()</code>; the translation bar sits at the bottom of the page. Full notes in the shipped CHANGELOG.</li></ul><h4>0.5.0 – 0.6.4</h4><ul><li><strong>Upgrade notes if you come from 0.4.0:</strong> translated URLs change shape (0.6.0) and <code>home_url()</code> answers the current language’s front door (0.5.0) — purge page, object and edge caches after updating, and remove any shim that appended the language prefix by hand. WordPress speaks the page’s language once its language pack is installed (0.6.2): disable and re-enable each language once in Settings, or run <code>wp language core install &lt;locale&gt;</code>. Details in the shipped CHANGELOG.</li></ul><h4>0.4.0</h4><ul><li><strong>The plugin is now “Zerø Lingua”</strong> — builder-agnostic: Etch first-class, WordPress core blocks complete; <code>Requires Plugins: etch</code> removed.</li><li><strong>Automatic, lossless data migration</strong> on first load after updating: tables, options, meta and the license move to the new internal naming, and stored license/AI keys are re-encrypted. <strong>No downgrade below 0.4.0 once migrated.</strong></li><li><strong>Breaking (clean rename, no aliases)</strong> — update anything you customized: wp-config constants are now <code>ZERO_LINGUA_*</code>, hooks are <code>zero_lingua_*</code>, switcher CSS classes are <code>zl-switcher</code>/<code>zl-flag</code>, and the sitemap moved to <code>/zero-lingua-sitemap.xml</code> (resubmit in Search Console). The full old→new table is in the shipped CHANGELOG.</li></ul><h4>0.3.0</h4><ul><li><strong>Updates now fail closed:</strong> a build without a signing key refuses every update, rather than skipping the check.</li><li><strong>Block-format layer:</strong> the engine no longer hard-codes any block name, and WordPress core blocks can be translated (off by default where Etch is installed).</li><li>Language-specific URL slugs, site-identity management, term-archive SEO with translated term routing.</li><li><strong>Security:</strong> attribute-injection guard on translated core-block attributes; the href scheme allowlist is now unbypassable; supply-chain and provenance hardening (audit #2); SHA-256 validation of the downloaded package.</li><li><strong>Fixed:</strong> post titles containing &amp; never translated their &lt;title&gt;; whitespace around translated text nodes is preserved.</li><li><strong>Accessibility:</strong> the panel is a real dialog, every control is keyboard-reachable, and text contrast meets WCAG AA in both themes.</li></ul><h4>0.2.0</h4><ul><li>First public release: security, stability and data-integrity hardening on top of 0.1.0. See the plugin CHANGELOG for details.</li></ul>"},"banners":{}}