Changelog

v9.5.0 Change Log

LVGL v9.5.

Edit on GitHub

v9.5.0 18 February 2026

LVGL v9.5.0 continues expanding MPU capabilities while maintaining the lightness and efficiency that make LVGL viable on resource-constrained MCUs. This release adds native blur and drop shadow rendering, a rewritten Wayland driver with EGL support, complete OpenGL rendering via NanoVG, and significant 3D rendering improvements.

Main Features
  • Blur and Drop Shadow. Native software blur and drop shadow support work on all targets without requiring a GPU. Drop shadows add depth to overlays and cards; blur enables frosted-glass effects and background dimming. Learn more.
  • Wayland Driver Rewrite. Complete rewrite with SHM backend supporting double-buffered direct mode rendering and a new EGL backend for hardware-accelerated OpenGL. Learn more.
  • NanoVG Rendering Backend. Complete OpenGL draw unit providing GPU-accelerated vector rendering, anti-aliased shapes, and compositing. Auto-initializes when OpenGL context is available. Learn more.
  • Bézier Curved Charts. New LV_CHART_TYPE_CURVE draws smooth Bézier curves between data points. Requires LV_USE_VECTOR_GRAPHICS and a compatible draw unit (VGLite, NanoVG or Software with ThorVG). Learn more.
GPU Acceleration & Performance
  • RISC-V Vector Extension Support. SIMD acceleration for software rendering on RISC-V platforms with V extension support. Speeds up blending operations. Enable with LV_USE_DRAW_SW_ASM set to LV_DRAW_SW_ASM_RISCV_V.
  • SDL EGL Support. SDL now supports EGL rendering backend, completing EGL coverage across SDL, Wayland, DRM, and GLFW for consistent hardware acceleration.
  • OpenGL Improvements. Matrix transformations, RGBA-only texture format, GLSL 330 support, and scissor optimization for opaque fills.
3D Rendering
  • Runtime glTF Manipulation. Read and modify glTF model nodes at runtime including scale, rotation, translation, and animation state for dynamic 3D scenes.
  • Raycasting Utilities. New API for 3D-to-2D coordinate conversion and ray-object intersection testing, enabling touch interaction with 3D objects.
  • Cross-Platform 3D Support. With EGL now available across all major Linux backends (SDL, Wayland, DRM, GLFW), 3D rendering is fully supported on all platforms.
Style & Theme System
  • LV_STATE_ALT. New widget state for simple dark/light mode switching without managing separate theme trees.
  • Theme Management API. New functions: lv_obj_remove_theme, lv_obj_bind_style_prop, and full theme create/copy/delete API for multi-theme applications and data-driven style binding.
Widgets & Property Interface
  • Property Interface Rollout. Arc, bar, switch, checkbox, LED, line, scale, spinbox, spinner, table, tabview, buttonmatrix, span, menu, and chart now expose uniform property interface for data binding.
  • Input Handling. Key remapping at indev level, configurable gesture thresholds, LV_OBJ_FLAG_RADIO_BUTTON for radio groups, and keypad events emitted without assigned group.
Media Support
  • GStreamer Audio-Free Sources. Supports video sources without audio tracks, enabling camera stream embedding in LVGL applications.
  • WebP Decoder. Native WebP image decoding support added alongside existing JPEG, PNG, and GIF support.
Breaking Changes
  • Wayland Client-Side Decorations Removed. Rewritten driver no longer supports client-side window decorations. Use LVGL widgets (e.g., lv_win) for window chrome.
  • XML Engine Removed. XML UI engine development continues outside the main repository. Separate announcement forthcoming.
Deprecations
  • lv_fragment deprecated. Will be removed in a future release. Plan migration for view lifecycle management.
  • lv_wayland_display_close_cb_t deprecated. Use LV_EVENT_DELETE on display returned by lv_wayland_window_create instead.
