conventionalcomments.iogithub ↗LanguageEN/FRBring it to your team

release notes / toolkit 1.x

Release notes

A release-by-release account of what actually changes when you use the toolkit: new capabilities, fixes, and behaviour you may notice. For the exhaustive technical record — including constraints, compatibility details, and edge cases — see the changelog.

one thing to keep in mind

The extension starts in assist mode. By default, it helps you write compliant comments and points out problems without preventing you from submitting them. Stricter behaviour is something your organization explicitly chooses to enable. When the server is deployed, it provides the authoritative pull-request compliance check.

Version 1

1.0.0-beta.12betaSeptember 8, 2026tag ↗

The guided tour is legible at last — the page behind it really does go dark, and its card sits above it instead of blending in — and the “Status” section says what it observed rather than what that might mean.

✨ Features

  • The “Status” section tells you what it is for. It was the only section of the options page whose heading had nothing under it, so you had to read the two lines it shows to work out what it covered.

🐛 Bug fixes

  • The guided tour now dims the page around the part it is pointing at. In the dark theme it barely dimmed at all — a dark veil over an already dark page changes almost nothing — so the tour looked like it was highlighting nothing, and its card, which had the same colour as the panels behind it, read as one more panel rather than as something floating above them. The rest of the page now goes properly dark in both themes, and the card carries a drop shadow you can actually see; in the dark theme it is also a lighter surface than the panels behind it.
  • The “Status” section no longer suggests the extension changed your pages. It reported “pages whose structure changed under it”, which reads as an accusation and, either way, claims more than the extension knows: what it records is that one of its selectors found nothing on the page. That can mean the page changed — or simply that the element is legitimately absent, like the merge button on a closed pull request. Both the section and the tour step now report what was actually observed.
1.0.0-beta.11betaSeptember 8, 2026tag ↗

You now authorize every platform the same way — github.com included — so the extension asks before it works anywhere, and you can revoke that access at any time.

✨ Features

  • You choose where the extension works, and you can change your mind. github.com used to be built into the extension: active from the moment you installed it, with no way to revoke that access from the extension itself. It now goes through the same one-click authorization as every other platform, and every domain you have allowed carries a “Withdraw” button. Domains authorized by your organisation's policy stay as they are — that is not this screen's call.
  • The options page opens automatically the first time and offers you a guided tour. It introduces each section and explains what it is for; you can skip it at any point, close it with Escape, and it never comes back on its own. A “Replay the guided tour” button in the page header replays it whenever you want.
  • The options page now speaks French or English, like the rest of the extension. It stayed in French whatever you had chosen — so someone who had set the interface to English saw English everywhere except on the settings page where they made that choice. The new language now takes effect immediately, rather than at the next reload.

🐛 Bug fixes

  • GitHub Enterprise Cloud with data residency now works at all. A domain allowed as *.ghe.com was recorded under a mangled name, so the extension never recognised the pages it was authorized for. This is older than this release, and no test could see it: the flaw only appears in a browser, and the tests ran where it does not.
  • You no longer need to reload the tab you came from. Allowing a domain from the options page left that tab inert — precisely the tab you were about to use. The extension now activates there immediately.
  • A failed revocation is no longer reported as successful. When the browser refuses to remove an access, the screen used to report the domain as unconfigured afterwards — an anomaly it had created itself, while the access was in fact still granted. It now changes nothing and says why.
  • Revoking access from chrome://extensions now also clears the saved platform. The platform you had chosen for that domain used to stay behind, so granting it again the same way silently restored the old choice instead of asking you.
  • The extension no longer loads itself on pages it does not support. If you had granted access to all sites from the browser's own controls, its code was injected into every https page, where it could do nothing anyway. Patterns that do not identify a concrete host no longer appear as domains to configure either.
  • The interface no longer appears twice on a page covered by two of your authorizations, and a tab left open for a long time no longer accumulates a copy of the extension's stylesheet.

