Changelog
Version 0.10.0
The DevTools panel has a new look built on Web Awesome, and it now follows one tab at a time, so a second tab of the app no longer wipes the recording or leaks into what you are looking at. Updates and the timeline show what changed in a re-render and which updates threw, the Components tab stays live by default and shows task, signal and controller state and the last HMR patch, and agents can query by tag name. Nothing needs action to upgrade.
Added
- See what changed in a re-render. Turn on the Changed values layer and
each update records the old and new value of every changed property. The
Updates tab lists them and flags a new reference that holds the same value,
and
lit_update-summarylists, per component, the properties reassigned to an equal new reference, so an agent can say which props re-render for nothing. - Errors thrown during an update are visible. A phase that throws is
marked in the timeline, counted per component in Updates, and reported
through
lit_update-summary, instead of looking like a normal update. - See tasks, signals and controllers in the Components tab. The details
pane now lists an element’s
@lit/taskstate, signals, reactive controllers and plain fields in an Instance table below its properties. - Pick a component library’s elements, and step out to the one around.
Set
sourceOverlay.hoststo'lit'and the picker also picks Lit elements you didn’t write, such as<wa-button>, into the Components tab. While picking, ↑ and ↓ move the outline out to the enclosing element and back. - Agents can query by tag name and bound the tree.
lit_recent-eventsandlit_component-detailsaccepttagName, the latter returning every matching element, so an agent no longer has to find an element id first.lit_list-componentsacceptsmaxDepth, and nodes it cuts off report how many children were left out. - See whether an HMR edit landed. After an edit the Components tab reads
which component was patched, how many instances it touched and how long it
took.
lit_hmr-historygives agents the recent patches with child-state mode, interleaved with the components that could not be patched. - The Components tab says why it is empty. Instead of one generic line, it now tells you when the page runtime has not connected, when more than one copy of lit is loaded, or when the runtime is inside an iframe, with the next step for each.
- Settings has an About section. It shows the plugin version, the lit version the page loaded (and a warning for duplicate copies), the timeline layers, picker availability, and the order in which settings resolve.
- The dev server tells you when the DevTools panel cannot mount. With
timelineon andDevTools()missing fromplugins, the terminal now prints a one-time warning with the fix instead of staying silent. - Resize the component details pane. Drag the divider between the component tree and the details; the width is remembered across reloads.
Changed
- The DevTools panel has a new look built on Web Awesome. Buttons, tabs, switches, selects and badges are Web Awesome components with square corners and the Lit blue as the accent, and the text glyphs that stood in for icons, including the arrow between old and new values, are Phosphor icons now. The panel still works fully offline.
- The Components tree follows the page by default. Live starts on, so components that appear or go away show up without a click. Toggle it off to pause the tree; the Refresh button is gone, because turning Live back on brings the tree up to date.
Fixed
- A second tab no longer wipes the recording or leaks into the panel. The session follows one page at a time, the one that loaded last, and a banner says when it switches. Events, picks, custom layers and HMR notices from any other tab are ignored, and the previous page’s recording, component tree and HMR notices are cleared on a switch; reloading the same tab clears them without the banner.
updatespans close for components that overrideupdate(). A subclass callingsuper.update()no longer produces a nested duplicate bracket that left the outer span open and skewed Updates durations.- Agents see the live component tree.
lit_list-componentsandlit_component-detailsnow ask the page instead of returning what the panel last fetched, so they work with no panel open. - Live mode follows the panel. Closing the panel no longer leaves the page observing the DOM and rebuilding the tree, and after a panel or page reload the Live toggle no longer shows as on while the page has stopped pushing tree updates.
- The active tab label no longer jumps up. The selected panel tab now sits on the same baseline as the others instead of a couple of pixels higher.