v2.0.0
Overview
This is a major update and brings the editor to you with no time limit. No feature restrictions. No credit card.
If you're building something personal, open-source, or just evaluating, the full editor is yours. Every feature, no expiry.
Alongside a long list of new features, we rebuilt the Editor's foundation to make it faster, more stable, with a familiar VSCode like interface, built in accessories, fully ready for the way teams work. v2.0.0 marks the point where the Editor grows to meet the demands the community and our customers have made.
Licensing built for you v2.0.0 moves to a product based model instead of a recurring subscription. Personal, open-source, and evaluation use stays free forever, commercial teams license per product with five years of updates, startups get a special price, and companies going all in on LVGL move up to Platform with floating and on-premise licensing options.
AI ready, out of the box v2.0.0 ships with an MCP server for LVGL XML. AI assistants can read, understand, and help write your UI definitions. Building embedded UIs with the help of tools like Claude and Gemini is now a first class part of the workflow.
LVGL Flow for Figma. Our new Figma plugin brings your full designs straight into the Editor, reducing the figma to screen conversion time to mere seconds.
Expression evaluation Instead you assigning values to properties you use expressions like width="{large ? 200 : 100}" or hidden="{subtitle == '' ? true : false}"
Memory usage analysis We know that on embedded, every byte counts. A new panel showing exactly where your flash and RAM go.
Design Mode, leveled up Edit component slots, wire up events and screen loads.
Multiple targets. Shipping a line of products with different display sizes and UIs? Define multiple UIs of a product line from a single source and switch between them live in the Preview.
Smoother Onboarding We’ve built a Learn by Examples flow that drops you into real, working projects built from bundled templates instead of a blank canvas so you can get started in seconds.
Added
- Pointer subjects for image bindings, including
<pointer>support inglobals.xml, typedbind_srcvalidation and autocomplete, preview/runtime updates, andlv_image bind_srccode generation. (#247) - Design Mode Events section in the Properties panel for adding, editing, and removing event elements, such as
event_cband screen load events, on the selected component. - Standard API getters for accessing slots.
- Design Mode support for editing component slots, including adding, duplicating, drag-and-drop reordering, and copy/paste operations in slot layers.
- Memory usage summary feature with a UI panel, graphs, and code export support.
- Proper support for
repeat_countandrepeat_delayin animation timelines. - CLI
screenshotcommand for capturing a screen as a PNG.- Example:
node lved-cli.js screenshot ./testing/test_project screens/main_screen --out main.png --delay 300
- Example:
- Default ZIP repository loading for Theia browser GitHub projects, with the existing GitHub Tree/raw-file flow kept as the automatic fallback.
- Preview inspection for
access="add"andaccess="get"typed elements, such aslv_tabview-tabandlv_dropdown-list, and their contents. - Expression evaluation, like
width="{large ? 200 : 100}" - Launch screen Learn by Examples flow for creating Tutorials or Examples projects from bundled templates.
- Image
convertsupport for creating multiple versions of the same source image. - Project theme support with
<project theme="default">and<project theme="simple">. - Support for the
precise_pointstype, includinglv_linesupport in code export and XML validation. - Support for
content,1fr, and validation ingrid_row_dsc_arrayandgrid_column_dsc_array. - Responsive target support: targets defined in
project.xmlcan now be referenced infonts,images,views,styles, and other project resources to create multiple versions of the UI. Preview supports dynamically switching between targets. - Figma Flow plugin integration.
- Proper support for
px|%andpx|%|contenttypes in widget properties. - Validation and autocomplete for animation targets and timelines.
- Full support for array types:
type[],type[N]/type[count], andstring[NULL]. (#370)
Changed
- Launch screen now opens on every app launch when signed in with a valid license, including when a project was restored from the previous session.
- Simplified unit selector for Design Mode number inputs, such as position and size fields.
- Project opening now enforces Product, Platform, Community, and Evaluation license rules using
product_idandgit_urlproject metadata. - Preview now reloads when any
.xmlfile in the open project changes, improving support for external tools.
Removed
figma-syncCLI command. Figma integration is now handled through the Figma Flow plugin.copy-resourcesCLI command.--toolchain-modeoption from thegenerate,compile,run-test,run-all-tests, andscreenshotCLI commands. The toolchain now always useslocal-emsdk.
Fixed
- Design Mode subject pickers no longer keep removed
globals.xmlsubjects as valid choices. - Design Mode copy, cut, paste, and Preview zoom shortcuts now work through Theia keybindings.
- Deleted project folders now clear stale workspace and file navigator state, and close project-scoped bottom panels.
- File > Open Project now uses the in-place Project Launcher flow instead of triggering a full Theia reload.
- Removed obsolete Design Mode XML-comment warnings when opening screens.
- Clean/build project operations now validate before deleting generated files.
- Improved backdrop contrast for the light-theme toolchain installation modal.
- Validation and build output remains available after switching projects so errors can still be inspected.
- Subject validation now keeps root
globals.xmlsubjects when parsing libraryglobals.xmlfiles. - Validation failure toasts now show local relative paths and wrap long file names.
- Asset Memory can sort memory regions and assets by bandwidth as well as size.
- Project commands now save unsaved editor tabs before running.
- Design panel shortcuts now work when the Design panel or Preview is active outside full Design mode.
- Pasted and duplicated Design elements now get unique names without renaming the source element.
- File > Open Project Launcher now uses the launcher, while File > Open File and Ctrl/Cmd+O are disabled in Theia.
- Theia project command shortcuts now save dirty editor tabs before running.
- Recent projects are now timestamped, sorted by last opened, refreshed when the launcher opens, and show a clear error for moved or deleted paths.
- Code export improvements for slot support.
- Improved UX when the user's login has expired. (#371)
- Added a guided flow to install
emsdk,pypng, andlz4locally when compiling with the local toolchain. - Setters on widget elements with
access="add"now correctly operate on the generated child element. - User-defined event callbacks are now called correctly.
- Memory usage monitoring now counts file-backed TinyTTF fonts and file images once per source file.
- Translation strings starting with
$or#are no longer treated as API or const references during validation and code export. - Preview compatibility on Linux and macOS has been improved.
- CLI
compilecommand now correctly defaults the compilation target tocli.