From 85aa60d18b3d5e5588d7b247abf90198f07c8a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Costa?= Date: Wed, 18 Feb 2026 17:09:37 +0100 Subject: [PATCH] chore: release v9.5.0 (#9753) --- docs/src/CHANGELOG.rst | 1072 ++++++++++++++----------------- docs/src/introduction/repo.rst | 6 +- env_support/cmake/version.cmake | 2 +- 3 files changed, 481 insertions(+), 599 deletions(-) diff --git a/docs/src/CHANGELOG.rst b/docs/src/CHANGELOG.rst index 9d8683378a..149b4563ed 100644 --- a/docs/src/CHANGELOG.rst +++ b/docs/src/CHANGELOG.rst @@ -3,643 +3,521 @@ Change Log ========== -`v9.4.0 `__ 16 October 2025 +`v9.5.0 `__ 18 February 2026 --------------------------------------------------------------------------------------------------------------------------------------------------- -LVGL v9.4.0 brings significant performance improvements, expanded GPU support, and new -capabilities for modern embedded and MPU platforms. +LVGL v9.5.0 continues expanding MPU capabilities while maintaining the lightness and efficiency that make LVGL viable on resource-constrained MCUs. This release adds native blur and drop shadow rendering, a rewritten Wayland driver with EGL support, complete OpenGL rendering via NanoVG, and significant 3D rendering improvements. Main Features ~~~~~~~~~~~~~ -- **glTF + 3D Support**. Load your glTF 3D models directly into LVGL UIs for rich, - immersive interfaces. :ref:`Learn more `. -- **XML support for LVGL Pro**. Describe your UI declaratively and load it at runtime - without having to recompile firmware. Try it out with the newest LVGL Pro Editor. - `Learn More __` +- **Blur and Drop Shadow**. Native software blur and drop shadow support work on all targets without requiring a GPU. Drop shadows add depth to overlays and cards; blur enables frosted-glass effects and background dimming. :ref:`Learn more `. +- **Wayland Driver Rewrite**. Complete rewrite with SHM backend supporting double-buffered direct mode rendering and a new EGL backend for hardware-accelerated OpenGL. :ref:`Learn more `. +- **NanoVG Rendering Backend**. Complete OpenGL draw unit providing GPU-accelerated vector rendering, anti-aliased shapes, and compositing. Auto-initializes when OpenGL context is available. :ref:`Learn more `. +- **Bézier Curved Charts**. New ``LV_CHART_TYPE_CURVE`` draws smooth Bézier curves between data points. Requires ``LV_USE_VECTOR_GRAPHICS`` and a compatible draw unit (VGLite, NanoVG or Software with ThorVG). :ref:`Learn more `. -GPU Acceleration -~~~~~~~~~~~~~~~~ +GPU Acceleration & Performance +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- **EVE GPU Renderer Support**. Offload rendering to external EVE chips via SPI, - freeing up your MCU's CPU for other tasks. :ref:`Learn More `. -- **ESP PPA Hardware Accelerator**. Achieve 30% faster render times and 30% reduced - CPU usage on the new ESP32-P4 with native hardware acceleration. :ref:`Learn More - `. -- **NemaGFX Vector Graphic**. Render SVGs and vector graphics natively on ST's - NeoChrom and other NemaGFX compatible GPUs. :ref:`Learn More `. -- **Unified VGLite Renderer**. Single driver supporting all platforms with a - consistent feature set. :ref:`Learn More `. -- **Dave2D Renderer improvements.** Lower CPU usage on Renesas and Alif platforms with - optimized Dave2D integration. :ref:`Learn More `. +- **RISC-V Vector Extension Support**. SIMD acceleration for software rendering on RISC-V platforms with V extension support. Speeds up blending operations. Enable with ``LV_USE_DRAW_SW_ASM`` set to ``LV_DRAW_SW_ASM_RISCV_V``. +- **SDL EGL Support**. SDL now supports EGL rendering backend, completing EGL coverage across SDL, Wayland, DRM, and GLFW for consistent hardware acceleration. +- **OpenGL Improvements**. Matrix transformations, RGBA-only texture format, GLSL 330 support, and scissor optimization for opaque fills. -MPU Features +3D Rendering ~~~~~~~~~~~~ -- **GStreamer Support**. Play videos and multimedia content directly within LVGL UIs - with full GStreamer codec support. :ref:`Learn more `. -- **DRM + EGL Driver**. High-performance Linux display rendering with native DRM and - OpenGL ES (EGL) support for embedded displays capable of rendering glTF models. - :ref:`Learn more `. -- **ARM NEON Optimization**. Up to 33% faster software rendering with on platforms - that support NEON SIMD support. :ref:`Learn More `. +- **Runtime glTF Manipulation**. Read and modify glTF model nodes at runtime including scale, rotation, translation, and animation state for dynamic 3D scenes. +- **Raycasting Utilities**. New API for 3D-to-2D coordinate conversion and ray-object intersection testing, enabling touch interaction with 3D objects. +- **Cross-Platform 3D Support**. With EGL now available across all major Linux backends (SDL, Wayland, DRM, GLFW), 3D rendering is fully supported on all platforms. -Other Features -~~~~~~~~~~~~~~ +Style & Theme System +~~~~~~~~~~~~~~~~~~~~ -- **Faster GIF Library**. No changes required, just upgrade LVGL and your GIFs will - render faster. :ref:`Learn more `. -- **FrogFS support**. Pack directory trees into a single "blob" and load them at - runtime. :ref:`Learn more `. +- **LV_STATE_ALT**. New widget state for simple dark/light mode switching without managing separate theme trees. +- **Theme Management API**. New functions: ``lv_obj_remove_theme``, ``lv_obj_bind_style_prop``, and full theme create/copy/delete API for multi-theme applications and data-driven style binding. -Documentation +Widgets & Property Interface +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- **Property Interface Rollout**. Arc, bar, switch, checkbox, LED, line, scale, spinbox, spinner, table, tabview, buttonmatrix, span, menu, and chart now expose uniform property interface for data binding. +- **Input Handling**. Key remapping at indev level, configurable gesture thresholds, ``LV_OBJ_FLAG_RADIO_BUTTON`` for radio groups, and keypad events emitted without assigned group. + +Media Support ~~~~~~~~~~~~~ -Alongside these features, we've thoroughly reorganized and proofread the entire -documentation suite, and included numerous new driver guides and platform -integrations to better serve our partners and the embedded community. +- **GStreamer Audio-Free Sources**. Supports video sources without audio tracks, enabling camera stream embedding in LVGL applications. +- **WebP Decoder**. Native WebP image decoding support added alongside existing JPEG, PNG, and GIF support. + +Breaking Changes +~~~~~~~~~~~~~~~~ + +- **Wayland Client-Side Decorations Removed**. Rewritten driver no longer supports client-side window decorations. Use LVGL widgets (e.g., ``lv_win``) for window chrome. +- **XML Engine Removed**. XML UI engine development continues outside the main repository. Separate announcement forthcoming. + +Deprecations +~~~~~~~~~~~~ + +- **lv_fragment deprecated**. Will be removed in a future release. Plan migration for view lifecycle management. +- **lv_wayland_display_close_cb_t deprecated**. Use ``LV_EVENT_DELETE`` on display returned by ``lv_wayland_window_create`` instead. New Features ~~~~~~~~~~~~ -- **feat(EVE): allow disabling write buffering** `9072 `__ -- **feat(opengl): support glsl version 100 for default shader** `9029 `__ -- **feat(subject): add back subject increment events** `9057 `__ -- **feat(xml): add scrollbar modes** `9058 `__ -- **feat(test): reintroduce lv_text_get_size without attributes** `9036 `__ -- **feat(theme): re-initialize the theme on resolution change** `9048 `__ -- **feat(g2d): add rgb565, png, tiled images and rotation support** `8848 `__ -- **feat(gltf): replace default gltf env image with a more generic solution** `9045 `__ -- **feat(drivers): NV3007 driver & docs** `9021 `__ -- **feat(sysmon): add cpu proc usage when using monitor log mode** `9010 `__ -- **feat(drm): add ability to select display mode** `8992 `__ -- **feat(osal): enable linux specific features with os_none** `8989 `__ -- **feat(egl/gltf): add gltf support with EGL** `8980 `__ -- **feat(draw): support image colorkey** `8628 `__ -- **feat(NemaGFX): add vector draw task support** `8938 `__ -- **feat(chart): add cursor removal method** `8952 `__ -- **feat(lv_global): move user_data to the top of lv_global_t** `8908 `__ -- **feat(sdl): Add SDL_Window accessor function to retrieve window from lv_display_t** `8886 `__ -- **feat(kconfig_verify): add space indentation check** `8962 `__ -- **feat(xml): add spinbox support** `8957 `__ -- **feat(EVE): support fonts with a stride alignment** `8937 `__ -- **feat(xml): support <include_timeline>** `8902 `__ -- **feat(display): deprecate lv_display_set_antialiasing** `8958 `__ -- **feat(roller): function to get option string** `8730 `__ -- **feat(xml): add subject_toggle_event and move the limits to subjects from increment event** `8930 `__ -- **feat(qrcode): add new set_data helper function** `8950 `__ -- **feat(draw/sw): add neon support for rgb888 and xrgb8888** `8933 `__ -- **feat(XML/fsdrv): add frogfs and XML load from blob** `8870 `__ -- **feat(xml): add new step tests click_on and set_language** `8931 `__ -- **feat(label): implement api to bind a translation tag to a label** `8948 `__ -- **feat(vglite): refactor driver config and remove NXP VGLite draw unit** `8911 `__ -- **feat(pxp): add PXP support for tiled images** `8846 `__ -- **feat(translation): add language changed event** `8882 `__ -- **feat(profiler): add posix porting** `8924 `__ -- **feat(EVE): support bitmaps larger than 511x511** `8732 `__ -- **feat(XML): XML load from directory** `8774 `__ -- **feat(wayland): remove deprecated WL_SHELL** `8877 `__ -- **feat(api_mapping): add ability to disable api mapping** `8745 `__ -- **feat(xml): add qrcode support in XML** `8904 `__ -- **feat(draw/dave2d): remove todos** `8896 `__ -- **feat(opengl): add support for creating an LVGL OpenGL texture display from an existing texture** `8837 `__ -- **feat(grad): make complex gradients available regardless of whether draw_sw support is enabled** `8834 `__ -- **feat(event): add ability to delete display and indev on event** `8893 `__ -- **feat(draw): add event_cb in draw unit** `8891 `__ -- **feat(sdl): add set_window_size** `8809 `__ -- **feat(xml): add rotation in arc xml parser** `8899 `__ -- **feat(style): add `lv_style_merge` and appropriate tests** `8680 `__ -- **feat(wayland): Restore the touchscreen support** `8785 `__ -- **feat(gstreamer): add gstreamer support** `8757 `__ -- **feat(gltf): allow compiling gltf with EGL** `8833 `__ -- **feat(tests): add lv_deinit test** `8789 `__ -- **feat(draw_buf): add MVE & NEON support of alpha premultiply** `8712 `__ -- **feat(OpenGL): add EGL support** `8677 `__ -- **feat(osal): add lv_sleep_ms interface and implementation.** `8805 `__ -- **feat(display): add ability to get current screen being loaded** `8746 `__ -- **feat(display): initial lovyan integration** `8630 `__ -- **feat(draw): vg_lite: add initial support for the VGLite HAL** `8795 `__ -- **feat(opengles): add performance measurement points** `8776 `__ -- **feat(NemaGFX): Support complex gradients: linear, radial** `8696 `__ -- **feat(tests): add lcd driver test** `8759 `__ -- **feat(wayland/dmabuf): add window decorations support** `8406 `__ -- **feat(draw/dave2d): improve performance using block processing** `8725 `__ -- **feat(vglite): add vglite kernel driver** `8734 `__ -- **feat(gltf): add gltf support** `8643 `__ -- **feat(workflows): add gcover report** `8750 `__ -- **feat(EVE): add asset pre-upload functions** `8710 `__ -- **feat(draw_buf): make buf_copy overwritable for GPU** `8693 `__ -- **feat(draw/sw): add neon 64bit support for rgb565 blending operations** `8590 `__ -- **feat(font_manager): check resource leak before removing source** `8613 `__ -- **feat(evdev): allow adopting existing fd** `8556 `__ -- **feat(chart): add stacked chart support** `8573 `__ -- **feat(xml): add animation support** `8599 `__ -- **feat(nuttx_profiler): support trace to file** `8674 `__ -- **feat(vg_lite): added compatibility with NXP platforms** `8642 `__ -- **feat(EVE): Add EVE draw unit** `8211 `__ -- **feat(scripts): add display & drawbuf dump** `8645 `__ -- **feat(sysmon): add API to start or stop sysmon and dump FPS info** `8533 `__ -- **feat(obj): allow `LV_SIZE_CONTENT` for min and max width/height** `8448 `__ -- **feat(NemaGFX): encoded images** `8523 `__ -- **feat(cache): implement dynamic array with second chance algorithm class** `8433 `__ -- **feat(font): Remove SimSun Font** `8550 `__ -- **feat(svg): add SVG2 special path command 'A' support.** `8574 `__ -- **feat(label): support passing variadic list as param** `8322 `__ -- **feat(demo): separate the widgets demo into multiple files** `8507 `__ -- **feat(xml): add lv_xml_set_default_asset_path** `8549 `__ -- **feat(xml): add float support to subject change events** `8535 `__ -- **feat(nuttx) : add mouse capabilities to applications** `8425 `__ -- **feat(state): Add state trickle down** `8499 `__ -- **feat(events): add event trickle mechanism to propagate events to children** `8415 `__ -- **feat(chart): support custom LV_EVENT_REFR_EXT_DRAW_SIZE** `8268 `__ -- **feat(osal/linux): add function which provides cpu usage of the app itself** `8340 `__ -- **feat(dma2d): enable the DMA2D clock for STM32L4 series** `8429 `__ -- **feat(anim): call start callback when animation restarts** `8403 `__ -- **feat(DMA2D): encoded images** `8470 `__ -- **feat(translation): add translation support** `8255 `__ -- **feat(xml): add testing support for XMLs** `8327 `__ -- **feat(observer): add float subject type** `8388 `__ -- **feat(dma2d): improve DMA2D Compatibility** `8293 `__ -- **feat(assert): refactoring LV_ASSERT_HANDLER handling** `8434 `__ -- **feat(anim): add vsync mode** `8087 `__ -- **feat(drivers): add NXP ELCDIF initial display support** `8349 `__ -- **feat(draw/ppa): add initial Pixel Processing Accelerator infrastructure for ESP** `8270 `__ -- **feat(vg_lite): add tile image support** `8226 `__ -- **feat(draw): Optimize struct alignment** `8409 `__ -- **feat(vg_lite): support tiled image** `8355 `__ -- **feat(tiny_ttf): add kerning cache** `8320 `__ -- **feat(xml): make <style> and <bind> properties child tags instead of props** `02b079f `__ -- **feat(observer): add subject set and increment functions** `3ecd37e `__ -- **feat(arc_label): add new widget arc label support** `5f28038 `__ -- **feat(obj): add screen_create/load_event API and XML support** `a762e20 `__ -- **feat(observer): add lv_obj_bind_style** `104ede5 `__ -- **feat(xml): add remove_style and remove_style_all support** `3951ea4 `__ -- **feat(arc_label): support recolor feature** `78e3375 `__ -- **feat(scale): add lv_scale_bind_section_min/max_value** `7aaeb66 `__ -- **feat(span): add lv_spangroup_bind_span_text and lv_spangroup_set_span_text_fmt** `03c4870 `__ -- **feat(xml): add lv_switch** `250bc8b `__ -- **feat(scripts): add fully automatic test + environment installation verification script** `6fbdb7f `__ -- **feat(arc_label): support vertical align feature** `cb22319 `__ -- **feat(examples): add arc label example** `5e8add3 `__ -- **feat(draw): Use Espresssif PPA driver in non-blocking mode, also tune the DMA2D burst size for performance on PPA side** `f3e0056 `__ -- **feat(image): add data binding to image src** `d33320b `__ -- **feat(xml): add grid support** `92a51f0 `__ -- **feat(bar): add data binding to the bar** `9bddc81 `__ -- **feat(arc_label): support horizontal align feature** `bcfc2ab `__ -- **feat(qrcode): support qrcode quiet zone feature** `0b71f7d `__ -- **feat(tabview): support getting tab buttons by index** `fbc8dbe `__ -- **feat(xml): add support for scroll snapping** `40158e4 `__ -- **feat(arc_label): support text offset** `fc83651 `__ -- **feat(build.py): add documentation section to quickly orient new users on where data flows.** `e818acf `__ -- **feat(xml): qrcode support quiet_zone property** `98423e6 `__ -- **feat(arc_label): support text letter space** `33bb46f `__ -- **feat(arc_label): support text direction of counter clockwise** `f55fee8 `__ -- **feat(arc_label): support more calculate accuracy** `1dc268e `__ -- **feat(custom.css): add `lvgl-figure-caption` class back...** `ebcd244 `__ -- **feat(arc_label): support radius percentage mode** `7cdc1ef `__ -- **feat(xml): review the types used for style properties** `96e4f8f `__ -- **feat: make enum type names consistent with value prefixes** `82cd8ad `__ -- **feat: remove line from `requirements.txt` that is not actually required to build docs** `452878f `__ +- **feat(opengl): throw error if both draw nanovg and opengles draw units are enabled** `9719 `__ +- **feat(gltf): upgrade fastgltf with latest fixes** `9727 `__ +- **feat(obj): add back support for user flags** `9711 `__ +- **feat(style): add lv_obj_remove_theme** `9692 `__ +- **feat(text): skip leading spaces after line wrap** `9639 `__ +- **feat(draw/opengl): support dynamic video textures in OpenGLES** `9704 `__ +- **feat(drm/egl): auto infer drm egl config from use_opengles** `9671 `__ +- **feat(gstreamer): send event on end of stream** `9634 `__ +- **feat(display): send screen load events to display** `9600 `__ +- **feat(chart): add curved type** `9564 `__ +- **feat(indev): emit events for keypad without assigned group** `9656 `__ +- **feat(style): add LV_STATE_ALT for simple dark/light switching** `9691 `__ +- **feat(svg): simplify node attributes inheritance introduce in #9424** `9690 `__ +- **feat(NemaGFX): Add nema libs for cortex M7 and M55** `9374 `__ +- **feat(ibl_sampler): fallback to default env image and remove unnecessary allocation** `9675 `__ +- **feat(msgbox): add support for formatted text** `9583 `__ +- **feat(obj): allow null class names if obj_name isn't set** `9653 `__ +- **feat(opengl): add matrix transformations to opengles rendering** `9654 `__ +- **feat(ppa): make the PPA burst length configurable** `9612 `__ +- **feat(nanovg): add draw 3D support** `9571 `__ +- **feat(xml): remove the XML parser and loader** `9565 `__ +- **feat(indev): add api to set gesture thresholds** `9641 `__ +- **feat(sdl): add EGL support** `9462 `__ +- **feat(calendar): add 2026 to header** `9630 `__ +- **feat(draw): make lv_draw_mask_rect_dsc_t public** `9454 `__ +- **feat(line): allow defining an array of point in the draw task** `9269 `__ +- **feat(svg): support inheriting node attributes** `9424 `__ +- **feat(wayland): add display rotation support for the shm backend** `9386 `__ +- **feat(svg): support inline styles** `9423 `__ +- **feat(draw): add RISCV V extension for software draw** `9504 `__ +- **feat(canvas): add api to skip canvas invalidation when setting pixel** `9592 `__ +- **feat(wayland): add egl support** `9398 `__ +- **feat(gstreamer): add support for sources with no audio** `9551 `__ +- **feat(drm/egl): add nanovg support** `9542 `__ +- **feat(arclabel): support lv_arclabel_get_text_angle to get real rendered text size in degree** `9546 `__ +- **feat(opengl): auto initialize nanovg draw unit** `9543 `__ +- **feat(vg_lite): add support for special format** `9464 `__ +- **feat(dropshadow): add drop shadow support** `9331 `__ +- **feat(draw): add nanovg rendering backend** `8865 `__ +- **feat(vg_lite_tvg): add VG_LITE_BLEND_DST_IN emulation support** `9528 `__ +- **feat(display): add rotate point method** `9513 `__ +- **feat(arclabel): support overflow mode** `9484 `__ +- **feat(demos): allow specifying parent for widgets and music demos** `9444 `__ +- **feat(fragment): deprecate lv_fragment** `9460 `__ +- **feat(xml): add slot support** `9193 `__ +- **feat(jpeg): add support for orientation and CMYK** `9296 `__ +- **feat(opengl): add glsl version 330 support** `9384 `__ +- **feat(group): add user_data getter and setter** `9466 `__ +- **feat(core): add external data and destructor feature** `9112 `__ +- **feat(glfw): remove glew dependency and use glad instead** `9319 `__ +- **feat(obj): add LV_OBJ_FLAG_RADIO_BUTTON to easily create radio buttons** `9328 `__ +- **feat(obj): add scroll x and scroll y properties** `9346 `__ +- **feat(slider): add min_value and max_value setter** `9433 `__ +- **feat(scale): update needles when scale is transformed** `9340 `__ +- **feat(opengl): use only rgba format textures** `9304 `__ +- **feat(nuttx): add mock to the NuttX driver for compilation testing** `9419 `__ +- **feat(xml): add imagebutton support to XML** `9381 `__ +- **feat(gltf): make linear_output optional to enable tonemapping and gamma adjustment** `9260 `__ +- **feat(test): add lv_xml_test_run_to and lv_test_screenshot_result_t** `9189 `__ +- **feat(file_explorer): allow hiding the back button** `9202 `__ +- **feat(obj): allow setting child size to LV_PCT() of LV_SIZE_CONTENT parent by using the size of fixed/clamped children to set parent size** `9243 `__ +- **feat(drm): add return type to set_file** `9365 `__ +- **feat(fbdev): add return type to set_file** `9364 `__ +- **feat(array): add remove_unordered function** `9339 `__ +- **feat(gltf): allow modifying model's nodes at runtime** `9142 `__ +- **feat(wayland): rewrite driver** `9195 `__ +- **feat(blur): add blur support** `9223 `__ +- **feat(examples/ffmpeg_player): specify default decoder** `9218 `__ +- **feat(xml): support selector with local styles** `9184 `__ +- **feat(fs): support multiple littlefs filesystems** `8868 `__ +- **feat(obj): support `LV_SIZE_CONTENT` and `LV_PCT` min width/height in combination with flex grow** `8685 `__ +- **feat(scripts/check_gcov_coverage): add analysis of specified file paths** `9264 `__ +- **feat(gltf): support sharing the background environment across multiple objects** `9009 `__ +- **feat(theme): add api to create, copy and delete themes** `9167 `__ +- **feat(example/style): convert old transform demo to an example** `9050 `__ +- **feat(xml): add color percentage support to animations** `9209 `__ +- **feat(benchmark): show warnings for typical mistakes** `9171 `__ +- **feat(style): add lv_obj_bind_style_prop** `9173 `__ +- **feat(scripts): add automatic gcovr code coverage analysis** `9227 `__ +- **feat(timer): resume timer handler after attribute changes** `9205 `__ +- **feat(image_decoder): add webp decoder** `9175 `__ +- **feat(translate): support translation tags in tabview and list** `9079 `__ +- **feat(libpng): optimize the details of performance measurement** `9179 `__ +- **feat(image_decoder): add performance measurement** `9178 `__ +- **feat(vg_lite): add dynamic input parameter printing control** `9180 `__ +- **feat(indev): implement key remapping (#8455)** `8981 `__ +- **feat(keyboard): add definitions for control mode buttons** `9101 `__ +- **feat(gltf): gltf view raycasting and 3d point to screen point conversion** `9143 `__ +- **feat(gltf): use alternate blending mode for glTF views** `9115 `__ +- **feat(ffmpeg_player): add set_decoder** `9122 `__ +- **feat(xml): add lv_spinner** `9091 `__ +- **feat(translation): const-correct arrays of strings** `9147 `__ +- **feat(fs): add read file with alloc API** `9109 `__ +- **feat(gif): use gif draw raw mode to support stride mode** `9121 `__ +- **feat(class): ensure classes have names** `9097 `__ +- **feat(example/scroll): convert old scroll demo to an example** `9049 `__ +- **feat(spinbox): add property interface support** `0290020 `__ +- **feat(bar): add property interface support** `0bd6422 `__ +- **feat(arc): add property API support** `09b3143 `__ +- **feat(chart): add property interface support** `7801fd2 `__ +- **feat(scale): add property interface support** `54487a9 `__ +- **feat(span): add property interface support** `8a2b610 `__ +- **feat(spinner): add property interface support** `bb76fd2 `__ +- **feat(tabview): add property interface support** `492770e `__ +- **feat(dropdown): static and non-static setter for text** `af5c3f1 `__ +- **feat(table): add property interface support** `f66cc41 `__ +- **feat(menu): add property interface support** `8bf6952 `__ +- **feat(buttonmatrix): add property interface support** `847cc0c `__ +- **feat(led): add property interface support** `43f35a2 `__ +- **feat(line): add property interface support** `5ac2ca4 `__ +- **feat(switch): add property interface support** `0fb0f37 `__ +- **feat(checkbox): add property interface support** `7f924a3 `__ +- **feat(textarea): static and non-static setter for accepted_chars** `e20517a `__ +- **feat(dave2d): always invalidate cache when using Renesas RZA** `9d14a04 `__ +- **feat(draw_buf): add missing D-Cache flush** `d703c3a `__ +- **feat(draw_buf_convert): add missing profiler** `4016f35 `__ Performance ~~~~~~~~~~~ -- **perf(EVE): buffered writes** `9051 `__ -- **perf(egl): improve egl performance** `8966 `__ -- **perf(GIF): Faster GIF library drop-in replacement** `8743 `__ -- **perf(tests): remove duplicate vg-lite compilation** `8841 `__ -- **perf(test_perf): increase the refresh rate to 60 FPS** `8751 `__ -- **perf(vg_lite): optimize GPU fill rendering performance** `8609 `__ -- **perf(vg_lite): optimize the memory usage and search speed of grad item** `8474 `__ -- **perf(snapshot): render from the top object when taking snapshot.** `8424 `__ -- **perf(text): reduce the get glyph function call** `8364 `__ -- **perf(draw): only dispatch refreshing disp** `8305 `__ -- **perf(arc_label): optimization enhancement of arc label algorithm** `b49bba5 `__ +- **perf(draw/opengl): use glScissor for opaque fills** `9222 `__ +- **perf(label): make LAYOUT_COMPLETED a display event** `9215 `__ +- **perf(vg_lite): add bitmap font cache for non-aligned fonts** `9343 `__ +- **perf(line): check that line has at least 2 points before drawing** `9185 `__ +- **perf(gltf): optimize gltf material negotiation** `9038 `__ +- **perf(opengl): remove long delay when destroying shader programs** `9037 `__ +- **perf(label): reduce lv_label_refr_text calls** `9041 `__ Fixes ~~~~~ -- **fix(windows): correctly calculate Windows window-size** `9060 `__ -- **fix(g2d): properly check and free an item from the map** `9065 `__ -- **fix(DMA2D): fix non-async mode build failure** `9069 `__ -- **fix(vg_lite_driver): general fixes at the vglite driver and vglite draw unit link** `9063 `__ -- **fix(label): ignore empty translation tags** `9062 `__ -- **fix(examples): fix format specifier warning** `9066 `__ -- **fix(g2d): fix compilation error with G2D version <2.3.0** `9061 `__ -- **fix(chart): fix division by zero if div. line count is 1** `9064 `__ -- **fix(dma2d): enable dma2d clock for STM32N6** `9044 `__ -- **fix(indev): fix off by one error resulting in elastic scroll when disabled** `9047 `__ -- **fix(anim): play animations from their current progress** `9052 `__ -- **fix(draw_sw): sw vector graphic partial mode fix y_offset** `9006 `__ -- **fix(wayland): correctly get driver data in lv_wayland_assign_physical_display** `9017 `__ -- **fix(draw/neon): disable function using an invalid intrinsic on arm32** `9019 `__ -- **fix(OpenGL/DRM): fix misc info logs** `9027 `__ -- **fix(draw/vglite): update the wait interrupt function to use the lv_sync_wait instead of the FreeRTOS Semaphore specifc API** `9007 `__ -- **fix(draw): fix render issue when triangle overhangs by sorting points** `9002 `__ -- **fix(table): remove free calls to user data** `8881 `__ -- **fix(wayland): bind driver data to display's driver data instead of user data** `8991 `__ -- **fix(wayland): multiple windows fix and wl_output support** `8923 `__ -- **fix(assert): revert asserting in `lv_assert_handler` function** `8976 `__ -- **fix(file_explorer): fix mem leak when sorting by file kind** `8935 `__ -- **fix(themes): add malloc assert checks** `8977 `__ -- **fix(drm/egl): correctly match egl config in config select cb** `8978 `__ -- **fix(sdl): support UTF-8 characters in the keyboard** `8906 `__ -- **fix(xml): add the missing parsing of min/max subject limits** `8971 `__ -- **fix(wayland): bind draw buffers to the window instead of the shm_context** `8878 `__ -- **fix(draw_buf): check range for draw buffer when accessing pixel** `8907 `__ -- **fix(opengles): add missing variable declaration** `8969 `__ -- **fix(menu): larger bitfield for enum value needed on Windows** `8965 `__ -- **fix(gdb/draw_buf): validate and correct expected data size for pixel buffer** `8944 `__ -- **fix(EVE): align the dummy buf to 4 bytes** `8953 `__ -- **fix(vg_lite): change log level from info to warning for unsupported gradient features** `8947 `__ -- **fix(fbdev): fix stride, bounds checking, and partial flushes in direct render mode in flush callback** `8914 `__ -- **fix(vg_lite): replace FLT_MIN to -FLT_MAX** `8940 `__ -- **fix(matrix): fix matrix transformation area coordinate error** `8928 `__ -- **fix(vector): rename and enhance rectangle path function with xywh parameters** `8934 `__ -- **fix(msgbox): remove superflous dependency check** `8916 `__ -- **fix(sysmon): division by zero error** `8918 `__ -- **fix(flex): fix alignment issue when using rtl in flex layout** `8929 `__ -- **fix(vector): adjust image stride handling in fill pattern and add test case** `8815 `__ -- **fix(vg_lite): fix build break after LV_USE_VECTOR_GRAPHIC is turned off** `8912 `__ -- **fix(keyboard): add missing dependency checks** `8917 `__ -- **fix(wayland): fix stride calculation when iterating over drawbuf** `8915 `__ -- **fix(kconfig): add TinyTTF cache count setting support** `8919 `__ -- **fix(memfs): use string only in lv_fs_path_ex_t for better compatibility** `8571 `__ -- **fix(os): make lv_lock/unlock public as they should be used by the users** `8889 `__ -- **fix(menu): allow using menu section as parent of menu container** `8884 `__ -- **fix(xml): fix grid support** `8888 `__ -- **fix(font): fix stride calculation of fonts** `8887 `__ -- **fix(label): make long dot mode compatible with static text** `8823 `__ -- **fix(opengles): fix memory leak when shader compilation fails** `8854 `__ -- **fix(sysmon): handle LV_SYSMON_PROC_IDLE_AVAILABLE disabled in lv_linux** `8871 `__ -- **fix(profiler): remove macro for external usage** `8894 `__ -- **fix(span): opt span ellipsis more precise in omitting text** `8864 `__ -- **fix(file_explorer): ensure current_path is null-terminated after appending '/'** `8797 `__ -- **fix(gdb): use stride to get actual buffer width for display dump** `8853 `__ -- **fix(draw/dave2d): prevent deadlock by avoid to flush the GPU buffer when empty.** `8869 `__ -- **fix(fbdev): fix segfault when using display rotation** `8850 `__ -- **fix(dmabuf): flicker when the buffers are swapped for new frame** `8563 `__ -- **fix(label): issue when setting fmt text with long mode dots** `8781 `__ -- **fix(vglite): arc_path calculation overflow on VGLite** `8847 `__ -- **fix(draw/dave2d): redefine fixed point macros** `8859 `__ -- **fix(xml): fix multiple delimiter handling in lv_xml_split_str** `8858 `__ -- **fix(svg): fix stroke dash style not restore bug.** `8844 `__ -- **fix(draw/sw): check that malloc doesn't return a NULL pointer** `8756 `__ -- **fix(wayland): throw error when using dmabuf without 2 draw buffers** `8744 `__ -- **fix(span): fix text width calculations and improve ellipsis handling** `8821 `__ -- **fix(tjpgd): Fixed memory leak if opening JPEG image failed.** `8707 `__ -- **fix(sdl): The default size is fixed** `8808 `__ -- **fix(opengl): fix multiple issues with shader manipulation** `8832 `__ -- **fix(draw/convert): fix duplicate c declaration symbol during docs build** `8827 `__ -- **fix(indev_gesture): fix memory leak when deleting indev** `8814 `__ -- **fix(cache): make the cache module private** `8793 `__ -- **fix(gltf): add missing initialization call for viewer attribute** `8807 `__ -- **fix(label): preserve recolor state across line wrapping** `8755 `__ -- **fix(draw/dma2d): fix freezing in async mode.** `8765 `__ -- **fix(draw/pxp): fix alignment issue on cache flush.** `8764 `__ -- **fix(profiler): fix crash during lv_deinit** `8788 `__ -- **fix(freetype): fix crash during lv_deinit** `8787 `__ -- **fix(lodepng): check that src is not null before calling memcpy** `8791 `__ -- **fix(jpeg): fix to use source stride when copy jpeg** `8778 `__ -- **fix(style): format error in log call** `8754 `__ -- **fix(test_span): remove the reference before deleting the font** `8753 `__ -- **fix(event): don't try to trickle to deleted widgets** `8777 `__ -- **fix(vg_lite): fix rotated vector font clipping error** `8739 `__ -- **fix(EVE): rounded arcs with transparency** `8767 `__ -- **fix(image): reset img when src_type is unknow or info is wrong** `8716 `__ -- **fix(image_decoder): fix memory leaks caused by multi-core rendering** `8735 `__ -- **fix(image): fix unused var warning when LV_LOG_WARN isn't available** `8591 `__ -- **fix(tests): fix gcovr report generation failure** `8727 `__ -- **fix(canvas): add the missing D-Cache flush** `8736 `__ -- **fix(test_cache): fix access to freed stack variables** `8717 `__ -- **fix(draw_span): add missing line_space attribute to dsc and remaining_len check** `8718 `__ -- **fix(drivers): fix compile error for st ltdc** `8704 `__ -- **fix(scale): initialize label size if text is NULL** `8699 `__ -- **fix(evdev): add support for multi-touch** `8173 `__ -- **fix(SVG): fix SVG decoder memory leak. close decoder** `8658 `__ -- **fix(eve): fix image double ended clipping in EVE** `8675 `__ -- **fix(xmls): fixed division lines in Chart XML API** `8681 `__ -- **fix(EVE): fix EVE build break** `8672 `__ -- **fix(vg_lite): remove the 16px width limit for image tile drawing mode** `8661 `__ -- **fix(vg_lite_tvg): fix matrix calculation inconsistency with hardware behavior** `8666 `__ -- **fix(vg_lite): always use phy_clip_area as the scissor area** `8669 `__ -- **fix(indev): always assign data->point to the primary point instead of…** `8596 `__ -- **fix(draw):fix lv_matrix_transform_point** `8667 `__ -- **fix(demos/widgets): add missing aligned font resource declarations** `8647 `__ -- **fix(vg_lite): fix incorrect handling of ARGB8888_PREMULTIPLIED** `8610 `__ -- **fix(vg_lite_tvg): fix incorrect stride handling** `8648 `__ -- **fix(textarea): fill letter space with selection bg color.** `8238 `__ -- **fix(msgbox): fix memory leak and correct LV_ASSERT_MALLOC parameters** `8624 `__ -- **fix(textarea): label scroll to the cursor pos when textarea size change** `8548 `__ -- **fix(scripts): Union syntax compatible with Python 3.8** `8641 `__ -- **fix(font loader): overflow error when calculating ids size** `8617 `__ -- **fix(svg): cast char to unsigned preventing char subscription errors** `8619 `__ -- **fix(example/label): make animation repeat indefinitely** `8621 `__ -- **fix(tabview): emit LV_EVENT_VALUE_CHANGED on header-button taps** `8537 `__ -- **fix(dropdown): support aligning the dropdown button's text** `8601 `__ -- **fix(mem): change variable attribute location** `8593 `__ -- **fix(grid): fix uninitialized var warnings** `8592 `__ -- **fix(dropdown): check for NULL in dropdown label before dereferencing** `8543 `__ -- **fix(xml): set correct param type for subject_set_string_event** `8595 `__ -- **fix(xml): add missing type for lv_arc start/end angles** `8580 `__ -- **fix(xml): specify element type="void" for event/screen events** `8577 `__ -- **fix(xml): fix incorrect prop names in lv_arc** `8562 `__ -- **fix(label): fix label clip overflow** `8557 `__ -- **fix(NemaGFX): non-grad triangle coords** `8524 `__ -- **fix(draw_vector): ensure vector_graphic can be used if it's enabled** `8522 `__ -- **fix(svg): add log for unsupport path command.** `8545 `__ -- **fix(xml): add missing subject_set_float_event to the schema** `8538 `__ -- **fix(lv_example_bar_7): make bar fit in 320x240 box for webpage** `8525 `__ -- **fix(xml): fix scale section props** `8528 `__ -- **fix(draw/g2d): use image stride if it's set** `8503 `__ -- **fix(snapshot): not all children rendered during snapshot** `8479 `__ -- **fix(indev): set the timestamp only if it was not set in the read_cb** `8501 `__ -- **fix(wayland): call display_flush_ready on intermediate frames** `8471 `__ -- **fix(examples): wrap logging code with LV_USE_LOG to avoid unused variable warnings** `8377 `__ -- **fix(g2d): calculate stride because it may not be set in the image descriptor** `8483 `__ -- **fix: include v9.2 api map to avoid breaking changes** `8490 `__ -- **fix(vg_lite): fix grad item not fully initialized** `8486 `__ -- **fix(draw/sw_mask): fix potential buffer overflow** `8478 `__ -- **fix(lv_deinit): only call xml test call when both LV_USE_XML and LV_USE_TEST are enabled** `8482 `__ -- **fix(indev): decouple scroll momentum decay from indev read loop (#6832)** `7794 `__ -- **fix(draw_sw): fix ARGB8888PM case where the color of dest and src is the same but opa is different.** `8454 `__ -- **fix(wayland): Avoid premultiplication at the driver level if LVGL is already rendering in pre-multiplied alpha.** `8456 `__ -- **fix(dropdown): handle the case where options are null lv_dropdown_add_option** `8338 `__ -- **fix(xml): handle LV_STATE_USER_1-4** `8451 `__ -- **fix(assert): fix lv_assert_handler function static analyze complain** `8447 `__ -- **fix(blend/helium): eliminate duplicate function declarations** `8402 `__ -- **fix(draw): Fix unused function warning for blending** `8414 `__ -- **fix(bin_decoder): don't flush cache in case of `use_directly`** `8411 `__ -- **fix(svg): fix some svg issues.** `8378 `__ -- **fix(span): fix correct text length calculation** `8368 `__ -- **fix(uefi): include configuration header instead of full LVGL header** `8380 `__ -- **fix(sdl): add malloc check after reallocating memory** `8369 `__ -- **fix(draw_vector): fix the unprocessed layer opa in vector rendering** `8294 `__ -- **fix(kconfig): Fix depends clauses for LV_USE_OS** `8392 `__ -- **fix(thorvg): fix compilation on thread-less platforms** `8373 `__ -- **fix(thorvg): include alloca on zephyr** `8381 `__ -- **fix(xml): fix screen names and extended component names** `b441ec3 `__ -- **fix(custom.js): fix to correctly deal with when...** `45e4041 `__ -- **fix(xml): make all obj elements type=void** `8de083e `__ -- **fix(xml): minor fixes in parsers** `dea37bd `__ -- **fix(custom.js): fix examples code-folding issue...** `706715f `__ -- **fix(xml): find constants in styles in the global scope** `84acb67 `__ -- **fix(arc_label): fix the pointer overflow issue in 32-bit mode** `059eb4a `__ -- **fix(grid): ignore grids without row or column descriptors** `38000e8 `__ -- **fix(xml): process 'align' style property** `ec0e3cf `__ -- **fix(xml): fix prop order of subject_set_*** `f7dc114 `__ -- **fix(xml): fix wrong tag names for subject events** `8599e9b `__ -- **fix(xml_animation): use lv_obj_find_child_by_name instead of lv_obj_get_child_by_name** `876dacb `__ -- **fix(scripts/prerequisites-apt): corrected freetype version number for verification** `dccab75 `__ -- **fix(properties.py): fix to comply with adjustments** `3a4cf38 `__ -- **fix: add `brotli` module required for `fonttools` to...** `4c6624b `__ -- **fix(obj xml): fix typo in style_shadow_width** `42a391d `__ -- **fix(texarea xml): rename placeholder to placeholder_text** `3f41172 `__ -- **fix(xml): fix event_cb parser typo (trigger_str -> trigger)** `244f9cc `__ -- **fix(scripts/prerequisites-apt): add missing libsdl2-dev:i386 installation** `c0d08d8 `__ -- **fix(keyboard xml): add number mode** `248192f `__ -- **fix(xml): add missing lv_xml_widget.h include** `6ff3cee `__ -- **fix(xml): fix better handling broken components** `592df6b `__ -- **fix(docs): fix docs build for arclabel example building** `f40e0e5 `__ +- **fix(blur): render non-backdrop blur when the main rendering is done** `9752 `__ +- **fix(refr): flag when all tasks are added to screen layers** `9739 `__ +- **fix(cmake): declare `fatfs` as private dependencies** `9742 `__ +- **fix(wayland/g2d): fix busy buffer warnings** `9730 `__ +- **fix(draw/g2d): disable image rendering** `9729 `__ +- **fix(NemaGFX): Add back support for indexed images** `9714 `__ +- **fix(core): add missing includes for external data feature** `9715 `__ +- **fix(freetype): check if ctx is null before deleting font** `9728 `__ +- **fix(opengl): correctly apply matrix transforms** `9726 `__ +- **fix(wayland): read and flush compositor events on a timer** `9720 `__ +- **fix(wayland/shm): damage surface before returning if not last flush** `9721 `__ +- **fix(thorvg): ensure height is always positive** `9712 `__ +- **fix(indev): only reset last point and it's movement only if no previous object existed** `9707 `__ +- **fix(uefi): add missing trailing newline to driver headers** `9710 `__ +- **fix(gles): transpose lv_matrix_t before uploading to shader** `9703 `__ +- **fix(flex): use min size when item is set to grow and parent is LV_SIZE_CONTENT** `8806 `__ +- **fix(gltf): flip vertically by default** `9694 `__ +- **fix(draw/opengles): red/blue channel swap in fill operations** `9693 `__ +- **fix(LTDC): warn when rotating and DRAW_SW is disabled** `9670 `__ +- **fix(arc): handle indicator padding for knob position and arc invalidation area** `9302 `__ +- **fix(dave2d): fix several rendering issues (mostly restore the original alpha)** `9566 `__ +- **fix(draw/helium): include lv_conf_internal to avoid C declarations** `9658 `__ +- **fix(fbdev): use display offset and clip area to display area** `9668 `__ +- **fix(draw/line): fix buffer overflow when point is outside display area** `9669 `__ +- **fix(gltf): avoid resetting value_changed node attribute** `9674 `__ +- **fix(gltf): remove designated initializers causing warnings** `9676 `__ +- **fix(gltf/data): add missing extern "C" to header file** `9679 `__ +- **fix(ibl_sampler): restore gl state and add missing ressources deletion** `9678 `__ +- **fix(stdlib): wrong variable name when mem_add_junk is enabled** `9677 `__ +- **fix(fbdev): add missing errno.h include** `9673 `__ +- **fix(image): add transform support for AL88 color format images** `9627 `__ +- **fix(svg): set stride in decoder info to prevent warning** `9657 `__ +- **fix(g2d): fix hardware version check with LV_USE_PXP** `9644 `__ +- **fix(run_tests.sh): fix gcov versions mismatch issue** `9652 `__ +- **fix(image): incorrect L8 image alpha channel to ARGB8888 blend** `9645 `__ +- **fix(draw/arc): add missing lv_draw.h include** `9640 `__ +- **fix(gstreamer): empty frame queue on destruction** `9633 `__ +- **fix(lovyan_gfx): resolve double rotation in touch coordinates** `9628 `__ +- **fix(property): remove LV_PROPERTY_TEXTAREA_INSERT_REPLACE (#9606)** `9625 `__ +- **fix(property): fix reading style property returns uninitialized if non-local** `9234 `__ +- **fix(blur): fix regression causing VS compiler error** `9620 `__ +- **fix(obj_pos): alignment is not reversed when switching from LTR to RTL** `9616 `__ +- **fix(dropdown): symbol property behaves like IMGSRC instead of TEXT** `9608 `__ +- **fix(drm): set stride for draw buffers** `9609 `__ +- **fix(textarea): scroll to position when style changes** `9407 `__ +- **fix(grid): negative width of the object with column span in the grid using RTL** `9596 `__ +- **fix(obj_pos): incorrect x coordinate in rtl mode** `9598 `__ +- **fix(draw/sw): add missing LV_PROFILER_DRAW_END** `9601 `__ +- **fix(wayland/egl): fix config selector for nanovg** `9603 `__ +- **fix(opengl): fallback to RGB for desktop GL** `9588 `__ +- **fix(gltf): add missing LV_RESULT_INVALID check** `9580 `__ +- **fix(gltf): fix memory leaks caused by incomplete resource cleanup** `9579 `__ +- **fix(opengles_shader): fix index out of bounds** `9573 `__ +- **fix(gltf): fix unused-function warning** `9576 `__ +- **fix(gltf): fix heap use after free caused by timer not being deleted** `9574 `__ +- **fix(widget/span): undefined lv_subject_t if LV_USE_OBSERVER undefined** `9577 `__ +- **fix(glfw): add gl_rgb565 fallback definition** `9575 `__ +- **fix(egl): add missing ctx null check** `9572 `__ +- **fix: remove unused code and fix code signature warning** `9570 `__ +- **fix(lodepng): fix memory leak when cache addition fails** `9569 `__ +- **fix(draw_sw): remove unused code in `lv_draw_sw_blend_to_a8.c`** `9567 `__ +- **fix: format specifier warning in font manager** `9549 `__ +- **fix(test): add missing malloc check to screenshot compare** `9541 `__ +- **fix(xml): pass raw # if there's no constant name** `9418 `__ +- **fix(drm/egl): red and blue channel swap with RGB565** `9461 `__ +- **fix(arclabel): fix arclabel opa set** `9483 `__ +- **fix(refr): restore layer opacity and recolor properties when layer area retrieval fails** `9521 `__ +- **fix(vg_lite): fix the missing handling of rotated vector fonts g->ofs_x** `9519 `__ +- **fix(vg_lite): workaround vg_lite_blit_rect offset x/y hardware bug** `9522 `__ +- **fix(draw_sw_line): fix horizontal line incorrect dash length** `9501 `__ +- **fix(draw): support RGB565_SWAPPED in software blur** `9512 `__ +- **fix(wayland): fix touch support by correctly setting driver data** `9486 `__ +- **fix(vg_lite): fix incomplete coordinate calculation when converting scissor_area to bounding_box_area** `9511 `__ +- **fix(vg_lite): wait for vg_lite_tvg finish before drawing the mask** `9489 `__ +- **fix(anim): ignore large apparent animation duration** `9280 `__ +- **fix(arclabel): fix arclabel arc length calc in recolor mode** `9467 `__ +- **fix(image_header_cache): fix dump iter selection error** `9465 `__ +- **fix(arclabel): fix arc length calculating precise** `9457 `__ +- **fix(opengl): compilation error when using glfw** `9459 `__ +- **fix(image_cache): fix image cache dump memory leaks** `9448 `__ +- **fix(conf_internal): explicitly disable the glTF demo when build_demo is disabled** `9408 `__ +- **fix(gltf): remove fastgltf memory mapped file feature check** `9422 `__ +- **fix(gltf): correct argument type to match declaration** `9421 `__ +- **fix(gltf): add declaration for loading model from bytes** `9420 `__ +- **fix(demo): fix compiler warning of unused variable c** `9370 `__ +- **fix(flex): fix rounding may leave unused space on track with flex_grow** `9217 `__ +- **fix(gstreamer): fix buffer map memory leak** `9378 `__ +- **fix(draw/dma2d): correct cache handling** `9366 `__ +- **fix(gltf): stride mismatch issue** `9385 `__ +- **fix(gltf): force depth mask for transparent items used with refractive materials** `9396 `__ +- **fix(tabview): re-set tab bar size after changing its position** `9399 `__ +- **fix(demo): fix compiler warnings regarding the use of LV_UNUSED** `9403 `__ +- **fix(tiny_ttf): release entry for correct cache** `9429 `__ +- **fix(cache): entry alloc** `9427 `__ +- **fix(xml): allow animating bg_image_opa in XML timelines** `9425 `__ +- **fix(opengles): fix the memory leak when the shader manager is destroyed (#9439)** `9440 `__ +- **fix(rb): make compare result type a 32bit integer** `9442 `__ +- **fix(draw_buf):change the align log level to INFO** `9428 `__ +- **fix(gltf): correctly handle matrices for animation and cameras** `9273 `__ +- **fix(nuttx): fix profiler build break** `9417 `__ +- **fix(blur): fix VS compiler error** `9391 `__ +- **fix(freetype): set pixel size before kerning calculation (#9367)** `9388 `__ +- **fix(xml): fix compile warning of uninitialized value** `9368 `__ +- **fix(gif): compatibility issue when logging uint32_t variables** `9349 `__ +- **fix(display): always have a solid background with non-alpha color formats** `9380 `__ +- **fix(demo): make the Log out and Invite button not overlap on 480 hor. res.** `9383 `__ +- **fix(roller): transformed roller click location** `9212 `__ +- **fix(screen): double free when loading screens** `9276 `__ +- **fix(ime): restrict to lowercase input to avoid overflow** `9320 `__ +- **fix(spinbox): fix stack corruption** `9256 `__ +- **fix(binfont_loader): add include to include missing function from API page** `9344 `__ +- **fix(ESP): fix esp toolchain format specifier edge case** `9336 `__ +- **fix(EVE): update lv_font_fmt_txt.h include path** `9337 `__ +- **fix(gif): fix negative loop count handling** `9241 `__ +- **fix(sdl): do not dereferencing nullptr in lv_sdl_mouse_handler if an invalid windows id (0) has been received** `9299 `__ +- **fix(label): skip label draw if width is negative** `9297 `__ +- **fix(indev): send LV_EVENT_KEY as indev event** `9208 `__ +- **fix(glfw): fix deinitialization order to prevent segfault** `9220 `__ +- **fix(draw/sw): remove param from draw_sw_mask_rect** `9288 `__ +- **fix(property): fix return type of LV_PROPERTY_OBJ_SCROLL_END** `9203 `__ +- **fix(property): fix some non-integer style property types** `9245 `__ +- **fix(indev): ensure timer triggers when elapsed time meets threshold** `9275 `__ +- **fix(gif): add disposal handle to fix gif display error** `9213 `__ +- **fix(scripts/check_gcov_coverage): skip statistics for non-executable lines** `9239 `__ +- **fix(vg_lite): add a path print length limit** `9248 `__ +- **fix(NemaGFX): update lv_font_fmt_txt.h include path** `9235 `__ +- **fix(draw/ppa): fix build and rendering issues** `9162 `__ +- **fix(widgets): make animations on state change more consistent** `9174 `__ +- **fix(workflows): fix commit ID error in push events mode** `9231 `__ +- **fix(gif): add missing D-cache flush** `9228 `__ +- **fix(label): lv_label_mark_need_refr_text not invalidate area** `9176 `__ +- **fix(ffmpeg_player): increase align to 32** `9166 `__ +- **fix(driver/st_ltdc): Add missing lv_os_private.h include** `9191 `__ +- **fix(LTDC): add cache cleaning** `9192 `__ +- **fix(fbdev): Implement proper cleanup from deletion event in FBDEV** `9169 `__ +- **fix(example): correct lv_example_chart_5 display** `9177 `__ +- **fix(canvas): correct RGB565 pixel offset in lv_canvas_get_px** `9188 `__ +- **fix(ffmpeg): for nv12 pix_fmt** `9131 `__ +- **fix(opengles): update fb address after reshaping texture** `9134 `__ +- **fix(obj_tree): fixes exact object name match** `9150 `__ +- **fix(gltf): fix indexation of model binds and and a new uniform scale bind** `9102 `__ +- **fix(fs): set data to NULL if read file failed** `9156 `__ +- **fix(keyboard): remove and add state to text area instead of keyboard** `9105 `__ +- **fix(indev): Abort sending Keypad INDEV_ACT events following invalid return** `9135 `__ +- **fix(xml): correclty use integer format specifier** `9133 `__ +- **fix(test): fix memory leak on failed screenshot compare** `9088 `__ +- **fix(scale): incorrect decrement in lv_scale_set_line_needle_value loop** `9081 `__ +- **fix(vg_lite): fix warning if LV_LOG option is closed** `9094 `__ +- **fix(flex): fix crash with flex_grow on screen** `9090 `__ +- **fix(drm): fix drm driver memory leaks** `31e4138 `__ +- **fix(gltf): convert baseColorFactor to sRGB for more accurate mid-range colors** `bdb7099 `__ +- **fix(workflows): skip the coverage analysis if it's not a pull request** `b9cdc4a `__ +- **fix(dave2d): fix leftover typo from #8725** `abec5b7 `__ Examples ~~~~~~~~ -- **examples(scale): Compass style rotating scale** `8445 <(https://github.com/lvgl/lvgl/pull/8445)>`__ - Docs ~~~~ -- **docs(xml): fix the descripton of how to initialize the UI from C** `9070 `__ -- **docs(README): remove outdated content and add new features** `9023 `__ -- **docs(xml): Fix array type description count to 3 (#9013)** `9028 `__ -- **docs: update the esp docs indentation at the FS section.** `9031 `__ -- **docs(editor): improve installation and figma docs** `8998 `__ -- **docs(drivers): fix broken links** `9022 `__ -- **docs(espressif): fix indentation at file system reconfigure project.** `9024 `__ -- **docs(xml/events): rename page to avoid confusion when searching documentation** `8995 `__ -- **docs(flags): add chapter explaining how to add/remove multiple flags** `9000 `__ -- **docs(events): add explanation about lv_event_get_target_obj warning and tips** `8996 `__ -- **docs(xml): add missing licence files** `8984 `__ -- **docs(editor): add missing intro pages and minor tweaks** `8983 `__ -- **docs: split indev, style, and widget basics to multiple pages** `8943 `__ -- **docs(editor): add XML and C integration guides and minor refactoring** `8954 `__ -- **docs(xml): add help texts in XMLs** `8961 `__ -- **docs(pc): add the missing PC simulator docs** `8824 `__ -- **docs(editor): add cli docs** `8970 `__ -- **docs(snapshot): complementary color format** `8780 `__ -- **docs(xml): add online share docs** `8973 `__ -- **docs(editor): add docs specific to editor** `8972 `__ -- **docs(style): update font sizes and weights for improved readability** `8968 `__ -- **docs(events): fix grammatical issue** `8782 `__ -- **docs (frameworks): PlatformIO** `8942 `__ -- **docs(xml): add placeholder for editor docs** `8910 `__ -- **docs(misc): fix doc issues described in issue #8839** `8857 `__ -- **docs(timer/indev): add example section about indev interrupts resuming the indev timer** `8843 `__ -- **docs(opengl): add opengl overview page** `8838 `__ -- **docs(xml): reorganize and add better descriptions** `8818 `__ -- **docs(espressif): update esp32 documentation** `8830 `__ -- **docs(Kconfig): clarify comments about driver-identifier letter** `8851 `__ -- **docs(misc): fix multiple formatting errors and typos** `8738 `__ -- **docs(misc): fix formatting errors, typos and missing reference** `8748 `__ -- **docs(style): fix arrows in code blocks** `8819 `__ -- **docs: fix indev.rst typo** `8721 `__ -- **docs(xml): next set of XML-doc refinements** `8740 `__ -- **docs(STM32): simplify and rewrite** `8768 `__ -- **docs(mipi): align return type of callbacks in documentation with code** `8803 `__ -- **docs(integration): reorganize the files** `8701 `__ -- **docs(wayland): use correct window create function name** `8731 `__ -- **docs: miscellaneous improvements** `8552 `__ -- **docs(image.rst): remove reference to True Color which was removed in v9.0** `8700 `__ -- **docs(misc): fix several issues:** `8714 `__ -- **docs(keyboard): fix typos and unify comments** `8391 `__ -- **docs(misc): fix several issues** `8698 `__ -- **docs(api_doc_builder.py): fix frail assumptions in API-page generation** `8694 `__ -- **docs(xml): results of minor amount of proofreading** `8604 `__ -- **docs(drivers): Update st7796.rst URL** `8687 `__ -- **docs(image): document the fact that indexed data is stored as argb8888** `8620 `__ -- **docs: update docs styling** `8585 `__ -- **docs(custom.css): fix text color on view-on-github example buttons** `8652 `__ -- **docs(custom.css): Fix field list items being jammed together** `8639 `__ -- **docs: remove outdated references to LV_ZOOM_IMAGE_NONE** `8632 `__ -- **docs(LTDC): Clarify LTDC framebuffer address meaning** `8615 `__ -- **docs(list formatting): fix erroneous list formatting** `8602 `__ -- **docs(readme): fix broken links** `8605 `__ -- **docs(style): fix definition-list indentation** `8616 `__ -- **docs(intro): improve initial presentation of LVGL...** `8597 `__ -- **docs(renesas): mention relevant information about FSP 6.0** `8572 `__ -- **docs: fix wording in display event, viewe and renesas** `8546 `__ -- **docs(home): fix links** `8560 `__ -- **docs(intro): reorganize and simplify** `8389 `__ -- **docs: remove outdated doc material** `8520 `__ -- **docs(xml): restructure and extend the XML docs** `8495 `__ -- **docs(Renesas): Add Renesas RA8P1 docs** `8509 `__ -- **docs(readme): add Hebrew language section to documentation** `8345 `__ -- **docs(wayland): add missing documentation about its config options** `8476 `__ -- **docs: fix spacing between same-level sections and h4 and link colors** `8443 `__ -- **docs(lv_conf): fix links** `8462 `__ -- **docs(1-level TOC styling): multiple fixes...** `8431 `__ -- **docs: Fix several typos and punctuation** `8427 `__ -- **docs(calendar): fix typo** `8413 `__ -- **docs(boards): Add Viewe Knob Display links** `8461 `__ -- **docs(doc-build warnings): fix warnings caused by LV_FORMAT_ATTRIBUTE** `8384 `__ -- **docs(xml): add license for the XML format** `8438 `__ -- **docs(observer): fix typo in parameter description** `8372 `__ -- **docs(custom.css): partially address code-highlighting problem...** `8374 `__ -- **docs(CHANGELOG.rst): fix link to SVG support page** `8356 `__ -- **docs(CHANGELOG.rst) replace `kisvegabor/lvgl_upstream` with...** `9cf1e38 `__ -- **docs: generate changelog** `05d8b9e `__ -- **docs: Lot of smaller improvements based on feedback** `2b9592e `__ -- **docs(custom.js): The custom.js file now contains the version selector controller JavaScript and other methods that were previously directly added to the main layout.** `8541a11 `__ -- **docs(custom.css): enhance styling and add custom CSS variables** `4f843e8 `__ -- **docs(data_binding): move the data binding docs to to the given widget's page** `f6f6570 `__ -- **docs: add dynamic announcements from remote .JSON** `77cfa87 `__ -- **docs(furo): convert to furo theme...** `2129d37 `__ -- **docs: Enhance sidebar, remove jQuery dependency** `5b3d6d8 `__ -- **docs(misc): eliminate several Sphinx warnings** `b74ac71 `__ -- **docs(Sphinx Warnings): add name to anonymous enums to...** `55ab01e `__ -- **docs(icons.html): Update SVG icons for improved accessibility and consistency** `a13113b `__ -- **docs(arc_label): add arc label docs** `8487b4c `__ -- **docs: fixed several problems...** `4533d29 `__ -- **docs(misc): minor improvements to:** `450a390 `__ -- **docs(doxygen_xml.py): exclude files that...** `e92ce1f `__ -- **docs(enum-naming): adjustments per conversation with Gábor** `5bc21a4 `__ -- **docs(logo): update dark and light logos** `44a369a `__ -- **docs(custom.css): format field lists** `45575c0 `__ -- **docs(observer): fix minor typos** `0594775 `__ -- **docs(API/index.rst): eliminate Sphinx warnings when...** `0829150 `__ -- **docs(data_binding): fix typos** `db71f48 `__ -- **docs(CHANGELOG.rst): fix parsing error on 8 boldface strings** `82ff3c2 `__ -- **docs(custom.css): Refactor link color variables for improved theming consistency** `f725034 `__ -- **docs(observer): fix subject name in the example** `8003908 `__ -- **docs(properties.py): fix several problems...** `f3370d0 `__ -- **docs(index.rst): Add `hide-toc` furo theme prop to hide sidebar on the homepage and remove main header image.** `af2c420 `__ -- **docs(style): add example values to lv_style_selector_t** `6bcdf3c `__ -- **docs(observer): minor grammar corrections** `989ac6c `__ -- **docs: (custom.css): add caption feature and...** `6f26b71 `__ -- **docs(build.py): make Sphinx exit with status 1 when new warnings show up** `ef4aa46 `__ -- **docs(os/index.rst): put TOC back in apha sequence** `c994e5c `__ -- **docs(custom.css): Fix theme toggle button label color** `bc4b55c `__ -- **docs(Makefile): fix typo for Linux sphinx-build after intermediate directory created** `79e55d4 `__ -- **docs(lv_obj.h): make enum name consistent with enumerators** `3d1b533 `__ -- **docs(lv_obj.h): make enum name consistent with enumerators** `ffb29b0 `__ -- **docs(lv_svg.h): fix build of `lv_svg.c`** `cb76aaa `__ -- **docs(image.rst): fix doc-gen warning** `70f8c52 `__ -- **docs(unneeded): eliminate unneeded docs....** `d2d2acc `__ +- **docs(draw_descriptors): fix examples missing code** `9745 `__ +- **docs(draw/sdl): add missing draw_sw requirement** `9747 `__ +- **docs(renesas): update link in docs to Renesas plugin v1.0.1** `9735 `__ +- **docs(overview): remove conflict marker** `9733 `__ +- **docs(wayland): remove server side window decorations promise** `9708 `__ +- **docs(README): document how to work with :c:macro: role limitation** `9700 `__ +- **docs(integration): make the integration more effective and informative** `9507 `__ +- **docs(win): fix link list in API section** `9697 `__ +- **docs(style_api_gen): add missing * to style API documentation** `9684 `__ +- **docs(animation): clarify constraint in animations** `9686 `__ +- **docs(style API): add API documentation to `style_api_gen.py`** `9637 `__ +- **docs(macros): fix many macro links to API docs** `9533 `__ +- **docs(buttonmatrix): fix event name typo** `9635 `__ +- **docs(rt-thread): update BSP list and place the table and links in a form that is easier to maintain** `9611 `__ +- **docs: add missing xml redirects** `9593 `__ +- **docs(canvas): clarify buffer allocation details** `9563 `__ +- **docs(links): fixed broken external links** `9525 `__ +- **docs(display): mention palette in example flush_cb** `9534 `__ +- **docs(API): link api pages to source code header files** `9456 `__ +- **docs(clipping): document how clipping works in drawing** `9446 `__ +- **docs(editor): Zephyr integration guide.** `9360 `__ +- **docs(ICOP): add docs for board manufacturer ICOP** `9413 `__ +- **docs(color): fix unexpected API page links** `9338 `__ +- **docs(layers): clarify how to control Widget layering** `9379 `__ +- **docs(display_controllers): fix erroneous doc cross-references** `9382 `__ +- **docs(examples): fix erroneous example headings** `9355 `__ +- **docs(3dtexture): fix web link with syntax error** `9357 `__ +- **docs(base_widget.rst): add `obj` example to docs** `9356 `__ +- **docs(custom.css): fix 2 CSS color issues** `9330 `__ +- **docs(examples): add back show c code button in widget pages** `9354 `__ +- **docs(redirects): add redirect for renesas XML integration page** `9345 `__ +- **docs(examples): make `example_list.py` robust** `9317 `__ +- **docs(wayland): remove mention of custom timer handler** `9329 `__ +- **docs(redirects): add redirects from URLs in prev READMEs** `9322 `__ +- **docs(redirects): add redirect for prev getting_started page** `9321 `__ +- **docs(build.py): add changes needed with removal of details/ and intro/ dirs** `9315 `__ +- **docs(color_format): add rgb565 swapped format info** `9310 `__ +- **docs(directory structure): simplify by removing details/ and intro/ dirs** `9313 `__ +- **docs(examples): fix libs/, others/ and porting/ missing from examples page.** `9291 `__ +- **docs(images): remove outdated information and reorganize image docs** `9221 `__ +- **docs(config): improve documentation in config template** `9251 `__ +- **docs(examples): make example pathing more robust** `9308 `__ +- **docs(README): fix typo** `9286 `__ +- **docs(libpng): fix documentation typo** `9290 `__ +- **docs(examples/grad): fix missing source code in gradient examples** `9289 `__ +- **docs(Widget Tree): provide data lost from end of doc** `9158 `__ +- **docs(README): add instructions for new documentation features** `9149 `__ +- **docs(editor): Arduino usage guide** `9104 `__ +- **docs(torizon): update torizon os docs to work with latest LVGL** `9095 `__ +- **docs(Guides): add structure to TOC for Guides section** `9281 `__ +- **docs(tinyttf): remove file loading in the examples** `9266 `__ +- **docs(editor): Add brief section on installing e2 Studio plugin to the docs** `9257 `__ +- **docs(Renesas): Add Renesas RZ/G3E and RA8D2 to docs** `9253 `__ +- **docs(threading): simplify and add work-queue concept to Threading doc** `9106 `__ +- **docs(xml): add Renesas Eclipse / E2Studio docs** `9216 `__ +- **docs(debugging): proofread debugging section** `9163 `__ +- **docs(style): add table width enhancements and bold + italic + underline support** `9124 `__ +- **docs: factor out repeated substitution definitions** `9125 `__ +- **docs(macro api links): fix links to macros in API pages** `9161 `__ +- **docs(mipi): clarify generic MIPI with example code** `9099 `__ +- **docs: move ext links to include dir** `9128 `__ +- **docs: fix enumerator expansion upon API page links** `9114 `__ +- **docs(misc): remove last warnings from doc-build with skip_api argument** `9119 `__ +- **docs(misc): fix typos, grammar and add missing function links to api pages** `9126 `__ +- **docs(gif): fix outdated content about using GIFs as C arrays** `9093 `__ CI and tests ~~~~~~~~~~~~ -- **ci(release_updater): some release_updater fixes and conf.defaults deprecated configs are non-fatal** `9076 `__ -- **ci(release_updater): fix 2 port updater URLs** `9074 `__ -- **ci(pio): fix the PlatformIO publisher action** `9073 `__ -- **ci(docs): fix docs ci by fetching lvgl in default gh workspace folder** `9053 `__ -- **ci(docs): fix docs CI. use the action's checked-out repo for emscripten** `9020 `__ -- **test(docker): add compatibility to tests' dockerfile for arm platforms** `9015 `__ -- **ci(docs): fix examples build error when not rebased fully** `8880 `__ -- **ci(test): generate the I1 test images with pngquant 2.17** `8892 `__ -- **test(bin_decoder): add lv_bin_decoder test case** `8867 `__ -- **ci(stalebot): increase stale and close times to 60 and 14 days** `8840 `__ -- **ci(hw/comment): gracefully exit workflow if triggered by another label** `8828 `__ -- **test(images): update test images according to LVGLImage script** `8790 `__ -- **ci(install): add cmake installation workflow** `8794 `__ -- **tests: add LV_DRAW_BUF_STRIDE_ALIGN = 1 test** `8804 `__ -- **test: fix syntax warning by using invalid escape sequence '\.'** `8792 `__ -- **ci(deps): bump actions/checkout from 4 to 5** `8796 `__ -- **ci:(port_updater): add more CI port updater urls** `8686 `__ -- **tests: rename makefile directory to makefiles.** `8646 `__ -- **ci: add hardware performance test workflow** `8567 `__ -- **ci: find and edit existing comment for benchmark results** `8531 `__ -- **ci: disable benchmark results comment if there's no diff** `8515 `__ -- **ci: emulated perf workflow** `7949 `__ -- **ci(lv_templ): fix filename template mismatches and add CI** `8326 `__ -- **test(perf): add perf test framework** `8064 `__ -- **test(arc_label): add arc_label test cases** `9cf663e `__ -- **test(qrcode): add qrcode quiet zone test** `bdcb291 `__ -- **ci: enable LV_USE_OBJ_NAME as it's required for some XML features** `297aeae `__ -- **ci(hw): add missing fontconfig lib dependency for ejlv** `f5fe4f2 `__ -- **ci: correctly pull the latest results in case it's a PR** `ac36b29 `__ -- **ci(perf/build/hw): remove checkout step from workflow** `7081b45 `__ -- **ci(hw): increase job timeout** `826d167 `__ -- **ci(build/hw): disable relunctant hw builds on pushes to master** `f6198e6 `__ -- **ci: update lv_perf image version to a more stable version** `29eac60 `__ -- **ci(perf/hw): correctly pass github token to command** `0b6cab8 `__ -- **ci: generate a release body for the benchmark results pre-release** `ea86afd `__ +- **test(vector): add more draw vector test case** `9524 `__ +- **test(pinyin): update ref images** `9610 `__ +- **test: fix missing EOL warnings** `9548 `__ +- **test(svg): add svg file testcase** `9535 `__ +- **ci(release): add steps to prepare and upload lite package** `9443 `__ +- **test(canvas): add RGB565 pixel read test** `9516 `__ +- **test(canvas): add canvas test case and fix the null pointer access crash in the draw buffer** `9478 `__ +- **test(slider): add slider test case** `9477 `__ +- **test(async): add async test case** `9475 `__ +- **test(utils): add utils test case** `9474 `__ +- **test(palette): add palette test case** `9473 `__ +- **test(ll): add ll test case** `9472 `__ +- **test(color): add color test case** `9471 `__ +- **test(circle_buf): add circle buffer test case** `9470 `__ +- **test(area): add area test case** `9469 `__ +- **test(arc): add arc test case** `9476 `__ +- **test(fs): add fs test case and add fs mock** `9479 `__ +- **test(snapshot): add snapshot test case** `9481 `__ +- **test(image): add image test case** `9480 `__ +- **test(math): fix lv_pow failure to handle negative numbers exp and add full-feature coverage test** `9450 `__ +- **test(ime_pinyin): fix crash and memory leak and add full-feature coverage test** `9434 `__ +- **test(cache): add cache_entry_alloc** `9438 `__ +- **test(menu): fix double free and add full-feature coverage test** `9432 `__ +- **test(tick): add tick test case** `9416 `__ +- **test: update demo widgets ref image** `9358 `__ +- **ci: deploy doc builds to release folders** `9352 `__ +- **ci(deps): bump actions/checkout from 5 to 6** `9334 `__ +- **ci(deps): bump JamesIves/github-pages-deploy-action from 4.7.3 to 4.7.4** `9333 `__ +- **ci(tests): retain the gcov report for coverage analysis** `9274 `__ +- **test(draw_buf): add draw buf premultiply test** `9259 `__ +- **test(display): improve lv_display test coverage** `9110 `__ +- **test(demo_widgets): add screenshot comparison** `9111 `__ +- **test(theme): improve theme test coverage** `9116 `__ +- **test(mem): improve memory test coverage** `9117 `__ +- **test(vector): add demo vector graphic test** `9130 `__ +- **test(array): improve lv_array test coverage** `9108 `__ +- **test(indev): merge indev testcase** `9071 `__ Others ~~~~~~ -- **chore(cmsis-pack) update cmsis-pack for the last PRs of v9.4.0** `9077 `__ -- **chore(cmsis-pack): Update for v.9.4.0** `8945 `__ -- **chore(conf): remove redundant thorvg definition** `9067 `__ -- **chore: fix examples not showing on docs by fixing path to examplelist.c** `9059 `__ -- **refactor(style): remove dead code** `9040 `__ -- **build(cmake): fix MSVC exports for shared/static libraries on Windows** `9026 `__ -- **build(kconfig): add missing argb8888 premultiplied setting** `8997 `__ -- **chore(deps): bump actions/setup-python from 5 to 6** `8985 `__ -- **chore(deps): bump actions/stale from 9 to 10** `8986 `__ -- **chore(deps): bump actions/checkout from 4 to 5** `8987 `__ -- **chore(deps): bump actions/github-script from 7 to 8** `8988 `__ -- **chore(font): add missing special characters to aligned fonts** `8975 `__ -- **chore(xml): add API docs to lv_xml_update_from_data** `8967 `__ -- **chore: fix lv_font_montserrat_14_aligned.c include** `8951 `__ -- **refactor(opengles): mainline usage of shader manager in opengl driver** `8836 `__ -- **refactor(gdb): lv_global supports lazy loading and refactors some structures and formats.** `8939 `__ -- **refactor(vector): clean up the API of vector drawing** `8922 `__ -- **chore(xml): add guards around widget parsers** `8932 `__ -- **refactor(gdb): re-structure lvglgdb module** `8920 `__ -- **chore(tests): fix typo in qrcode test** `8900 `__ -- **chore(lvconf_gen): generate empty lv_conf.h if it doesn't exist** `8885 `__ -- **chore(repo_updater): add missing boards to the repo updater** `8856 `__ -- **refactor(sysmon): polish the UI with LV_SYSMON_PROC_IDLE_AVAILABLE** `8519 `__ -- **chore(kconfig): add missing LV_OS_SDL2 option to LV_USE_OS** `8831 `__ -- **refactor(opengl): move opengl shader manager to opengles driver** `8829 `__ -- **chore(font): replace arial with liberationsans** `8784 `__ -- **scripts: add the frdm-mcxn-947 to the branch updater script** `8752 `__ -- **chore: remove multiple semicolons** `8723 `__ -- **Fixes bug where multiple events with same callback couldn't be removed in single call.** `8706 `__ -- **chore(deps): bump dawidd6/action-download-artifact from 9 to 11** `8654 `__ -- **build(zephyr): remove zephyr env cmake** `8695 `__ -- **chore(stale): ping maintainers on stale bot comments** `8683 `__ -- **chore(indev): explain why the timer is resumed on press in event driven mode** `8660 `__ -- **chore(configopts): add support for LV_*_USE_* defines** `8575 `__ -- **refactor(text): use struct to pass params to lv_text_* and lv_font_* functions** `8500 `__ -- **chore(examples/scroll): remove unnecessary chinese comments that cause VC compilation failure** `8668 `__ -- **Revert "feat(vg_lite): adapt premultiply src over blend mode (#6062)"** `8649 `__ -- **chore(lv_tree): Code reorganization for lv_tree.h** `8583 `__ -- **refactor(lv_part_t/lv_state_t): refactor to align types with prototypes** `8511 `__ -- **refactor(draw): use better names in lv_draw_task_state_t and handle queued vs in_progress** `8512 `__ -- **Replace legacy v9.0 call** `8633 `__ -- **build(cmake): only set project name if lvgl's cmakelists is root** `8588 `__ -- **chore(test/perf): add ability to debug perf tests** `8569 `__ -- **build(preprocess): replace `which` with shutil.which to provide a cross-platform compatible solution to find pcpp** `8530 `__ -- **build(esp): fix lvgl components requirements** `8527 `__ -- **chore(deps): bump dawidd6/action-download-artifact from 9 to 11** `8513 `__ -- **chore: use filename to better match mpk and json files** `8518 `__ -- **chore: fix typos again** `8295 `__ -- **chore(version): update version numbers to v9.4.0-dev** `8498 `__ -- **refactor(themes): Improved consistency between styles** `8346 `__ -- **chore(xml): fix mismatches between lv_obj elements and their XML schema** `8485 `__ -- **chore(api_doc_builder): fix TOC ordering on API pages.** `8421 `__ -- **chore(NemaGFX): add NemaPVG lib binaries** `8430 `__ -- **chore(refr): advance send LV_EVENT_RENDER_START** `8457 `__ -- **chore(lvglimage): fix indexed image premultiply error** `8367 `__ -- **chore(api_doc_builder): fix regex for unix systems** `8342 `__ -- **chore(image): reduce warning level for src being NULL** `8394 `__ -- **refactor(drm): rename config allowing us to link with GBM automatically** `8203 `__ -- **refactor(xml): use single properties and introduce the prop-paramX syntax** `3e61613 `__ -- **refactor(observer): move bindings to the related widgets** `26fd3e7 `__ -- **chore(arc_label): rename arc_label to arclabel** `9489759 `__ -- **initial commit** `1906242 `__ -- **chore(doc-build): adjustments after discussion with André.** `6d546a8 `__ -- **chore: minor fixed in XML and observer related codes** `b4c9d2e `__ -- **chore(xml): memzero malloced memoried for consitent behavior** `584bac6 `__ -- **chore: minor formatting and optimizations** `b946eb6 `__ -- **refactor(arc_label): improve angle calculations and type safety** `6cbf36a `__ -- **chore(observer): add _event suffix to add_subject_set/increment** `bd9e9d2 `__ -- **chore(arc_label): documentation, formatting, redundant code fixes** `cb593b3 `__ -- **chore(xml): make element access="bind" -> "custom" for more flexibility** `a134a56 `__ -- **revert: revert examples** `272da82 `__ -- **chore(doc-build warnings): struct adjustments to work around Breathe bug** `5d7b2e7 `__ -- **chore: update version** `07271d5 `__ -- **chore(lv_obj.h): fix per discussion** `6639c31 `__ +- **feat(env): always use the C library when building for QNX** `9738 `__ +- **revert(canvas): remove api to skip canvas invalidation when setting pixel** `9751 `__ +- **chore(cmsis-pack): Prepare for v9.5.0** `9748 `__ +- **build(esp): only add fatfs component if use_fs_fatfs is enabled** `9746 `__ +- **chore(font_gen): replace os.system with subprocess.run** `9689 `__ +- **build(deps): bump dawidd6/action-download-artifact from 12 to 14** `9666 `__ +- **build(deps): bump JamesIves/github-pages-deploy-action from 4.7.6 to 4.8.0** `9667 `__ +- **chore(ppa): update cache alignment error message for 128-byte lines** `9526 `__ +- **chore(gif): move GIF Widget to widgets/ directory** `9617 `__ +- **chore(docs): lock sphinx version to 8.2.3** `9626 `__ +- **chore(msgbox): fix the incorrect return value docs** `9584 `__ +- **chore: fix warning of span testcase** `9547 `__ +- **refactor(opengles): set texture id to layer head on disp creation** `9397 `__ +- **chore(CODEOWNERS): add @FASTSHIFT to default owners** `9531 `__ +- **refactor(canvas): clarify parameter names for lv_canvas_copy_buf** `9414 `__ +- **build(cmake): check if demos and examples exist** `9510 `__ +- **build(esp): add missing lv_demos.c source file to esp build process** `9517 `__ +- **chore(tests): clean up erroneously submitted temporary files** `9515 `__ +- **refactor(gif): add new API and add full testcase** `9452 `__ +- **chore: add codeowners** `9458 `__ +- **build(deps): bump actions/upload-artifact from 5 to 6** `9495 `__ +- **build(deps): bump JamesIves/github-pages-deploy-action from 4.7.4 to 4.7.6** `9496 `__ +- **build(deps): bump dawidd6/action-download-artifact from 11 to 12** `9497 `__ +- **build(deps): bump actions/cache from 4 to 5** `9498 `__ +- **build(Kconfig): auto select LV_USE_GENERIC_MIPI** `9491 `__ +- **chore(image_converter): add AL88 color format support** `9453 `__ +- **build(kconfig): make log level selection more readable** `9409 `__ +- **build(test): ffmpeg compile error on macOS** `9371 `__ +- **chore: fix compile warnings** `9369 `__ +- **refactor(obj_property): use LV_ARRAYLEN for LV_OBJ_SET_PROPERTY_ARRAY** `9395 `__ +- **refactor(indev): remove the unused last_obj field from lv_indev_t** `9219 `__ +- **chore(lvglgdb): show classp name if lv_class name is not set** `9376 `__ +- **chore(vg_lite): minimize the header file inclusion** `9361 `__ +- **chore(lvglgdb): fix TypeError in lv_obj.py while dump specify object** `9375 `__ +- **chore: update version to v9.5.0-dev** `9350 `__ +- **chore(lv_conf_internal): replace the tab and add automatic checks** `9323 `__ +- **chore: update version to v9.4.0-dev** `9316 `__ +- **chore(tests/unity): fix the case discrepancy in the size_t comparison macro definition** `9318 `__ +- **chore: fix changelog generator to be compatible with reST** `9168 `__ +- **build(Kconfig): add missing support_rgb565_swapped config** `9282 `__ +- **chore(scripts/run_tests): remove redundant apt list commands** `9226 `__ +- **refactor(draw_buf): add inline tag for draw buffer flag functions** `9229 `__ +- **chore(test_conf): fix build break if webp library not installed** `9225 `__ +- **refactor(canvas): remove draw_sw include** `9204 `__ +- **refactor(arc): remove redundant code** `9198 `__ +- **refactor: reorganize the others folder** `9164 `__ +- **build(deps): bump actions/upload-artifact from 4 to 5** `9182 `__ +- **Make scroll animation timing configurable via defines** `9160 `__ +- **build(kconfig): add 3d texture and gltf configs** `9132 `__ +- **chore(gdb): add initial project configuration and installation instructions for lvglgdb** `9145 `__ +- **chore(gdb): support rb/cache associate debug obj and commands** `9089 `__ +- **chore(scripts): remove rz-g2l-evkit from port updater as it still uses v8.3** `9092 `__ +- **chore(vg_lite): correct spelling of 'high' in color key structure** `9087 `__ +- **chore(gdb): add gdb cmd for nuttx drivers to support multi-instance** `9068 `__ +- **chore(widgets): use helper for properties in class** `7193931 `__ +- **chore(property): add macro to help property definitions** `55aa15d `__ +- **Revert "fix(workflows): fix commit ID error in push events mode (#9231)"** `cafeb18 `__ diff --git a/docs/src/introduction/repo.rst b/docs/src/introduction/repo.rst index 24fa0d94c9..17c9752baf 100644 --- a/docs/src/introduction/repo.rst +++ b/docs/src/introduction/repo.rst @@ -89,8 +89,12 @@ Starting from v8, every minor release is supported for 1 year. +---------+--------------+--------------+--------+ |v9.1 | 20 Mar, 2024 | 20 Mar, 2025 | No | +---------+--------------+--------------+--------+ - |v9.2 | 26 Aug, 2024 | 26 Aug, 2025 | Yes | + |v9.2 | 26 Aug, 2024 | 26 Aug, 2025 | No | +---------+--------------+--------------+--------+ |v9.3 | 3 June, 2025 | 3 June, 2026 | Yes | +---------+--------------+--------------+--------+ + |v9.4 | 16 Oct, 2025 | 16 Oct, 2026 | Yes | + +---------+--------------+--------------+--------+ + |v9.5 | 18 Feb, 2026 | 18 Feb, 2027 | Yes | + +---------+--------------+--------------+--------+ diff --git a/env_support/cmake/version.cmake b/env_support/cmake/version.cmake index a55c250ef4..b2240759cf 100644 --- a/env_support/cmake/version.cmake +++ b/env_support/cmake/version.cmake @@ -1,7 +1,7 @@ set(LVGL_VERSION_MAJOR "9") set(LVGL_VERSION_MINOR "5") set(LVGL_VERSION_PATCH "0") -set(LVGL_VERSION_INFO "dev") +set(LVGL_VERSION_INFO "") set(LVGL_VERSION ${LVGL_VERSION_MAJOR}.${LVGL_VERSION_MINOR}.${LVGL_VERSION_PATCH}) # This is a CMake variable set(ENV{LVGL_VERSION} ${LVGL_VERSION}) # This is exported Environmental variable