diff --git a/docs/src/CHANGELOG.rst b/docs/src/CHANGELOG.rst index a8d5c55ca2..56ad17b620 100644 --- a/docs/src/CHANGELOG.rst +++ b/docs/src/CHANGELOG.rst @@ -3,487 +3,1019 @@ Change Log ========== -`v9.2 `__ 26 August 2024 ------------------------------------------------------------------------------- +`v9.3.0 `__ 3 June 2025 +--------------------------------------------------------------------------------------------------------------------------------------------------- -It's huge release with many interesting updates: +Summary +~~~~~~~ -- Built-in :ref:`Wayland driver ` -- :ref:`OpenGL ES and GLFW driver ` with support for external textures -- :ref:`renesas_glcdc` driver -- L8 and I1 rendering support -- Matrix transformations during rendering -- New :ref:`file system interfaces `: LittleFS, ESP LittleFS, Arduino FS -- SDL renderer improvements (supporting all draw task types and improving speed) -- Radial, Conic, and Skew `gradients supported `__ by software rendering and VG-Lite -- :ref:`qnx` and :ref:`mqx` support -- :ref:`Mouse hover handling ` -- :ref:`lv_lottie` support -- CI tests for UEFI builds +This is a significant release packed with exciting updates from both our community and internal team. -And many smaller fixes and features +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. -Breaking Changes -~~~~~~~~~~~~~~~~ +The `documentation `_ has been thoroughly reorganized and proofread. -``lvgl_private.h`` was introduced to better separate internal and public APIs and data. Your application might rely on APIs or data that are now available via ``lvgl_private.h``. +We've also laid the groundwork to support **3D textures** as LVGL widgets. -Resolve it by either +To support our partners, we've added numerous new drivers and documentation: -- include ``lvgl_private.h`` where needed -- enable ``LV_USE_PRIVATE_API`` to internally include ``lvgl_private.h`` in `lvgl.h` +- `STM's DMA2D `_ +- STM's NeoChrom GPU +- `STM's LTDC LCD peripheral `_ +- `Generic NemaGFX driver `_ +- `NXP's G2D GPU `_ +- `UEFI BIOS driver `_ +- `Toradex documentation `_ +- `Torizon OS guide `_ +- `Buildroot integration `_ +- 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 +~~~~~~~~~~~~~ + +- **arch(font_manager): add multiple font backend support** `8038 `__ +- **arch(demos): move new demos to lv_demos** `8022 `__ +- **arch(cmake): add native Kconfig support to cmake** `7934 `__ New Features ~~~~~~~~~~~~ -- **feat(sdl_render): support all draw task types** `6437 `__ -- **feat(scale): add custom labels example** `6699 `__ -- **feat(driver): import Wayland driver from v8** `6549 `__ -- **feat(scripts): add default config generator** `6522 `__ -- **feat(draw_sw): extend lv_draw_sw_rotate with L8 support** `6520 `__ -- **feat(anim_timeline): add repeat and more** `6127 `__ -- **feat(indev): add scroll_time and scroll_throw setter** `6723 `__ -- **feat(draw): add physical clipping area to solve the scaling accuracy problem** `6703 `__ -- **feat(fs): default drive letter + ESP FS docs** `6367 `__ -- **feat(freertos): add functions to better measure the CPU usage** `6619 `__ -- **feat(core): Add lv_group_get_obj_by_index method** `6589 `__ -- **feat(draw_buf): make draw buf API more OOP style** `6427 `__ -- **feat(opengles): multiple windows and embed user opengl textures** `6600 `__ -- **feat(obj): add lv_obj_null_on_delete** `6599 `__ -- **feat(indev): add long press time setter** `6664 `__ -- **feat(cmake): Make LVGL version available for all CMake environments** `6654 `__ -- **feat(os): use recursive mutex by default** `6573 `__ -- **feat(env/qnx): generate lv_conf.h at build time** `6596 `__ -- **feat(label): add property** `6575 `__ -- **feat(unity): update unity to version 2.6.0** `6453 `__ -- **feat(libpng): add parsing variable to libpng** `6553 `__ -- **feat(nuttx): malloc second FB if driver only has one** `6580 `__ -- **feat(draw): add global matrix drawing modes** `4883 `__ -- **feat(drivers): initial implementation of a QNX screen driver** `6507 `__ -- **feat(nxp/pxp): add Zephyr Support** `6298 `__ -- **feat(obj): add more obj properties** `6537 `__ -- **feat(anim): add lv_anim_speed_to_time back** `6531 `__ -- **feat(draw/sw): add support for LV_COLOR_FORMAT_I1** `6345 `__ -- **feat(barcode): add none tiled mode** `6462 `__ -- **feat(observer): add lv_obj_remove_from_subject** `6341 `__ -- **feat(textarea): make textarea editable** `6467 `__ -- **feat(lodepng): update lodepng to version 20230410** `6454 `__ -- **feat(env): make LVGL a Zephyr compatible module** `6460 `__ -- **feat(nuttx): add lv_nuttx_run** `6371 `__ -- **feat(nuttx): update the joined invalid area instead of the last one** `6397 `__ -- **feat(refr): add details on rendering_in_progress ASSERT cause** `6450 `__ -- **feat(nuttx_image_cache): add tid for cache name** `6434 `__ -- **feat(bar): add bar orientation** `6212 `__ -- **feat(scale): set tick drawing order** `6185 `__ -- **feat: add API JSON generator** `5677 `__ -- **feat(property): add property name** `6329 `__ -- **feat(nuttx): add stack size check** `6381 `__ -- **feat(vg_lite): add image clip corner support** `6121 `__ -- **feat(fsdrv): implement directory open and close for littlefs driver** `6301 `__ -- **feat(obj): add API to set/get object ID.** `6278 `__ -- **feat(draw): add a configuration to reduce code size** `6313 `__ -- **feat(opengles): add basic driver for opengles** `6254 `__ -- **feat(tests): add VG-Lite render test** `6264 `__ -- **feat(drivers): GLCDC support for RX72 family** `6291 `__ -- **feat(lottie): add external thorvg header file support** `6311 `__ -- **feat(demos): add demo for the OSAL** `6182 `__ -- **feat(rtthread): add cpu usage support** `6310 `__ -- **feat(property): add style selector support for property API** `6275 `__ -- **feat(micropython): improve mem core micropython** `6219 `__ -- **feat(vector): add set viewport support for vector api with thorvg** `6299 `__ -- **feat(api_map): adds guards to api mapping** `6269 `__ -- **feat(vg_lite): img_decoder add stride from src** `6292 `__ -- **feat(thorvg): update thorvg version to 0.13.5** `6274 `__ -- **feat(obj): add check null pointer** `6249 `__ -- **feat(draw_sw): implemented radial gradient background** `6170 `__ -- **feat(refr): add backward compatibility for LV_COLOR_16_SWAP** `6225 `__ -- **feat(bidi): support set neutral string** `6146 `__ -- **feat(pxp): add zephyr support** `6159 `__ -- **feat(stdlib): strncpy consistency and add strlcpy** `6204 `__ -- **feat(printf): LV_FORMAT_ATTRIBUTE for IAR compiler** `6231 `__ -- **feat(fs): file writes update the file cache** `6186 `__ -- **feat(tool): add premultiply support to image tool** `6175 `__ -- **feat(table): add function to set selected table cell** `6163 `__ -- **feat(os): add mqx for osal** `6191 `__ -- **feat(anim_timeline): add anim's `completed_cb` support** `6085 `__ -- **feat(test): enable warning to format-security** `6199 `__ -- **feat(draw_buf): add LV_DRAW_BUF_INIT macro to meet alignment requirement** `6102 `__ -- **feat(tools): Python script for automatically applying version (#6012)** `6080 `__ -- **feat(draw_buff): adapt lv_draw_buf_dup to support multi-instance** `6179 `__ -- **feat(hover): add Hover support for pointer device.** `5947 `__ -- **feat(gridnav): single axis movement flags** `6044 `__ -- **feat(api_map): add missing keyboard API map for v8** `6103 `__ -- **feat(log): add LV_LOG_PRINT_CB to set a default log print cb** `6095 `__ -- **feat(arc): support RGB565A8 arc image** `6009 `__ -- **feat(ci): Add CI test for UEFI build** `5964 `__ -- **feat(draw/sw): added support for LV_COLOR_FORMAT_L8** `5800 `__ -- **feat(cache): add name for cache instance** `6040 `__ -- **feat(CI): Windows MSVC and GCC build** `6015 `__ -- **feat(drv): Implement Arduino SD driver** `5968 `__ -- **feat(demos): align images used in benchmark to stride 64** `5925 `__ -- **feat(vg_lite): adapt premultiply src over blend mode** `6062 `__ -- **feat(fs): add profiler hook** `6056 `__ -- **feat(drivers): account for the frame buffer virtual resolution deviating from the visible resolution.** `5988 `__ -- **feat(decoder): add a name field to decoder to facilitate debugging** `6037 `__ -- **feat(fs_posix): add error number print** `6041 `__ -- **feat(calendar): add chinese calendar** `5940 `__ -- **feat(example): make "LVGL_Arduino.ino" easier to use** `6001 `__ -- **feat(evdev): automatically calibrate pointer input devices.** `5989 `__ -- **feat(draw_buf): user can separate font draw buf from default draw buff now** `5982 `__ -- **feat(scale): multiple line needles** `5937 `__ -- **feat(draw_buff): add user custom draw buffer instance support** `5974 `__ -- **feat(cache): add more profile notes** `5983 `__ -- **feat(font): add lv_font_glyph_release_draw_data api to release glyph data** `5985 `__ -- **feat(nuttx): add defer feature for nuttx image cache** `5967 `__ -- **feat(vglite) add implementation for partial border** `5912 `__ -- **feat(mask): add support for image file bitmap masks** `5911 `__ -- **feat(stdlib): add lv_strncat and refactor strcat uses** `5927 `__ -- **feat(cache): image cache supports dynamic setting of cache size** `5926 `__ -- **feat(draw): add draw thread stack size config option** `5910 `__ -- **feat(draw): optimize helium asm** `5702 `__ -- **feat(fbdev,sdl): support display rotation** `5703 `__ -- **feat(fs): add Arduino ESP LittleFS driver** `5905 `__ -- **feat(vg_lite): add radial gradient support** `5836 `__ -- **feat(thorvg): update ThorVG to v0.11.99** `7addc72 `__ -- **feat(lottie): add ThorVG based lottie widget** `9c5ca0e `__ -- **feat(drivers): Renesas GLCDC display driver** `4d12d64 `__ -- **feat(textarea): add properties** `357d5b7 `__ -- **feat(image_decoder): refactor image decoder to reduce file operation on get_info** `daa7fef `__ -- **feat(dropdown): add properties** `7c1a8a5 `__ -- **feat(keyboard): add properties** `cd48c3c `__ -- **feat(roller): add properties** `a793178 `__ -- **feat(nuttx): add lv_nuttx_deinit** `2b717a3 `__ -- **feat(glcdc): screen rotation support** `fd79a4f `__ -- **feat(nuttx): add adaptive color format** `691554d `__ -- **feat(libpng): use I8 format if png is 8bit mode** `49053e9 `__ -- **feat(property): add boolean type support** `6dc75d4 `__ -- **feat(freetype): add invalid font descriptor print** `46887db `__ -- **feat(libpng): let png handle stride alignment** `3116dc4 `__ +- **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(draw): skip empty draw tasks** `6720 `__ -- **perf(vg_lite): use DST_IN blending mode to improve rounded corner cropping performance** `6623 `__ -- **perf(array): optimize array remove / erase function performance** `6544 `__ -- **perf(vg_lite): add stroke path cache to improve drawing performance** `6502 `__ -- **perf(array): optimize array push back function performance** `6431 `__ -- **perf(qrcode): improve drawing speed** `6475 `__ -- **perf(lottie): remove lottie canvas quadratic premultiplication.** `6358 `__ -- **perf(vg_lite): invert the vector font Y axis coordinate in advance** `6353 `__ -- **perf(obj): return directly if parent is unchanged** `6283 `__ -- **perf(theme): optimize the order of function calls** `5971 `__ -- **perf(draw): skip border drawing when border side is none** `5959 `__ +- **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(env_support/cmake): If LV_CONF_PATH is set, install the indicated config instead of the default one.** `6675 `__ -- **fix(i1): fix compiler and runtime issues with I1 rendering** `6714 `__ -- **fix(vg_lite): fix rounded rectangle path error** `6726 `__ -- **fix(vg_lite): fix rendering aliasing caused by global matrix transformation** `6730 `__ -- **fix(indev): fix LV_EVENT_SCROLL_THROW_BEGIN not send to scroll_obj** `6693 `__ -- **fix(tiny_ttf): Fix formatting specifier macro in lv_tiny_ttf_set_size** `6731 `__ -- **fix(nuttx): fix build break** `6732 `__ -- **fix(chart): fix memory leak** `6727 `__ -- **fix(draw/neon): fix build break** `6682 `__ -- **fix(spinbox): add missing update value** `6719 `__ -- **fix(roller): do not move when there is only one option** `6717 `__ -- **fix(docbuild): Fix @file commands and guard macros.** `6689 `__ -- **fix(fs): remove Arduino SD initialization** `6725 `__ -- **fix(benchmark): use assets only from its own folder** `6666 `__ -- **fix(Kconfig): remove leading spaces on line 1692** `6695 `__ -- **fix(roller): fix roller error in ubuntu24.04 uefi** `6683 `__ -- **fix(rtthread): display driver hang** `6667 `__ -- **fix(objid): free old id before assign new one** `6697 `__ -- **fix(demo): fill image->data_size field** `6710 `__ -- **fix(indev): fix indev not send gesture event** `6676 `__ -- **fix(indev): swap the order of sending indev events and obj events** `6636 `__ -- **fix(scripts): fix update_version error** `6662 `__ -- **fix(refr): reshape using draw_buf stride** `6567 `__ -- **fix(arc): add missing private include** `6648 `__ -- **fix(docbuild): Doxygen warnings from format errors (part 2 of 2)** `6653 `__ -- **fix(docbuild): Doxygen warnings from format errors (part 1 of 2)** `6652 `__ -- **fix(API): keep ime struct lv_pinyin_dict_t public** `6645 `__ -- **fix(draw_sw): fix swapped 90/270 rotation in case of RGB888** `6642 `__ -- **fix(docs): fix Doxygen warnings caused by format errors** `6584 `__ -- **fix(freetype): fix outline font being cropped** `6639 `__ -- **fix(API): keep font struct lv_font_fmt_txt_kern_pair_t public** `6625 `__ -- **fix(nxp/vglite): fix stride calculation** `6613 `__ -- **fix(vector): fix vector graphic draw test case for amd64** `6616 `__ -- **fix(osal): initialize Windows thread sync correctly** `6604 `__ -- **fix(tiny_ttf): fix no cache and formatting cleanup** `6568 `__ -- **fix(vg_lite): remove pattern_color from label drawing** `6605 `__ -- **fix(display): delete previous screen instead of current** `6494 `__ -- **fix(docbuild): `@file` command arg mismatches** `6582 `__ -- **fix(kconfig): Do not set LV_CONF_SKIP by default** `6562 `__ -- **fix(property): fix style property** `6552 `__ -- **fix(draw_buf): handle negative coordinates on the area to clear** `6510 `__ -- **fix(draw_sw): do not recalculate target buffer stride** `6530 `__ -- **fix(theme): make the text styles work on the INDICATOR's DEFAULT state** `6521 `__ -- **fix(examples): fix typo in lv_port_indev_template.c** `6555 `__ -- **fix(ci): fix micropython CI** `6546 `__ -- **fix(vg_lite): fix draw pattern recolor error** `6525 `__ -- **fix(sdl): make sure minimal alignment is sizeof(void*) for aligned alloc** `6526 `__ -- **fix(pxp): use floorf instead of floor** `6516 `__ -- **fix(anim): fix deleted_cb not called in lv_anim_delete_all** `6513 `__ -- **fix(thorvg): support rendering in draw events** `6406 `__ -- **fix(obj_tree): fix incorrect return value of function lv_obj_get_sibling_by_type()** `6503 `__ -- **fix(test): fix filter option dot escape by setting regexp string** `6509 `__ -- **fix(dave2d): fix rendering to canvas with dave2d** `6498 `__ -- **fix(label): do not break last line for LV_LABEL_LONG_DOT (#5606)** `6362 `__ -- **fix(ime): fix buffer-overflow error in pingyin IME** `6501 `__ -- **fix(refr): eliminate side effect in assert** `6499 `__ -- **fix(gif): add correct image header** `6472 `__ -- **fix(vg_lite_tvg): fix path structure is not fully initialized** `6493 `__ -- **fix(drivers): fix hardware rotation of generic mipi display** `6470 `__ -- **fix(gen_json): fix bad LVGL header path** `6479 `__ -- **fix(Windows): use global lock** `6425 `__ -- **fix(decoder): use unsigned format spec with uint32_t's** `6457 `__ -- **fix(draw_buf): skip palette cleanup** `6471 `__ -- **fix(scroll): fix jumping on scroll end** `6393 `__ -- **fix(gridnav): send focus/defocus event from gridnav key handler** `6385 `__ -- **fix(nxp): fix rounded corner image in NXP vglite** `6436 `__ -- **fix(codespace): enable builtin OBJID feature** `6417 `__ -- **fix(conf): make comment requirement explicit** `6248 `__ -- **fix(ap): fix ap map table** `6430 `__ -- **fix(draw_buf): fix user defined draw_buf alloc/destroy not paired** `6426 `__ -- **fix(x11): use normal malloc for frame buffer allocation** `6384 `__ -- **fix(vg_lite): fix scissor setting error** `6420 `__ -- **fix(examples): correct typo in widgets example doc** `6412 `__ -- **fix(demo): make the music player correctly work with v9** `6302 `__ -- **fix(indev): fix use after free of last hovered object** `6405 `__ -- **fix(vg_lite): fix incorrect alpha handling** `6402 `__ -- **fix(theme): set a default length for scale** `6359 `__ -- **fix(spangroup): handle style_text_letter_space better** `6364 `__ -- **fix(sdl): fix draw buffer misalignment** `6386 `__ -- **fix(nuttx): fix build warning using nuttx** `6379 `__ -- **fix(test): fix compile error on macos** `6377 `__ -- **fix(fs_littlefs): fix maybe-uninitialized warning** `6380 `__ -- **fix(thorvg): fix sw_engine crash** `6372 `__ -- **fix(scale): fix the issue of needle sliding in scale** `6343 `__ -- **fix(cmake): install headers correctly** `6332 `__ -- **fix(animimage): add NULL pointer check** `6206 `__ -- **fix(docs): fix Lottie document cannot view examples (#6338)** `6342 `__ -- **fix(obj): fix memory leak in error handling** `6330 `__ -- **fix(env): fix meson build break** `5745 `__ -- **fix(drm): add tick_get_cb** `6306 `__ -- **fix(dave2d): make it work without software render too** `6290 `__ -- **fix(demo): lv_demo_widgets update scale3 needle and label pos on resize** `6258 `__ -- **fix(example): lv_example_scale_3 second scale needle was scrollable** `6320 `__ -- **fix(roller): enable lv_example_roller_3 again** `6307 `__ -- **fix(math): fix compile warning** `6315 `__ -- **fix(dave2d): fix warnings on non Cortex-M85** `6284 `__ -- **fix(docs): Fix failing docs build in master since lottie** `6316 `__ -- **fix(display): cancelled screen animation may block input indefinitely** `6277 `__ -- **fix(obj): search child object using depth-first search** `6287 `__ -- **fix(roller): avoid divided-by-zero during draw event** `6285 `__ -- **fix(indev): fix elastic scrolling with snapping** `6230 `__ -- **fix(benchmark): use the correct subject for performance data** `6237 `__ -- **fix(layouts): fix rounding for fr in grid layout** `6255 `__ -- **fix (dave2d) : remove __NOP(); and __BKPT(0);** `6228 `__ -- **fix(sdl): handle if the window_id is not set correctly in SDL** `6194 `__ -- **fix(drivers): drm driver not initialising with small screens** `6244 `__ -- **fix(freetype): fix potential multi-threaded data conflicts** `6252 `__ -- **fix(vglite): build issues** `6245 `__ -- **fix(canvas): lv_canvas_set_px for indexed images** `6226 `__ -- **fix(snapshot): fix memleak in lv_snapshot** `6147 `__ -- **fix(span): fix span incorrect max height calculation** `6243 `__ -- **fix(refr): remove the unnecessary wait for flush in double buffered direct mode** `6120 `__ -- **fix(display): load screen from matching display** `6189 `__ -- **fix(roller): set the position of the selected text correctly** `6083 `__ -- **fix(span): fix Chinese character incorrect break line** `6222 `__ -- **fix(lv_msgbox): Automatically adjust msgbox's content height.** `6176 `__ -- **fix(imagebutton): tiling regression** `6195 `__ -- **fix(docs): fix broken links** `6207 `__ -- **fix(sysmon): fix MicroPython compilation error when system monitor is enabled** `6073 `__ -- **fix(fsdrv/fatfs): support FF_DIR and FATFS_DIR typedef in ff.h** `6128 `__ -- **fix(scripts): remove scripts/release/ directory** `6134 `__ -- **fix(arc): arc pressing bounds detection** `6188 `__ -- **fix(refr): call flush_wait_cb only if flushing is in progress** `6174 `__ -- **fix(event): stop event event processing when requested** `6113 `__ -- **fix(nuttx): fix assert failed due to wrong color format** `6160 `__ -- **fix(nuttx): fix compile warning** `6156 `__ -- **fix(README): with corrected example code** `6151 `__ -- **fix(example): fix the gradient text example** `6152 `__ -- **fix(tests): fix check failed for `-Wno-c++11-extensions`** `6154 `__ -- **fix(scroll): fix infinite loop in scroll_end events** `6109 `__ -- **fix(vg_lite): fix incorrect cache operation** `6054 `__ -- **fix(docs): fix typo for LV_KEYBOARD_MODE_SPECIAL** `6136 `__ -- **fix(demo): fix compile warning** `6100 `__ -- **fix(docs): use find_version helper in build script** `6122 `__ -- **fix(docs): pull version out of lv_version.h** `6097 `__ -- **fix(area): increase coordinate percent range beyond +-1000** `6051 `__ -- **fix(cmake): generate versioned shared libraries** `5865 `__ -- **fix(image): set the draw_task area correctly for tiled image** `6029 `__ -- **fix(encoder): always fire LV_EVENT_LONG_PRESSED to indev callback** `6064 `__ -- **fix(vg_lite):check the color format before alloc layer buffer** `6071 `__ -- **fix(lodepng): fix crash when fallback from lodepng decoder** `6079 `__ -- **fix(scroll): fix deletion animation causing missing scroll end event** `5979 `__ -- **fix(evdev): add missing include for strerror** `6047 `__ -- **fix(canvas): invalidate canvas on finish layer** `6042 `__ -- **fix(bin_decoder): fix memory leak** `5990 `__ -- **fix(font): fix the include path of lvgl.h** `6050 `__ -- **fix(kconfig): add Montserrat 10 font to default title font list in Kconfig (#6057)** `6058 `__ -- **fix(style): refresh the style on transition start** `6043 `__ -- **fix(canvas): fix buf copy assert msg error** `6063 `__ -- **fix(display): update the color format of the draw buffers on color format change** `5973 `__ -- **fix(label): fix maybe-uninitialized warning** `6028 `__ -- **fix(draw): fix the default draw thread stack is too large** `5951 `__ -- **fix(driver): lv_x11_input.c fixes** `6033 `__ -- **fix(example): LVGL_Arduino.ino millis() as tick source** `5999 `__ -- **fix(textarea): update password bullets immediately on set** `5943 `__ -- **fix(nuttx): fix gesture event failure** `5996 `__ -- **fix(fbdev): set resolution prior to buffer** `6004 `__ -- **fix(thorvg): fix windows build break** `5978 `__ -- **fix(kconfig): update as per lv_conf_template.h** `5980 `__ -- **fix(anim): optimize repeat_count type** `5975 `__ -- **fix(rtthread): implement lv_strcat function in rt-thread due to absence of rt_strcat** `5920 `__ -- **fix(span): handle trailing newline** `5957 `__ -- **fix(sdl_keyboard): fix warning of the implicit declaration of function memmove** `5962 `__ -- **fix(obj_tree): fix event loss caused by obj deletion** `5950 `__ -- **fix(sdl): handle both LV_IMAGE_SRC_FILE and LV_IMAGE_SRC_VARIABLE** `5852 `__ -- **fix(demos): update README to match lv_demos.c** `5939 `__ -- **fix(flex): LV_FLEX_ALIGN_SPACE_BETWEEN align single item left** `5915 `__ -- **fix(platformio): fix CI to automatically publish release** `5924 `__ -- **fix(script): update RLE compressed image raw len without padding** `dd70291 `__ -- **fix(image): image inner align name should not conflict with obj's align** `d6495b5 `__ -- **fix(refr): NOT draw if scale is 0** `1d647ad `__ -- **fix(sdl): fix build warning** `9a91368 `__ -- **fix(script): add per image attribute for C array** `124086c `__ -- **fix(anim): fix lv_anim_set_repeat_count configuration parameter may be truncated** `6e3f686 `__ -- **fix(draw_buf): use LV_ROUND_UP to align draw buffer address** `79b64c8 `__ -- **fix(bin_decoder): check buffer size before write data** `75eef0d `__ -- **fix(property): support user added property index** `c191ecb `__ -- **fixed compile error on line 402 when using two SDL frame buffers** `7722f0f `__ -- **fix(animimg): Optimize the structure size of animations** `150d1a1 `__ -- **fix(obj): avoid to init NULL obj** `9e3ea81 `__ -- **fix(thorvg): use premultiplied images in SW render** `f34ec4b `__ +- **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 ~~~~~~~~ +- **example(keyboard): add draw event example to customize each button** `8172 <(https://github.com/kisvegabor/lvgl_upstream/pull/8172)>`__ +- **example(freetype): fix docs build error** `8001 <(https://github.com/kisvegabor/lvgl_upstream/pull/8001)>`__ +- **example(checkbox): Correct checkbox enable comment** `7763 <(https://github.com/kisvegabor/lvgl_upstream/pull/7763)>`__ + Docs ~~~~ -- **docs(label): fix unintentional definition list in parts and styles section** `6735 `__ -- **docs(arm): add overview docs for Arm** `6712 `__ -- **docs(obj): fix typo of LV_OBJ_FLAG_IGNORE_LAYOUT** `6713 `__ -- **docs(espressif): Update Espressif's documentation with esp_lvgl_port** `6658 `__ -- **docs(scale): Add note about major tick label calculation when no custom labels are set** `6585 `__ -- **docs: Added docs for BDF fonts** `6398 `__ -- **docs(qnx): reflect on the changed build directory** `6583 `__ -- **docs(example): complete the examples not cited in the docs** `6608 `__ -- **docs(msgbox): update to reflect latest** `6603 `__ -- **docs: add VG-Lite related documents** `6557 `__ -- **docs(qnx): add to index.rst** `6572 `__ -- **docs: fix flush_cb typo** `6523 `__ -- **docs: update the drivers description** `6423 `__ -- **docs(renesas): update board videos, fix typos** `6429 `__ -- **docs(README): fix broken images** `6404 `__ -- **docs(build): fix build error** `6403 `__ -- **docs(README): fix links** `6383 `__ -- **docs(tileview): fix tileview column/row argument order** `6388 `__ -- **docs: add evdev documentation** `6376 `__ -- **docs(examples): add the gradient examples** `6328 `__ -- **docs(quick-overview): update indev create to v9** `6282 `__ -- **docs(lottie): fix missing lottie link on the widgets index** `6272 `__ -- **docs(quick-overview): clarify which folders are required** `6250 `__ -- **docs(simulator): update simulator page and mention lv_port_linux** `6205 `__ -- **docs: simplify the find_version script and fix shellcheck report in it** `6133 `__ -- **docs(coord): fix the layout of overview** `6112 `__ -- **docs: fix example build break** `6114 `__ -- **docs(obj): fix add/remove flag documentation** `6067 `__ -- **docs(calendar): move instruction to the usage section** `6045 `__ -- **docs: fix typo in the comments [ci skip]** `6027 `__ -- **docs(renesas): fix the links** `5977 `__ -- **docs(renesas): add a general introduction page** `5969 `__ -- **docs(changelog): fixed changelog displaying no line breaks** `5931 `__ -- **docs: update changelog** `5923 `__ -- **docs(global): decoration should be as long as the text** `5ed3a06 `__ -- **docs(renesas): update links** `be4a9d1 `__ -- **docs(faq): lv_display_t, lv_indev_t, and lv_fs_drv_t doesn't have to be static** `1dfd782 `__ +- **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 ~~~~~~~~~~~~ -- **ci(sdl): add sdl build to ci test** `6505 `__ -- **ci(micropython): improve logs** `6257 `__ -- **test(span): add span testcase for Chinese line break** `6236 `__ -- **ci(test): fix include path** `6141 `__ -- **ci(ubuntu):ci use ubuntu-2204** `6213 `__ -- **ci(stale): do not mark shaping and ready for development issues as stale** `6086 `__ -- **ci: use ubuntu-22.04 instead of ubuntu-latest** `6032 `__ -- **ci(test): remove non-native builds and add native 32 and 64 bit builds instead** `f2e81d8 `__ +- **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(api): add api map for v9.1** `6733 `__ -- **chore: move the astyle repo to the lvgl organization** `6614 `__ -- **chore(docs): update Zephyr documentation** `6581 `__ -- **chore(display): prevent disp_refr from becoming a wild pointer** `6618 `__ -- **chore(demos/README.md): fix typo `LV_MEME_SIZE`** `6669 `__ -- **chore(tiny_ttf): fix docstring on each API** `6514 `__ -- **chore(text): update ISO8859-1 text functions' docstring** `6590 `__ -- **chore(deps): bump carlosperate/arm-none-eabi-gcc-action from 1.8.2 to 1.9.0** `6620 `__ -- **chore(deps): bump JamesIves/github-pages-deploy-action from 4.6.1 to 4.6.3** `6621 `__ -- **chore(api_map_v8): API for adapting imagebutton for version V8** `6641 `__ -- **refactor(API): don't expose private symbols in lvgl.h. phase-out "_lv*" names** `6068 `__ -- **chore(tests): remove vg_lite L8 render reference images** `6606 `__ -- **chore: make lv_utils as public and align function prototype with stdlib** `6473 `__ -- **refactor(tiny_fft): refactor tiny_ttf cache with updated improvements** `6441 `__ -- **chore(sdl): fix warning** `6483 `__ -- **chore(rt-thread): revert macro back to PKG_USING_LVGL_SQUARELINE** `6481 `__ -- **chore(vg_lite): remove YUV format processing of vg-lite decoder** `6461 `__ -- **chore(logo): update lvgl logo** `6416 `__ -- **chore(examples): fixes a typo in the Arduino example** `6464 `__ -- **chore(tests): add missing test images** `6452 `__ -- **chore(examples): remove extra spaces** `6435 `__ -- **chore(scale): fix compile warning** `6445 `__ -- **chore: fix spelling** `6401 `__ -- **chore(lvgl_private): remove unnecessary private header file includes** `6418 `__ -- **chore(draw_vector): complete printing information** `6399 `__ -- **refact(draw_vector): standardized draw gradient API** `6344 `__ -- **chore(test): fix render test typo** `6370 `__ -- **chore(widgets): fix typo** `6369 `__ -- **chore(decoder): use trace level of log** `6361 `__ -- **chore(test): add missing vg-lite ref images** `6363 `__ -- **chore(obj_pos): fix typo** `6336 `__ -- **chore(deps): bump JamesIves/github-pages-deploy-action from 4.6.0 to 4.6.1** `6323 `__ -- **chore(deps): bump carlosperate/arm-none-eabi-gcc-action from 1.8.1 to 1.8.2** `6322 `__ -- **chore(example): fix build break caused by undefined LV_USE_DRAW_SW_COMPLEX_GRADIENTS** `6286 `__ -- **chore(log): remove \n from log message** `6276 `__ -- **Revert "feat(pxp): add zephyr support"** `6261 `__ -- **Add LVGL9 demos to esp.cmake** `6220 `__ -- **chore(group): remove useless code** `6124 `__ -- **refactor(image_decoder): extract cache operation to image decoder from decoder instance** `6155 `__ -- **chore(image_decoder): fix compile error when compiling testcase** `6223 `__ -- **chore: fix compile error** `6224 `__ -- **refactor(nuttx_image_cache): remove LV_CACHE_DEF_SIZE dependency** `6178 `__ -- **chore(deps): bump JamesIves/github-pages-deploy-action from 4.5.0 to 4.6.0** `6164 `__ -- **chore(deps): bump uraimo/run-on-arch-action from 2.7.1 to 2.7.2** `6165 `__ -- **chore(nuttx_image_cache): optimize inlucde** `6177 `__ -- **chore(draw_sw): optimize lv_draw_sw_rotate judgment logic** `6148 `__ -- **chore(cmsis-pack): monthly catch-up** `6129 `__ -- **chore(style): use lv_part_t type where suitable** `6075 `__ -- **chore(decoder): update comments** `6072 `__ -- **chore(lodepng): fix typo** `6077 `__ -- **chore: update some code and docs to use v9 API** `5876 `__ -- **chore(text): move "_" funcs to private h** `5913 `__ -- **chore(vg_lite_tvg): fix build warnings** `5984 `__ -- **chore(kconfig): move use_vector to correct place** `5995 `__ -- **chore(vg_lite): fix typo** `5993 `__ -- **chore(vg_lite): remove duplicate parameter judgments** `5960 `__ -- **chore(PR): modify the astyle version description in PR** `5963 `__ -- **chore(cmsis-pack): minor update** `5948 `__ -- **chore(observer): rename lv_button_bind_checked to lv_obj_bind_checked** `5944 `__ -- **refactor(font): refactor font glyph data acquire method** `5884 `__ -- **Optimize lv_color_16_16_mix() when c1 == c2** `5929 `__ -- **chore(cache): adjust includes** `5921 `__ -- **refacter(conf): use defines for standard includes** `5767 `__ -- **refactor(image_decoder): refactor image decoder and image cache** `5890 `__ -- **refactor(draw_buff): separate all image cache related draw buff into image_cache_draw_buff** `417d78b `__ -- **refactor(image_decoder): refactor get_info so that it can pass params via dsc** `001b483 `__ -- **refactor(display_rotate_area): use a copy instead of const casting** `20bbe4a `__ -- **chore(Makefile): remove useless macro LV_USE_DEV_VERSION** `9b3e8ee `__ +- **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 `__