Sitewright Changelog GitHub

Changelog

What changed in each release

Every release of Sitewright, newest first: the version, the day it was released, and what changed. The npm package and the Framer plugin share one version. Update the MCP server with npx -y sitewright@latest; Framer updates the plugin.

1.1.2

Latest

Added

  • GitHub issue forms for a bug report, an idea and feedback.
  • The plugin and the journal page say where to report a bug or an idea, under the donation links. The READMEs, the npm page, the website, the docs and the privacy page link to the forms too.

1.1.1

Added

  • The plugin window folds to its bar and opens again with the chevron in its bar, and opens the way you left it.

1.1.0

Added

  • nodes_lock locks and unlocks layers, with or without a Server API key. Undo unlocks only what it locked, and nodes_query finds locked layers.
  • component_border_variable_add adds a border control to a component, which design_apply cannot create.
  • image_compare captures a node and compares its lines and edges with a reference PNG, such as a Figma export, row by row and column by column.
  • design_apply reads back the layers it set and warns when Framer kept a value as it was, when a variant's override equals what it inherits (Framer drops it), and about variant changes that jump on the site.
  • The plugin asks you to update the MCP server, with the command, when the server is older than the plugin.
  • framer_guide covers resets to the default, variant overrides, motion pitfalls and moving a Figma design.

Changed

  • design_apply refuses a batch that names a color token the project lacks, before anything is written, and names the token you most likely meant.
  • design_apply writes border controls per side and resets zIndex through the plugin, where the DSL refuses them.
  • component_controls_set takes a control by its name and a border as "0 0 1px 1px solid <color>".
  • nodes_read shows the sides of an instance's border.
  • Framer lint messages known to misfire are marked low confidence, with the reason.
  • A read that finds no layer on an old Server API session reconnects and reads once more.

Fixed

  • A token created and used in the same design_apply batch is bound correctly.
  • component_controls_set no longer reports a border it wrote as not stored.
  • The layout audit reads a text's paragraph alignment, and the accessibility audit sees background layers.

1.0.11

Fixed

  • A CMS Collection List created in one design_apply batch binds its item's fields. Framer used to refuse them as not in scope.

1.0.10

Fixed

  • layout_audit no longer reports instances stretched by their pins (a grain, a grid, a background video) as collapsed.
  • component_controls_set writes only the controls you name, so the others keep their token bindings, and it recognizes fonts Framer stores by family.

1.0.9

Changed

  • The plugin window is compact and follows its content: once connected, it shows the status, one button and the support line.
  • The journal names items by their text, not by a token value.

1.0.8

Changed

  • Donations go to Ko-fi and a monobank jar instead of Patreon.

1.0.7

Fixed

  • The plugin removes its listeners when it closes. This is the first version approved on the Framer Marketplace.

1.0.6

Changed

  • The plugin ships every source module as its own readable file, for Framer's Marketplace review.

1.0.5

Changed

  • The plugin contains only the operations it runs, readable and without network code, for Framer's Marketplace review.

1.0.4

Changed

  • Sitewright gives no design advice: design_guide became framer_guide, a guide to how Framer behaves.

1.0.3

Fixed

  • Connect works in the plugin installed from the Framer Marketplace.

1.0.2

Changed

  • A new mark in the plugin's icon, the journal, the website and the docs.

1.0.1

Changed

  • The npm page links the website as the homepage.

1.0.0

Added

  • The first public release: the sitewright MCP server and CLI on npm, the Sitewright plugin for Framer, and the local journal that records every change and undoes it.