Change Log¶
v9.4.0 16 October 2025¶
LVGL v9.4.0 brings significant performance improvements, expanded GPU support, and new capabilities for modern embedded and MPU platforms.
Main Features¶
glTF + 3D Support. Load your glTF 3D models directly into LVGL UIs for rich, immersive interfaces. Learn more.
XML support for LVGL Pro. Describe your UI declaratively and load it at runtime without having to recompile firmware. Try it out with the newest LVGL Pro Editor.
Learn More <https://pro.lvgl.io/>__
GPU Acceleration¶
EVE GPU Renderer Support. Offload rendering to external EVE chips via SPI, freeing up your MCU's CPU for other tasks. Learn More.
ESP PPA Hardware Accelerator. Achieve 30% faster render times and 30% reduced CPU usage on the new ESP32-P4 with native hardware acceleration. Learn More.
NemaGFX Vector Graphic. Render SVGs and vector graphics natively on ST's NeoChrom and other NemaGFX compatible GPUs. Learn More.
Unified VGLite Renderer. Single driver supporting all platforms with a consistent feature set.
Learn More <https://docs.lvgl.io/master/details/integration/chip_vendors/nxp/vg_lite_gpu.html>Dave2D Renderer improvements. Lower CPU usage on Renesas and Alif platforms with optimized Dave2D integration.
Learn More <https://docs.lvgl.io/master/details/integration/chip_vendors/renesas/built_in_drivers.html#dave2d>
MPU Features¶
GStreamer Support. Play videos and multimedia content directly within LVGL UIs with full GStreamer codec support. Learn more.
DRM + EGL Driver. High-performance Linux display rendering with native DRM and OpenGL ES (EGL) support for embedded displays capable of rendering glTF models. Learn more.
ARM NEON Optimization. Up to 33% faster software rendering with on platforms that support NEON SIMD support. Learn More.
Other Features¶
Faster GIF Library. No changes required, just upgrade LVGL and your GIFs will render faster. Learn More.
FrogFS support. Pack directory trees into a single "blob" and load them at runtime. Learn More.
Documentation¶
Alongside these features, we've thoroughly reorganized and proofread the entire documentation suite, and included numerous new driver guides and platform integrations to better serve our partners and the embedded community.
New Features¶
feat(EVE): allow disabling write buffering 9072
feat(opengl): support glsl version 100 for default shader 9029
feat(subject): add back subject increment events 9057
feat(xml): add scrollbar modes 9058
feat(test): reintroduce lv_text_get_size without attributes 9036
feat(theme): re-initialize the theme on resolution change 9048
feat(g2d): add rgb565, png, tiled images and rotation support 8848
feat(gltf): replace default gltf env image with a more generic solution 9045
feat(drivers): NV3007 driver & docs 9021
feat(sysmon): add cpu proc usage when using monitor log mode 9010
feat(drm): add ability to select display mode 8992
feat(osal): enable linux specific features with os_none 8989
feat(egl/gltf): add gltf support with EGL 8980
feat(draw): support image colorkey 8628
feat(NemaGFX): add vector draw task support 8938
feat(chart): add cursor removal method 8952
feat(lv_global): move user_data to the top of lv_global_t 8908
feat(sdl): Add SDL_Window accessor function to retrieve window from lv_display_t 8886
feat(kconfig_verify): add space indentation check 8962
feat(xml): add spinbox support 8957
feat(EVE): support fonts with a stride alignment 8937
feat(xml): support <include_timeline> 8902
feat(display): deprecate lv_display_set_antialiasing 8958
feat(roller): function to get option string 8730
feat(xml): add subject_toggle_event and move the limits to subjects from increment event 8930
feat(qrcode): add new set_data helper function 8950
feat(draw/sw): add neon support for rgb888 and xrgb8888 8933
feat(XML/fsdrv): add frogfs and XML load from blob 8870
feat(xml): add new step tests click_on and set_language 8931
feat(label): implement api to bind a translation tag to a label 8948
feat(vglite): refactor driver config and remove NXP VGLite draw unit 8911
feat(pxp): add PXP support for tiled images 8846
feat(translation): add language changed event 8882
feat(profiler): add posix porting 8924
feat(EVE): support bitmaps larger than 511x511 8732
feat(XML): XML load from directory 8774
feat(wayland): remove deprecated WL_SHELL 8877
feat(api_mapping): add ability to disable api mapping 8745
feat(xml): add qrcode support in XML 8904
feat(draw/dave2d): remove todos 8896
feat(opengl): add support for creating an LVGL OpenGL texture display from an existing texture 8837
feat(grad): make complex gradients available regardless of whether draw_sw support is enabled 8834
feat(event): add ability to delete display and indev on event 8893
feat(draw): add event_cb in draw unit 8891
feat(sdl): add set_window_size 8809
feat(xml): add rotation in arc xml parser 8899
feat(style): add `lv_style_merge` and appropriate tests 8680
feat(wayland): Restore the touchscreen support 8785
feat(gstreamer): add gstreamer support 8757
feat(gltf): allow compiling gltf with EGL 8833
feat(tests): add lv_deinit test 8789
feat(draw_buf): add MVE & NEON support of alpha premultiply 8712
feat(OpenGL): add EGL support 8677
feat(osal): add lv_sleep_ms interface and implementation. 8805
feat(display): add ability to get current screen being loaded 8746
feat(display): initial lovyan integration 8630
feat(draw): vg_lite: add initial support for the VGLite HAL 8795
feat(opengles): add performance measurement points 8776
feat(NemaGFX): Support complex gradients: linear, radial 8696
feat(tests): add lcd driver test 8759
feat(wayland/dmabuf): add window decorations support 8406
feat(draw/dave2d): improve performance using block processing 8725
feat(vglite): add vglite kernel driver 8734
feat(gltf): add gltf support 8643
feat(workflows): add gcover report 8750
feat(EVE): add asset pre-upload functions 8710
feat(draw_buf): make buf_copy overwritable for GPU 8693
feat(draw/sw): add neon 64bit support for rgb565 blending operations 8590
feat(font_manager): check resource leak before removing source 8613
feat(evdev): allow adopting existing fd 8556
feat(chart): add stacked chart support 8573
feat(xml): add animation support 8599
feat(nuttx_profiler): support trace to file 8674
feat(vg_lite): added compatibility with NXP platforms 8642
feat(EVE): Add EVE draw unit 8211
feat(scripts): add display & drawbuf dump 8645
feat(sysmon): add API to start or stop sysmon and dump FPS info 8533
feat(obj): allow `LV_SIZE_CONTENT` for min and max width/height 8448
feat(NemaGFX): encoded images 8523
feat(cache): implement dynamic array with second chance algorithm class 8433
feat(font): Remove SimSun Font 8550
feat(svg): add SVG2 special path command 'A' support. 8574
feat(label): support passing variadic list as param 8322
feat(demo): separate the widgets demo into multiple files 8507
feat(xml): add lv_xml_set_default_asset_path 8549
feat(xml): add float support to subject change events 8535
feat(nuttx) : add mouse capabilities to applications 8425
feat(state): Add state trickle down 8499
feat(events): add event trickle mechanism to propagate events to children 8415
feat(chart): support custom LV_EVENT_REFR_EXT_DRAW_SIZE 8268
feat(osal/linux): add function which provides cpu usage of the app itself 8340
feat(dma2d): enable the DMA2D clock for STM32L4 series 8429
feat(anim): call start callback when animation restarts 8403
feat(DMA2D): encoded images 8470
feat(translation): add translation support 8255
feat(xml): add testing support for XMLs 8327
feat(observer): add float subject type 8388
feat(dma2d): improve DMA2D Compatibility 8293
feat(assert): refactoring LV_ASSERT_HANDLER handling 8434
feat(anim): add vsync mode 8087
feat(drivers): add NXP ELCDIF initial display support 8349
feat(draw/ppa): add initial Pixel Processing Accelerator infrastructure for ESP 8270
feat(vg_lite): add tile image support 8226
feat(draw): Optimize struct alignment 8409
feat(vg_lite): support tiled image 8355
feat(tiny_ttf): add kerning cache 8320
feat(xml): make <style> and <bind> properties child tags instead of props 02b079f
feat(observer): add subject set and increment functions 3ecd37e
feat(arc_label): add new widget arc label support 5f28038
feat(obj): add screen_create/load_event API and XML support a762e20
feat(observer): add lv_obj_bind_style 104ede5
feat(xml): add remove_style and remove_style_all support 3951ea4
feat(arc_label): support recolor feature 78e3375
feat(scale): add lv_scale_bind_section_min/max_value 7aaeb66
feat(span): add lv_spangroup_bind_span_text and lv_spangroup_set_span_text_fmt 03c4870
feat(xml): add lv_switch 250bc8b
feat(scripts): add fully automatic test + environment installation verification script 6fbdb7f
feat(arc_label): support vertical align feature cb22319
feat(examples): add arc label example 5e8add3
feat(draw): Use Espresssif PPA driver in non-blocking mode, also tune the DMA2D burst size for performance on PPA side f3e0056
feat(image): add data binding to image src d33320b
feat(xml): add grid support 92a51f0
feat(bar): add data binding to the bar 9bddc81
feat(arc_label): support horizontal align feature bcfc2ab
feat(qrcode): support qrcode quiet zone feature 0b71f7d
feat(tabview): support getting tab buttons by index fbc8dbe
feat(xml): add support for scroll snapping 40158e4
feat(arc_label): support text offset fc83651
feat(build.py): add documentation section to quickly orient new users on where data flows. e818acf
feat(xml): qrcode support quiet_zone property 98423e6
feat(arc_label): support text letter space 33bb46f
feat(arc_label): support text direction of counter clockwise f55fee8
feat(arc_label): support more calculate accuracy 1dc268e
feat(custom.css): add `lvgl-figure-caption` class back... ebcd244
feat(arc_label): support radius percentage mode 7cdc1ef
feat(xml): review the types used for style properties 96e4f8f
feat: make enum type names consistent with value prefixes 82cd8ad
feat: remove line from `requirements.txt` that is not actually required to build docs 452878f
Performance¶
perf(EVE): buffered writes 9051
perf(egl): improve egl performance 8966
perf(GIF): Faster GIF library drop-in replacement 8743
perf(tests): remove duplicate vg-lite compilation 8841
perf(test_perf): increase the refresh rate to 60 FPS 8751
perf(vg_lite): optimize GPU fill rendering performance 8609
perf(vg_lite): optimize the memory usage and search speed of grad item 8474
perf(snapshot): render from the top object when taking snapshot. 8424
perf(text): reduce the get glyph function call 8364
perf(draw): only dispatch refreshing disp 8305
perf(arc_label): optimization enhancement of arc label algorithm b49bba5
Fixes¶
fix(windows): correctly calculate Windows window-size 9060
fix(g2d): properly check and free an item from the map 9065
fix(DMA2D): fix non-async mode build failure 9069
fix(vg_lite_driver): general fixes at the vglite driver and vglite draw unit link 9063
fix(label): ignore empty translation tags 9062
fix(examples): fix format specifier warning 9066
fix(g2d): fix compilation error with G2D version <2.3.0 9061
fix(chart): fix division by zero if div. line count is 1 9064
fix(dma2d): enable dma2d clock for STM32N6 9044
fix(indev): fix off by one error resulting in elastic scroll when disabled 9047
fix(anim): play animations from their current progress 9052
fix(draw_sw): sw vector graphic partial mode fix y_offset 9006
fix(wayland): correctly get driver data in lv_wayland_assign_physical_display 9017
fix(draw/neon): disable function using an invalid intrinsic on arm32 9019
fix(OpenGL/DRM): fix misc info logs 9027
fix(draw/vglite): update the wait interrupt function to use the lv_sync_wait instead of the FreeRTOS Semaphore specifc API 9007
fix(draw): fix render issue when triangle overhangs by sorting points 9002
fix(table): remove free calls to user data 8881
fix(wayland): bind driver data to display's driver data instead of user data 8991
fix(wayland): multiple windows fix and wl_output support 8923
fix(assert): revert asserting in `lv_assert_handler` function 8976
fix(file_explorer): fix mem leak when sorting by file kind 8935
fix(themes): add malloc assert checks 8977
fix(drm/egl): correctly match egl config in config select cb 8978
fix(sdl): support UTF-8 characters in the keyboard 8906
fix(xml): add the missing parsing of min/max subject limits 8971
fix(wayland): bind draw buffers to the window instead of the shm_context 8878
fix(draw_buf): check range for draw buffer when accessing pixel 8907
fix(opengles): add missing variable declaration 8969
fix(menu): larger bitfield for enum value needed on Windows 8965
fix(gdb/draw_buf): validate and correct expected data size for pixel buffer 8944
fix(EVE): align the dummy buf to 4 bytes 8953
fix(vg_lite): change log level from info to warning for unsupported gradient features 8947
fix(fbdev): fix stride, bounds checking, and partial flushes in direct render mode in flush callback 8914
fix(vg_lite): replace FLT_MIN to -FLT_MAX 8940
fix(matrix): fix matrix transformation area coordinate error 8928
fix(vector): rename and enhance rectangle path function with xywh parameters 8934
fix(msgbox): remove superflous dependency check 8916
fix(sysmon): division by zero error 8918
fix(flex): fix alignment issue when using rtl in flex layout 8929
fix(vector): adjust image stride handling in fill pattern and add test case 8815
fix(vg_lite): fix build break after LV_USE_VECTOR_GRAPHIC is turned off 8912
fix(keyboard): add missing dependency checks 8917
fix(wayland): fix stride calculation when iterating over drawbuf 8915
fix(kconfig): add TinyTTF cache count setting support 8919
fix(memfs): use string only in lv_fs_path_ex_t for better compatibility 8571
fix(os): make lv_lock/unlock public as they should be used by the users 8889
fix(menu): allow using menu section as parent of menu container 8884
fix(xml): fix grid support 8888
fix(font): fix stride calculation of fonts 8887
fix(label): make long dot mode compatible with static text 8823
fix(opengles): fix memory leak when shader compilation fails 8854
fix(sysmon): handle LV_SYSMON_PROC_IDLE_AVAILABLE disabled in lv_linux 8871
fix(profiler): remove macro for external usage 8894
fix(span): opt span ellipsis more precise in omitting text 8864
fix(file_explorer): ensure current_path is null-terminated after appending '/' 8797
fix(gdb): use stride to get actual buffer width for display dump 8853
fix(draw/dave2d): prevent deadlock by avoid to flush the GPU buffer when empty. 8869
fix(fbdev): fix segfault when using display rotation 8850
fix(dmabuf): flicker when the buffers are swapped for new frame 8563
fix(label): issue when setting fmt text with long mode dots 8781
fix(vglite): arc_path calculation overflow on VGLite 8847
fix(draw/dave2d): redefine fixed point macros 8859
fix(xml): fix multiple delimiter handling in lv_xml_split_str 8858
fix(svg): fix stroke dash style not restore bug. 8844
fix(draw/sw): check that malloc doesn't return a NULL pointer 8756
fix(wayland): throw error when using dmabuf without 2 draw buffers 8744
fix(span): fix text width calculations and improve ellipsis handling 8821
fix(tjpgd): Fixed memory leak if opening JPEG image failed. 8707
fix(sdl): The default size is fixed 8808
fix(opengl): fix multiple issues with shader manipulation 8832
fix(draw/convert): fix duplicate c declaration symbol during docs build 8827
fix(indev_gesture): fix memory leak when deleting indev 8814
fix(cache): make the cache module private 8793
fix(gltf): add missing initialization call for viewer attribute 8807
fix(label): preserve recolor state across line wrapping 8755
fix(draw/dma2d): fix freezing in async mode. 8765
fix(draw/pxp): fix alignment issue on cache flush. 8764
fix(profiler): fix crash during lv_deinit 8788
fix(freetype): fix crash during lv_deinit 8787
fix(lodepng): check that src is not null before calling memcpy 8791
fix(jpeg): fix to use source stride when copy jpeg 8778
fix(style): format error in log call 8754
fix(test_span): remove the reference before deleting the font 8753
fix(event): don't try to trickle to deleted widgets 8777
fix(vg_lite): fix rotated vector font clipping error 8739
fix(EVE): rounded arcs with transparency 8767
fix(image): reset img when src_type is unknow or info is wrong 8716
fix(image_decoder): fix memory leaks caused by multi-core rendering 8735
fix(image): fix unused var warning when LV_LOG_WARN isn't available 8591
fix(tests): fix gcovr report generation failure 8727
fix(canvas): add the missing D-Cache flush 8736
fix(test_cache): fix access to freed stack variables 8717
fix(draw_span): add missing line_space attribute to dsc and remaining_len check 8718
fix(drivers): fix compile error for st ltdc 8704
fix(scale): initialize label size if text is NULL 8699
fix(evdev): add support for multi-touch 8173
fix(SVG): fix SVG decoder memory leak. close decoder 8658
fix(eve): fix image double ended clipping in EVE 8675
fix(xmls): fixed division lines in Chart XML API 8681
fix(EVE): fix EVE build break 8672
fix(vg_lite): remove the 16px width limit for image tile drawing mode 8661
fix(vg_lite_tvg): fix matrix calculation inconsistency with hardware behavior 8666
fix(vg_lite): always use phy_clip_area as the scissor area 8669
fix(indev): always assign data->point to the primary point instead of… 8596
fix(draw):fix lv_matrix_transform_point 8667
fix(demos/widgets): add missing aligned font resource declarations 8647
fix(vg_lite): fix incorrect handling of ARGB8888_PREMULTIPLIED 8610
fix(vg_lite_tvg): fix incorrect stride handling 8648
fix(textarea): fill letter space with selection bg color. 8238
fix(msgbox): fix memory leak and correct LV_ASSERT_MALLOC parameters 8624
fix(textarea): label scroll to the cursor pos when textarea size change 8548
fix(scripts): Union syntax compatible with Python 3.8 8641
fix(font loader): overflow error when calculating ids size 8617
fix(svg): cast char to unsigned preventing char subscription errors 8619
fix(example/label): make animation repeat indefinitely 8621
fix(tabview): emit LV_EVENT_VALUE_CHANGED on header-button taps 8537
fix(dropdown): support aligning the dropdown button's text 8601
fix(mem): change variable attribute location 8593
fix(grid): fix uninitialized var warnings 8592
fix(dropdown): check for NULL in dropdown label before dereferencing 8543
fix(xml): set correct param type for subject_set_string_event 8595
fix(xml): add missing type for lv_arc start/end angles 8580
fix(xml): specify element type="void" for event/screen events 8577
fix(xml): fix incorrect prop names in lv_arc 8562
fix(label): fix label clip overflow 8557
fix(NemaGFX): non-grad triangle coords 8524
fix(draw_vector): ensure vector_graphic can be used if it's enabled 8522
fix(svg): add log for unsupport path command. 8545
fix(xml): add missing subject_set_float_event to the schema 8538
fix(lv_example_bar_7): make bar fit in 320x240 box for webpage 8525
fix(xml): fix scale section props 8528
fix(draw/g2d): use image stride if it's set 8503
fix(snapshot): not all children rendered during snapshot 8479
fix(indev): set the timestamp only if it was not set in the read_cb 8501
fix(wayland): call display_flush_ready on intermediate frames 8471
fix(examples): wrap logging code with LV_USE_LOG to avoid unused variable warnings 8377
fix(g2d): calculate stride because it may not be set in the image descriptor 8483
fix: include v9.2 api map to avoid breaking changes 8490
fix(vg_lite): fix grad item not fully initialized 8486
fix(draw/sw_mask): fix potential buffer overflow 8478
fix(lv_deinit): only call xml test call when both LV_USE_XML and LV_USE_TEST are enabled 8482
fix(indev): decouple scroll momentum decay from indev read loop (#6832) 7794
fix(draw_sw): fix ARGB8888PM case where the color of dest and src is the same but opa is different. 8454
fix(wayland): Avoid premultiplication at the driver level if LVGL is already rendering in pre-multiplied alpha. 8456
fix(dropdown): handle the case where options are null lv_dropdown_add_option 8338
fix(xml): handle LV_STATE_USER_1-4 8451
fix(assert): fix lv_assert_handler function static analyze complain 8447
fix(blend/helium): eliminate duplicate function declarations 8402
fix(draw): Fix unused function warning for blending 8414
fix(bin_decoder): don't flush cache in case of `use_directly` 8411
fix(svg): fix some svg issues. 8378
fix(span): fix correct text length calculation 8368
fix(uefi): include configuration header instead of full LVGL header 8380
fix(sdl): add malloc check after reallocating memory 8369
fix(draw_vector): fix the unprocessed layer opa in vector rendering 8294
fix(kconfig): Fix depends clauses for LV_USE_OS 8392
fix(thorvg): fix compilation on thread-less platforms 8373
fix(thorvg): include alloca on zephyr 8381
fix(xml): fix screen names and extended component names b441ec3
fix(custom.js): fix to correctly deal with when... 45e4041
fix(xml): make all obj elements type=void 8de083e
fix(xml): minor fixes in parsers dea37bd
fix(custom.js): fix examples code-folding issue... 706715f
fix(xml): find constants in styles in the global scope 84acb67
fix(arc_label): fix the pointer overflow issue in 32-bit mode 059eb4a
fix(grid): ignore grids without row or column descriptors 38000e8
fix(xml): process 'align' style property ec0e3cf
fix(xml): fix prop order of subject_set_* f7dc114
fix(xml): fix wrong tag names for subject events 8599e9b
fix(xml_animation): use lv_obj_find_child_by_name instead of lv_obj_get_child_by_name 876dacb
fix(scripts/prerequisites-apt): corrected freetype version number for verification dccab75
fix(properties.py): fix to comply with adjustments 3a4cf38
fix: add `brotli` module required for `fonttools` to... 4c6624b
fix(obj xml): fix typo in style_shadow_width 42a391d
fix(texarea xml): rename placeholder to placeholder_text 3f41172
fix(xml): fix event_cb parser typo (trigger_str -> trigger) 244f9cc
fix(scripts/prerequisites-apt): add missing libsdl2-dev:i386 installation c0d08d8
fix(keyboard xml): add number mode 248192f
fix(xml): add missing lv_xml_widget.h include 6ff3cee
fix(xml): fix better handling broken components 592df6b
fix(docs): fix docs build for arclabel example building f40e0e5
Examples¶
examples(scale): Compass style rotating scale 8445
Docs¶
docs(xml): fix the descripton of how to initialize the UI from C 9070
docs(README): remove outdated content and add new features 9023
docs(xml): Fix array type description count to 3 (#9013) 9028
docs: update the esp docs indentation at the FS section. 9031
docs(editor): improve installation and figma docs 8998
docs(drivers): fix broken links 9022
docs(espressif): fix indentation at file system reconfigure project. 9024
docs(xml/events): rename page to avoid confusion when searching documentation 8995
docs(flags): add chapter explaining how to add/remove multiple flags 9000
docs(events): add explanation about lv_event_get_target_obj warning and tips 8996
docs(xml): add missing licence files 8984
docs(editor): add missing intro pages and minor tweaks 8983
docs: split indev, style, and widget basics to multiple pages 8943
docs(editor): add XML and C integration guides and minor refactoring 8954
docs(xml): add help texts in XMLs 8961
docs(pc): add the missing PC simulator docs 8824
docs(editor): add cli docs 8970
docs(snapshot): complementary color format 8780
docs(xml): add online share docs 8973
docs(editor): add docs specific to editor 8972
docs(style): update font sizes and weights for improved readability 8968
docs(events): fix grammatical issue 8782
docs (frameworks): PlatformIO 8942
docs(xml): add placeholder for editor docs 8910
docs(misc): fix doc issues described in issue #8839 8857
docs(timer/indev): add example section about indev interrupts resuming the indev timer 8843
docs(opengl): add opengl overview page 8838
docs(xml): reorganize and add better descriptions 8818
docs(espressif): update esp32 documentation 8830
docs(Kconfig): clarify comments about driver-identifier letter 8851
docs(misc): fix multiple formatting errors and typos 8738
docs(misc): fix formatting errors, typos and missing reference 8748
docs(style): fix arrows in code blocks 8819
docs: fix indev.rst typo 8721
docs(xml): next set of XML-doc refinements 8740
docs(STM32): simplify and rewrite 8768
docs(mipi): align return type of callbacks in documentation with code 8803
docs(integration): reorganize the files 8701
docs(wayland): use correct window create function name 8731
docs: miscellaneous improvements 8552
docs(image.rst): remove reference to True Color which was removed in v9.0 8700
docs(misc): fix several issues: 8714
docs(keyboard): fix typos and unify comments 8391
docs(misc): fix several issues 8698
docs(api_doc_builder.py): fix frail assumptions in API-page generation 8694
docs(xml): results of minor amount of proofreading 8604
docs(drivers): Update st7796.rst URL 8687
docs(image): document the fact that indexed data is stored as argb8888 8620
docs: update docs styling 8585
docs(custom.css): fix text color on view-on-github example buttons 8652
docs(custom.css): Fix field list items being jammed together 8639
docs: remove outdated references to LV_ZOOM_IMAGE_NONE 8632
docs(LTDC): Clarify LTDC framebuffer address meaning 8615
docs(list formatting): fix erroneous list formatting 8602
docs(readme): fix broken links 8605
docs(style): fix definition-list indentation 8616
docs(intro): improve initial presentation of LVGL... 8597
docs(renesas): mention relevant information about FSP 6.0 8572
docs: fix wording in display event, viewe and renesas 8546
docs(home): fix links 8560
docs(intro): reorganize and simplify 8389
docs: remove outdated doc material 8520
docs(xml): restructure and extend the XML docs 8495
docs(Renesas): Add Renesas RA8P1 docs 8509
docs(readme): add Hebrew language section to documentation 8345
docs(wayland): add missing documentation about its config options 8476
docs: fix spacing between same-level sections and h4 and link colors 8443
docs(lv_conf): fix links 8462
docs(1-level TOC styling): multiple fixes... 8431
docs: Fix several typos and punctuation 8427
docs(calendar): fix typo 8413
docs(boards): Add Viewe Knob Display links 8461
docs(doc-build warnings): fix warnings caused by LV_FORMAT_ATTRIBUTE 8384
docs(xml): add license for the XML format 8438
docs(observer): fix typo in parameter description 8372
docs(custom.css): partially address code-highlighting problem... 8374
docs(CHANGELOG.rst): fix link to SVG support page 8356
docs(CHANGELOG.rst) replace `kisvegabor/lvgl_upstream` with... 9cf1e38
docs: generate changelog 05d8b9e
docs: Lot of smaller improvements based on feedback 2b9592e
docs(custom.js): The custom.js file now contains the version selector controller JavaScript and other methods that were previously directly added to the main layout. 8541a11
docs(custom.css): enhance styling and add custom CSS variables 4f843e8
docs(data_binding): move the data binding docs to to the given widget's page f6f6570
docs: add dynamic announcements from remote .JSON 77cfa87
docs(furo): convert to furo theme... 2129d37
docs: Enhance sidebar, remove jQuery dependency 5b3d6d8
docs(misc): eliminate several Sphinx warnings b74ac71
docs(Sphinx Warnings): add name to anonymous enums to... 55ab01e
docs(icons.html): Update SVG icons for improved accessibility and consistency a13113b
docs(arc_label): add arc label docs 8487b4c
docs: fixed several problems... 4533d29
docs(misc): minor improvements to: 450a390
docs(doxygen_xml.py): exclude files that... e92ce1f
docs(enum-naming): adjustments per conversation with Gábor 5bc21a4
docs(logo): update dark and light logos 44a369a
docs(custom.css): format field lists 45575c0
docs(observer): fix minor typos 0594775
docs(API/index.rst): eliminate Sphinx warnings when... 0829150
docs(data_binding): fix typos db71f48
docs(CHANGELOG.rst): fix parsing error on 8 boldface strings 82ff3c2
docs(custom.css): Refactor link color variables for improved theming consistency f725034
docs(observer): fix subject name in the example 8003908
docs(properties.py): fix several problems... f3370d0
docs(index.rst): Add `hide-toc` furo theme prop to hide sidebar on the homepage and remove main header image. af2c420
docs(style): add example values to lv_style_selector_t 6bcdf3c
docs(observer): minor grammar corrections 989ac6c
docs: (custom.css): add caption feature and... 6f26b71
docs(build.py): make Sphinx exit with status 1 when new warnings show up ef4aa46
docs(os/index.rst): put TOC back in apha sequence c994e5c
docs(custom.css): Fix theme toggle button label color bc4b55c
docs(Makefile): fix typo for Linux sphinx-build after intermediate directory created 79e55d4
docs(lv_obj.h): make enum name consistent with enumerators 3d1b533
docs(lv_obj.h): make enum name consistent with enumerators ffb29b0
docs(lv_svg.h): fix build of `lv_svg.c` cb76aaa
docs(image.rst): fix doc-gen warning 70f8c52
docs(unneeded): eliminate unneeded docs.... d2d2acc
CI and tests¶
ci(release_updater): some release_updater fixes and conf.defaults deprecated configs are non-fatal 9076
ci(release_updater): fix 2 port updater URLs 9074
ci(pio): fix the PlatformIO publisher action 9073
ci(docs): fix docs ci by fetching lvgl in default gh workspace folder 9053
ci(docs): fix docs CI. use the action's checked-out repo for emscripten 9020
test(docker): add compatibility to tests' dockerfile for arm platforms 9015
ci(docs): fix examples build error when not rebased fully 8880
ci(test): generate the I1 test images with pngquant 2.17 8892
test(bin_decoder): add lv_bin_decoder test case 8867
ci(stalebot): increase stale and close times to 60 and 14 days 8840
ci(hw/comment): gracefully exit workflow if triggered by another label 8828
test(images): update test images according to LVGLImage script 8790
ci(install): add cmake installation workflow 8794
tests: add LV_DRAW_BUF_STRIDE_ALIGN = 1 test 8804
test: fix syntax warning by using invalid escape sequence '.' 8792
ci(deps): bump actions/checkout from 4 to 5 8796
ci:(port_updater): add more CI port updater urls 8686
tests: rename makefile directory to makefiles. 8646
ci: add hardware performance test workflow 8567
ci: find and edit existing comment for benchmark results 8531
ci: disable benchmark results comment if there's no diff 8515
ci: emulated perf workflow 7949
ci(lv_templ): fix filename template mismatches and add CI 8326
test(perf): add perf test framework 8064
test(arc_label): add arc_label test cases 9cf663e
test(qrcode): add qrcode quiet zone test bdcb291
ci: enable LV_USE_OBJ_NAME as it's required for some XML features 297aeae
ci(hw): add missing fontconfig lib dependency for ejlv f5fe4f2
ci: correctly pull the latest results in case it's a PR ac36b29
ci(perf/build/hw): remove checkout step from workflow 7081b45
ci(hw): increase job timeout 826d167
ci(build/hw): disable relunctant hw builds on pushes to master f6198e6
ci: update lv_perf image version to a more stable version 29eac60
ci(perf/hw): correctly pass github token to command 0b6cab8
ci: generate a release body for the benchmark results pre-release ea86afd
Others¶
chore(cmsis-pack) update cmsis-pack for the last PRs of v9.4.0 9077
chore(cmsis-pack): Update for v.9.4.0 8945
chore(conf): remove redundant thorvg definition 9067
chore: fix examples not showing on docs by fixing path to examplelist.c 9059
refactor(style): remove dead code 9040
build(cmake): fix MSVC exports for shared/static libraries on Windows 9026
build(kconfig): add missing argb8888 premultiplied setting 8997
chore(deps): bump actions/setup-python from 5 to 6 8985
chore(deps): bump actions/stale from 9 to 10 8986
chore(deps): bump actions/checkout from 4 to 5 8987
chore(deps): bump actions/github-script from 7 to 8 8988
chore(font): add missing special characters to aligned fonts 8975
chore(xml): add API docs to lv_xml_update_from_data 8967
chore: fix lv_font_montserrat_14_aligned.c include 8951
refactor(opengles): mainline usage of shader manager in opengl driver 8836
refactor(gdb): lv_global supports lazy loading and refactors some structures and formats. 8939
refactor(vector): clean up the API of vector drawing 8922
chore(xml): add guards around widget parsers 8932
refactor(gdb): re-structure lvglgdb module 8920
chore(tests): fix typo in qrcode test 8900
chore(lvconf_gen): generate empty lv_conf.h if it doesn't exist 8885
chore(repo_updater): add missing boards to the repo updater 8856
refactor(sysmon): polish the UI with LV_SYSMON_PROC_IDLE_AVAILABLE 8519
chore(kconfig): add missing LV_OS_SDL2 option to LV_USE_OS 8831
refactor(opengl): move opengl shader manager to opengles driver 8829
chore(font): replace arial with liberationsans 8784
scripts: add the frdm-mcxn-947 to the branch updater script 8752
chore: remove multiple semicolons 8723
Fixes bug where multiple events with same callback couldn't be removed in single call. 8706
chore(deps): bump dawidd6/action-download-artifact from 9 to 11 8654
build(zephyr): remove zephyr env cmake 8695
chore(stale): ping maintainers on stale bot comments 8683
chore(indev): explain why the timer is resumed on press in event driven mode 8660
chore(configopts): add support for LV_*_USE_* defines 8575
refactor(text): use struct to pass params to lv_text_* and lv_font_* functions 8500
chore(examples/scroll): remove unnecessary chinese comments that cause VC compilation failure 8668
Revert "feat(vg_lite): adapt premultiply src over blend mode (#6062)" 8649
chore(lv_tree): Code reorganization for lv_tree.h 8583
refactor(lv_part_t/lv_state_t): refactor to align types with prototypes 8511
refactor(draw): use better names in lv_draw_task_state_t and handle queued vs in_progress 8512
Replace legacy v9.0 call 8633
build(cmake): only set project name if lvgl's cmakelists is root 8588
chore(test/perf): add ability to debug perf tests 8569
build(preprocess): replace `which` with shutil.which to provide a cross-platform compatible solution to find pcpp 8530
build(esp): fix lvgl components requirements 8527
chore(deps): bump dawidd6/action-download-artifact from 9 to 11 8513
chore: use filename to better match mpk and json files 8518
chore: fix typos again 8295
chore(version): update version numbers to v9.4.0-dev 8498
refactor(themes): Improved consistency between styles 8346
chore(xml): fix mismatches between lv_obj elements and their XML schema 8485
chore(api_doc_builder): fix TOC ordering on API pages. 8421
chore(NemaGFX): add NemaPVG lib binaries 8430
chore(refr): advance send LV_EVENT_RENDER_START 8457
chore(lvglimage): fix indexed image premultiply error 8367
chore(api_doc_builder): fix regex for unix systems 8342
chore(image): reduce warning level for src being NULL 8394
refactor(drm): rename config allowing us to link with GBM automatically 8203
refactor(xml): use single properties and introduce the prop-paramX syntax 3e61613
refactor(observer): move bindings to the related widgets 26fd3e7
chore(arc_label): rename arc_label to arclabel 9489759
initial commit 1906242
chore(doc-build): adjustments after discussion with André. 6d546a8
chore: minor fixed in XML and observer related codes b4c9d2e
chore(xml): memzero malloced memoried for consitent behavior 584bac6
chore: minor formatting and optimizations b946eb6
refactor(arc_label): improve angle calculations and type safety 6cbf36a
chore(observer): add _event suffix to add_subject_set/increment bd9e9d2
chore(arc_label): documentation, formatting, redundant code fixes cb593b3
chore(xml): make element access="bind" -> "custom" for more flexibility a134a56
revert: revert examples 272da82
chore(doc-build warnings): struct adjustments to work around Breathe bug 5d7b2e7
chore: update version 07271d5
chore(lv_obj.h): fix per discussion 6639c31