Weevarv2.0

Changelog

Release history.

2.0.0 - June 14, 2026#

Major release. Weevar v2 adds live style editing on top of v1's layout manipulation, a redesigned Edit Tray, significantly more reliable prompt output for AI-assisted code changes, and a unified session model that handles layout moves and style tweaks in the same prompt.

Added — Style editing#

  • Edit Tray — select any element in pointer mode and edit its styles in a docked tray without leaving the page. Changes preview live on the DOM and are committed to the session as structured StyleTweak records.
  • Element classification — elements are automatically categorised as text, image, svg, stack, or generic, which determines which controls appear in the tray.
  • Category-specific controls:
    • Text: font size, font weight, font family, line height, letter spacing, text alignment, font colour
    • Box (all categories): width and height with Fixed / Fill container / Hug content sizing modes, padding, margin, border style/weight/colour (including per-side border weights), corner radius (uniform or per-corner), opacity
    • Image: object-fit, width, height
    • SVG: width, height, fill colour, stroke colour
    • Stack (flex/grid containers): layout type (block / flex / grid), flex direction, gap, grid columns, main and cross axis alignment, plus box and colour controls
    • Generic: colour, background, display, width, height
  • Raw CSS panel — expandable panel in each category listing underlying CSS properties for direct inspection and commits.
  • Colour picker — hex input, hue/saturation canvas, alpha slider, transparent toggle; integrates with all colour fields in the tray.
  • Spacing measure overlay — hold Alt while an element is selected and hover another element to visualise the gap/spacing between them.
  • Style tweak promptsgeneratePrompt now handles StyleTweak changes. Short prompts list each CSS property with its before and after value. Detailed prompts include a property table, the element category, optional Tailwind utility suggestions when Tailwind is detected, and an effective-border summary when border properties were edited.

Added — Session and prompt model#

  • WeevarChange union — sessions now track layout moves/reorders and style tweaks in one changes list.
  • EditSession — canonical v2 session type. MoveSession remains as a deprecated alias so existing TypeScript imports compile.
  • StylePropertyChange / StyleTweak types for structured style commit data.
  • childElementCount on ElementIdentity — captured at identity build time for container disambiguation in prompts.
  • Style tweak merging — multiple commits to the same element in one session collapse into a single StyleTweak (earliest fromValue, latest toValue per property).
  • Mixed batched promptsgenerateBatchedPrompt labels sessions accurately (e.g. 3 changes (2 layout moves, 1 style update)) and applies a global subtree constraint when layout moves are present.

Changed — Prompt reliability#

  • DOM-first element refs — when an element has CSS classes, prompts use <tag.class1.class2> (e.g. <div.carousel-scroll>) rather than the React component name alone. More greppable, less ambiguous.
  • Container child counts — elements with children are labelled (N element children) so it's clear the move target is a container, not its text content.
  • Text snippets only on text-like tagstextSnippet uses direct text node content on text-like tags only (p, h1, button, etc.), not merged descendant text. Fixes cases where container elements were labelled with their nested content.
  • Subtree move instructions — container moves now include an explicit subtree constraint in short prompts and a dedicated Subtree block in detailed prompts.
  • Move preserve wording — updated to "Preserve all props and nested structure unchanged."
  • Trigger button default position — moved to top-left (was bottom-right).
  • "Total moved" → "Total edits" — the Overview tray stat now counts both layout moves and style tweaks.

Fixed#

  • Tray dropdown selection now updates bound values reliably.
  • Tray dropdown menus render inline and scroll with the tray (not portaled with position: fixed).
  • Style changes that are undone revert live on the DOM immediately.
  • Grid layout prompt noise: flex-direction is omitted from style prompts when display is committed to grid.

1.0.2 - May 7, 2026#

Changed#

  • Expanded the npm and README narrative around the product, requirements, and workflow.
  • Repository, bugs, and documentation links now point at the canonical Pro-Gee/Weevar repo.

1.0.1 - May 6, 2026#

Added#

  • The Settings tray now shows a version label derived from packages/weevar/package.json at build time. The playground gets the same value injected via Vite's define.
  • An MIT LICENSE was added at the repo root and inside packages/weevar so the published tarball includes license text.

Fixed#

  • The published tarball now ships packages/weevar/README.md so the npm page renders install and usage docs.
  • Playground end-to-end tests now match the current playground UI and the documentation button behavior.

1.0.0 - May 6, 2026#

First public release.

Added#

  • Public launch documentation: README, Install, Usage, Troubleshooting, Compatibility, Security, Release procedures, Launch gates, Smoke matrix, Announcement template.
  • Changelog scaffolding and a draft v1.0.0 release notes file.
  • Package and release scripts for verification and dry-run validation.
  • End-to-end coverage for documentation-link popup behavior and stale Weevar-owned host reclaim.

Changed#

  • Overlay host ownership and HMR lifecycle handling rewritten to reduce stale overlay instances.
  • Pre-launch UX polish for prompt, session, and Overview interactions.
  • The trigger badge count now matches the Overview tray's "Total moved" unique-element count.

Fixed#

  • Dev lifecycle issues that caused stale overlay instances during HMR.