🔧 Changed

  • After this update, the extension is silent on github.com until you allow it. One click on “Activate” in the options page is enough. This step cannot be automated: the browser only grants a site permission after an explicit action from you. The page opens by itself to say so — but only if the update left you with no working domain at all; if you already had another one configured, the extension keeps working there and nothing tells you it is no longer active on github.com.
  • The options screen is rebuilt around the actual access states: domains the extension already knows, where one click both authorizes and classifies; any other domain, where you say which platform it belongs to before granting; the list of what is configured; and, only when it is not empty, the domains you allowed from the browser rather than from this screen, where the extension is not active yet.
  • Each visualstudio.com organisation is now authorized individually through the free-form field, with Azure DevOps pre-filled. The catalog entry it replaces asked for every organisation on those legacy addresses at once, when a workstation uses one.
1.0.0-beta.10betaSeptember 5, 2026tag ↗

GitHub rewrote its “Files changed” view, and the extension had gone quiet on it: this release brings the whole toolkit back there, and makes diagnostics speak the language you picked.

🐛 Bug fixes

  • The comment tooling works again on GitHub's rewritten “Files changed” view. GitHub now serves that page at /pull/N/changes, where the extension recognised nothing: no label toolbar, no quick entry, no live validation, no badges on published comments — precisely where a blocking issue: counts most. All of it is back. A page carrying an editing surface the extension does not recognise now leaves a diagnostic entry too, instead of being inert and silent at once.
  • Under enforce, a non-compliant comment can no longer be published from that view. Neither by clicking Reply under a diff line, nor from the “Finish your comments” panel of a batch review, whose buttons sit in the overlay rather than beside the field. Only the keyboard path was guarded before, so a comment the extension had flagged could still be sent with a mouse.
  • Editing the root comment of a thread is validated again there. It was taken for a reply, which the default configuration exempts from validation — an issue: root could be edited into anything without the extension looking. Published comments get their badges back too, resolved threads read as resolved instead of unknown, and the pull request banner shows the authors and bodies it was missing.
  • A blocking label in a review summary is warned about again. In the “Finish your comments” body, issue: reported everything except the one warning that matters there: nobody can resolve a review summary, so it carries no blocking state.
  • The Preview tab shows badges on that view too. Writing issue: … in a composer on …/changes and switching to Preview rendered the prefix in plain text, where the same switch on the conversation page showed the badge.
  • The composer looks like itself again on that view. The toolbar sits above the field instead of being folded into a narrow column beside it, and the compliance outline around the field is visible instead of clipped. That spacing survives a trip through the Preview tab as well.
  • Diagnostic messages now follow the language you picked in the options page. A French interface could show Conforme, avec avertissements above This comment is blocking but has no discussion: that one line took its language from the repository's configuration rather than from your own preference. Label names and diagnostic codes stay untranslated in both languages — they are identifiers.
1.0.0-beta.9betaSeptember 4, 2026tag ↗

The extension no longer gets in the way of a pull request's own description, no longer goes quiet on a page that starts out empty, and finally says why when it cannot read your configuration.

✨ Features

  • When the configuration cannot be read, the options page now shows why — HTTP 429, a TypeError, a 404 that cannot be told from a refusal — together with the level it came from, instead of the bare word unreachable. The reason stays on your machine.

🐛 Bug fixes

  • A pull request's own description is no longer treated as a review comment. The convention says nothing about it, yet the label toolbar was drawn on it — and under enforce the submit guard applied to its Update button, so a description without a label: prefix could not be saved at all.
  • The “Configuration unread” banner no longer appears on every repository. Every configuration read was failing before it left the browser, so the extension always fell back to its degraded state.
  • A page that had nothing to show no longer stops watching after five seconds. On Files changed with no thread yet, the first comment posted afterwards got neither badge nor banner until a full reload.
  • A missing page is no longer read as a hidden one while you are signed in. Two independent signals must now agree before a 404 means an unreadable configuration.
  • The selector degradation journal is usable again. Visiting a single closed pull request filled all fifty lines with one entry and evicted every real degradation.
1.0.0-beta.8betaSeptember 4, 2026tag ↗

Published comments read like titles — badges, then the subject in bold on the same line — and three ways a comment could silently lose its badges are closed.

✨ Features

  • A published comment's subject is now shown in bold on the badge line, to the right of the badges. Where the subject cannot be delimited safely, the previous layout is kept rather than risking a wrong cut.

🐛 Bug fixes

  • Editing a comment no longer strips its badges. The platform rewrites the rendered body on an update, and nothing brought them back until you reloaded.
  • The structured prefix is re-hidden when the platform restores it on its own.
  • Leaving a pull request, or switching to mode: off, no longer leaves part of a comment invisible — an extension that declares itself inactive went on concealing text you had written.

