Change Log¶
v9.3.0 3 June 2025¶
Summary¶
This is a significant release packed with exciting updates from both our community and internal team.
One of the most notable additions is XML support, enabling you to describe your UI in a declarative manner. This way LVGL UI can be loaded at runtime without recompiling and deploying the application. This feature is also a key requirement for the upcoming UI Editor we're developing.
The documentation has been thoroughly reorganized and proofread.
We've also laid the groundwork to support 3D textures as LVGL widgets.
To support our partners, we've added numerous new drivers and documentation:
STM's NeoChrom GPU
Added dmabuf support to the Wayland driver (currently limited to G2D draw unit)
Hotplug support in evdev with auto-discovery
Optional use of Linux CPU usage statistics
Text rendering has become much more advanced:
Our FreeType binding now supports colored glyphs and glyph outlines
Text recoloring is back (e.g.,
"A #ff0000 red# word"
)Improved GPU integration to render A1/A2/A4 bitmaps directly
And finally, some other important additions:
- New color formats: RGB565_SWAPPED
(commonly used with SPI-based display controllers) and ARGB8888_REMULTIPLED
(required for Wayland and Lottie animations)
- SVG support
- Double and triple click detection
- Tiled rendering to better utilize multiple CPU cores
- Multi-touch gestures (swipe, pinch, rotate)
- Global recolor style property (tint all widgets and images)
- Triple buffer support
Architectural¶
New Features¶
feat(wayland): add dmabuf support with g2d 8122
feat(draw_sw): add RGB565_SWAPPED support 8227
feat: add new lvgl examples 8225
feat(barcode): support raw code 128 8287
feat(draw_opengles): add getter fn for glfw_window and fix freeing non allocated textures 8257
feat(draw): add configurable thread priority for all drawing units 8162
feat(test): add Dockerfile support with CI env 8209
feat(image): support symbol images with inner alignment 8182
feat(disp): allow rotation with `FULL` render mode 8107
feat(display): add triple buffer support 8158
feat(svg): add API for getting original width and height 8180
feat(cache): add new `lv_cache_lru_ll` module 8155
feat(cmake): disable PCPP by default 8126
feat(animimage): support set source interfaces with or without parameter of reverse play 8164
feat(drivers): add ft81x framebuffer driver 7815
feat(animimage): support images play in a reversed order 8085
feat(font): Replace SimSun font with SourceHanSansSC 8006
feat(widget): Add `lv_3dtexture` widget and 3D draw task type 8033
feat(nuttx): auto enable display matrix rotation 8119
feat(refr): use transform matrix to realize display rotation 6911
feat(image): add LV_IMAGE_ALIGN_CONTAIN & LV_IMAGE_ALIGN_COVER to scale images without changing aspect ratio 7955
feat(sdl): add window icon settings 7808
feat(sw_blend) : add argb8888-premultiplied support 7979
feat(linux/fbdev): support non-mmappable frame buffers 8058
feat(disp): support subscription and unsubscription of vsync event 7487
feat(demos): add WiFi credentials input to the high res demo 7953
feat(scale): add id1 id2 for tick line draw descriptors. fix zero division 7695
feat(scripts): Add –name parameter to LVGLImage.py 7996
feat(draw/sw): add support for vector fonts 7560
feat(draw): add comments and unify struct names 7878
feat(refr): add global recolor 7855
feat(lz4): update lz4 to 0.10.0 7869
feat(test): add test cases for indev_gesture pinch 7947
feat(chart): implement get_index_from_x() for LV_CHART_TYPE_SCATTER 7824
feat(demo): New smartwatch demo 7883
feat(indev): Add rotation and two fingers swipe gestures support 7865
feat(obj_tree): indent printed object data according to its depth 7852
feat(draw_sw): have only one SW draw unit with multiple threads internally 7899
feat(dma2d): add support for DMA2D on STM32H7RS 7850
feat(benchmark): add on benchmark end callback 7814
feat(tests): add draw 8bpp font test 7895
feat(spangroup): add some testcases for span rtl mode. 7870
feat(examples): add looping scroll example 7714
feat(draw/sw): allow custom handlers 7531
feat(nxp): add G2D support 7625
feat(lv_bin_decoder): improve error logging in file reading 7826
feat(blend): add blend difference mode 7796
feat(thorvg): use LVGL's malloc/realloc/zalloc/free 7772
feat(nuttx_image_cache): add configuration to use image cache heap for default heap 7653
feat(vg_lite): optimize resource reference count management 7809
feat(mem): add lv_reallocf 7780
feat(span): support bidi for span 7717
feat(draw_vector): add fill units support 7774
feat(docs): new docs-build paradigm... 7597
feat(docs): upgrade presentation of display.rst 7478
feat(decoder): add svg image decoder for image widget 7141
feat(osal): add lv_os_get_idle_percent for linux 7632
feat(fs): clarify rest of docs on driver-identifier letters. 7710
feat(vg_lite): enhanced the automatic diagnosis function of GPU errors 7751
feat(demos): add new card to high resolution demo 7699
feat(observer): add bind_XXX ge/gt/le/lt and notify only when value changes 7678
feat(drm): add support for GBM buffer object to increase performance 7464
feat(draw/sw): make I1 luminance threshold configurable 7616
feat(drivers): add evdev discovery 7481
feat(docs): proofread/edit obj_property.rst. 7621
feat(demo): add smartwatch demo 7429
feat(scripts/LVGLImage.py): adds RGB565 dithering support 7582
feat(draw): add lv_draw_letter support 7490
feat(anim): add a pause method 7583
feat(docs): batch 14 of proofread/edited docs 7477
feat(docs): add short bit about include pattern to CODING_STYLE.rst 7563
feat(docs): batch 12 of proofread/edited docs 7440
feat(dma2d): add support for ARGB1555 color on top of RGB565 format 7555
feat(drivers): add UEFI driver 7069
feat(demos): High Resolution Demo Improvements 7566
feat(xml): add support for more properties and add more examples 7417
feat(libinput): map LV_KEY_{ESC} 7544
feat(docs): batch 11 of proofread/edited docs 7361
feat(docs): batch 10 of proofread/edited docs 7357
feat(docs): batch 13 of proofread docs 7458
feat(dropdown): add lv_anim_enable_t parameter to lv_dropddown_set_selected 7310
feat(demos): add high resolution demo 7308
feat(draw/sw): added support for 3 bpp font rendering 7350
feat(gen_json): adds option to gen_json to build without docstrings 7471
feat(docs): make docs development practical 7414
feat(osal): add SDL2 based threading and OS support 7457
feat(anim): clarify reverse play in animation API 7338
feat(draw): add layer memory allocation config support 7038
feat(NemaGFX): add freetype vector font support 7346
feat(refr): improve performance measurement 7430
feat(display): add draw buffer size getter 7332
feat(docs): proofread/edit batch 9 7324
feat(docs): widget proofread wrap-up 7405
feat(docs): update threading details in answer to #7313 7342
feat(profiler_builtin): support nanosecond accuracy 7415
feat(vg_lite): reduce unnecessary path quality settings 7398
feat(examples): add infinite scroll example 7388
feat(docs): batch 8 of proofread/edited docs 7295
feat(docs): document LV_DPX(n) 7374
feat(file_explorer): remove '.' and rename '..' to '< Back' 7270
feat(sdl): add I1 color format render support 7036
feat(drivers/st_ltdc): add rotation support to LTDC driver 7254
feat(chart,calendar): two grammar corrections 7340
feat(scroll): user-defined scrollbar length using LV_STYLE_LENGTH 7306
feat(draw_sw): add image clip_radius and mask before transformation 7244
feat(doc): add documentation on Torizon OS 7280
feat(docs): batch 6 of proofread/edited docs 7277
feat(scroll): adjust scroll behavior for non-elastic objects 7336
feat(code-format): minor enhancements 7311
feat(font): allow using A1,2,4 bitmaps + handle byte aligned fonts 7234
feat(fsdrv): set the working directory 7272
feat(observer): add subject snprintf 7250
feat(indev): add multi touch gestures 7078
feat(docs): batch 7 of proofread/edited docs 7281
feat(png): add support for files without extension 7289
feat(docs): scrolling doc proofread, edited and clarified... 7170
feat(issue): add platform description to bug-report 7273
feat(dropdown): add animations on rotary event 7271
feat(docs): batch 5 of proofread/edited docs 7218
feat(indev): add setter for long press repeat time 7235
feat(docs): buttonmatrix proofread/edit 7194
feat(obj): add transform matrix attribute 7187
feat(sdl): use SDL_Delay for delay callback 7243
feat(docs): batch 4 of proofread/edited docs 7207
feat(observer): add null pointer check 7183
feat(docs): plea for proper word-wrapping in `.rst` files. 7189
feat(thorvg): update thorvg to 0.15.3 7103
feat(docs): batch 3 of proofread/edited docs 7180
feat(sw): Add method to convert a htiled I1 buffer to vtiled 7129
feat(fs_posix): add error code conversion 7166
feat(roller): set roller option with a string 7143
feat(docs): proofread and edited docs 7144
feat(draw_label): Support simultaneous text selection and recolor 7116
feat(font): support 8 bpp font bitmaps 7100
feat(vg_lite): add more detailed error dump information 7104
feat(ffmpeg): add playback complete event trigger 7119
feat(docs): reorganize docs 7136
feat(scale): add additional style properties 6649
feat(vg_lite): add ARGB1555 ARGB4444 ARGB2222 support 7028
feat(sdl): add float zoom window support 7089
feat(scripts/gdb): add draw unit debug info support 7095
feat(tests): add log print callback 7076
feat(nuttx): add indev cursor display 7021
feat(libs): add SVG rendering support 6845
feat(drivers): add STM32 LTDC support 7059
feat(demo): add an ebike demo 7019
feat(opengl): texture caching 6861
feat(draw): add NemaGFX rendering backend 7002
feat(text): add text recolor back 6966
feat(vg_lite): add profiler for vg_lite_set_scissor 7023
feat(vg_lite_tvg): add vg_lite_set_scissor function support 6959
feat(nxp): Release/nxp patches for LVGL master 6978
feat(render): basic of tiled rendering 6761
feat(sdl): speed up rotation 6835
feat(nuttx): move static var index to global for gdb diagnostic 6890
feat(style): add a "set all" function for margin 6904
feat(gif): add loop count control 6839
feat(snapshot): add argb8565 support 6899
feat(array): add an empty element when element is NULL 6893
feat(vg_lite): add A8 and L8 dest buffer support 6884
feat(animimg): add getter function for underlying animation 6838
feat(vg_lite): add yuy2 color format support 6882
feat(profiler): support different module divisions 6834
feat(switch): add vertical switch function 6786
feat(spangroup): add `lv_spangroup_get_span_by_point` in spangroup 6579
feat(indev): detect double and triple click (closes #6020) 6187
feat(dma2d): add basic support 6691
feat(nuttx): add memory dump for image cache heap 6807
feat(vg_lite): optimize check_image_is_supported 6802
feat(vg_lite): add draw border side support 6796
feat(freetype): add colored glyphs support 6686
feat(event): event supports delayed deletion ability 6655
feat(libs): add freetype font manager 6482
feat(stdlib): add lv_calloc function 6743
feat(fonts) add aligned fonts for demo benchmark 157ee6a
feat(xml): add the basics of declarative XML support fc5939d
feat(test): make LVGL's test utilities public 8d04466
feat(xml): add support scale, span, roller and bar a535063
feat(circle_buff): add lv_circle_buf_t component d08d545
feat(xml): add subject and global/local scoping support 2ca425c
feat(xml): add buttonmatrix 299e31b
feat(obj_name): add auto-indexing with names like 'mybtn_#' e4bbc4f
feat(xml): add gradient support b78a9b4
feat(gdb): add lvgl GDB plugin d460edb
feat(xml): add basic callback event support 1c9c9f6
feat(xml): add canvas and calendar support 79381cc
feat(xml): add support for textarea and keyboard b63472d
feat(xml): add arc and chechkbox 3095b63
feat(xml): add obj, roller, dropdown, and arc bind_* properties 82996a5
feat(iter): add lv_iter_t module 4d7f577
feat(xml): load fonts and images from XML 670845e
feat(xml): add test for a complex view 052d908
feat(xml): add the first version of property updater b23a228
feat(image_cache): add dump info ability for image_cache 30f0d6c
feat(property): support second value in property 133b6fc
feat(xml): support removing style properties ed60b20
feat(freetype): add font kerning support 0414c78
feat(slider): add property interface 4eacf15
feat(vglite) draw_vglite_border add support for legacy scissor 2e75bbd
feat(animimage): add property support f5b00f5
feat(draw_sw): draw A8 static fonts directly in SW render 102b633
feat(test/freetype): add vg-lite outline font test feee9ae
feat(xml): handle registering assets multiple times 910cf08
feat(NemaGFX): add TSC color formats 07854b1
feat(slider): add orientation support (based on bar) f23b42b
feat(vglite) add LV_USE_VGLITE_STATIC_BITMAP option to use static glyphs for text rendering 7ba6cf2
feat(chart): add lv_chart_set_cursor_pos_x/pos_y() 8d0a519
feat(nuttx_fbdev): support for complete non-/consecutive fbdev mmap processing 340482d
feat(label_xml): support the format string in bind_text c5022ce
feat(xml): support styles with the same name 7f45e2f
feat(observer): support simple int binding to label c23636c
feat(observer): rename arg to clarify correct use... 82034cb
feat(xml): use LVGL's malloc for parsing 717301a
feat(obj): add state processing in XML parser 81eb192
feat(xml): add support for ext_click_area d91bdc5
feat(label_xml): support the format string in bind_text 3d1beab
feat(obj): add obj name support 626d6b5
feat(observer): Make `lv_obj_remove_from_subject()` legal for Widget Binding. 9b3c365
feat(lv_subject_t): re-sequence fields to reduce size from 32 => 28 bytes e0dfe80
feat(indev): detect double and triple click (closes #6020) (#6187) 651f69f
Performance¶
perf(blend): fix loop unrolling condition 8306
perf(vg_lite): relaxing the matrix transform judgment criteria 8219
perf(label): reduce the time of calling lv_text_get_size when drawing 8129
perf(vg_lite): switch gradient cache lru_rb -> lru_ll 8188
perf(vg_lite): add gradient pool to optimize memory allocation 8149
perf(refr): reduce refr_children call by check layer->opa 8133
perf(draw): support draw task dsc alloc together to reduce the malloc call times 8070
perf(draw): reduce empty dispatch 8073
perf(vg_lite): add font cache reference counting support 7407
perf(array): make short functions inline to reduce function jumps 7890
perf(vg_lite): reduce ineffective D-cache flushing operations 7817
perf(draw): optimize lv_draw_label() with text_length for text_local 7673
perf(obj): use layer to cache the current opa stack 7523
perf(nxp/vglite): do not recreate identity matrix at runtime 7595
perf(vg_lite): optimize matrix and rectangle conversion 7537
perf(refr): reduce matrix conversion 7536
perf(vg_lite): improve path append data performance 7504
perf(bin_decoder): improve the decoding performance of a8 7494
perf(vg_lite): improve path data conversion performance 7470
perf(os): optimize OS API calls without OS mode 7420
perf(span): optimize span render performance up by 50% 7290
perf(draw): improve execute time of obj's transforming 6638
perf(vg_lite): reduce redundant matrix calculations 7163
perf(label): simplify handling of bytes overwritten with dots 7001
perf(benchmark): use XRGB8888 image withn 32bit color depth 6914
perf(vg_lite): optimize label drawing efficiency 6853
perf(draw): skip area independence tests with one draw unit 6825
perf(obj): skip repeated flag setting operations 6859
perf(obj): reduce unnecessary border post drawing 6852
perf(vg_lite): reduce matrix and radius calculations 6800
perf(vg_lite): balancing performance and memory consumption 6823
perf(demo): use set_text_static in demos to cache them ins SDL and OpenGL renderers 926e3df
Fixes¶
fix(nema_gfx): fix STM32U5 compilation with NEMAGFX enabled and NEMAVG disabled 8291
fix(vg_lite): add nullptr check for vg_dash_pattern 8352
fix(example): fix params to lv_rand call 8324
fix(NemaGFX): get the static bitmap even if bpp is not 8 8347
fix(NemaGFX): new label static bitmap handling and fix area move bug 8332
fix(esp/nuttx): add missing include 8344
fix(display): fix divide by stride of zero value 8308
fix(calendar): allow setting years in ascending order 8315
fix(calendar): fixed macro comparing unsigned value to 0 8316
fix(sysmon): define perf monitor log mode when perf monitor is not enabled 8329
fix(themes): Fix mono theme init 8343
fix(chart): fix variable overflow 8318
fix(evdev): mark unused variable as unused 8330
fix(span): fix dereference obj before checking for null 8317
fix(draw_img): pass correct variable to LV_DRAW_SW_IMAGE 8314
fix(draw_sw): in ARGB8888_PREMULTIPLIED fix rounding error and add RGB888 image blending support 8264
fix(xml): fix tabview XML definition 8309
fix(freetype_image): dereference null pointer 8307
fix(theme): fix judgment logic error. 8303
fix(pxp): sync rotation direction with SW render 7063
fix(draw_vector): draw vector not calc draw_buf offset 8262
fix(svg): correctly parse header 8281
fix(vg_lite): fix strict alias warning with higher optimization levels 8136
fix(tiny_ttf): fix GPOS lookup list table address 8251
fix(layout): size in cross direction was not updated when layout on parent was changed from grid to flex 8053
fix(wayland): prevent wayland reinitialization to support multiple windows 8273
fix(wayland): assert surface is configured after creating window 8271
fix(bar): fix bar indicator length error 8200
fix(vg_lite): fix access to uninitialized members 8256
fix(SW) build with LV_DRAW_SW_COMPLEX disabled 8246
fix(vg_lite): enable box shadow by default 8242
fix(dave2d): fix evaluate callback 8253
fix: format specifier in lv_obj_tree.c 8244
fix(refr): add missing area intersect check 8240
fix(refr): fix matrix rotation precision loss 8221
fix(bin_decoder): fix build warnings when decompressing LZ4 compressed images 8234
fix(vg_lite): reset the scissor area when rendering with vg_lite. 8232
fix(pinyin): update candidates on the second letter too 8105
fix(wayland): support version 2 of the XDG protocol 8201
fix(log): fix possible level out of bounds 8216
fix(nxp/g2d): remove useless g2d_search_buf_map() when free buf 8072
fix(wayland): Remove the XDG_RUNTIME_DIR check 8041
fix(span): replace deprecated spangroup_set_mode fn from examples 8192
fix(thorvg): fix incompatibility with c++20 (#8042) 8043
fix(lottie): smooth edges on lottie animation 8189
fix(roller): don't send click event when scrolled 8101
fix(span): add assertion for bidi text buffer allocation 8168
fix(display/renesas_glcdc): stride of the framebuffer can be different to the width 8177
fix(dave2d): fix compilation error 8175
fix(circle_buf): don't clear array on reset 8157
fix(refr): change clip area don't take effect on children and draw post 8117
fix(examples): fix #warning causing examples build to fail. 8135
fix(list): check that LV_USE_FLEX is enabled when using LV_LIST 8139
fix(opa): corrected incorrect usage of LV_OPA_MIN 8161
fix(nuttx_image_cache): fix compilation issues 8165
fix(NemaGFX): update STM32U5 nema lib to revC 8138
fix(drivers/evdev): process pointer coordinates in unrotated frame 8061
fix(vg_lite): fix vector draw pattern matrix error 8134
fix(arc): handle clicks on a full circle 8106
fix(cache): prevent resource leaks in cache entry creation failure 8144
fix(indev): fix indev gesture occasional crash 8146
fix(ffmpeg): fix ffmpeg decoder assert 8128
fix(makefile): Extend component.mk with missing elements 8118
fix(tabview):fix example lv_example_tabview_2 8084
fix(vg_lite): fix vector drawing not handling global matrix 8115
fix: var redeclaration 8109
fix(cmake): fix LV_CONF_PATH quoting consistency issue 8079
fix(sdl): fix access fb2 NULL pointer 8096
fix: table get cell area error 8047
fix(test): do not enable test_bg_image with || 1 8081
fix(makefile): Path fixes in component.mk 8068
fix(area): test and fix lv_area_diff edge case 7907
fix(font): allow non-constant LV_FONT_DEFAULT again (fixes #7788) 8059
fix(draw asm): replace attribute syntax for asm arm files 8076
fix(matrix): use homogeneous coordinates to transform point 7960
fix(draw): fix "blend_non_normal_pixel: Not supported blend mode" issue when using lv_demo_smartwatch which compiled by MSVC 8017
fix(draw_chart): remove raw_end setting in draw_series_line 8024
fix(draw_sw): fix rotation typos 8050
fix(lottie): revert example 8054
fix(draw asm): fix GCC linker error 8055
fix(tree): add NULL check 7972
fix(draw_sw): make the images invisible on full recolor to the background color 7868
fix(text): handle recolor in lv_text_get_size 8026
fix(observer): check if observer is associated with obj on remove fn 7727
fix(example_anim): remove scrollable flag 8008
fix(lv_image): fix touch area calculation 8027
fix(vg_lite): check for better draw unit 8040
fix(draw_sw): fix letter outline multi-threading issues 8003
fix(docs): fix Riverdi & Viewe links 8031
fix(draw_nema_gfx_triangle): use correct field names for lv_draw_triangle_dsc_t 8005
fix(getcwd): capture return value #7991 7992
fix(label): fix long mode clip #7922 7957
fix(svg): adjust svg render node object for reduce memory usage. 8013
fix(micropython): lvgl module deinit 7973
fix(draw/sw): draw outline span wrong init. 8011
fix(tests): explicitly install libudev dependency #7983 7985
fix(scripts): initialize reserved fields of lv_image_dsc_t and lv_image_header_t to prevent compiler warnings 7799
fix(demo): add LV_USE_LOTTIE check for demo smartwatch 8002
fix(gif): free memory on error 7950
fix(draw_sw_vector): fix thorvg canvas colorspace 7975
fix(thorvg.h): ensure can use standard ints #7988 7989
fix(color): add cast to LV_OPA_MIX macros 7956
fix(Widgets): Optimise widget event callbacks to remove unnecessary calls to the event handler. 7954
fix(vg_lite): modify recolor image behavior 7977
fix(wayland): Ensure variable is initialized before use #7986 7987
fix(bin_decoder): fix the crash when decoder A8 images and flush cache 7952
fix(image_decoder): enhance code robustness 7969
fix(anim): fix the crash caused by delete anim in cb 7926
fix(obj): remove all events from the object 7811
fix(buttonmatrix): initialize auto_free_map in constructor 7966
fix(draw_sw): fix memory leaks 7964
fix(nxp/g2d): fix memory management error in G2D buffer mapping 7875
fix(thorvg): fix internal types of rasterXYFlip 7782
fix(port_releaser): always use remote when pushing and add token 7856
fix(X11): call XCloseDisplay in delete 7904
fix(refr): make lv_display_refr_timer public again 7925
fix(scale): remove dangling reference to stack buffer 7915
fix(examples): add casts and change int types to fix checker warnings 7933
fix(observer): fix lv_subject_notify_if_changed not defined when LV_USE_DROPDOWN = 0 7783
fix(decoder): missing log_trace when decoders are not found. 7790
fix(indev): remove redundant zero-initialization operations 7929
fix(scale): change return type of lv_scale_get_rotation to int32_t and update documentation 7862
fix(obj): style opa of other part is not effective 7905
fix(nuttx): incorrect draw buffer size for I1 color and bpp=1 7885
fix(label): fix behavior when set to `LV_LABEL_LONG_MODE_SCROLL_CIRCULAR` with BIDI 7886
fix(svg): fix SVG draw rect off by 1px bug 7902
fix(dave2d): LV to D2 colour format conversion for I8 format 7896
fix(dave2d): fix build break 7882
fix(thorvg): add missing include 7877
fix(nuttx): fix nuttx lcd release assert 7840
fix(refr): fix invalidate area calc error 7871
fix(vg_lite): fix missed reference count release 7889
fix(freetype): add missing error handling for glyph bitmap lookup failure 7887
fix(vg_lite): fix pending swap sequence error 7849
fix(indev): fix lv_indev_gesture write access error 7843
fix(SDL): error if color depth is 1 and render mode is not partial 7846
fix(draw): fix 'lv_vector_path_append_arc' not starting with a 'move to' operation. 7854
fix(release_updater): push: if branch is specified, remote must be specified too 7863
fix(obj): cover check should consider both grad opa-s 7813
fix(indev): fix platform-specific printf format for int32_t 7844
fix(profiler_builtin): fix uint32_t storage nanosecond time overflow 7818
fix(demos/smartwatch): fix image color format error 7819
fix(nema): Broken build after draw unit refactoring, draw_label changes 7759
fix(release_updater): minor fixes and addition of new boards 7726
fix(examples): add casts 7831
fix(indev): fix scroll_obj not send LV_EVENT_INDEV_RESET 7767
fix(kconfig): add LIBUV dependency to prevent missing configurations 7798
fix(indev): modify calculation delta_y use p_delta_y, not p_delta_x 7791
fix(example_grad): return value from lv_style_get_prop not checked 7793
fix(indev): fix platform-specific printf format for int32_t 7784
fix(draw_letter): fix draw letter bg_coords behaviour when it's NULL 7773
fix(text): fix oob read for utf8-next 7602
fix(bin_decoder): check divisor is zero 7610
fix(nema): fix indexed image error 7744
fix(DMA2D): build issue after the draw_unit to draw_task refactor 7749
fix(vg_lite): alleviate the loss of precision in obtaining path bound 7731
fix(indev): add the missing wait_until_release flag to clean up 7638
fix(draw): fix wrong LV_PROFILER tag 7737
fix(test_anim): fix stack-use-after-return 7730
fix(flex): don't count item gap for leading hidden items 7720
fix(drivers): generic MIPI add missing lv_display_flush_ready 7693
fix(file_explorer): fix navigation when using a keypad indev 7181
fix(area): lv_area_diff remove overlap 7696
fix(indev.rst): handle lv_obj_is_focused no longer exists. 7711
fix(sysmon): disable all performance banners from screen with serial redirect 7593
fix(draw_sw_mask): add ASSERT_MALLOC check 7692
fix(memcpy): ensure volatile qualifier for destination pointer in lv_… 7573
fix: warn user about deprecated LV_DEFAULT_DRIVE_LETTER 7620
fix(chart): fix last point not drawn in scatter chart 7665
fix(canvas): initialize layer before return 7677
fix(indev): skip press event on new object release 7612
fix(xml): Fixed small typo 7684
fix(docs): clarify obj hierarchy after `lv_menu_page_create()` 7604
fix(refr): lv_obj_invalidate_area invalidates whole obj 7598
fix(gif): fix bounds check 7675
fix(docs): fix minor issues with alif.rst 7676
fix(chart): avoid divide by zero 7609
fix(docs): several minor doc fixes 7652
fix(cmake): installation with custom LV_CONF_PATH 7624
fix(fs_win32): fix inconsistency using LV_FS_WIN32_PATH... 7608
fix(layout): always recalculate the layout if HIDDEN changes 7607
fix(draw_vector): alleviate the loss of precision in obtaining path bound 7635
fix(refr): lv_refr_get_top_obj not check style opa 7643
fix(vg_lite_math): initialize all variables to avoid error of uninitialized variables on some compilers. 7628
fix(nuttx_image_cache): fix incorrect code order 7644
fix(span): fix align text to center and right layout issues. 7615
fix(vg_lite): remove pattern color fill 7613
fix(nxp): allow vglite build when LV_USE_DRAW_SW is disabled 7596
fix(wayland): use premultiplied alpha for transparent backgrounds #7543 7580
fix(os): add support for thread names 7579
fix(menu): add missing LV_ASSERT_OBJ 7605
fix(dave2d): handle LV_COLOR_FORMAT_RGB888 correctly 7594
fix(scroll): scrolling animation and finger dragging conflict during continuous sliding, causing flickering 7522
fix(pxp,vglite): extend base structure to create vglite and pxp draw units 7578
fix(label): add assignment to uninitialized variable 7587
fix(xml): return if XMLs can't be saved 7588
fix(sysmon): fix heap memory overflow 7576
fix(scroll): handle scroll chain with snapping too 7491
fix(widgets): fix an incorrect text replacement 7548
fix(label): limit self size by max_height style 7542
fix(widget_chart): add assignment to uninitialized variable 7561
fix(label): fix updating scrolling label text 7533
fix(style): fix conditional jump or move depends on uninitialised value 7571
fix(wayland): delete the allocated display and buffers 7572
fix(docs): clarify how to pass color index... 7554
fix(lv_canvas.c): fix use of uninitialized variable 7556
fix(draw_buf): flush D-Cache after clear buffer 7550
fix(circle_buff): replace a none ASCII character 7538
fix(lv_freetype): clean up includes 7524
fix(tree): add NULL check 7526
fix(anim): remove the redefinition of lv_anim_set_time 7500
fix(roller): Adjust the position of the lv_roller_set_str function in lv_roller. c and lv_roller. h 7506
fix(font): fix get glyph id bug. 7404
fix(ap): fix ap unicode 0622+0644 7482
fix(sysmon): fix crash when enable LV_USE_PERF_MONITOR and nuttx backend 7483
fix(event): remove preprocess flag when get name 7468
fix(table): mark clicks as 'Invalid' when clicking on empty spaces 7153
fix(examples): fix infinite scroll crash 7459
fix(draw_sw_img): avoid divide by zero 7447
fix(vg_lite): fix path memory reallocation error 7466
fix(dma2d): Add return value to DMA2d conversion functions 7456
fix(draw_sw_arc): add ASSERT_MALLOC check 7448
fix(draw_rect): refactor to insure header is initialized 7446
fix(draw_sw_triangle): add null check 7449
fix(vg_lite): remove unnecessary grad image checks 7443
fix(vg_lite): fix corner case of bar drawing 7441
fix(osal/pthread): add missing pthread_attr_destroy call 7434
fix(vg_lite): fix stroke crash when update failed 7399
fix(docs): adjust colors to address accessibility issues 7409
fix(cmake): fix msvc building error 7401
fix(ebike-demo): make it compile with Arduino 7397
fix(test_calendar.c): fix function name change from PR #7340 7375
fix(draw_sw_fill): add NULL checks on grad 7355
fix(arduino): allow including lvgl_private.h even if the examples and demos are in the src folder 7366
fix(draw_sw): wrong image buffer calculation 7387
fix(scripts): fix image conversion was scrambling palette data 7367
fix(scale): fix angle calculation error 7362
fix(draw_sw_box_shadow): add ASSERT_MALLOC check 7344
fix(docs): add missing quotes 7359
fix(theme_default): fix omitted style for selected text in `lv_textarea` 7322
fix(draw): fix minor maintenance issue in lv_draw_label.c 7296
fix(imagebutton): warn if middle image is not set 7224
fix(init): adjust the freetype initial order 7363
fix(indev): prevent division by zero 7354
fix(nxp-vglite): add missing '{' 7365
fix(file_explorer): quick access prototype outside guard 7356
fix(lv_conf): get rid of the LV_CONF path building macros 7335
fix(event): record rendering done moment after rendering finished 7228
fix(draw_sw): in lv_draw_sw_rotate enable ARGB8888 functions for XRGB8888 too 7185
fix(obj): use LV_ASSERT_NULL if LV_ASSERT_OBJ not enabled 7339
fix(docs): stray space in style_api_gen.py and generated doc... 7309
fix(issue): fix the platform input box not displaying fully 7316
fix(style): missing (void*) cast in macro LV_STYLE_CONST_INIT 7304
fix(flex): make min-width, grow, and wrap work together 7168
fix(dave2d): required when using LVGL with LV_COLOR_DEPTH 32 7323
fix(dave2d): fix implicit function definitions 7320
fix(ffmpeg): add native filesystem API support for FFmpeg image decoder 7253
fix(drivers/x11): fix unknown typename lv_img_dsc_t 7294
fix(ebike): add guards to the ebike demo translations 7319
fix(vg_lite): fix vector rendering missing image opa processing 7293
fix(script): add ending for raw loader of ThorVG 7186
fix(draw): fix incorrect clip area computation when clearing transparent framebuffers 7269
fix(file_exploer): fix path issues when returning to open other folders after opening a certain folder 7258
fix(demo): resolve include when repository name is not 'lvgl' 7261
fix(file_explorer): table cell use after free 7239
fix(roller): fix typo in scaling; prevent division by zero 7263
fix(init): remove double call to lv_draw_sw_deinit 7266
fix(indev): don't reset all indevs if an object is set disabled 7216
fix(obj): fix crash with LV_SIZE_CONTENT parent and % positioned child 7041
fix(draw): fix bug introduced by PR #6638 7264
fix(sw_blend): add null pointer check for mask_area 7251
fix(lv_draw_sw_line): fix lv_draw_line function causes a crash. 7248
fix(buttonmatrix): add check for indev POINTER | BUTTON type 7125
fix(freertos): compilation warning in non-IDF environments 7221
fix(event) remove redundant last check 7227
fix(cmake): fix installation with cmake –install 7161
fix(chart): fix divide-by-zero and cursor error 7211
fix(windows): Update document for Windows backend to clarify some features 7197
fix(docs): fix bad highlight color 7199
fix(chart): `lv_malloc()` was allocating double size needed 7200
fix(refr): avoid division by zero 7205
fix(buttonmatrix): fix 1-off error in `lv_buttonmatrix_get_button_text()` 7193
fix(scale): correct scale_set_arc_properties function 7113
fix(anim): fix user after free if the anim. is delete in the exec_cb 7173
fix(cmake): generate lvgl.pc in CMAKE_CURRENT_BINARY_DIR 7127
fix(demo): fix ebike demo header file inclusion issue 7133
fix(table): fixed NULL pointer reference 7042
fix(docs): trailing underscore looked like hyperlink to Sphinx 7172
fix(docs): link in /lvgl/README.md to supported display types 7167
fix(docs): fix broken links in ./lvgl/README.md 7146
fix(file_explorer): fix navigation handling 7124
fix(neon): use conventional macro syntax 6887
fix(docs): fix incorrect title and filename change for vg_lite.rst 7148
fix(draw): add assertion checks for malloc return values 7149
fix(script): do not add pad if 'araw_data_len' can divide 'bblk_size' evenly. 7109
fix(tile) set minimum tiles to 1 if there is no SW render unit 7130
fix(ebike): make it work without lottie too 7135
fix(dma2d): add missing include for descriptor structs 7122
fix(vg_lite): fix linear gradient matrix error 7110
fix(vg_lite): fix arc drawing boundary case drawing error 7107
fix(bin_decoder): fix bug in handling premultiplied alpha flag 7106
fix(tests): fix vg-lite buf address not aligned 7049
fix(gdb): fix style prop getting 7088
fix(obj_scroll): include handle throwing animation in scrolling judment 7011
fix(tests): fix svg test assert and add missing ref images 7079
fix(examples): fix font manager example build error in docs 7085
fix(docs/README.md): reworked to handle several things 6992
fix(codespace): use lv_conf.defaults to generate lv_conf.h 7075
fix(vg_lite): fix thorvg 32bit rendering test coordinate calculation overflow 7052
fix(independent_heap): add independent heap enable option 6953
fix(anim_timeline): run animations which do not have an exec cb 7043
fix(vg_lite): fix path bonding box coordinate overflow 7037
fix(vg_lite_tvg): fix shape_set_stroke calling order error 7039
fix(dave2d): fix dave2d private include issue 7016
fix(anim): compensate over time 6989
fix(docs): fix error blocking API-doc generation under Windows 6990
fix(scale): horizontal scale sections not visible 6982
fix(vg_lite_tvg): fix int32 type mismatch 7022
fix(png): move png_image_free to just before return NULL 7020
fix(png): fix mem leak in libpng decoder 6952
fix(drivers): add missing includes 6905
fix(benchmark): improve responsiveness and use the LVGL logo instead of the cogwheel 6980
fix(drivers): calculate stride align correctly 6976
fix(rt-thread): fix compile error 6938
fix(grid): fix naming conflicts 6963
fix(thorvg): fix clipped clippers 6956
fix(docs): restore missing on-line examples 6927
fix(docs): fix most sphinx warnings 6916
fix(layout): calculate content width using x alignment 6948
fix(style): remove transitions when a local style property is set 6941
fix(docs): eliminate 2 types of sphinx warnings: 6928
fix: eliminate misc sphinx warnings... 6929
fix(calendar): fix lv_calendar_gregorian_to_chinese compile error 6894
fix(fs): add lv_fs_dir_t to lv_fs.h 6925
fix(indev): fix hovering disabled obj resets indev 6855
fix(gif): added bounds check in gif decoder 6863
fix(freertos): sync signal from isr fixed 6793
fix(freertos): use xSemaphoreTakeRecursive 6803
fix(dropdown): automatically center dropdown content 6881
fix(draw): fix sw compile error when disable LV_DRAW_SW_COMPLEX 6895
fix(textarea): fix placeholder text cannot be centered (#6879) 6917
fix(libinput): private headers 6869
fix(color): add missing ARGB8565 alpha check 6891
fix(Kconfig): Fix non existent LV_STDLIB_BUILTIN 6851
fix(display): remove the unused sw_rotate field 6866
fix(image): lv_image_set_inner_align() behaviour with LV_IMAGE_ALIGN_STRETCH 6864
fix(bar): fix bit overflow 6841
fix(indev): don't wait until release when a new object is found 6831
fix(cmake): fix install 6787
fix(docbuild): update style doc to reflect Doxygen needs 6705
fix(vg_lite): fix image transform clipping area error 6810
fix(glfw/opengles): fix buf_size calculation error 6830
fix(roller): fix stringop overflow 6826
fix(perf): perf monitor FPS 6798
fix(micropython): missing bidi private header feature guard 6801
fix(draw): fix artifact when rotating ARGB8888 images 6794
fix(sdl): check against NULL before using the driver data of a display 6799
fix(assets): add missing strides 6790
fix(arc): ignore hits that are outside drawn background arc 6753
fix(vg_lite): fixed clip_radius image cropping error 6780
fix(vg_lite/vector): convert gradient matrix to global matrix 6577
fix(spangroup): fix height calculation error 6775
fix(buttonmatrix): use const arrays 6765
fix(ime): fix ime crash when input_char is too long 6767
fix(script): follow lv_conf_template.h changes in generate_lv_conf.py 6769
fix(vg_lite): select blend mode based on premultiplication 6766
fix(docbuild): reformat comments for Doxygen in `lv_conf_template.h` 6673
fix(draw): cast color_format in LV_DRAW_BUF_INIT_STATIC 6729
fix(sdl): nested comment is not allowed 6748
fix(ime_pinyin): fix letter count wrong when using some dictionary 6752
fix(anim): use correct variable `repeat_cnt` 6757
fix(xml): add missing style properties d2ed41d
fix(font): impore static bitmap handling with stride ccbbfcc
fix(vglite) upstream comments a2b687c
fix(label): use LV_LABEL_LONG_MODE_* instead of LV_LABEL_LONG_* db11e7b
fix(vglite) do not apply scissor cut if border is complete 29e3da2
fix(refr): if tile_cnt == 1 don't create new layers. d5b02fe
fix(sdl): fix caching with absolute coordinates d469d65
fix(xml): use opa type for opacity reapted style props 21e3350
fix(nxp) coverity issues a107090
fix(xml): handle nested 'extends' handling with components 1964dfe
fix(xml): minor fixes of typos and cleanups c0a7eff
fix(vglite) add VGLITE_CHECK_ERROR for all vg_lite functions 69f7599
fix(label): improve the position keeping of updated scrolling texts aff9ad3
fix(xml): fix xml property propagation issues 5652914
fix(chart): fix saving the address of a local variable in lv_example_chart_3() 37ea110
fix(xml_style): add min/max_width/height and recolor 4518d34
fix(event): allow using components without registering events 22e0ebb
fix(vglite) Do not dispatch any task if draw unit is busy with "wait_for_finish". b89958a
fix(vglite) update triangle and line dsc to align with upstream changes 0a0fad4
fix(vglite) add checks for alignment, stride and static bitmap 5564b5b
fix(xml): handle not existing subjects gracefully 0b44606
fix(NemaGFX): arc angles 6492096
fix(xml): fix typos in lv_bar.xml and lv_slider.xml 59bc690
fix(draw): do not dispatch if no unit took the task 3c07bd9
fix(font): add the missing flush cache operation dcf934d
fix(xml): make the XML parser work on MCUs too 2e7d17f
fix(nuttx_fbdev): fix memory buffer handling b662802
fix(xml): fix enum type for lv_obj bind_state_if 859b2e8
fix(chart): add more error handling in XML 7256ba0
fix(xml): add missing align and layout values fc4f8fa
fix(nxp) solve all build warnings be9b6a2
fix(xml): support <view .../> 1d71728
fix(ffmpeg): clear the first image data eecebd2
fix(anim): make sure the resumed animtion doesn't skip the first update eeb1fef
fix(vglite) ARGB8565 color format support 284e7a4
fix(benchmark): better handle font dependencies 0bbded7
fix(nuttx/cache): add invalidate_cache and flush_cache into image_cache_draw_buf_handlers ea538de
fix(pxp) disable pxp draw tile image d6850a8
fix(vglite) initialize the paths empty 890cec7
fix(observer): fix 2 warnings emitted by VS C compiler... bae25ad
fix(vglite) run without DRAW_THREAD 5426204
fix(xml): fix roller's XML to reflect better on the C API b27fe9d
fix(observer.c): fix inconsistency of whitespace around conditional directives c28c7e8
fix(scale): fix typo in XML ea18026
fix(xml): chart and slider minor fixes ed7c3be
fix(xml): fix widget xmls ecfe334
fix(vglite) fix stride calculation 9e5039c
fix(vglite) skip VG_LITE_PATTERN_REPEAT tasks on GC255 655f744
fix(pxp) draw_img src_area parameter 33de407
fix(demo): Add missing Kconfig symbols for ebike and high res 7d088e2
fix(sdl): make it work with canvas rendering too 5d9064c
fix(draw): fix not reallocating draw_buf-s for glyphs 2d0f6be
fix(vglite) do not draw tiled images when using blit split 9e9d821
fix(vglite) draw_pattern starts the GPU after setting the command buffer a23bdbd
fix(sw_blend) make sure mask_stride is initialized 86d4385
fix(core):fix overflow_const issue 1dc4096
fix(vglite) update get_glyph function for static bitmaps 18cdb6a
fix(obj_tree): support NULL parent in lv_obj_find_by_name 2e5931b
fix(test): print n-s in logs correctly f317067
fix(span): fix the type of the span element 9b061e8
fix(vglite) vglite draw thread stack size increase for gcFEATURE_VG_SIMPLIFIED_BEZIER b67bfee
fix(ebike): fix include path 255352b
fix(draw): init mask_stride when sw draw triangle 15db6f0
fix(table): refresh cell size after ctrl change 47f3c65
fix(obj_style): fix transition anim of style_recolor f63b275
fix(style): skip figma_node_id attribute 4b23bae
fix(ffmpeg): free packet 3605c32
fix(observer): protect against possible negative arg value 43b3234
fix(font): allow non-constant LV_FONT_DEFAULT again (fixes #7788) (#8059) 9f090d2
feat(obj): add obj name support 626d6b5
fix(observer): fix bug in `lv_obj_bind_checked()` function 02c3d7c
fix(event): consider NULL as a wildcard for callback arg in lv_obj_remove_event_cb_with_user_data() 0ae888b
fix: add +1 but for enum bitfields to avoid overflow to negative 253981a
fix(sdl): add static_text flag to to lv_draw_label_dsc_t 7808070
Examples¶
Docs¶
docs(coordinates.rst): fix erroneous function... 8283
docs(Renesas): add docs for Renesas RZ/A3M 8285
docs(XML): proofread XML docs (batch 2 of 2) 8185
docs(NuttX): Add more NuttX docs 8235
docs(ft81x.rst): move under ./docs/src/ directory 8231
docs(Renesas): make "Supported Boards" table cells narrower 8214
docs(misc fixes): fix misc items (details below)... 8186
docs(Renesas): Renesas G2UL docs change video link 8183
docs(XML): proofread XML docs (batch 1 of 2) 8184
docs: fix Doxygen parsing of attribute prefixes 8179
docs(doxygen): exclude deprecated CJK fonts for Doxygen. 8141
docs(table css): fix table formatting... 8196
docs(stm32): Fix errors in FreeRTOS Example Code 8163
docs(conf.py): fix URL path to viewing doc source on GitHub 8167
docs(Renesas): Reorganize Renesas docs 8153
docs(3dtexture.rst): get this doc into TOC and proofread 8143
docs(viewe): Update docs 8103
docs(gdb_plugin): add missing info draw_unit command 8078
docs: add missing pcpp dependency 8069
docs(introduction.rst): fix bug in API links... 8049
docs(observer.rst): remove now-unnecessary warnings 8048
docs(build.py): enhance build-output readability 8028
docs(doc-gen): eliminate several breathe errors 8036
docs(misc): misc clean-up... 8016
docs(draw_layers): combine draw-layers topics... 8034
docs(doc-gen): eliminate all non-API-page errors 8035
docs(sdl): Add SDL docs 8023
docs(draw.rst): restructure and proofread from PR #7241 7976
docs(timer): document LV_NO_TIMER_READY 7920
docs(README_zh.md): add missing examples section 7897
docs: remove non-ASCII bytes – batch 1 7974
docs: fix erroneous api links 7967
docs(getting_started.rst): fix typos (replaces PR #7829) 7970
docs: fix previously-broken api links 7971
docs(readme): fix broken links 7961
docs(doc_builder.py): overhaul, remove bugs, clean up, modularize 7913
docs(test.rst): proofread test doc, minor edits 7906
docs(viewe): add Viewe docs 7916
docs(test): fix the location of test.rst 7900
docs: fix doc-build failure 7879
docs(restructure): restructure TOC and contents for ease of use 7847
docs(introduction): update active state of v8.3 7867
docs(boards): proofread batch 21 7769
docs: convert 4 `.rst` files back to `.md` files since not part of doc-gen 7839
docs(misc): pre-re-org wrap-up... 7804
docs(bindings): proofread batch 20 7764
docs(xml): fix Sphinx errors in XML-component docs 7820
docs(libs): proofread docs batch 19 7709
docs(intro): fix typo 7812
docs(libs): proofread docs batch18 7688
docs(roller): fix roller API-docs spelling error 7735
docs(xml): fix not using the docs 7785
docs(event): add warning not to modify Widgets during draw events. 7685
docs(licenses): add the missing license files 7668
docs(fbdev): add information about resolution issue 7025
docs(Alif): add docs for Alif chip vendor 7622
docs: general typo fix on the NXP related docs. 7626
docs(Riverdi): Add Riverdi board docs 7629
docs(fs): pin diagram dependency version 7453
docs: clarify what C functions are used in storage operations 7627
docs(timer): fix usage of timer user data 7575
docs(arduino): add Arduino Giga Display Shield reference 7584
docs(layer): fix layer rst function error 7541
docs(label): add documentation and example for text recolor 7460
docs(intro): fix typos 7485
docs(details): fix typos 7484
docs(profiler): remove tick unit 7433
docs(disp): add rotation examples 7314
docs: chinese translation link only on the homepage 7370
docs(buildroot): add guide to build and embed lvgl on br image 7084
docs(font): add a typesetting section 7351
docs: update LV_OBJ_FLAG_OVERFLOW_VISIBLE usage 7101
docs: update api_json.rst 7318
docs(display): correct spelling 7225
docs: fix typo in Introduction: "similator" to "simulator" 7162
docs(driver): fix link to example code in gen_mipi.rst 7128
docs(font_manager): add documentation and test cases 7058
docs(scale): fix rst 7045
docs(license): add font license files 6971
docs(yocto): add guide to integrate lvgl recipe in Yocto 7024
docs: fix broken links 6910
docs: update macro LV_TA_CURSOR_LAST => LV_TEXTAREA_CURSOR_LAST 6995
docs(display): mention how to manipulate the invalidated area 6836
docs(event): minor naming fixes 6939
docs: fix typo in introduction 6871
docs(os): fix formatting 6829
docs(arm): add to index and update Arm2D docs 6768
docs(xml): reorganize and extend the XML docs ad8a9d9
docs(observer): proofread/edit/clarify `observer.rst` efcdff7
docs(observer): re-work API (and some internal) documentation a0e37a3
docs(index): sort the index links alphabetically 032c2c3
docs(iter): add docstrings for lv_iter_t 189102d
docs(xml): document events 4dfdd18
docs(observer.rst): break up so internal TOC is... 0944979
docs(API): make API TOCs easier to use b5dc041
docs(ffmpeg): images always loaded with lvgl fs 850426b
docs(index): complete the missing link in the index 4d929f3
CI and tests¶
test(screenshot): use lodepng instead of libpng 8275
ci: build examples with c++ compiler 8261
ci: move docs build config to main repo 8137
ci(release_updater): Add bi-weekly schedule. Only update master branches on schedule 8074
ci(docs): remove concurrency clause 8102
ci(docs): fix commit ref when workflow is triggered by master push 8100
ci: build docs on pr 8089
ci(micropython): fix MicroPython github build action 7945
ci(Windows): vcpkg url patch 7948
ci(ubuntu): ci use ubuntu24.04 6241
ci: add 8bit build option 7574
ci: fix port release branch updater git config command 7722
ci: Port release updater update master as well 7650
ci: cancel previous workflow run on new commit 7619
ci: add port release updater 7590
ci(esp): add esp32s3 build workflow 7242
ci(ref_imgs): make the CI fail if there not all ref. images are added 7086
ci(Kconfig): error on leading spaces (should be tabs) 92d424e
ci(ccpp): add –auto-clean flag to lower disk space usage 970ca51
ci: fix a reference image 1506779
Others¶
chore(cmsis-pack): update cmsis-pack for v9.3.0 release 8113
revert(dropdown): add lv_anim_enable_t parameter to lv_dropddown_set_selected (#7310) 8304
chore: use keyword arguments in regex calls to avoid warnings 8288
chore: remove extraneous file from repository 8284
build(makefile): add class, instance and xml 8233
build: restructure cmake 8210
chore(draw/sw): minor cleanup 8083
refactor(cache): rename and restructure cache-related files 8148
chore(profiler): add built-in profiler default enable config 8120
doc(freetype) add ftstroke.c to example Makefile 8114
Update basics.rst to fix wrong variable name 8112
arch(font_manager): add multiple font backend support 8038
build: remove pcpp dependency 8090
chore(uefi): fix typos 8094
arch(demos): move new demos to lv_demos 8022
build(custom): fix include path of lv_conf.cmake 8052
arch(cmake): add native Kconfig support to cmake 7934
Bugfix and improvement for the logging 8025
chore(.gitignore): move tests directory ignores to ./tests/.gitignore 7995
chore(bin_decoder): add check for image source type in `decode_compressed` 7980
refact(vg_lite): refactoring vector rendering 7928
chore(Kconfig): set vg_lite stroke default cache size to 8 7939
chore(deps): bump JamesIves/github-pages-deploy-action from 4.7.2 to 4.7.3 7873
chore(deps): bump espressif/upload-components-ci-action from 1 to 2 7874
Dont's squash - gradient updates 7646
chore(lv_conf_template): replace tab with space 7736
chore(obj): make lv_obj_get_scroll_{left,right,top,bottom}() const 7674
Feat(docs): proofread docs batch17 7680
refactor(draw): use task instead of draw_unit as argument to draw functions 7240
chore(draw): fix unused function warning 7611
chore(deps): bump JamesIves/github-pages-deploy-action from 4.7.1 to 4.7.2 7534
chore(deps): bump carlosperate/arm-none-eabi-gcc-action from 1.9.1 to 1.10.0 7535
chore: fix typos in libs 7516
chore(pr-template): add 'Fixes' to the template 7462
chore: fix typos in lv_draw_label.h 7511
chore: fix typos in lv_display.h 7512
chore: fix typos in lv_text.c 7513
chore: fix typos in others 7514
chore: fix typos in drivers 7517
chore: fix typos in some header files 7518
chore: fix typos in nema_gfx 7519
chore: fix typos in core 7510
chore(tests): assert array size with LV_ARRAY_DEFAULT_CAPACITY 7497
chore(demos): fix spelling error in demos 7479
chore(indev_gesture): add missing config and fix warning 7461
chore(deps): bump JamesIves/github-pages-deploy-action from 4.6.8 to 4.7.1 7392
chore(display.rst): fix typo 7376
chore(example_tabview): fix typo 7377
chore: removes BOM 6961
chore(draw_sw): add warning if the required color format is not enabled during image transformations 7315
chore(nema): fix build warning 7301
refactor(draw): extract function to improve readability 7229
chore(api): prevent API leaks (cache and thread) 7220
Feature/nema updates 7245
chore(NemaGFX): add missing header, correct the docs, provided HAL is optional 7174
chore(deps): bump arduino/arduino-lint-action from 1 to 2 7209
chore(deps): bump actions/upload-artifact from 3 to 4 7210
chore(cmsis-pack): ensure the v9.2.2 cmsis-pack is visible on keil.arm.com 7201
chore(fs): treat '/' as valid driver letter 6986
chore(obj_scroll): improve function documentation 7150
chore(svg): LV_USE_SVG: document and enforce dependency on LV_USE_VECTOR_GRAPHIC 7120
refactor(gdb): refactor gdb Debugger to be a gdb command 7140
chore(vg_lite): fix path bounding_box typo 7134
refactor(gdb): refactor gdb script 7123
chore(demos/ebike): fixed chinese translation errors 7102
chore(cmsis-pack): update cmsis pack for v9.3.0-dev 7080
chore(qrcode): replaced libc includes 7077
chore(docs): fix font manager example index typo 7083
chore: fix minor compile warnings 6987
chore(test): add missing label_recolor ref images 7064
chore: remove UTF-8 BOMs 6942
chore(stale): use the correct labels 7017
chore(deps): bump JamesIves/github-pages-deploy-action from 4.6.3 to 4.6.8 6984
chore: use the new labels in GitHub actions and docs 6940
chore(lv_conf_internal): avoid LV_CONF_SKIP redefinition warning 6960
chore: fix compile warnings 6817
chore(widgets): add comments to the tileview and win 6856
chore(vg_lite): remove unnecessary buffer checks 6921
chore(Kconfig): add version info to Kconfig file to check mismatch 6789
chore(array): move array typedef to lv_types.h 6850
chore: add underscore prefix for names after struct and enum 6688
chore(scripts): allow to run update_version.py with python3.8 6788
chore(font_manager): update to v9.1 API 6776
chore(deps): bump carlosperate/arm-none-eabi-gcc-action from 1.9.0 to 1.9.1 6779
chore(tests): fix build break on macOS 6773
chore: bump version to v9.3.0-dev 6764
Revert "perf(draw): skip empty draw tasks (#6720)" 6758
chore(NemaGFX): update library 7232ad7
refactor(xml): rename ctx to scope as it better describes its meaning 8e19bb4
refactor(vglite) use dynamic paths for drawing e1ccefa
refactor(chart): add 'series' keyword in value setters/getters for consistency 5f2888d
refactor(obj): use lv_obj_set_flag instead of lv_obj_update_flag 3b394ac
refactor(vglite) use dynamic path_data for drawing 4fab9de
refactor(vglite) remove vg from variable names 90fa702
chore(class): use lv_ prefixed s to avoied naming conflicts with the user widgets 6d99933
refactor(vglite) remove unnecessary arguments of draw functions 696693b
refactor(iter): use circle_buf to simplify codes b3bf2ab
refactor(objid): rename lv_obj_get_child_by_id to lv_obj_find_by_id for consistency 56c44bf
chore(iter): add more safe checker and const qualifier 23addd0
refactor(vglite) use dynamic gradients for drawing fc43e07
chore(doc): add new debugging folder a0d3efe
refactor(table): convert lv_table_add_cell_ctrl to a setter 39c4011
refactor(pxp) remove unnecessary arguments of draw functions 7a7edb5
revert(xml): revert the accidentally modified view.xml 09d0d10
refactor(vglite) fix NON ASYNC mode 8b56df4
chore(xml): minor fixes 3523270
chore(anim): define anim on/off as true/false 2d8ff35
chore(obj): deprecate lv_obj_find_by_id in favor of lv_obj_find_by_name 346395d
chore(xml): fix warning 868d7b5
chore(obj): add style_border_side XML support c65eaf2
refactor(chart): add 'series' keyword in value setters/getters for consistency e90cfb7
chore(tests): Enable -Wunused-function b6adc8f