New Features
  • feat(opengl): throw error if both draw nanovg and opengles draw units are enabled 9719
  • feat(gltf): upgrade fastgltf with latest fixes 9727
  • feat(obj): add back support for user flags 9711
  • feat(style): add lv_obj_remove_theme 9692
  • feat(text): skip leading spaces after line wrap 9639
  • feat(draw/opengl): support dynamic video textures in OpenGLES 9704
  • feat(drm/egl): auto infer drm egl config from use_opengles 9671
  • feat(gstreamer): send event on end of stream 9634
  • feat(display): send screen load events to display 9600
  • feat(chart): add curved type 9564
  • feat(indev): emit events for keypad without assigned group 9656
  • feat(style): add LV_STATE_ALT for simple dark/light switching 9691
  • feat(svg): simplify node attributes inheritance introduce in #9424 9690
  • feat(NemaGFX): Add nema libs for cortex M7 and M55 9374
  • feat(ibl_sampler): fallback to default env image and remove unnecessary allocation 9675
  • feat(msgbox): add support for formatted text 9583
  • feat(obj): allow null class names if obj_name isn't set 9653
  • feat(opengl): add matrix transformations to opengles rendering 9654
  • feat(ppa): make the PPA burst length configurable 9612
  • feat(nanovg): add draw 3D support 9571
  • feat(xml): remove the XML parser and loader 9565
  • feat(indev): add api to set gesture thresholds 9641
  • feat(sdl): add EGL support 9462
  • feat(calendar): add 2026 to header 9630
  • feat(draw): make lv_draw_mask_rect_dsc_t public 9454
  • feat(line): allow defining an array of point in the draw task 9269
  • feat(svg): support inheriting node attributes 9424
  • feat(wayland): add display rotation support for the shm backend 9386
  • feat(svg): support inline styles 9423
  • feat(draw): add RISCV V extension for software draw 9504
  • feat(canvas): add api to skip canvas invalidation when setting pixel 9592
  • feat(wayland): add egl support 9398
  • feat(gstreamer): add support for sources with no audio 9551
  • feat(drm/egl): add nanovg support 9542
  • feat(arclabel): support lv_arclabel_get_text_angle to get real rendered text size in degree 9546
  • feat(opengl): auto initialize nanovg draw unit 9543
  • feat(vg_lite): add support for special format 9464
  • feat(dropshadow): add drop shadow support 9331
  • feat(draw): add nanovg rendering backend 8865
  • feat(vg_lite_tvg): add VG_LITE_BLEND_DST_IN emulation support 9528
  • feat(display): add rotate point method 9513
  • feat(arclabel): support overflow mode 9484
  • feat(demos): allow specifying parent for widgets and music demos 9444
  • feat(fragment): deprecate lv_fragment 9460
  • feat(xml): add slot support 9193
  • feat(jpeg): add support for orientation and CMYK 9296
  • feat(opengl): add glsl version 330 support 9384
  • feat(group): add user_data getter and setter 9466
  • feat(core): add external data and destructor feature 9112
  • feat(glfw): remove glew dependency and use glad instead 9319
  • feat(obj): add LV_OBJ_FLAG_RADIO_BUTTON to easily create radio buttons 9328
  • feat(obj): add scroll x and scroll y properties 9346
  • feat(slider): add min_value and max_value setter 9433
  • feat(scale): update needles when scale is transformed 9340
  • feat(opengl): use only rgba format textures 9304
  • feat(nuttx): add mock to the NuttX driver for compilation testing 9419
  • feat(xml): add imagebutton support to XML 9381
  • feat(gltf): make linear_output optional to enable tonemapping and gamma adjustment 9260
  • feat(test): add lv_xml_test_run_to and lv_test_screenshot_result_t 9189
  • feat(file_explorer): allow hiding the back button 9202
  • feat(obj): allow setting child size to LV_PCT() of LV_SIZE_CONTENT parent by using the size of fixed/clamped children to set parent size 9243
  • feat(drm): add return type to set_file 9365
  • feat(fbdev): add return type to set_file 9364
  • feat(array): add remove_unordered function 9339
  • feat(gltf): allow modifying model's nodes at runtime 9142
  • feat(wayland): rewrite driver 9195
  • feat(blur): add blur support 9223
  • feat(examples/ffmpeg_player): specify default decoder 9218
  • feat(xml): support selector with local styles 9184
  • feat(fs): support multiple littlefs filesystems 8868
  • **feat(obj): support LV_SIZE_CONTENTandLV_PCTmin width/height in combination with flex grow**8685
  • feat(scripts/check_gcov_coverage): add analysis of specified file paths 9264
  • feat(gltf): support sharing the background environment across multiple objects 9009
  • feat(theme): add api to create, copy and delete themes 9167
  • feat(example/style): convert old transform demo to an example 9050
  • feat(xml): add color percentage support to animations 9209
  • feat(benchmark): show warnings for typical mistakes 9171
  • feat(style): add lv_obj_bind_style_prop 9173
  • feat(scripts): add automatic gcovr code coverage analysis 9227
  • feat(timer): resume timer handler after attribute changes 9205
  • feat(image_decoder): add webp decoder 9175
  • feat(translate): support translation tags in tabview and list 9079
  • feat(libpng): optimize the details of performance measurement 9179
  • feat(image_decoder): add performance measurement 9178
  • feat(vg_lite): add dynamic input parameter printing control 9180
  • feat(indev): implement key remapping (#8455) 8981
  • feat(keyboard): add definitions for control mode buttons 9101
  • feat(gltf): gltf view raycasting and 3d point to screen point conversion 9143
  • feat(gltf): use alternate blending mode for glTF views 9115
  • feat(ffmpeg_player): add set_decoder 9122
  • feat(xml): add lv_spinner 9091
  • feat(translation): const-correct arrays of strings 9147
  • feat(fs): add read file with alloc API 9109
  • feat(gif): use gif draw raw mode to support stride mode 9121
  • feat(class): ensure classes have names 9097
  • feat(example/scroll): convert old scroll demo to an example 9049
  • feat(spinbox): add property interface support 0290020
  • feat(bar): add property interface support 0bd6422
  • feat(arc): add property API support 09b3143
  • feat(chart): add property interface support 7801fd2
  • feat(scale): add property interface support 54487a9
  • feat(span): add property interface support 8a2b610
  • feat(spinner): add property interface support bb76fd2
  • feat(tabview): add property interface support 492770e
  • feat(dropdown): static and non-static setter for text af5c3f1
  • feat(table): add property interface support f66cc41
  • feat(menu): add property interface support 8bf6952
  • feat(buttonmatrix): add property interface support 847cc0c
  • feat(led): add property interface support 43f35a2
  • feat(line): add property interface support 5ac2ca4
  • feat(switch): add property interface support 0fb0f37
  • feat(checkbox): add property interface support 7f924a3
  • feat(textarea): static and non-static setter for accepted_chars e20517a
  • feat(dave2d): always invalidate cache when using Renesas RZA 9d14a04
  • feat(draw_buf): add missing D-Cache flush d703c3a
  • feat(draw_buf_convert): add missing profiler 4016f35
Performance
  • perf(draw/opengl): use glScissor for opaque fills 9222
  • perf(label): make LAYOUT_COMPLETED a display event 9215
  • perf(vg_lite): add bitmap font cache for non-aligned fonts 9343
  • perf(line): check that line has at least 2 points before drawing 9185
  • perf(gltf): optimize gltf material negotiation 9038
  • perf(opengl): remove long delay when destroying shader programs 9037
  • perf(label): reduce lv_label_refr_text calls 9041
Fixes
  • fix(blur): render non-backdrop blur when the main rendering is done 9752
  • fix(refr): flag when all tasks are added to screen layers 9739
  • **fix(cmake): declare fatfsas private dependencies**9742
  • fix(wayland/g2d): fix busy buffer warnings 9730
  • fix(draw/g2d): disable image rendering 9729
  • fix(NemaGFX): Add back support for indexed images 9714
  • fix(core): add missing includes for external data feature 9715
  • fix(freetype): check if ctx is null before deleting font 9728
  • fix(opengl): correctly apply matrix transforms 9726
  • fix(wayland): read and flush compositor events on a timer 9720
  • fix(wayland/shm): damage surface before returning if not last flush 9721
  • fix(thorvg): ensure height is always positive 9712
  • fix(indev): only reset last point and it's movement only if no previous object existed 9707
  • fix(uefi): add missing trailing newline to driver headers 9710
  • fix(gles): transpose lv_matrix_t before uploading to shader 9703
  • fix(flex): use min size when item is set to grow and parent is LV_SIZE_CONTENT 8806
  • fix(gltf): flip vertically by default 9694
  • fix(draw/opengles): red/blue channel swap in fill operations 9693
  • fix(LTDC): warn when rotating and DRAW_SW is disabled 9670
  • fix(arc): handle indicator padding for knob position and arc invalidation area 9302
  • fix(dave2d): fix several rendering issues (mostly restore the original alpha) 9566
  • fix(draw/helium): include lv_conf_internal to avoid C declarations 9658
  • fix(fbdev): use display offset and clip area to display area 9668
  • fix(draw/line): fix buffer overflow when point is outside display area 9669
  • fix(gltf): avoid resetting value_changed node attribute 9674
  • fix(gltf): remove designated initializers causing warnings 9676
  • fix(gltf/data): add missing extern "C" to header file 9679
  • fix(ibl_sampler): restore gl state and add missing resources deletion 9678
  • fix(stdlib): wrong variable name when mem_add_junk is enabled 9677
  • fix(fbdev): add missing errno.h include 9673
  • fix(image): add transform support for AL88 color format images 9627
  • fix(svg): set stride in decoder info to prevent warning 9657
  • fix(g2d): fix hardware version check with LV_USE_PXP 9644
  • fix(run_tests.sh): fix gcov versions mismatch issue 9652
  • fix(image): incorrect L8 image alpha channel to ARGB8888 blend 9645
  • fix(draw/arc): add missing lv_draw.h include 9640
  • fix(gstreamer): empty frame queue on destruction 9633
  • fix(lovyan_gfx): resolve double rotation in touch coordinates 9628
  • fix(property): remove LV_PROPERTY_TEXTAREA_INSERT_REPLACE (#9606) 9625
  • fix(property): fix reading style property returns uninitialized if non-local 9234
  • fix(blur): fix regression causing VS compiler error 9620
  • fix(obj_pos): alignment is not reversed when switching from LTR to RTL 9616
  • fix(dropdown): symbol property behaves like IMGSRC instead of TEXT 9608
  • fix(drm): set stride for draw buffers 9609
  • fix(textarea): scroll to position when style changes 9407
  • fix(grid): negative width of the object with column span in the grid using RTL 9596
  • fix(obj_pos): incorrect x coordinate in rtl mode 9598
  • fix(draw/sw): add missing LV_PROFILER_DRAW_END 9601
  • fix(wayland/egl): fix config selector for nanovg 9603
  • fix(opengl): fallback to RGB for desktop GL 9588
  • fix(gltf): add missing LV_RESULT_INVALID check 9580
  • fix(gltf): fix memory leaks caused by incomplete resource cleanup 9579
  • fix(opengles_shader): fix index out of bounds 9573
  • fix(gltf): fix unused-function warning 9576
  • fix(gltf): fix heap use after free caused by timer not being deleted 9574
  • fix(widget/span): undefined lv_subject_t if LV_USE_OBSERVER undefined 9577
  • fix(glfw): add gl_rgb565 fallback definition 9575
  • fix(egl): add missing ctx null check 9572
  • fix: remove unused code and fix code signature warning 9570
  • fix(lodepng): fix memory leak when cache addition fails 9569
  • **fix(draw_sw): remove unused code in lv_draw_sw_blend_to_a8.c** 9567
  • fix: format specifier warning in font manager 9549
  • fix(test): add missing malloc check to screenshot compare 9541
  • fix(xml): pass raw # if there's no constant name 9418
  • fix(drm/egl): red and blue channel swap with RGB565 9461
  • fix(arclabel): fix arclabel opa set 9483
  • fix(refr): restore layer opacity and recolor properties when layer area retrieval fails 9521
  • fix(vg_lite): fix the missing handling of rotated vector fonts g->ofs_x 9519
  • fix(vg_lite): workaround vg_lite_blit_rect offset x/y hardware bug 9522
  • fix(draw_sw_line): fix horizontal line incorrect dash length 9501
  • fix(draw): support RGB565_SWAPPED in software blur 9512
  • fix(wayland): fix touch support by correctly setting driver data 9486
  • fix(vg_lite): fix incomplete coordinate calculation when converting scissor_area to bounding_box_area 9511
  • fix(vg_lite): wait for vg_lite_tvg finish before drawing the mask 9489
  • fix(anim): ignore large apparent animation duration 9280
  • fix(arclabel): fix arclabel arc length calc in recolor mode 9467
  • fix(image_header_cache): fix dump iter selection error 9465
  • fix(arclabel): fix arc length calculating precise 9457
  • fix(opengl): compilation error when using glfw 9459
  • fix(image_cache): fix image cache dump memory leaks 9448
  • fix(conf_internal): explicitly disable the glTF demo when build_demo is disabled 9408
  • fix(gltf): remove fastgltf memory mapped file feature check 9422
  • fix(gltf): correct argument type to match declaration 9421
  • fix(gltf): add declaration for loading model from bytes 9420
  • fix(demo): fix compiler warning of unused variable c 9370
  • fix(flex): fix rounding may leave unused space on track with flex_grow 9217
  • fix(gstreamer): fix buffer map memory leak 9378
  • fix(draw/dma2d): correct cache handling 9366
  • fix(gltf): stride mismatch issue 9385
  • fix(gltf): force depth mask for transparent items used with refractive materials 9396
  • fix(tabview): re-set tab bar size after changing its position 9399
  • fix(demo): fix compiler warnings regarding the use of LV_UNUSED 9403
  • fix(tiny_ttf): release entry for correct cache 9429
  • fix(cache): entry alloc 9427
  • fix(xml): allow animating bg_image_opa in XML timelines 9425
  • fix(opengles): fix the memory leak when the shader manager is destroyed (#9439) 9440
  • fix(rb): make compare result type a 32bit integer 9442
  • fix(draw_buf):change the align log level to INFO 9428
  • fix(gltf): correctly handle matrices for animation and cameras 9273
  • fix(nuttx): fix profiler build break 9417
  • fix(blur): fix VS compiler error 9391
  • fix(freetype): set pixel size before kerning calculation (#9367) 9388
  • fix(xml): fix compile warning of uninitialized value 9368
  • fix(gif): compatibility issue when logging uint32_t variables 9349
  • fix(display): always have a solid background with non-alpha color formats 9380
  • fix(demo): make the Log out and Invite button not overlap on 480 hor. res. 9383
  • fix(roller): transformed roller click location 9212
  • fix(screen): double free when loading screens 9276
  • fix(ime): restrict to lowercase input to avoid overflow 9320
  • fix(spinbox): fix stack corruption 9256
  • fix(binfont_loader): add include to include missing function from API page 9344
  • fix(ESP): fix esp toolchain format specifier edge case 9336
  • fix(EVE): update lv_font_fmt_txt.h include path 9337
  • fix(gif): fix negative loop count handling 9241
  • fix(sdl): do not dereferencing nullptr in lv_sdl_mouse_handler if an invalid windows id (0) has been received 9299
  • fix(label): skip label draw if width is negative 9297
  • fix(indev): send LV_EVENT_KEY as indev event 9208
  • fix(glfw): fix deinitialization order to prevent segfault 9220
  • fix(draw/sw): remove param from draw_sw_mask_rect 9288
  • fix(property): fix return type of LV_PROPERTY_OBJ_SCROLL_END 9203
  • fix(property): fix some non-integer style property types 9245
  • fix(indev): ensure timer triggers when elapsed time meets threshold 9275
  • fix(gif): add disposal handle to fix gif display error 9213
  • fix(scripts/check_gcov_coverage): skip statistics for non-executable lines 9239
  • fix(vg_lite): add a path print length limit 9248
  • fix(NemaGFX): update lv_font_fmt_txt.h include path 9235
  • fix(draw/ppa): fix build and rendering issues 9162
  • fix(widgets): make animations on state change more consistent 9174
  • fix(workflows): fix commit ID error in push events mode 9231
  • fix(gif): add missing D-cache flush 9228
  • fix(label): lv_label_mark_need_refr_text not invalidate area 9176
  • fix(ffmpeg_player): increase align to 32 9166
  • fix(driver/st_ltdc): Add missing lv_os_private.h include 9191
  • fix(LTDC): add cache cleaning 9192
  • fix(fbdev): Implement proper cleanup from deletion event in FBDEV 9169
  • fix(example): correct lv_example_chart_5 display 9177
  • fix(canvas): correct RGB565 pixel offset in lv_canvas_get_px 9188
  • fix(ffmpeg): for nv12 pix_fmt 9131
  • fix(opengles): update fb address after reshaping texture 9134
  • fix(obj_tree): fixes exact object name match 9150
  • fix(gltf): fix indexation of model binds and and a new uniform scale bind 9102
  • fix(fs): set data to NULL if read file failed 9156
  • fix(keyboard): remove and add state to text area instead of keyboard 9105
  • fix(indev): Abort sending Keypad INDEV_ACT events following invalid return 9135
  • fix(xml): correctly use integer format specifier 9133
  • fix(test): fix memory leak on failed screenshot compare 9088
  • fix(scale): incorrect decrement in lv_scale_set_line_needle_value loop 9081
  • fix(vg_lite): fix warning if LV_LOG option is closed 9094
  • fix(flex): fix crash with flex_grow on screen 9090
  • fix(drm): fix drm driver memory leaks 31e4138
  • fix(gltf): convert baseColorFactor to sRGB for more accurate mid-range colors bdb7099
  • fix(workflows): skip the coverage analysis if it's not a pull request b9cdc4a
  • fix(dave2d): fix leftover typo from #8725 abec5b7
Examples
Docs
  • docs(draw_descriptors): fix examples missing code 9745
  • docs(draw/sdl): add missing draw_sw requirement 9747
  • docs(renesas): update link in docs to Renesas plugin v1.0.1 9735
  • docs(overview): remove conflict marker 9733
  • docs(wayland): remove server side window decorations promise 9708
  • docs(README): document how to work with :c:macro: role limitation 9700
  • docs(integration): make the integration more effective and informative 9507
  • docs(win): fix link list in API section 9697
  • docs(style_api_gen): add missing * to style API documentation 9684
  • docs(animation): clarify constraint in animations 9686
  • **docs(style API): add API documentation to style_api_gen.py** 9637
  • docs(macros): fix many macro links to API docs 9533
  • docs(buttonmatrix): fix event name typo 9635
  • docs(rt-thread): update BSP list and place the table and links in a form that is easier to maintain 9611
  • docs: add missing xml redirects 9593
  • docs(canvas): clarify buffer allocation details 9563
  • docs(links): fixed broken external links 9525
  • docs(display): mention palette in example flush_cb 9534
  • docs(API): link api pages to source code header files 9456
  • docs(clipping): document how clipping works in drawing 9446
  • docs(editor): Zephyr integration guide. 9360
  • docs(ICOP): add docs for board manufacturer ICOP 9413
  • docs(color): fix unexpected API page links 9338
  • docs(layers): clarify how to control Widget layering 9379
  • docs(display_controllers): fix erroneous doc cross-references 9382
  • docs(examples): fix erroneous example headings 9355
  • docs(3dtexture): fix web link with syntax error 9357
  • **docs(base_widget.rst): add objexample to docs**9356
  • docs(custom.css): fix 2 CSS color issues 9330
  • docs(examples): add back show c code button in widget pages 9354
  • docs(redirects): add redirect for renesas XML integration page 9345
  • **docs(examples): make example_list.pyrobust**9317
  • docs(wayland): remove mention of custom timer handler 9329
  • docs(redirects): add redirects from URLs in prev READMEs 9322
  • docs(redirects): add redirect for prev getting_started page 9321
  • docs(build.py): add changes needed with removal of details/ and intro/ dirs 9315
  • docs(color_format): add rgb565 swapped format info 9310
  • docs(directory structure): simplify by removing details/ and intro/ dirs 9313
  • docs(examples): fix libs/, others/ and porting/ missing from examples page. 9291
  • docs(images): remove outdated information and reorganize image docs 9221
  • docs(config): improve documentation in config template 9251
  • docs(examples): make example pathing more robust 9308
  • docs(README): fix typo 9286
  • docs(libpng): fix documentation typo 9290
  • docs(examples/grad): fix missing source code in gradient examples 9289
  • docs(Widget Tree): provide data lost from end of doc 9158
  • docs(README): add instructions for new documentation features 9149
  • docs(editor): Arduino usage guide 9104
  • docs(torizon): update torizon os docs to work with latest LVGL 9095
  • docs(Guides): add structure to TOC for Guides section 9281
  • docs(tinyttf): remove file loading in the examples 9266
  • docs(editor): Add brief section on installing e2 Studio plugin to the docs 9257
  • docs(Renesas): Add Renesas RZ/G3E and RA8D2 to docs 9253
  • docs(threading): simplify and add work-queue concept to Threading doc 9106
  • docs(xml): add Renesas Eclipse / E2Studio docs 9216
  • docs(debugging): proofread debugging section 9163
  • docs(style): add table width enhancements and bold + italic + underline support 9124
  • docs: factor out repeated substitution definitions 9125
  • docs(macro api links): fix links to macros in API pages 9161
  • docs(mipi): clarify generic MIPI with example code 9099
  • docs: move ext links to include dir 9128
  • docs: fix enumerator expansion upon API page links 9114
  • docs(misc): remove last warnings from doc-build with skip_api argument 9119
  • docs(misc): fix typos, grammar and add missing function links to api pages 9126
  • docs(gif): fix outdated content about using GIFs as C arrays 9093
CI and tests
  • test(vector): add more draw vector test case 9524
  • test(pinyin): update ref images 9610
  • test: fix missing EOL warnings 9548
  • test(svg): add svg file testcase 9535
  • ci(release): add steps to prepare and upload lite package 9443
  • test(canvas): add RGB565 pixel read test 9516
  • test(canvas): add canvas test case and fix the null pointer access crash in the draw buffer 9478
  • test(slider): add slider test case 9477
  • test(async): add async test case 9475
  • test(utils): add utils test case 9474
  • test(palette): add palette test case 9473
  • test(ll): add ll test case 9472
  • test(color): add color test case 9471
  • test(circle_buf): add circle buffer test case 9470
  • test(area): add area test case 9469
  • test(arc): add arc test case 9476
  • test(fs): add fs test case and add fs mock 9479
  • test(snapshot): add snapshot test case 9481
  • test(image): add image test case 9480
  • test(math): fix lv_pow failure to handle negative numbers exp and add full-feature coverage test 9450
  • test(ime_pinyin): fix crash and memory leak and add full-feature coverage test 9434
  • test(cache): add cache_entry_alloc 9438
  • test(menu): fix double free and add full-feature coverage test 9432
  • test(tick): add tick test case 9416
  • test: update demo widgets ref image 9358
  • ci: deploy doc builds to release folders 9352
  • ci(deps): bump actions/checkout from 5 to 6 9334
  • ci(deps): bump JamesIves/github-pages-deploy-action from 4.7.3 to 4.7.4 9333
  • ci(tests): retain the gcov report for coverage analysis 9274
  • test(draw_buf): add draw buf premultiply test 9259
  • test(display): improve lv_display test coverage 9110
  • test(demo_widgets): add screenshot comparison 9111
  • test(theme): improve theme test coverage 9116
  • test(mem): improve memory test coverage 9117
  • test(vector): add demo vector graphic test 9130
  • test(array): improve lv_array test coverage 9108
  • test(indev): merge indev testcase 9071
Others
  • feat(env): always use the C library when building for QNX 9738
  • revert(canvas): remove api to skip canvas invalidation when setting pixel 9751
  • chore(cmsis-pack): Prepare for v9.5.0 9748
  • build(esp): only add fatfs component if use_fs_fatfs is enabled 9746
  • chore(font_gen): replace os.system with subprocess.run 9689
  • build(deps): bump dawidd6/action-download-artifact from 12 to 14 9666
  • build(deps): bump JamesIves/github-pages-deploy-action from 4.7.6 to 4.8.0 9667
  • chore(ppa): update cache alignment error message for 128-byte lines 9526
  • chore(gif): move GIF Widget to widgets/ directory 9617
  • chore(docs): lock sphinx version to 8.2.3 9626
  • chore(msgbox): fix the incorrect return value docs 9584
  • chore: fix warning of span testcase 9547
  • refactor(opengles): set texture id to layer head on disp creation 9397
  • chore(CODEOWNERS): add @FASTSHIFT to default owners 9531
  • refactor(canvas): clarify parameter names for lv_canvas_copy_buf 9414
  • build(cmake): check if demos and examples exist 9510
  • build(esp): add missing lv_demos.c source file to esp build process 9517
  • chore(tests): clean up erroneously submitted temporary files 9515
  • refactor(gif): add new API and add full testcase 9452
  • chore: add codeowners 9458
  • build(deps): bump actions/upload-artifact from 5 to 6 9495
  • build(deps): bump JamesIves/github-pages-deploy-action from 4.7.4 to 4.7.6 9496
  • build(deps): bump dawidd6/action-download-artifact from 11 to 12 9497
  • build(deps): bump actions/cache from 4 to 5 9498
  • build(Kconfig): auto select LV_USE_GENERIC_MIPI 9491
  • chore(image_converter): add AL88 color format support 9453
  • build(kconfig): make log level selection more readable 9409
  • build(test): ffmpeg compile error on macOS 9371
  • chore: fix compile warnings 9369
  • refactor(obj_property): use LV_ARRAYLEN for LV_OBJ_SET_PROPERTY_ARRAY 9395
  • refactor(indev): remove the unused last_obj field from lv_indev_t 9219
  • chore(lvglgdb): show classp name if lv_class name is not set 9376
  • chore(vg_lite): minimize the header file inclusion 9361
  • chore(lvglgdb): fix TypeError in lv_obj.py while dump specify object 9375
  • chore: update version to v9.5.0-dev 9350
  • chore(lv_conf_internal): replace the tab and add automatic checks 9323
  • chore: update version to v9.4.0-dev 9316
  • chore(tests/unity): fix the case discrepancy in the size_t comparison macro definition 9318
  • chore: fix changelog generator to be compatible with reST 9168
  • build(Kconfig): add missing support_rgb565_swapped config 9282
  • chore(scripts/run_tests): remove redundant apt list commands 9226
  • refactor(draw_buf): add inline tag for draw buffer flag functions 9229
  • chore(test_conf): fix build break if webp library not installed 9225
  • refactor(canvas): remove draw_sw include 9204
  • refactor(arc): remove redundant code 9198
  • refactor: reorganize the others folder 9164
  • build(deps): bump actions/upload-artifact from 4 to 5 9182
  • Make scroll animation timing configurable via defines 9160
  • build(kconfig): add 3d texture and gltf configs 9132
  • chore(gdb): add initial project configuration and installation instructions for lvglgdb 9145
  • chore(gdb): support rb/cache associate debug obj and commands 9089
  • chore(scripts): remove rz-g2l-evkit from port updater as it still uses v8.3 9092
  • chore(vg_lite): correct spelling of 'high' in color key structure 9087
  • chore(gdb): add gdb cmd for nuttx drivers to support multi-instance 9068
  • chore(widgets): use helper for properties in class 7193931
  • chore(property): add macro to help property definitions 55aa15d
  • Revert "fix(workflows): fix commit ID error in push events mode (#9231)" cafeb18

Last updated on

On this page