🔧 Changed

  • The composer toolbar now stacks two rows — labels, then decorations — so a narrow window can no longer put a label button next to a decoration segment as if they were one kind of control.
  • Label buttons no longer show their icon; badges on published comments still do. The buttons share one row's width, where an icon costs every other button.
1.0.0-beta.7betaSeptember 3, 2026tag ↗

The structured prefix disappears from a published comment — the badges already say it — except everywhere saying it twice was the safer answer.

✨ Features

  • issue (blocking): no longer appears in a published comment. On screen only — the stored comment is untouched, and reopening the edit form shows it in full.
  • Where the badges would not say the same thing, the text stays: a decoration the configuration rejects, a case defect the tool exists to flag, decorations folded into a +N badge.
  • A line that merely looks like a prefix — in a code block, a quote, a list, a heading, a table — is left alone.

🔧 Changed

  • Every default label now has an icon and a colour, contrast-checked against WCAG 1.4.11.
1.0.0-beta.6betaSeptember 3, 2026tag ↗

Decorations get badges of their own, and the whole display follows a configuration change while you watch.

✨ Features

  • Each decoration now gets its own badge beside the label: red where it forces blocking, green where it forces non-blocking, dashed where the decoration is declared nowhere.

🐛 Bug fixes

  • Changing the configuration now refreshes what is already on screen, including on a tab left open on a pull request.
  • A comment box you already had open follows that change too, including whether it blocks your submission — an organisation switching from enforce to off left you blocked until you reopened the box.
1.0.0-beta.5betaSeptember 2, 2026tag ↗

Repository configuration is readable again on private repositories.

🐛 Bug fixes

  • The read follows a redirect the browser refuses to authenticate; credentials are now dropped only on that hop, so the file stays readable without asking you for any host permission.
  • A configuration file unreadable for want of a session is no longer mistaken for a missing one — which silently applied the wrong configuration.
1.0.0-beta.4betaSeptember 1, 2026tag ↗

The decoration selector says what your comment carries, not what you last clicked.

🐛 Bug fixes

  • A decoration you removed by editing the text, or one that left with a label the configuration disabled, no longer stays lit in the toolbar.
1.0.0-beta.3betaSeptember 1, 2026tag ↗

Two permissions dropped from the manifest, telemetry that exists only if you ask for it, and enough to submit to the stores.

🔧 Changed

  • activeTab and the permanent host permission on github.com are gone. Hosts are granted on demand — the extension asks for what it needs, when it needs it.
  • The pull request banner is a summary, not a merge barrier. The verdict belongs to the platform's check, already red and already blocking; replaying it here devalued both.

✨ Features

  • Optional telemetry, off until you turn it on, bound to the address you consented to and configured by your organization's policy rather than by a repository file.
  • The version shown in chrome://extensions now distinguishes pre-releases.

🐛 Bug fixes

  • On GitHub Enterprise Server and self-hosted Azure DevOps Server, granting the host permission finally gives you the extension. The platform each host serves is now recorded with it.
  • An organization configuration hosted off your platform is readable again. It never had been: the page's CORS policy blocked it whatever permission was granted.
1.0.0-beta.2betaAugust 24, 2026tag ↗

Bot and tool comments stop being flagged, and the toolbar stops touching the edge.

✨ Features

  • A tool command is no longer flagged as a malformed comment. A slash command, or a bot mention you list in toolCommands, is exempt — /rebase and @dependabot recreate pass through intact.

🐛 Bug fixes

  • The toolbar and the feedback align with the comment box's text instead of touching its border.
  • A label's colour now paints the active button's border rather than its background: that colour comes from your configuration, and using it as a fill dropped contrast to 1.54 where 4.5 is required.
  • Toolbar buttons are spaced again — a CSS comment closed one character early was silently swallowing the rule that spaced them.
1.0.0-beta.1betaAugust 24, 2026tag ↗

First installable release.

✨ Features

  • The extension for GitHub and Azure DevOps: a toolbar above the comment box, keyboard quick input, live feedback while typing, and a submit guard in enforce mode.
  • The server companion, self-hostable, authoritative on conformance and on blocking a pull request's completion.
  • Chromium and Firefox archives published on every tag, loadable without Node or npm.