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
StyleTweakrecords. - Element classification — elements are automatically categorised as
text,image,svg,stack, orgeneric, 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 prompts —
generatePromptnow handlesStyleTweakchanges. 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#
WeevarChangeunion — sessions now track layout moves/reorders and style tweaks in onechangeslist.EditSession— canonical v2 session type.MoveSessionremains as a deprecated alias so existing TypeScript imports compile.StylePropertyChange/StyleTweaktypes for structured style commit data.childElementCountonElementIdentity— 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(earliestfromValue, latesttoValueper property). - Mixed batched prompts —
generateBatchedPromptlabels 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 tags —
textSnippetuses 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-directionis omitted from style prompts whendisplayis committed togrid.
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/Weevarrepo.
1.0.1 - May 6, 2026#
Added#
- The Settings tray now shows a version label derived from
packages/weevar/package.jsonat build time. The playground gets the same value injected via Vite'sdefine. - An MIT
LICENSEwas added at the repo root and insidepackages/weevarso the published tarball includes license text.
Fixed#
- The published tarball now ships
packages/weevar/README.mdso 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.