「App:Library:LVGL:docs:Changelog」の版間の差分

提供: robot-jp wiki
ナビゲーションに移動検索に移動
17行目: 17行目:
  
 
* Abstract render layer to make it easier to attack external draw engines
 
* Abstract render layer to make it easier to attack external draw engines
* Add <code>LV_FLAD_OVERFLOW_VISIBLE</code>. If enabled the children of an object won't be clipped to the boundary of the object
+
* Add <code style="color: #bb0000;">LV_FLAD_OVERFLOW_VISIBLE</code>. If enabled the children of an object won't be clipped to the boundary of the object
 
* Add ffmpeg decoder support to play videos and open a wide variety of image formats
 
* Add ffmpeg decoder support to play videos and open a wide variety of image formats
 
* Add font fallback support
 
* Add font fallback support
23行目: 23行目:
 
* Add "monkey test"
 
* Add "monkey test"
 
* Add cmsis-pack support
 
* Add cmsis-pack support
* Add Grid navigation (<code>lv_gridnav</code>)
+
* Add Grid navigation (<code style="color: #bb0000;">lv_gridnav</code>)
  
 
The GPU support for NXP microcontrollers is still not updated to the new draw architecture. See #3052
 
The GPU support for NXP microcontrollers is still not updated to the new draw architecture. See #3052
29行目: 29行目:
 
=== Breaking Changes ===
 
=== Breaking Changes ===
  
* :warning: feat(fs): add caching option for lv_fs-read <code>2979</code>
+
* :warning: feat(fs): add caching option for lv_fs-read <code style="color: #bb0000;">2979</code>
* :warning: feat(span): lv_spangroup_get_expand_width() adds a parameter <code>2968</code>
+
* :warning: feat(span): lv_spangroup_get_expand_width() adds a parameter <code style="color: #bb0000;">2968</code>
* :warning: arch(draw): allow replacing the draw engine <code>db53ea9</code>
+
* :warning: arch(draw): allow replacing the draw engine <code style="color: #bb0000;">db53ea9</code>
  
 
=== Architectural ===
 
=== Architectural ===
  
* arch(draw): separate SW renderer to allow replacing it <code>2803</code>
+
* arch(draw): separate SW renderer to allow replacing it <code style="color: #bb0000;">2803</code>
* arch: merge lv_demos <code>5414652</code>
+
* arch: merge lv_demos <code style="color: #bb0000;">5414652</code>
* arch(sdl): migrated to use new backend architecture <code>2840</code>
+
* arch(sdl): migrated to use new backend architecture <code style="color: #bb0000;">2840</code>
* arch(env): move rt-thread into env_support folder <code>3025</code>
+
* arch(env): move rt-thread into env_support folder <code style="color: #bb0000;">3025</code>
* arch(env): arch(env): move the cmake folder into the env_support folder <code>773d50f</code>
+
* arch(env): arch(env): move the cmake folder into the env_support folder <code style="color: #bb0000;">773d50f</code>
* arch(env): move the zephyr folder into the env_support folder <code>4bd1e7e</code>
+
* arch(env): move the zephyr folder into the env_support folder <code style="color: #bb0000;">4bd1e7e</code>
  
 
=== New Features ===
 
=== New Features ===
  
* feat(cmsis-pack): prepare for lvgl v8.2.0 release <code>3062</code>
+
* feat(cmsis-pack): prepare for lvgl v8.2.0 release <code style="color: #bb0000;">3062</code>
* feat(gridnav): add lv_gridnav <code>2911</code>
+
* feat(gridnav): add lv_gridnav <code style="color: #bb0000;">2911</code>
* feat: update the cmsis-pack to 0.8.3 <code>3021</code>
+
* feat: update the cmsis-pack to 0.8.3 <code style="color: #bb0000;">3021</code>
* feat(sdl): support rounded images <code>3012</code>
+
* feat(sdl): support rounded images <code style="color: #bb0000;">3012</code>
* feat(cmsis-pack): add cmsis-pack support <code>2993</code>
+
* feat(cmsis-pack): add cmsis-pack support <code style="color: #bb0000;">2993</code>
* feat(event): add preprocessing and stop bubbling features for events <code>3003</code>
+
* feat(event): add preprocessing and stop bubbling features for events <code style="color: #bb0000;">3003</code>
* feat(draw): add gradient dithering support <code>2872</code>
+
* feat(draw): add gradient dithering support <code style="color: #bb0000;">2872</code>
* feat(symbols): add guards to LV_SYMBOL_* to allow redefining them <code>2973</code>
+
* feat(symbols): add guards to LV_SYMBOL_* to allow redefining them <code style="color: #bb0000;">2973</code>
* feat(obj): subdivide LV_OBJ_FLAG_SCROLL_CHAIN into ...CHAIN_HOR and ...CHAIN_VER <code>2961</code>
+
* feat(obj): subdivide LV_OBJ_FLAG_SCROLL_CHAIN into ...CHAIN_HOR and ...CHAIN_VER <code style="color: #bb0000;">2961</code>
* feat(draw): add draw_bg callback to draw_ctx #2934 <code>2935</code>
+
* feat(draw): add draw_bg callback to draw_ctx #2934 <code style="color: #bb0000;">2935</code>
* feat(docs): add Chinese readme <code>2919</code>
+
* feat(docs): add Chinese readme <code style="color: #bb0000;">2919</code>
* feat(txt): add used_width parameter to _lv_txt_get_next_line() <code>2898</code>
+
* feat(txt): add used_width parameter to _lv_txt_get_next_line() <code style="color: #bb0000;">2898</code>
* feat(others) add monkey test <code>2885</code>
+
* feat(others) add monkey test <code style="color: #bb0000;">2885</code>
* feat(rlottie): add animation control options <code>2857</code>
+
* feat(rlottie): add animation control options <code style="color: #bb0000;">2857</code>
* feat(lv_hal_indev): add missing lv_indev_delete() <code>2854</code>
+
* feat(lv_hal_indev): add missing lv_indev_delete() <code style="color: #bb0000;">2854</code>
* feat(freetype): optimize memory allocation <code>2849</code>
+
* feat(freetype): optimize memory allocation <code style="color: #bb0000;">2849</code>
* feat(Kconfig): add FreeType config <code>2846</code>
+
* feat(Kconfig): add FreeType config <code style="color: #bb0000;">2846</code>
* feat(widgets): add menu widget <code>2603</code>
+
* feat(widgets): add menu widget <code style="color: #bb0000;">2603</code>
* feat(refr): add reset function for FPS statistics <code>2832</code>
+
* feat(refr): add reset function for FPS statistics <code style="color: #bb0000;">2832</code>
* feat(Kconfig): add monitor position configuration <code>2834</code>
+
* feat(Kconfig): add monitor position configuration <code style="color: #bb0000;">2834</code>
* feat(examples) add micropython versions of the external library examples <code>2762</code>
+
* feat(examples) add micropython versions of the external library examples <code style="color: #bb0000;">2762</code>
* feat(freetype): support bold and italic <code>2824</code>
+
* feat(freetype): support bold and italic <code style="color: #bb0000;">2824</code>
* feat(font) add fallback support and mem. font load option to FreeType <code>2796</code>
+
* feat(font) add fallback support and mem. font load option to FreeType <code style="color: #bb0000;">2796</code>
* feat(lib) add ffmpeg video and image decoder <code>2805</code>
+
* feat(lib) add ffmpeg video and image decoder <code style="color: #bb0000;">2805</code>
* feat(obj): add LV_OBJ_FLAG_OVERFLOW_VISIBLE <code>e7ac0e4</code>
+
* feat(obj): add LV_OBJ_FLAG_OVERFLOW_VISIBLE <code style="color: #bb0000;">e7ac0e4</code>
* feat(scrollbar): add more control over scrollbar paddings <code>4197b2f</code>
+
* feat(scrollbar): add more control over scrollbar paddings <code style="color: #bb0000;">4197b2f</code>
* feat(dropdown): keep the list on open/close for simpler styling <code>9d3134b</code>
+
* feat(dropdown): keep the list on open/close for simpler styling <code style="color: #bb0000;">9d3134b</code>
* feat(qrcode) use destructor instead of lv_qrcode_delete() <code>318edd8</code>
+
* feat(qrcode) use destructor instead of lv_qrcode_delete() <code style="color: #bb0000;">318edd8</code>
* feat(disp) allow decouplig the disp_refr timer <code>85cc84a</code>
+
* feat(disp) allow decouplig the disp_refr timer <code style="color: #bb0000;">85cc84a</code>
* feat(obj): add lv_obj_get_event_user_data() <code>53ececc</code>
+
* feat(obj): add lv_obj_get_event_user_data() <code style="color: #bb0000;">53ececc</code>
* feat(obj) add LV_OBJ_FLAG_SCROLL_WITH_ARROW <code>70327bd</code>
+
* feat(obj) add LV_OBJ_FLAG_SCROLL_WITH_ARROW <code style="color: #bb0000;">70327bd</code>
* feat(slider): consider ext_click_area on the knob with LV_OBJ_FLAG_ADV_HITTEST <code>9d3fb41</code>
+
* feat(slider): consider ext_click_area on the knob with LV_OBJ_FLAG_ADV_HITTEST <code style="color: #bb0000;">9d3fb41</code>
  
 
=== Performance ===
 
=== Performance ===
  
* perf(sdl): optimize the use of SDL_RenderSetClipRect <code>2941</code>
+
* perf(sdl): optimize the use of SDL_RenderSetClipRect <code style="color: #bb0000;">2941</code>
* perf(color): add faster lv_color_hex function <code>2864</code>
+
* perf(color): add faster lv_color_hex function <code style="color: #bb0000;">2864</code>
  
 
=== Fixes ===
 
=== Fixes ===
  
* fix(micropython) update examples for new API <code>3059</code>
+
* fix(micropython) update examples for new API <code style="color: #bb0000;">3059</code>
* fix: increase default value of LV_MEM_SIZE for lv_demo_widgets #3057 <code>3058</code>
+
* fix: increase default value of LV_MEM_SIZE for lv_demo_widgets #3057 <code style="color: #bb0000;">3058</code>
* fix(cmsis-pack): fix issue #3032 <code>3056</code>
+
* fix(cmsis-pack): fix issue #3032 <code style="color: #bb0000;">3056</code>
* fix(porting): add missing function prototypes <code>3054</code>
+
* fix(porting): add missing function prototypes <code style="color: #bb0000;">3054</code>
* fix(kconfig): add missing default values <code>3050</code>
+
* fix(kconfig): add missing default values <code style="color: #bb0000;">3050</code>
* fix(canvas): force canvas to use sw draw <code>3045</code>
+
* fix(canvas): force canvas to use sw draw <code style="color: #bb0000;">3045</code>
* fix(rt-thread): use ARCH_CPU_BIG_ENDIAN to replace RT_USING_BIG_ENDIAN <code>3044</code>
+
* fix(rt-thread): use ARCH_CPU_BIG_ENDIAN to replace RT_USING_BIG_ENDIAN <code style="color: #bb0000;">3044</code>
* fix(gradient): general cleanup and fix for alignment issues <code>3036</code>
+
* fix(gradient): general cleanup and fix for alignment issues <code style="color: #bb0000;">3036</code>
* fix(draw): rendering issues for vertical gradient with and without dithering <code>3034</code>
+
* fix(draw): rendering issues for vertical gradient with and without dithering <code style="color: #bb0000;">3034</code>
* fix uninitialized variable <code>3033</code>
+
* fix uninitialized variable <code style="color: #bb0000;">3033</code>
* fix(lru): lower dependency for standard C functions <code>3024</code>
+
* fix(lru): lower dependency for standard C functions <code style="color: #bb0000;">3024</code>
* fix(env_support): move cmsis-pack to env_support folder <code>3026</code>
+
* fix(env_support): move cmsis-pack to env_support folder <code style="color: #bb0000;">3026</code>
* fix(doc): full covering opacity is 255, not 256 <code>3022</code>
+
* fix(doc): full covering opacity is 255, not 256 <code style="color: #bb0000;">3022</code>
* fix uninitialized variables <code>3023</code>
+
* fix uninitialized variables <code style="color: #bb0000;">3023</code>
* fix various issues for esp32 <code>3007</code>
+
* fix various issues for esp32 <code style="color: #bb0000;">3007</code>
* fix(sdl): fix clipped image drawing <code>2992</code>
+
* fix(sdl): fix clipped image drawing <code style="color: #bb0000;">2992</code>
* fix(draw): missed bg_color renaming in the draw function <code>3002</code>
+
* fix(draw): missed bg_color renaming in the draw function <code style="color: #bb0000;">3002</code>
* fix(porting): fix typo and an unmatched prototype <code>2998</code>
+
* fix(porting): fix typo and an unmatched prototype <code style="color: #bb0000;">2998</code>
* fix(conf) add missing LV_LOG_LEVEL default definition <code>2996</code>
+
* fix(conf) add missing LV_LOG_LEVEL default definition <code style="color: #bb0000;">2996</code>
* fix(refr): crash if full_refresh = 1 <code>2999</code>
+
* fix(refr): crash if full_refresh = 1 <code style="color: #bb0000;">2999</code>
* fix(Kconfig): adapt to lvgl's built-in demos <code>2989</code>
+
* fix(Kconfig): adapt to lvgl's built-in demos <code style="color: #bb0000;">2989</code>
* fix(Makefile): compilation errors <code>2944</code>
+
* fix(Makefile): compilation errors <code style="color: #bb0000;">2944</code>
* fix(rlottie): fix variable name <code>2971</code>
+
* fix(rlottie): fix variable name <code style="color: #bb0000;">2971</code>
* fix(group): in lv_group_del() remove group from indev (lvgl#2963) <code>2964</code>
+
* fix(group): in lv_group_del() remove group from indev (lvgl#2963) <code style="color: #bb0000;">2964</code>
* fix(obj): old parent's scroll is not updated in lv_obj_set_parent() <code>2965</code>
+
* fix(obj): old parent's scroll is not updated in lv_obj_set_parent() <code style="color: #bb0000;">2965</code>
* fix(fatfs) add missing cast <code>2969</code>
+
* fix(fatfs) add missing cast <code style="color: #bb0000;">2969</code>
* fix(snapshot) fix memory leak <code>2970</code>
+
* fix(snapshot) fix memory leak <code style="color: #bb0000;">2970</code>
* fix(examples) move event callback registration outside loop in <code>lv_example_event_3</code> <code>2959</code>
+
* fix(examples) move event callback registration outside loop in <code style="color: #bb0000;">lv_example_event_3</code> <code style="color: #bb0000;">2959</code>
* fix(canvas): off by one error in size check in lv_canvas_copy_buf <code>2950</code>
+
* fix(canvas): off by one error in size check in lv_canvas_copy_buf <code style="color: #bb0000;">2950</code>
* fix(indev) add braces to avoid compiler warning <code>2947</code>
+
* fix(indev) add braces to avoid compiler warning <code style="color: #bb0000;">2947</code>
* fix: fix parameter order in function prototypes <code>2929</code>
+
* fix: fix parameter order in function prototypes <code style="color: #bb0000;">2929</code>
* fix(style):add const qualifier for lv_style_get_prop() <code>2933</code>
+
* fix(style):add const qualifier for lv_style_get_prop() <code style="color: #bb0000;">2933</code>
* fix(dropdown): in lv_dropdpwn_get_selected_str handle if there are no options <code>2925</code>
+
* fix(dropdown): in lv_dropdpwn_get_selected_str handle if there are no options <code style="color: #bb0000;">2925</code>
* fix: lv_deinit/lv_init crash or hang <code>2910</code>
+
* fix: lv_deinit/lv_init crash or hang <code style="color: #bb0000;">2910</code>
* fix(rt-thread): improve the structure <code>2912</code>
+
* fix(rt-thread): improve the structure <code style="color: #bb0000;">2912</code>
* fix: removed string format warnings for int32_t and uint32_t <code>2924</code>
+
* fix: removed string format warnings for int32_t and uint32_t <code style="color: #bb0000;">2924</code>
* fix(lv_fs_win32): add missing include of <stdio.h> <code>2918</code>
+
* fix(lv_fs_win32): add missing include of <stdio.h> <code style="color: #bb0000;">2918</code>
* fix: use unsigned integer literal for bit shifing. <code>2888</code>
+
* fix: use unsigned integer literal for bit shifing. <code style="color: #bb0000;">2888</code>
* chore(lottie) move rlottie_capi.h to lv_rlottie.c <code>2902</code>
+
* chore(lottie) move rlottie_capi.h to lv_rlottie.c <code style="color: #bb0000;">2902</code>
* fix(qrcodegen) add brackets around assert calls <code>2897</code>
+
* fix(qrcodegen) add brackets around assert calls <code style="color: #bb0000;">2897</code>
* fix(list) guard image creation with LV_USE_IMG <code>2881</code>
+
* fix(list) guard image creation with LV_USE_IMG <code style="color: #bb0000;">2881</code>
* fix(snapshot): make fake display size big enough to avoid align issue. <code>2883</code>
+
* fix(snapshot): make fake display size big enough to avoid align issue. <code style="color: #bb0000;">2883</code>
* fix(sdl) correct makefile <code>2884</code>
+
* fix(sdl) correct makefile <code style="color: #bb0000;">2884</code>
* fix(draw): fix set_px_cb memory write overflow crash. <code>2882</code>
+
* fix(draw): fix set_px_cb memory write overflow crash. <code style="color: #bb0000;">2882</code>
* fix(freetype): fix memset error <code>2877</code>
+
* fix(freetype): fix memset error <code style="color: #bb0000;">2877</code>
* fix(span): fix align and break word <code>2861</code>
+
* fix(span): fix align and break word <code style="color: #bb0000;">2861</code>
* fix(refr): swap buffers only on the last area with direct mode <code>2867</code>
+
* fix(refr): swap buffers only on the last area with direct mode <code style="color: #bb0000;">2867</code>
* fix(arc) free memory when drawing full-circle arc <code>2869</code>
+
* fix(arc) free memory when drawing full-circle arc <code style="color: #bb0000;">2869</code>
* fix(indev): update lv_indev_drv_update to free the read_timer <code>2850</code>
+
* fix(indev): update lv_indev_drv_update to free the read_timer <code style="color: #bb0000;">2850</code>
* fix(draw): fix memory access out of bounds when using blend subtract <code>2860</code>
+
* fix(draw): fix memory access out of bounds when using blend subtract <code style="color: #bb0000;">2860</code>
* fix(chart) add lv_chart_refresh() to the functions which modify the data <code>2841</code>
+
* fix(chart) add lv_chart_refresh() to the functions which modify the data <code style="color: #bb0000;">2841</code>
* fix(conf) mismatched macro judgment <code>2843</code>
+
* fix(conf) mismatched macro judgment <code style="color: #bb0000;">2843</code>
* fix(ffmpeg): when disabled LV_FFMPEG_AV_DUMP_FORMAT makes av_log quiet <code>2838</code>
+
* fix(ffmpeg): when disabled LV_FFMPEG_AV_DUMP_FORMAT makes av_log quiet <code style="color: #bb0000;">2838</code>
* fix(rt-thread): fix a bug of log <code>2811</code>
+
* fix(rt-thread): fix a bug of log <code style="color: #bb0000;">2811</code>
* fix(log): to allow printf and custom_print_cb to work at same time <code>2837</code>
+
* fix(log): to allow printf and custom_print_cb to work at same time <code style="color: #bb0000;">2837</code>
* fix(keyboard): add missing functions <code>2835</code>
+
* fix(keyboard): add missing functions <code style="color: #bb0000;">2835</code>
* fix(checkbox) remove unnecessary events <code>2829</code>
+
* fix(checkbox) remove unnecessary events <code style="color: #bb0000;">2829</code>
* fix(qrcode): replace memcpy() with lv_memcpy() and delete useless macros <code>2827</code>
+
* fix(qrcode): replace memcpy() with lv_memcpy() and delete useless macros <code style="color: #bb0000;">2827</code>
* fix(font) improve builtin font source files generation process <code>2825</code>
+
* fix(font) improve builtin font source files generation process <code style="color: #bb0000;">2825</code>
* fix(CMake) split CMakeLists.txt, add options, includes and dependencies <code>2753</code>
+
* fix(CMake) split CMakeLists.txt, add options, includes and dependencies <code style="color: #bb0000;">2753</code>
* fix(obj): make lv_obj_fade_in/out use the current opa as start value <code>2819</code>
+
* fix(obj): make lv_obj_fade_in/out use the current opa as start value <code style="color: #bb0000;">2819</code>
* fix(qrcode):minimize margins as much as possible <code>2804</code>
+
* fix(qrcode):minimize margins as much as possible <code style="color: #bb0000;">2804</code>
* fix(scripts): switch all scripts to python3 <code>2820</code>
+
* fix(scripts): switch all scripts to python3 <code style="color: #bb0000;">2820</code>
* fix(event): event_send_core crash in special case. <code>2807</code>
+
* fix(event): event_send_core crash in special case. <code style="color: #bb0000;">2807</code>
* fix(Kconfig) remove duplicate LV_BUILD_EXAMPLES configuration <code>2813</code>
+
* fix(Kconfig) remove duplicate LV_BUILD_EXAMPLES configuration <code style="color: #bb0000;">2813</code>
* fix(obj): in obj event use the current target instead of target <code>2785</code>
+
* fix(obj): in obj event use the current target instead of target <code style="color: #bb0000;">2785</code>
* fix(draw_label): radius Mask doesn't work in Specific condition <code>2784</code>
+
* fix(draw_label): radius Mask doesn't work in Specific condition <code style="color: #bb0000;">2784</code>
* fix(draw_mask): will crash if get_width/height < 0 <code>2793</code>
+
* fix(draw_mask): will crash if get_width/height < 0 <code style="color: #bb0000;">2793</code>
* fix(theme) make the basic theme really basic <code>a369f18</code>
+
* fix(theme) make the basic theme really basic <code style="color: #bb0000;">a369f18</code>
* fix(arc): fix knob invalidation <code>345f688</code>
+
* fix(arc): fix knob invalidation <code style="color: #bb0000;">345f688</code>
* fix(theme): add arc, spinner and colorwheel to basic theme <code>adc218a</code>
+
* fix(theme): add arc, spinner and colorwheel to basic theme <code style="color: #bb0000;">adc218a</code>
* fix(conf) define LV_LOG_TRACE_... to 0 in lv_conf_internal.h to avoid warnings <code>305284c</code>
+
* fix(conf) define LV_LOG_TRACE_... to 0 in lv_conf_internal.h to avoid warnings <code style="color: #bb0000;">305284c</code>
* fix(draw): consider opa and clip corner on bg_img <code>d51aea4</code>
+
* fix(draw): consider opa and clip corner on bg_img <code style="color: #bb0000;">d51aea4</code>
* fix(draw): add grad_cache_mem to GC_ROOTs <code>138db9c</code>
+
* fix(draw): add grad_cache_mem to GC_ROOTs <code style="color: #bb0000;">138db9c</code>
* fix(bar, slider): fix shadow drawing on short indicators <code>364ca3c</code>
+
* fix(bar, slider): fix shadow drawing on short indicators <code style="color: #bb0000;">364ca3c</code>
* fix(theme): fix theme initialization issue introduced in 6e0072479 <code>d231644</code>
+
* fix(theme): fix theme initialization issue introduced in 6e0072479 <code style="color: #bb0000;">d231644</code>
* fix(draw): add lv_draw_sw_bg <code>49642d3</code>
+
* fix(draw): add lv_draw_sw_bg <code style="color: #bb0000;">49642d3</code>
* fix(draw) border_draw crash is special case <code>075831a</code>
+
* fix(draw) border_draw crash is special case <code style="color: #bb0000;">075831a</code>
* fix(theme): fix crash in lv_theme_basic_init <code>ca5f04c</code>
+
* fix(theme): fix crash in lv_theme_basic_init <code style="color: #bb0000;">ca5f04c</code>
* fix(draw): fix indexed image drawing <code>5a0dbcc</code>
+
* fix(draw): fix indexed image drawing <code style="color: #bb0000;">5a0dbcc</code>
* fix(roller): clip overflowing text <code>5709528</code>
+
* fix(roller): clip overflowing text <code style="color: #bb0000;">5709528</code>
* fix(align) fix LV_SIZE_CONTENT size calculation with not LEFT or TOP alignment <code>9c67642</code>
+
* fix(align) fix LV_SIZE_CONTENT size calculation with not LEFT or TOP alignment <code style="color: #bb0000;">9c67642</code>
* fix(draw): futher bg_img draw fixes <code>81bfb76</code>
+
* fix(draw): futher bg_img draw fixes <code style="color: #bb0000;">81bfb76</code>
* fix(btnmatrix): keep the selected button even on release <code>d47cd1d</code>
+
* fix(btnmatrix): keep the selected button even on release <code style="color: #bb0000;">d47cd1d</code>
* fix(sw): make knob size calculation more intuitive <code>5ec532d</code>
+
* fix(sw): make knob size calculation more intuitive <code style="color: #bb0000;">5ec532d</code>
* fix(switch): make knob height calculation similar to slider <code>0921dfc</code>
+
* fix(switch): make knob height calculation similar to slider <code style="color: #bb0000;">0921dfc</code>
* fix(span): explicitly set span->txt to the return value of lv_mem_realloc(#3005) <code>a9a6cb8</code>
+
* fix(span): explicitly set span->txt to the return value of lv_mem_realloc(#3005) <code style="color: #bb0000;">a9a6cb8</code>
* fix(example): update LVGL_Arduino.ino <code>d79283c</code>
+
* fix(example): update LVGL_Arduino.ino <code style="color: #bb0000;">d79283c</code>
* fix(draw) simplify how outline_pad is compnesated <code>81d8be1</code>
+
* fix(draw) simplify how outline_pad is compnesated <code style="color: #bb0000;">81d8be1</code>
* fix(obj) make LV_OBJ_FLAG_SCROLL_CHAIN part of the enum instead of define <code>f8d8856</code>
+
* fix(obj) make LV_OBJ_FLAG_SCROLL_CHAIN part of the enum instead of define <code style="color: #bb0000;">f8d8856</code>
* fix(label): dot not add dots if the label height > 1 font line height <code>4d61f38</code>
+
* fix(label): dot not add dots if the label height > 1 font line height <code style="color: #bb0000;">4d61f38</code>
* fix(event): crash if an object was deleted in an event <code>9810920</code>
+
* fix(event): crash if an object was deleted in an event <code style="color: #bb0000;">9810920</code>
* fix(build) fix sdl build with make <code>43729d1</code>
+
* fix(build) fix sdl build with make <code style="color: #bb0000;">43729d1</code>
* fix(config): fix anonymus choice <code>71c739c</code>
+
* fix(config): fix anonymus choice <code style="color: #bb0000;">71c739c</code>
* chore(docs): fix lv_list_add_text <code>a5fbf22</code>
+
* chore(docs): fix lv_list_add_text <code style="color: #bb0000;">a5fbf22</code>
* fix(png) check png magic number to be sure it's a png image <code>1092550</code>
+
* fix(png) check png magic number to be sure it's a png image <code style="color: #bb0000;">1092550</code>
* fix(btnmatrix): fix crash if an empty btnmatrix is pressed <code>2392f58</code>
+
* fix(btnmatrix): fix crash if an empty btnmatrix is pressed <code style="color: #bb0000;">2392f58</code>
* fix(mem/perf monitor): fix issue introduced in #2910 <code>0788d91</code>
+
* fix(mem/perf monitor): fix issue introduced in #2910 <code style="color: #bb0000;">0788d91</code>
* fix(layout) fix layout recalculation trigger in lv_obj_add/clear_fleg <code>ee65410</code>
+
* fix(layout) fix layout recalculation trigger in lv_obj_add/clear_fleg <code style="color: #bb0000;">ee65410</code>
* fix(obj) fix lv_obj_fade_in <code>4931384</code>
+
* fix(obj) fix lv_obj_fade_in <code style="color: #bb0000;">4931384</code>
* fix(draw): fix clipping children to parent <code>5c98ac8</code>
+
* fix(draw): fix clipping children to parent <code style="color: #bb0000;">5c98ac8</code>
* fix: remove symlinks to be accepted as an Ardunio library <code>6701d36</code>
+
* fix: remove symlinks to be accepted as an Ardunio library <code style="color: #bb0000;">6701d36</code>
* chore: fix typos in FATFS config <code>74091c4</code>
+
* chore: fix typos in FATFS config <code style="color: #bb0000;">74091c4</code>
* fix(refr): fix missed buffer switch in double full-screen buffer + direct_mode <code>731ef5a</code>
+
* fix(refr): fix missed buffer switch in double full-screen buffer + direct_mode <code style="color: #bb0000;">731ef5a</code>
* chore(qrcode): fix warnings <code>e9d7080</code>
+
* chore(qrcode): fix warnings <code style="color: #bb0000;">e9d7080</code>
* docs(event): tell to not adjust widgets in draw events <code>933d67f</code>
+
* docs(event): tell to not adjust widgets in draw events <code style="color: #bb0000;">933d67f</code>
* fix(table, chart): fix memory leaks <code>8d52de1</code>
+
* fix(table, chart): fix memory leaks <code style="color: #bb0000;">8d52de1</code>
* fix(event): handle object deletion in indev->fedback_cb <code>bfc8edf</code>
+
* fix(event): handle object deletion in indev->fedback_cb <code style="color: #bb0000;">bfc8edf</code>
* fix(roller): snap on press lost <code>fa9340c</code>
+
* fix(roller): snap on press lost <code style="color: #bb0000;">fa9340c</code>
* fix(dropdown) be sure the list is the top object on the screen <code>cb7fc2b</code>
+
* fix(dropdown) be sure the list is the top object on the screen <code style="color: #bb0000;">cb7fc2b</code>
* fix(img) fix invalidation issue on transformations <code>d5ede0e</code>
+
* fix(img) fix invalidation issue on transformations <code style="color: #bb0000;">d5ede0e</code>
* fix(obj) fix comments of lv_obj_set_pos/x/y <code>b9a5078</code>
+
* fix(obj) fix comments of lv_obj_set_pos/x/y <code style="color: #bb0000;">b9a5078</code>
  
 
=== Examples ===
 
=== Examples ===
  
* example: add non-null judgment to lv_example_obj_2 <code>2799</code>
+
* example: add non-null judgment to lv_example_obj_2 <code style="color: #bb0000;">2799</code>
* example(table): fix text alignment <code>b03dc9c</code>
+
* example(table): fix text alignment <code style="color: #bb0000;">b03dc9c</code>
  
 
=== Docs ===
 
=== Docs ===
  
* docs(demos) update information to reflect new layout <code>3029</code>
+
* docs(demos) update information to reflect new layout <code style="color: #bb0000;">3029</code>
* docs(porting): remove duplicated content <code>2984</code>
+
* docs(porting): remove duplicated content <code style="color: #bb0000;">2984</code>
* docs(display) fix typo <code>2946</code>
+
* docs(display) fix typo <code style="color: #bb0000;">2946</code>
* docs(get-started) add introduction for Tasmota and Berry <code>2874</code>
+
* docs(get-started) add introduction for Tasmota and Berry <code style="color: #bb0000;">2874</code>
* docs fix spelling, parameter descriptions, comments, etc <code>2865</code>
+
* docs fix spelling, parameter descriptions, comments, etc <code style="color: #bb0000;">2865</code>
* docs: spelling fixes <code>2828</code>
+
* docs: spelling fixes <code style="color: #bb0000;">2828</code>
* docs(style) minor style fix <code>2818</code>
+
* docs(style) minor style fix <code style="color: #bb0000;">2818</code>
* docs(porting/display) fix formatting <code>2812</code>
+
* docs(porting/display) fix formatting <code style="color: #bb0000;">2812</code>
* docs(roadmap) udpate <code>084439e</code>
+
* docs(roadmap) udpate <code style="color: #bb0000;">084439e</code>
* docs(widgets) fix edit links <code>7ed1a56</code>
+
* docs(widgets) fix edit links <code style="color: #bb0000;">7ed1a56</code>
* docs(contributing) update commit message format <code>1cd851f</code>
+
* docs(contributing) update commit message format <code style="color: #bb0000;">1cd851f</code>
* docs(porting): add more details about adding lvgl to your project <code>6ce7348</code>
+
* docs(porting): add more details about adding lvgl to your project <code style="color: #bb0000;">6ce7348</code>
* docs(indev): add description about gestures <code>2719862</code>
+
* docs(indev): add description about gestures <code style="color: #bb0000;">2719862</code>
* docs(style): describe const styles <code>28ffae8</code>
+
* docs(style): describe const styles <code style="color: #bb0000;">28ffae8</code>
* docs(faq): add "LVGL doesn't start, nothing is drawn on the display" section <code>0388d92</code>
+
* docs(faq): add "LVGL doesn't start, nothing is drawn on the display" section <code style="color: #bb0000;">0388d92</code>
* docs add demos <code>02a6614</code>
+
* docs add demos <code style="color: #bb0000;">02a6614</code>
* docs(fs): update fs interface description to the latest API <code>285e6b3</code>
+
* docs(fs): update fs interface description to the latest API <code style="color: #bb0000;">285e6b3</code>
* docs(format) let wrap <code>4bf49a8</code>
+
* docs(format) let wrap <code style="color: #bb0000;">4bf49a8</code>
* docs(imgbtn) fix typo <code>d792c5f</code>
+
* docs(imgbtn) fix typo <code style="color: #bb0000;">d792c5f</code>
* docs(porting) clarify that displays must be registered before input devices <code>1c64b78</code>
+
* docs(porting) clarify that displays must be registered before input devices <code style="color: #bb0000;">1c64b78</code>
* docs(event) fix lv_event_get_original_target vs lv_event_get_current_target <code>cdd5128</code>
+
* docs(event) fix lv_event_get_original_target vs lv_event_get_current_target <code style="color: #bb0000;">cdd5128</code>
* docs(events) rename LV_EVENT_APPLY to LV_EVENT_READY (#2791) <code>bf6837f</code>
+
* docs(events) rename LV_EVENT_APPLY to LV_EVENT_READY (#2791) <code style="color: #bb0000;">bf6837f</code>
* docs(gpu): link style properties and boxing model <code>6266851</code>
+
* docs(gpu): link style properties and boxing model <code style="color: #bb0000;">6266851</code>
* docs(gesture): clarify gesture triggering with scrolling <code>e3b43ee</code>
+
* docs(gesture): clarify gesture triggering with scrolling <code style="color: #bb0000;">e3b43ee</code>
* docs(contributing): remove the mentioning of the dev branch <code>00d4ef3</code>
+
* docs(contributing): remove the mentioning of the dev branch <code style="color: #bb0000;">00d4ef3</code>
* docs(bar) fix default range <code>eeee48b</code>
+
* docs(bar) fix default range <code style="color: #bb0000;">eeee48b</code>
* docs(event): tell to not adjust widgets in draw events <code>933d67f</code>
+
* docs(event): tell to not adjust widgets in draw events <code style="color: #bb0000;">933d67f</code>
* docs(switch) improve wording <code>b4986ab</code>
+
* docs(switch) improve wording <code style="color: #bb0000;">b4986ab</code>
* docs(font) fix example to match v8 <code>2f80896</code>
+
* docs(font) fix example to match v8 <code style="color: #bb0000;">2f80896</code>
  
 
=== CI and tests ===
 
=== CI and tests ===
  
* test(bar): add unit tests <code>2845</code>
+
* test(bar): add unit tests <code style="color: #bb0000;">2845</code>
* test(switch): add initial unit test <code>2794</code>
+
* test(switch): add initial unit test <code style="color: #bb0000;">2794</code>
* test(demo) add tests for widget and stress demos <code>3bd6ad8</code>
+
* test(demo) add tests for widget and stress demos <code style="color: #bb0000;">3bd6ad8</code>
* test(dropdown) fix to pass again <code>918b3de</code>
+
* test(dropdown) fix to pass again <code style="color: #bb0000;">918b3de</code>
* test add support for using system heap <code>446b1eb</code>
+
* test add support for using system heap <code style="color: #bb0000;">446b1eb</code>
* ci remove formatting request workflow <code>6de89e4</code>
+
* ci remove formatting request workflow <code style="color: #bb0000;">6de89e4</code>
* ci initial support for cross-architecture tests <code>7008770</code>
+
* ci initial support for cross-architecture tests <code style="color: #bb0000;">7008770</code>
* ci create handler for formatting requests <code>7af7849</code>
+
* ci create handler for formatting requests <code style="color: #bb0000;">7af7849</code>
* test(style) add test for gradient <code>da8f345</code>
+
* test(style) add test for gradient <code style="color: #bb0000;">da8f345</code>
* test(event) add test for #2886 <code>51ef9c2</code>
+
* test(event) add test for #2886 <code style="color: #bb0000;">51ef9c2</code>
* ci add workflow to check code formatting <code>a2b555e</code>
+
* ci add workflow to check code formatting <code style="color: #bb0000;">a2b555e</code>
* ci attempt to speed up cross tests <code>80408f7</code>
+
* ci attempt to speed up cross tests <code style="color: #bb0000;">80408f7</code>
* ci apply my updates to the verify-formatting action <code>02f02fa</code>
+
* ci apply my updates to the verify-formatting action <code style="color: #bb0000;">02f02fa</code>
* ci: add arduino linter action <code>f79b00c</code>
+
* ci: add arduino linter action <code style="color: #bb0000;">f79b00c</code>
* ci update action <code>be9722c</code>
+
* ci update action <code style="color: #bb0000;">be9722c</code>
* ci more formatting action updates <code>1f6037c</code>
+
* ci more formatting action updates <code style="color: #bb0000;">1f6037c</code>
* ci disable LeakSanitizer on dockerized tests <code>c9e1927</code>
+
* ci disable LeakSanitizer on dockerized tests <code style="color: #bb0000;">c9e1927</code>
* ci one last try at this for tonight <code>dddafae</code>
+
* ci one last try at this for tonight <code style="color: #bb0000;">dddafae</code>
* ci try alternate checkout mechanism <code>cb3de30</code>
+
* ci try alternate checkout mechanism <code style="color: #bb0000;">cb3de30</code>
* test(style) fix compile error <code>ba083df</code>
+
* test(style) fix compile error <code style="color: #bb0000;">ba083df</code>
* test(template) simplify _test_template.c <code>b279f63</code>
+
* test(template) simplify _test_template.c <code style="color: #bb0000;">b279f63</code>
* ci force ccache to be saved every time <code>a7c590f</code>
+
* ci force ccache to be saved every time <code style="color: #bb0000;">a7c590f</code>
* ci switch to codecov v2 <code>6b84155</code>
+
* ci switch to codecov v2 <code style="color: #bb0000;">6b84155</code>
* ci more debugging for formatting action <code>2f8e4bc</code>
+
* ci more debugging for formatting action <code style="color: #bb0000;">2f8e4bc</code>
* ci inline apt-get commands <code>90e2b9f</code>
+
* ci inline apt-get commands <code style="color: #bb0000;">90e2b9f</code>
* ci(micropython) use ESP-IDF 4.4 <code>b34fe9e</code>
+
* ci(micropython) use ESP-IDF 4.4 <code style="color: #bb0000;">b34fe9e</code>
* ci add 5k stack limit <code>4122dda</code>
+
* ci add 5k stack limit <code style="color: #bb0000;">4122dda</code>
* ci force use of ccache in PATH <code>6de3fa8</code>
+
* ci force use of ccache in PATH <code style="color: #bb0000;">6de3fa8</code>
* ci add back stack usage check at 4 kilobytes <code>89135d6</code>
+
* ci add back stack usage check at 4 kilobytes <code style="color: #bb0000;">89135d6</code>
* ci temporarily disable stack usage check <code>1900c21</code>
+
* ci temporarily disable stack usage check <code style="color: #bb0000;">1900c21</code>
* ci(cross) use python3 instead of python <code>df7eaa0</code>
+
* ci(cross) use python3 instead of python <code style="color: #bb0000;">df7eaa0</code>
* ci use specific version tag <code>59b4769</code>
+
* ci use specific version tag <code style="color: #bb0000;">59b4769</code>
* ci fix check style action <code>5bb3686</code>
+
* ci fix check style action <code style="color: #bb0000;">5bb3686</code>
* ci fix typo in formatting action <code>d1ccbf6</code>
+
* ci fix typo in formatting action <code style="color: #bb0000;">d1ccbf6</code>
* ci test formatting action <code>065d821</code>
+
* ci test formatting action <code style="color: #bb0000;">065d821</code>
* ci(micropython) switch to newer GCC action <code>1fa7257</code>
+
* ci(micropython) switch to newer GCC action <code style="color: #bb0000;">1fa7257</code>
* ci(style) force color on diff to help highlight whitespace changes <code>04f47ea</code>
+
* ci(style) force color on diff to help highlight whitespace changes <code style="color: #bb0000;">04f47ea</code>
* ci(cross) install build-essential <code>772f219</code>
+
* ci(cross) install build-essential <code style="color: #bb0000;">772f219</code>
* ci force pushing to upstream branch <code>8277f78</code>
+
* ci force pushing to upstream branch <code style="color: #bb0000;">8277f78</code>
* ci ensure lvgl-bot is used to make commits <code>9fcf52a</code>
+
* ci ensure lvgl-bot is used to make commits <code style="color: #bb0000;">9fcf52a</code>
  
 
== [https://github.com/lvgl/lvgl/compare/v8.0.2...v8.1.0 '''v8.1.0'''] 10 November 2021 ==
 
== [https://github.com/lvgl/lvgl/compare/v8.0.2...v8.1.0 '''v8.1.0'''] 10 November 2021 ==
291行目: 291行目:
 
=== Breaking Changes ===
 
=== Breaking Changes ===
  
* :warning: feat(calendar): add the header directly into the calendar widget <code>2e08f80</code>
+
* :warning: feat(calendar): add the header directly into the calendar widget <code style="color: #bb0000;">2e08f80</code>
  
 
=== Architectural ===
 
=== Architectural ===
  
* arch add small 3rd party libs to lvgl <code>2569</code>
+
* arch add small 3rd party libs to lvgl <code style="color: #bb0000;">2569</code>
  
 
=== New Features ===
 
=== New Features ===
  
* feat(display) add direct_mode drawing mode <code>2460</code>
+
* feat(display) add direct_mode drawing mode <code style="color: #bb0000;">2460</code>
* feat(conf): make LV_MEM_BUF_MAX_NUM configurable <code>2747</code>
+
* feat(conf): make LV_MEM_BUF_MAX_NUM configurable <code style="color: #bb0000;">2747</code>
* feat(disp): add non-fullscreen display utilities <code>2724</code>
+
* feat(disp): add non-fullscreen display utilities <code style="color: #bb0000;">2724</code>
* feat(rlottie) add LVGL-Rlottie interface as 3rd party lib <code>2700</code>
+
* feat(rlottie) add LVGL-Rlottie interface as 3rd party lib <code style="color: #bb0000;">2700</code>
* feat(rtthread): prepare for porting the device-driver of rt-thread <code>2719</code>
+
* feat(rtthread): prepare for porting the device-driver of rt-thread <code style="color: #bb0000;">2719</code>
* feat(fsdrv) add driver based on Win32 API <code>2701</code>
+
* feat(fsdrv) add driver based on Win32 API <code style="color: #bb0000;">2701</code>
* feat(span) indent supports percent for fix and break mode <code>2693</code>
+
* feat(span) indent supports percent for fix and break mode <code style="color: #bb0000;">2693</code>
* feat(rt-thread): implement rt-thread sconscirpt <code>2674</code>
+
* feat(rt-thread): implement rt-thread sconscirpt <code style="color: #bb0000;">2674</code>
* feat(lv_spinbox) support both right-to-left and left-to-right digit steps when clicking encoder button <code>2644</code>
+
* feat(lv_spinbox) support both right-to-left and left-to-right digit steps when clicking encoder button <code style="color: #bb0000;">2644</code>
* feat add support for rt-thread RTOS <code>2660</code>
+
* feat add support for rt-thread RTOS <code style="color: #bb0000;">2660</code>
* feat(disp): Enable rendering to display subsection <code>2583</code>
+
* feat(disp): Enable rendering to display subsection <code style="color: #bb0000;">2583</code>
* feat(keyboard): add user-defined modes <code>2651</code>
+
* feat(keyboard): add user-defined modes <code style="color: #bb0000;">2651</code>
* feat(event) add LV_EVENT_CHILD_CREATED/DELETED <code>2618</code>
+
* feat(event) add LV_EVENT_CHILD_CREATED/DELETED <code style="color: #bb0000;">2618</code>
* feat(btnmatrix/keyboard): add option to show popovers on button press <code>2537</code>
+
* feat(btnmatrix/keyboard): add option to show popovers on button press <code style="color: #bb0000;">2537</code>
* feat(msgbox) add a content area for custom content <code>2561</code>
+
* feat(msgbox) add a content area for custom content <code style="color: #bb0000;">2561</code>
* feat(tests): Include debug information to test builds <code>2568</code>
+
* feat(tests): Include debug information to test builds <code style="color: #bb0000;">2568</code>
* feat(drawing) hardware accelerated rendering by SDL2 <code>2484</code>
+
* feat(drawing) hardware accelerated rendering by SDL2 <code style="color: #bb0000;">2484</code>
* feat(msgbox): omit title label unless needed <code>2539</code>
+
* feat(msgbox): omit title label unless needed <code style="color: #bb0000;">2539</code>
* feat(msgbox): add function to get selected button index <code>2538</code>
+
* feat(msgbox): add function to get selected button index <code style="color: #bb0000;">2538</code>
* feat(make) add lvgl interface target for micropython <code>2529</code>
+
* feat(make) add lvgl interface target for micropython <code style="color: #bb0000;">2529</code>
* feat(obj) add lv_obj_move_to_index(obj, index), renamed lv_obj_get_child_id(obj) to lv_obj_get_index(obj) <code>2514</code>
+
* feat(obj) add lv_obj_move_to_index(obj, index), renamed lv_obj_get_child_id(obj) to lv_obj_get_index(obj) <code style="color: #bb0000;">2514</code>
* feat(obj) add lv_obj_swap() function <code>2461</code>
+
* feat(obj) add lv_obj_swap() function <code style="color: #bb0000;">2461</code>
* feat(mem) LV_MEM_POOL_ALLOC <code>2458</code>
+
* feat(mem) LV_MEM_POOL_ALLOC <code style="color: #bb0000;">2458</code>
* feat(switch) add smooth animation when changing state <code>2442</code>
+
* feat(switch) add smooth animation when changing state <code style="color: #bb0000;">2442</code>
* feat(anim) add interface for handling lv_anim user data. <code>2415</code>
+
* feat(anim) add interface for handling lv_anim user data. <code style="color: #bb0000;">2415</code>
* feat(obj) add lv_is_initialized <code>2402</code>
+
* feat(obj) add lv_is_initialized <code style="color: #bb0000;">2402</code>
* feat(obj) Backport keypad and encoder scrolling from v7 <code>lv_page</code> to v8 <code>lv_obj</code> <code>2390</code>
+
* feat(obj) Backport keypad and encoder scrolling from v7 <code style="color: #bb0000;">lv_page</code> to v8 <code style="color: #bb0000;">lv_obj</code> <code style="color: #bb0000;">2390</code>
* feat(snapshot) add API to take snapshot for object <code>2353</code>
+
* feat(snapshot) add API to take snapshot for object <code style="color: #bb0000;">2353</code>
* feat(anim) add anim timeline <code>2309</code>
+
* feat(anim) add anim timeline <code style="color: #bb0000;">2309</code>
* feat(span) Add missing spangroup functions <code>2379</code>
+
* feat(span) Add missing spangroup functions <code style="color: #bb0000;">2379</code>
* feat(img) add img_size property <code>2284</code>
+
* feat(img) add img_size property <code style="color: #bb0000;">2284</code>
* feat(calendar) improve MicroPython example <code>2366</code>
+
* feat(calendar) improve MicroPython example <code style="color: #bb0000;">2366</code>
* feat(spinbox ) add function to set cursor to specific position <code>2314</code>
+
* feat(spinbox ) add function to set cursor to specific position <code style="color: #bb0000;">2314</code>
* feat(timer) check if lv_tick_inc is called <code>aa6641a</code>
+
* feat(timer) check if lv_tick_inc is called <code style="color: #bb0000;">aa6641a</code>
* feat(event, widgets) improve the paramter of LV_EVENT_DRAW_PART_BEGIN/END <code>88c4859</code>
+
* feat(event, widgets) improve the paramter of LV_EVENT_DRAW_PART_BEGIN/END <code style="color: #bb0000;">88c4859</code>
* feat(docs) improvements to examples <code>4b8c73a</code>
+
* feat(docs) improvements to examples <code style="color: #bb0000;">4b8c73a</code>
* feat(obj) send LV_EVENT_DRAW_PART_BEGIN/END for MAIN and SCROLLBAR parts <code>b203167</code>
+
* feat(obj) send LV_EVENT_DRAW_PART_BEGIN/END for MAIN and SCROLLBAR parts <code style="color: #bb0000;">b203167</code>
* feat(led) send LV_EVENT_DRAW_PART_BEGIN/END <code>fcd4aa3</code>
+
* feat(led) send LV_EVENT_DRAW_PART_BEGIN/END <code style="color: #bb0000;">fcd4aa3</code>
* feat(chart) send LV_EVENT_DRAW_PART_BEGIN/END before/after the division line drawing section. <code>e0ae2aa</code>
+
* feat(chart) send LV_EVENT_DRAW_PART_BEGIN/END before/after the division line drawing section. <code style="color: #bb0000;">e0ae2aa</code>
* feat(tests) upload coverage to codecov <code>4fff99d</code>
+
* feat(tests) upload coverage to codecov <code style="color: #bb0000;">4fff99d</code>
* feat(conf) add better check for Kconfig default <code>f8fe536</code>
+
* feat(conf) add better check for Kconfig default <code style="color: #bb0000;">f8fe536</code>
* feat(draw) add LV_BLEND_MODE_MULTIPLY <code>cc78ef4</code>
+
* feat(draw) add LV_BLEND_MODE_MULTIPLY <code style="color: #bb0000;">cc78ef4</code>
* feat(test) add assert for screenshot compare <code>2f7a005</code>
+
* feat(test) add assert for screenshot compare <code style="color: #bb0000;">2f7a005</code>
* feat(event) pass the scroll aniamtion to LV_EVENT_SCROLL_BEGIN <code>ca54ecf</code>
+
* feat(event) pass the scroll aniamtion to LV_EVENT_SCROLL_BEGIN <code style="color: #bb0000;">ca54ecf</code>
* feat(obj) place the scrollbar to the left with RTL base dir. <code>906448e</code>
+
* feat(obj) place the scrollbar to the left with RTL base dir. <code style="color: #bb0000;">906448e</code>
* feat(log) allow overwriting LV_LOG_... macros <code>17b8a76</code>
+
* feat(log) allow overwriting LV_LOG_... macros <code style="color: #bb0000;">17b8a76</code>
* feat(arc) add support to LV_OBJ_FLAG_ADV_HITTEST <code>dfa4f5c</code>
+
* feat(arc) add support to LV_OBJ_FLAG_ADV_HITTEST <code style="color: #bb0000;">dfa4f5c</code>
* feat(event) add LV_SCREEN_(UN)LOAD_START <code>7bae9e3</code>
+
* feat(event) add LV_SCREEN_(UN)LOAD_START <code style="color: #bb0000;">7bae9e3</code>
* feat(obj) add lv_obj_del_delayed() <code>c6a2e15</code>
+
* feat(obj) add lv_obj_del_delayed() <code style="color: #bb0000;">c6a2e15</code>
* feat(docs) add view on GitHub link <code>a716ac6</code>
+
* feat(docs) add view on GitHub link <code style="color: #bb0000;">a716ac6</code>
* feat(event) add LV_EVENT_SCREEN_LOADED/UNLOADED events <code>ee5369e</code>
+
* feat(event) add LV_EVENT_SCREEN_LOADED/UNLOADED events <code style="color: #bb0000;">ee5369e</code>
* feat(textarea) remove the need of lv_textarea_set_align <code>56ebb1a</code>
+
* feat(textarea) remove the need of lv_textarea_set_align <code style="color: #bb0000;">56ebb1a</code>
* feat(rt-thread): support LVGL projects with GCC/Keil(AC5)/Keil(AC6)/IAR <code>32d33fe</code>
+
* feat(rt-thread): support LVGL projects with GCC/Keil(AC5)/Keil(AC6)/IAR <code style="color: #bb0000;">32d33fe</code>
* feat(docs) lazy load individual examples as well <code>918d948</code>
+
* feat(docs) lazy load individual examples as well <code style="color: #bb0000;">918d948</code>
* feat: add LV_USE_MEM_PERF/MONITOR_POS <code>acd0f4f</code>
+
* feat: add LV_USE_MEM_PERF/MONITOR_POS <code style="color: #bb0000;">acd0f4f</code>
* feat(canvas) add lv_canvas_set_px_opa <code>b3b3ffc</code>
+
* feat(canvas) add lv_canvas_set_px_opa <code style="color: #bb0000;">b3b3ffc</code>
* feat(event) add lv_obj_remove_event_cb_with_user_data <code>4eddeb3</code>
+
* feat(event) add lv_obj_remove_event_cb_with_user_data <code style="color: #bb0000;">4eddeb3</code>
* feat(obj) add lv_obj_get_x/y_aligned <code>98bc1fe</code>
+
* feat(obj) add lv_obj_get_x/y_aligned <code style="color: #bb0000;">98bc1fe</code>
  
 
=== Performance ===
 
=== Performance ===
  
* perf(draw) reimplement circle drawing algorithms <code>2374</code>
+
* perf(draw) reimplement circle drawing algorithms <code style="color: #bb0000;">2374</code>
* perf(anim_timeline) add lv_anim_timeline_stop() <code>2411</code>
+
* perf(anim_timeline) add lv_anim_timeline_stop() <code style="color: #bb0000;">2411</code>
* perf(obj) remove lv_obj_get_child_cnt from cycle limit checks <code>ebb9ce9</code>
+
* perf(obj) remove lv_obj_get_child_cnt from cycle limit checks <code style="color: #bb0000;">ebb9ce9</code>
* perf(draw) reimplement rectangle drawing algorithms <code>5b3d3dc</code>
+
* perf(draw) reimplement rectangle drawing algorithms <code style="color: #bb0000;">5b3d3dc</code>
* perf(draw) ignore masks if they don't affect the current draw area <code>a842791</code>
+
* perf(draw) ignore masks if they don't affect the current draw area <code style="color: #bb0000;">a842791</code>
* perf(refresh) optimize where to wait for lv_disp_flush_ready with 2 buffers <code>d0172f1</code>
+
* perf(refresh) optimize where to wait for lv_disp_flush_ready with 2 buffers <code style="color: #bb0000;">d0172f1</code>
* perf(draw) speed up additive blending <code>3abe517</code>
+
* perf(draw) speed up additive blending <code style="color: #bb0000;">3abe517</code>
  
 
=== Fixes ===
 
=== Fixes ===
  
* fix(bidi): add weak characters to the previous strong character's run <code>2777</code>
+
* fix(bidi): add weak characters to the previous strong character's run <code style="color: #bb0000;">2777</code>
* fix(draw_img): radius mask doesn't work in specific condition <code>2786</code>
+
* fix(draw_img): radius mask doesn't work in specific condition <code style="color: #bb0000;">2786</code>
* fix(border_post): ignore bg_img_opa draw when draw border_post <code>2788</code>
+
* fix(border_post): ignore bg_img_opa draw when draw border_post <code style="color: #bb0000;">2788</code>
* fix(refresh) switch to portable format specifiers <code>2781</code>
+
* fix(refresh) switch to portable format specifiers <code style="color: #bb0000;">2781</code>
* fix(stm32) Mark unused variable in stm32 DMA2D driver <code>2782</code>
+
* fix(stm32) Mark unused variable in stm32 DMA2D driver <code style="color: #bb0000;">2782</code>
* fix(conf): Make LV_COLOR_MIX_ROUND_OFS configurable <code>2766</code>
+
* fix(conf): Make LV_COLOR_MIX_ROUND_OFS configurable <code style="color: #bb0000;">2766</code>
* fix(misc): correct the comment and code style <code>2769</code>
+
* fix(misc): correct the comment and code style <code style="color: #bb0000;">2769</code>
* fix(draw_map) use existing variables instead function calls <code>2776</code>
+
* fix(draw_map) use existing variables instead function calls <code style="color: #bb0000;">2776</code>
* fix(draw_img): fix typos in API comments <code>2773</code>
+
* fix(draw_img): fix typos in API comments <code style="color: #bb0000;">2773</code>
* fix(draw_img):radius Mask doesn't work in Specific condition <code>2775</code>
+
* fix(draw_img):radius
* fix(proto) Remove redundant prototype declarations <code>2771</code>
 
* fix(conf) better support bool option from Kconfign <code>2555</code>
 
* fix(draw_border):draw error if radius == 0 and parent clip_corner == true <code>2764</code
 
  
 
=== Examples ===
 
=== Examples ===
  
* example(chart) add area chart example <code>2507</code>
+
* example(chart) add area chart example <code style="color: #bb0000;">2507</code>
* example(anim) add demo to use cubic-bezier <code>2393</code>
+
* example(anim) add demo to use cubic-bezier <code style="color: #bb0000;">2393</code>
* feat(example) add lv_example_chart_9.py <code>2604</code>
+
* feat(example) add lv_example_chart_9.py <code style="color: #bb0000;">2604</code>
* feat(example) add lv_example_chart_8.py <code>2611</code>
+
* feat(example) add lv_example_chart_8.py <code style="color: #bb0000;">2611</code>
* feat(example) chart example to add gap between the old and new data <code>2565</code>
+
* feat(example) chart example to add gap between the old and new data <code style="color: #bb0000;">2565</code>
* feat(example) add lv example list 2 <code>2545</code>
+
* feat(example) add lv example list 2 <code style="color: #bb0000;">2545</code>
* feat(examples) add MicroPython version of lv_example_anim_3 and allow loading roller font dynamically <code>2412</code>
+
* feat(examples) add MicroPython version of lv_example_anim_3 and allow loading roller font dynamically <code style="color: #bb0000;">2412</code>
* feat(examples) added MP version of second tabview example <code>2347</code>
+
* feat(examples) added MP version of second tabview example <code style="color: #bb0000;">2347</code>
* fix(example):format codes <code>2731</code>
+
* fix(example):format codes <code style="color: #bb0000;">2731</code>
* fix(example) minor fixes in lv_example_chart_2.py <code>2601</code>
+
* fix(example) minor fixes in lv_example_chart_2.py <code style="color: #bb0000;">2601</code>
* feat(example) add text with gradient example <code>462fbcb</code>
+
* feat(example) add text with gradient example <code style="color: #bb0000;">462fbcb</code>
* fix(example_roller_3) mask free param bug <code>2553</code>
+
* fix(example_roller_3) mask free param bug <code style="color: #bb0000;">2553</code>
* fix(examples) don't compile assets unless needed <code>2523</code>
+
* fix(examples) don't compile assets unless needed <code style="color: #bb0000;">2523</code>
* fix(example) scroll example sqort types <code>2498</code>
+
* fix(example) scroll example sqort types <code style="color: #bb0000;">2498</code>
* fix(examples) join usage <code>2425</code>
+
* fix(examples) join usage <code style="color: #bb0000;">2425</code>
* fix(examples) add missing lv.PART.INDICATOR <code>2423</code>
+
* fix(examples) add missing lv.PART.INDICATOR <code style="color: #bb0000;">2423</code>
* fix(examples) use lv.grid_fr for MicroPython <code>2419</code>
+
* fix(examples) use lv.grid_fr for MicroPython <code style="color: #bb0000;">2419</code>
* fix(examples) remove symlinks <code>2406</code>
+
* fix(examples) remove symlinks <code style="color: #bb0000;">2406</code>
* fix(examples) import 'u'-prefixed versions of modules <code>2365</code>
+
* fix(examples) import 'u'-prefixed versions of modules <code style="color: #bb0000;">2365</code>
* fix(examples) remove cast in MP scripts <code>2354</code>
+
* fix(examples) remove cast in MP scripts <code style="color: #bb0000;">2354</code>
* fix(examples) fix MicroPython examples and run the examples with CI <code>2339</code>
+
* fix(examples) fix MicroPython examples and run the examples with CI <code style="color: #bb0000;">2339</code>
* fix(examples) align with renamed Micropython APIs <code>2338</code>
+
* fix(examples) align with renamed Micropython APIs <code style="color: #bb0000;">2338</code>
* fix(examples) adjust canvas example for MicroPython API change <code>52d1c2e</code>
+
* fix(examples) adjust canvas example for MicroPython API change <code style="color: #bb0000;">52d1c2e</code>
* fix(example) revert test code <code>77e2c1f</code>
+
* fix(example) revert test code <code style="color: #bb0000;">77e2c1f</code>
* feat(example) add checkbox example for radio buttons <code>d089b36</code>
+
* feat(example) add checkbox example for radio buttons <code style="color: #bb0000;">d089b36</code>
* feat(example) add text with gradient example <code>462fbcb</code>
+
* feat(example) add text with gradient example <code style="color: #bb0000;">462fbcb</code>
* fix(examples) exclude example animimg images if animimg is disabled <code>4d7d306</code>
+
* fix(examples) exclude example animimg images if animimg is disabled <code style="color: #bb0000;">4d7d306</code>
* fix(example) adjust the object sizes in lv_example_anim_timeline_1() <code>71a10e4</code>
+
* fix(example) adjust the object sizes in lv_example_anim_timeline_1() <code style="color: #bb0000;">71a10e4</code>
* fix(example) revert text code from lv_example_checkbox_2 <code>28e9593</code>
+
* fix(example) revert text code from lv_example_checkbox_2 <code style="color: #bb0000;">28e9593</code>
  
 
=== Docs ===
 
=== Docs ===
  
* docs: fix typo <code>2765</code>
+
* docs: fix typo <code style="color: #bb0000;">2765</code>
* docs(colorwheel) fix old API names <code>2643</code>
+
* docs(colorwheel) fix old API names <code style="color: #bb0000;">2643</code>
* docs(display) fix typo <code>2624</code>
+
* docs(display) fix typo <code style="color: #bb0000;">2624</code>
* docs add static for lv_indev_drv_t <code>2605</code>
+
* docs add static for lv_indev_drv_t <code style="color: #bb0000;">2605</code>
* docs(animimg) add to extra widgets index and fix example <code>2610</code>
+
* docs(animimg) add to extra widgets index and fix example <code style="color: #bb0000;">2610</code>
* docs(animimg) Add missing animation image page <code>2609</code>
+
* docs(animimg) Add missing animation image page <code style="color: #bb0000;">2609</code>
* docs(group) remove reference to lv_cont which is gone in v8 <code>2580</code>
+
* docs(group) remove reference to lv_cont which is gone in v8 <code style="color: #bb0000;">2580</code>
* docs(style) use correct API name for local styles <code>2550</code>
+
* docs(style) use correct API name for local styles <code style="color: #bb0000;">2550</code>
* docs(all) Proofread, fix typos and add clarifications in confusing areas <code>2528</code>
+
* docs(all) Proofread, fix typos and add clarifications in confusing areas <code style="color: #bb0000;">2528</code>
* docs(flex) update flex.md <code>2517</code>
+
* docs(flex) update flex.md <code style="color: #bb0000;">2517</code>
* docs more spelling fixes <code>2499</code>
+
* docs more spelling fixes <code style="color: #bb0000;">2499</code>
* docs fix typo: arae -> area <code>2488</code>
+
* docs fix typo: arae -> area <code style="color: #bb0000;">2488</code>
* docs(readme) fix typo: hosing → hosting. <code>2477</code>
+
* docs(readme) fix typo: hosing → hosting. <code style="color: #bb0000;">2477</code>
* docs update company name and year <code>2476</code>
+
* docs update company name and year <code style="color: #bb0000;">2476</code>
* docs fix typos <code>2472</code>
+
* docs fix typos <code style="color: #bb0000;">2472</code>
* docs(overview) fix typo <code>2465</code>
+
* docs(overview) fix typo <code style="color: #bb0000;">2465</code>
* docs(bar) fix typos in widget examples <code>2463</code>
+
* docs(bar) fix typos in widget examples <code style="color: #bb0000;">2463</code>
* docs(overview) fix typo <code>2454</code>
+
* docs(overview) fix typo <code style="color: #bb0000;">2454</code>
* docs(chart) typos <code>2427</code>
+
* docs(chart) typos <code style="color: #bb0000;">2427</code>
* docs(layout) add internal padding paragraph to grid and flex layout p… <code>2392</code>
+
* docs(layout) add internal padding paragraph to grid and flex layout p… <code style="color: #bb0000;">2392</code>
* docs(porting) fix indev example to remove v7 bool return <code>2381</code>
+
* docs(porting) fix indev example to remove v7 bool return <code style="color: #bb0000;">2381</code>
* docs(README) fix broken references <code>2329</code>
+
* docs(README) fix broken references <code style="color: #bb0000;">2329</code>
* docs(grid) typo fix <code>2310</code>
+
* docs(grid) typo fix <code style="color: #bb0000;">2310</code>
* docs(color) language fixes <code>2302</code>
+
* docs(color) language fixes <code style="color: #bb0000;">2302</code>
* docs(lv_obj_style) update add_style and remove_style function headers <code>2287</code>
+
* docs(lv_obj_style) update add_style and remove_style function headers <code style="color: #bb0000;">2287</code>
* docs(contributing) add commit message format section <code>3668e54</code>
+
* docs(contributing) add commit message format section <code style="color: #bb0000;">3668e54</code>
* docs minor typo fixes <code>84c0086</code>
+
* docs minor typo fixes <code style="color: #bb0000;">84c0086</code>
* docs(arduino) update some outdated information <code>9a77102</code>
+
* docs(arduino) update some outdated information <code style="color: #bb0000;">9a77102</code>
* docs(keyboard) add note regarding event handler <code>255f729</code>
+
* docs(keyboard) add note regarding event handler <code style="color: #bb0000;">255f729</code>
* docs minor CSS fix <code>acbb680</code>
+
* docs minor CSS fix <code style="color: #bb0000;">acbb680</code>
* docs minor CSS improvements <code>7f367d6</code>
+
* docs minor CSS improvements <code style="color: #bb0000;">7f367d6</code>
* docs(keyboard) change <code>LV_KEYBOARD_MODE_NUM</code> to <code>LV_KEYBOARD_MODE_NUMBER</code> <code>6e83d37</code>
+
* docs(keyboard) change <code style="color: #bb0000;">LV_KEYBOARD_MODE_NUM</code> to <code style="color: #bb0000;">LV_KEYBOARD_MODE_NUMBER</code> <code style="color: #bb0000;">6e83d37</code>
* docs(textarea) clarify the use of text selection bg_color <code>65673c0</code>
+
* docs(textarea) clarify the use of text selection bg_color <code style="color: #bb0000;">65673c0</code>
* docs list all examples on one page <code>25acaf4</code>
+
* docs list all examples on one page <code style="color: #bb0000;">25acaf4</code>
* docs(examples) add MicroPython examples <code>6f37c4f</code>
+
* docs(examples) add MicroPython examples <code style="color: #bb0000;">6f37c4f</code>
* docs(filesystem) update to v8 <code>7971ade</code>
+
* docs(filesystem) update to v8 <code style="color: #bb0000;">7971ade</code>
* docs(style) complete the description of style the properties <code>55e8846</code>
+
* docs(style) complete the description of style the properties <code style="color: #bb0000;">55e8846</code>
* docs example list fixes <code>cd600d1</code>
+
* docs example list fixes <code style="color: #bb0000;">cd600d1</code>
* docs(style) complete the description of style the properties <code>ff087da</code>
+
* docs(style) complete the description of style the properties <code style="color: #bb0000;">ff087da</code>
* docs(README) update links, examples, and add services menu <code>3471bd1</code>
+
* docs(README) update links, examples, and add services menu <code style="color: #bb0000;">3471bd1</code>
* docs(color) update colors' docs <code>9056b5e</code>
+
* docs(color) update colors' docs <code style="color: #bb0000;">9056b5e</code>
* docs update lv_fs.h, layer and align.png to v8 <code>31ab062</code>
+
* docs update lv_fs.h, layer and align.png to v8 <code style="color: #bb0000;">31ab062</code>
* docs(color) minor fix <code>ac8f453</code>
+
* docs(color) minor fix <code style="color: #bb0000;">ac8f453</code>
* docs update changelog <code>c386110</code>
+
* docs update changelog <code style="color: #bb0000;">c386110</code>
* docs(extra) add extra/README.md <code>8cd504d</code>
+
* docs(extra) add extra/README.md <code style="color: #bb0000;">8cd504d</code>
* docs add lazy load to the iframes of the examples <code>c49e830</code>
+
* docs add lazy load to the iframes of the examples <code style="color: #bb0000;">c49e830</code>
* docs(os) add example and clarify some poinits <code>d996453</code>
+
* docs(os) add example and clarify some poinits <code style="color: #bb0000;">d996453</code>
* docs(rlottie) fix build error <code>ce0b564</code>
+
* docs(rlottie) fix build error <code style="color: #bb0000;">ce0b564</code>
* docs include paths in libs <code>f5f9562</code>
+
* docs include paths in libs <code style="color: #bb0000;">f5f9562</code>
* docs libs fixes <code>8e7bba6</code>
+
* docs libs fixes <code style="color: #bb0000;">8e7bba6</code>
* docs(obj) add comment lv_obj_get_x/y/width/height about postponed layout recalculation <code>533066e</code>
+
* docs(obj) add comment lv_obj_get_x/y/width/height about postponed layout recalculation <code style="color: #bb0000;">533066e</code>
* docs fix example list <code>ed77ed1</code>
+
* docs fix example list <code style="color: #bb0000;">ed77ed1</code>
* docs describe the options to include or skip lv_conf.h <code>174ef66</code>
+
* docs describe the options to include or skip lv_conf.h <code style="color: #bb0000;">174ef66</code>
* docs(overview) spelling fixes <code>d2efb8c</code>
+
* docs(overview) spelling fixes <code style="color: #bb0000;">d2efb8c</code>
* docs(table) describe keypad/encoder navigation <code>749d1b3</code>
+
* docs(table) describe keypad/encoder navigation <code style="color: #bb0000;">749d1b3</code>
* docs update CHANGELOG <code>0f8bc18</code>
+
* docs update CHANGELOG <code style="color: #bb0000;">0f8bc18</code>
* docs(image) mention the frame_id parameter of lv_img_decoder_open <code>2433732</code>
+
* docs(image) mention the frame_id parameter of lv_img_decoder_open <code style="color: #bb0000;">2433732</code>
* docs(arduino) update how to use the examples <code>06962a5</code>
+
* docs(arduino) update how to use the examples <code style="color: #bb0000;">06962a5</code>
* docs(rlottie): fix typo in commands <code>ed9169c</code>
+
* docs(rlottie): fix typo in commands <code style="color: #bb0000;">ed9169c</code>
* docs(indev, layer) update lv_obj_set_click() to lv_obj_add_flag() <code>bcd99e8</code>
+
* docs(indev, layer) update lv_obj_set_click() to lv_obj_add_flag() <code style="color: #bb0000;">bcd99e8</code>
* docs update version support table <code>e6e98ab</code>
+
* docs update version support table <code style="color: #bb0000;">e6e98ab</code>
* docs fix example list <code>c6f99ad</code>
+
* docs fix example list <code style="color: #bb0000;">c6f99ad</code>
* docs(examples) add <nowiki><hr/></nowiki> to better separate examples <code>a1b59e3</code>
+
* docs(examples) add <nowiki><hr/></nowiki> to better separate examples <code style="color: #bb0000;">a1b59e3</code>
* docs(checkbox) update the comment lv_checkbox_set_text_static <code>3e0ddd0</code>
+
* docs(checkbox) update the comment lv_checkbox_set_text_static <code style="color: #bb0000;">3e0ddd0</code>
* docs(grid) fix missing article <code>da0c97a</code>
+
* docs(grid) fix missing article <code style="color: #bb0000;">da0c97a</code>
* docs(display) fix grammar in one spot <code>5dbea7d</code>
+
* docs(display) fix grammar in one spot <code style="color: #bb0000;">5dbea7d</code>
* docs(style) fix typo in style property descriptions <code>4e3b860</code>
+
* docs(style) fix typo in style property descriptions <code style="color: #bb0000;">4e3b860</code>
* docs(flex) fix typo in flex grow section <code>e5fafc4</code>
+
* docs(flex) fix typo in flex grow section <code style="color: #bb0000;">e5fafc4</code>
* docs(indev) clarify purpose of <code>continue_reading</code> flag <code>706f81e</code>
+
* docs(indev) clarify purpose of <code style="color: #bb0000;">continue_reading</code> flag <code style="color: #bb0000;">706f81e</code>
* docs(license) update company name and year <code>7c1eb00</code>
+
* docs(license) update company name and year <code style="color: #bb0000;">7c1eb00</code>
* docs fix typo <code>8ab8064</code>
+
* docs fix typo <code style="color: #bb0000;">8ab8064</code>
* docs add libs to the main index <code>1a8fed5</code>
+
* docs add libs to the main index <code style="color: #bb0000;">1a8fed5</code>
* docs add btn_example.png <code>8731ef1</code>
+
* docs add btn_example.png <code style="color: #bb0000;">8731ef1</code>
* docs(btnmatrix) fix typo with set_all/clear_all parameters <code>51a82a1</code>
+
* docs(btnmatrix) fix typo with set_all/clear_all parameters <code style="color: #bb0000;">51a82a1</code>
  
 
=== CI and tests ===
 
=== CI and tests ===
  
* ci(micropython) fix git fetch <code>2757</code>
+
* ci(micropython) fix git fetch <code style="color: #bb0000;">2757</code>
* test(txt) initial unit tests and general code cleanup/fixes <code>2623</code>
+
* test(txt) initial unit tests and general code cleanup/fixes <code style="color: #bb0000;">2623</code>
* test add setUp and tearDown to test template <code>2648</code>
+
* test add setUp and tearDown to test template <code style="color: #bb0000;">2648</code>
* test(arc) add initial unit tests <code>2617</code>
+
* test(arc) add initial unit tests <code style="color: #bb0000;">2617</code>
* ci(micropython) add ESP32 and STM32 tests <code>2629</code>
+
* ci(micropython) add ESP32 and STM32 tests <code style="color: #bb0000;">2629</code>
* test(checkbox) add initial tests <code>2551</code>
+
* test(checkbox) add initial tests <code style="color: #bb0000;">2551</code>
* test(ci) build and run tests in parallel. <code>2515</code>
+
* test(ci) build and run tests in parallel. <code style="color: #bb0000;">2515</code>
* ci(tests) run tests using ctest <code>2503</code>
+
* ci(tests) run tests using ctest <code style="color: #bb0000;">2503</code>
* ci(tests) add dependency on GNU parallel <code>2510</code>
+
* ci(tests) add dependency on GNU parallel <code style="color: #bb0000;">2510</code>
* ci(tests) use common script to install development prereqs <code>2504</code>
+
* ci(tests) use common script to install development prereqs <code style="color: #bb0000;">2504</code>
* test convert Makefile to CMake <code>2495</code>
+
* test convert Makefile to CMake <code style="color: #bb0000;">2495</code>
* test Refactor unit test scripts. <code>2473</code>
+
* test Refactor unit test scripts. <code style="color: #bb0000;">2473</code>
* test(font_loader) migrate the exisiting font loader test <code>bc5b3be</code>
+
* test(font_loader) migrate the exisiting font loader test <code style="color: #bb0000;">bc5b3be</code>
* test add build test again, add dropdown test, integrate gcov and gvocr <code>e35b1d0</code>
+
* test add build test again, add dropdown test, integrate gcov and gvocr <code style="color: #bb0000;">e35b1d0</code>
* test(dropdown) add tess for keypad and encoder <code>4143b80</code>
+
* test(dropdown) add tess for keypad and encoder <code style="color: #bb0000;">4143b80</code>
* test add keypad and encoder emulators <code>e536bb6</code>
+
* test add keypad and encoder emulators <code style="color: #bb0000;">e536bb6</code>
* tests add mouse emulator <code>2ba810b</code>
+
* tests add mouse emulator <code style="color: #bb0000;">2ba810b</code>
* tests add README <code>b765643</code>
+
* tests add README <code style="color: #bb0000;">b765643</code>
* test add move tests to test_cases and test_runners directories <code>e9e010a</code>
+
* test add move tests to test_cases and test_runners directories <code style="color: #bb0000;">e9e010a</code>
* test fix CI build error <code>c38cae2</code>
+
* test fix CI build error <code style="color: #bb0000;">c38cae2</code>
* ci add config for 8bpp <code>3eacc59</code>
+
* ci add config for 8bpp <code style="color: #bb0000;">3eacc59</code>
* test move more source files to src folder <code>3672f87</code>
+
* test move more source files to src folder <code style="color: #bb0000;">3672f87</code>
* test update CI for the new tests <code>a3898b9</code>
+
* test update CI for the new tests <code style="color: #bb0000;">a3898b9</code>
* test cleant up report folder <code>b9b4ba5</code>
+
* test cleant up report folder <code style="color: #bb0000;">b9b4ba5</code>
* test fix build error <code>61cda59</code>
+
* test fix build error <code style="color: #bb0000;">61cda59</code>
* test(font_loader) migrate the existing font loader test <code>d6dbbaa</code>
+
* test(font_loader) migrate the existing font loader test <code style="color: #bb0000;">d6dbbaa</code>
* test add move tests to test_cases and test_runners directories <code>d2e735e</code>
+
* test add move tests to test_cases and test_runners directories <code style="color: #bb0000;">d2e735e</code>
* test add 3rd party libs to all tests and also fix them <code>7a95fa9</code>
+
* test add 3rd party libs to all tests and also fix them <code style="color: #bb0000;">7a95fa9</code>
* test(arc): add test case for adv_hittest <code>e83df6f</code>
+
* test(arc): add test case for adv_hittest <code style="color: #bb0000;">e83df6f</code>
* ci create check for lv_conf_internal.h <code>5d8285e</code>
+
* ci create check for lv_conf_internal.h <code style="color: #bb0000;">5d8285e</code>
* test fix warning and docs build error <code>d908f31</code>
+
* test fix warning and docs build error <code style="color: #bb0000;">d908f31</code>
* ci(micropython) add rp2 port <code>1ab5c96</code>
+
* ci(micropython) add rp2 port <code style="color: #bb0000;">1ab5c96</code>
* test(dropdown) remove dummy test case <code>9fb98da</code>
+
* test(dropdown) remove dummy test case <code style="color: #bb0000;">9fb98da</code>
* ci(codecov) hide statuses on commits for now <code>0b7be77</code>
+
* ci(codecov) hide statuses on commits for now <code style="color: #bb0000;">0b7be77</code>
* ci(docs) run apt-get update before installation <code>f215174</code>
+
* ci(docs) run apt-get update before installation <code style="color: #bb0000;">f215174</code>
* test fix LV_USE_LOG_LEVEL -> LV_LOG_LEVEL typo <code>80f0b09</code>
+
* test fix LV_USE_LOG_LEVEL -> LV_LOG_LEVEL typo <code style="color: #bb0000;">80f0b09</code>
* ci(micropython) add GCC problem matcher <code>ab316a0</code>
+
* ci(micropython) add GCC problem matcher <code style="color: #bb0000;">ab316a0</code>
* test convert Makefile to CMake (#2495) <code>9c846ee</code>
+
* test convert Makefile to CMake (#2495) <code style="color: #bb0000;">9c846ee</code>
  
 
=== Others ===
 
=== Others ===
  
* chore: replace (void)xxx with LV_UNUSED(xxx) <code>2779</code>
+
* chore: replace (void)xxx with LV_UNUSED(xxx) <code style="color: #bb0000;">2779</code>
* animation improvement <code>2743</code>
+
* animation improvement <code style="color: #bb0000;">2743</code>
* Improve LV_FORMAT_ATTRIBUTE usage <code>2673</code>
+
* Improve LV_FORMAT_ATTRIBUTE usage <code style="color: #bb0000;">2673</code>
* Fix typo in commands to build rlottie <code>2723</code>
+
* Fix typo in commands to build rlottie <code style="color: #bb0000;">2723</code>
* del(.gitmodules): delete .gitmodules <code>2718</code>
+
* del(.gitmodules): delete .gitmodules <code style="color: #bb0000;">2718</code>
* lv_obj_draw_part_dsc_t.text_length added <code>2694</code>
+
* lv_obj_draw_part_dsc_t.text_length added <code style="color: #bb0000;">2694</code>
* expose LV_COLOR_DEPTH and LV_COLOR_16_SWAP in micropython <code>2679</code>
+
* expose LV_COLOR_DEPTH and LV_COLOR_16_SWAP in micropython <code style="color: #bb0000;">2679</code>
* sync lvgl/lv_fs_if <code>2676</code>
+
* sync lvgl/lv_fs_if <code style="color: #bb0000;">2676</code>
* build: always enable CMake install rule in default configuration <code>2636</code>
+
* build: always enable CMake install rule in default configuration <code style="color: #bb0000;">2636</code>
* build: fix lib name in CMakeLists <code>2641</code>
+
* build: fix lib name in CMakeLists <code style="color: #bb0000;">2641</code>
* build: remove use of 'project' keyword in CMakeLists <code>2640</code>
+
* build: remove use of 'project' keyword in CMakeLists <code style="color: #bb0000;">2640</code>
* build add install rule to CMakeList.txt <code>2621</code>
+
* build add install rule to CMakeList.txt <code style="color: #bb0000;">2621</code>
* Fixed row size calculation <code>2633</code>
+
* Fixed row size calculation <code style="color: #bb0000;">2633</code>
* arch add small 3rd party libs to lvgl <code>2569</code>
+
* arch add small 3rd party libs to lvgl <code style="color: #bb0000;">2569</code>
* Kconfig: Add missing options <code>2597</code>
+
* Kconfig: Add missing options <code style="color: #bb0000;">2597</code>
* Espressif IDF component manager <code>2521</code>
+
* Espressif IDF component manager <code style="color: #bb0000;">2521</code>
* chore(btnmatrix) removed unnecessary semicolon <code>2520</code>
+
* chore(btnmatrix) removed unnecessary semicolon <code style="color: #bb0000;">2520</code>
* Update README.md <code>2516</code>
+
* Update README.md <code style="color: #bb0000;">2516</code>
* Corrected a function name in obj.md <code>2511</code>
+
* Corrected a function name in obj.md <code style="color: #bb0000;">2511</code>
* Simple spelling fixes <code>2496</code>
+
* Simple spelling fixes <code style="color: #bb0000;">2496</code>
* added lv_obj_move_up() and lv_obj_move_down() <code>2467</code>
+
* added lv_obj_move_up() and lv_obj_move_down() <code style="color: #bb0000;">2467</code>
* Fix buf name error for "lv_port_disp_template.c" and optimize the arduino example <code>2475</code>
+
* Fix buf name error for "lv_port_disp_template.c" and optimize the arduino example <code style="color: #bb0000;">2475</code>
* Fix two examples in the docs with new v8 api <code>2486</code>
+
* Fix two examples in the docs with new v8 api <code style="color: #bb0000;">2486</code>
* kconfig: minor fix for default dark theme option <code>2426</code>
+
* kconfig: minor fix for default dark theme option <code style="color: #bb0000;">2426</code>
* doc(table) update doc on cell merging <code>2397</code>
+
* doc(table) update doc on cell merging <code style="color: #bb0000;">2397</code>
* added example lv_example_anim_timeline_1.py <code>2387</code>
+
* added example lv_example_anim_timeline_1.py <code style="color: #bb0000;">2387</code>
* refactor(printf) add printf-like function attribute to _lv_txt_set_text_vfmt and lv_label_set_text_fmt <code>2332</code>
+
* refactor(printf) add printf-like function attribute to _lv_txt_set_text_vfmt and lv_label_set_text_fmt <code style="color: #bb0000;">2332</code>
* Update win.md <code>2352</code>
+
* Update win.md <code style="color: #bb0000;">2352</code>
* Nxp pxp vglite v8 dev <code>2313</code>
+
* Nxp pxp vglite v8 dev <code style="color: #bb0000;">2313</code>
* More Snapable --> Snappable replacements <code>2304</code>
+
* More Snapable --> Snappable replacements <code style="color: #bb0000;">2304</code>
* Spelling and other language fixes to documentation <code>2293</code>
+
* Spelling and other language fixes to documentation <code style="color: #bb0000;">2293</code>
* Update quick-overview.md <code>2295</code>
+
* Update quick-overview.md <code style="color: #bb0000;">2295</code>
* adding micropython examples <code>2286</code>
+
* adding micropython examples <code style="color: #bb0000;">2286</code>
* format run code-formtter.sh <code>d67dd94</code>
+
* format run code-formtter.sh <code style="color: #bb0000;">d67dd94</code>
* Update ROADMAP.md <code>2b1ae3c</code>
+
* Update ROADMAP.md <code style="color: #bb0000;">2b1ae3c</code>
* Create .codecov.yml <code>e53aa82</code>
+
* Create .codecov.yml <code style="color: #bb0000;">e53aa82</code>
* refactor(examples) drop JS-specific code from header.py <code>ef41450</code>
+
* refactor(examples) drop JS-specific code from header.py <code style="color: #bb0000;">ef41450</code>
* make test run on mseter and release/v8.* <code>227402a</code>
+
* make test run on mseter and release/v8.* <code style="color: #bb0000;">227402a</code>
* Update release.yml <code>0838f12</code>
+
* Update release.yml <code style="color: #bb0000;">0838f12</code>
* refactor(examples) drop usys import from header.py <code>ad1f91a</code>
+
* refactor(examples) drop usys import from header.py <code style="color: #bb0000;">ad1f91a</code>
* Update ROADMAP.md <code>a38fcf2</code>
+
* Update ROADMAP.md <code style="color: #bb0000;">a38fcf2</code>
* Revert "feat(conf) add better check for Kconfig default" <code>a5793c7</code>
+
* Revert "feat(conf) add better check for Kconfig default" <code style="color: #bb0000;">a5793c7</code>
* remove temporary test file <code>a958c29</code>
+
* remove temporary test file <code style="color: #bb0000;">a958c29</code>
* start to implement release/patch <code>1626a0c</code>
+
* start to implement release/patch <code style="color: #bb0000;">1626a0c</code>
* chore(indev) minor formatting <code>79ab3d2</code>
+
* chore(indev) minor formatting <code style="color: #bb0000;">79ab3d2</code>
* add basic patch release script <code>1c3ecf1</code>
+
* add basic patch release script <code style="color: #bb0000;">1c3ecf1</code>
* chore(example) minor improvements on lv_example_list_2 <code>bb6d6b7</code>
+
* chore(example) minor improvements on lv_example_list_2 <code style="color: #bb0000;">bb6d6b7</code>
* tool: add changelog_gen.sh to automatically generate changelog <code>6d95521</code>
+
* tool: add changelog_gen.sh to automatically generate changelog <code style="color: #bb0000;">6d95521</code>
* update version numbers to v8.1.0-dev <code>8691611</code>
+
* update version numbers to v8.1.0-dev <code style="color: #bb0000;">8691611</code>
* chore(test) improve prints <code>ea8bed3</code>
+
* chore(test) improve prints <code style="color: #bb0000;">ea8bed3</code>
* chore(test) improve prints <code>0c4bca0</code>
+
* chore(test) improve prints <code style="color: #bb0000;">0c4bca0</code>
* chore: update lv_conf_internal.h <code>41c2dd1</code>
+
* chore: update lv_conf_internal.h <code style="color: #bb0000;">41c2dd1</code>
* chore(format) lv_conf_template.h minor formatting <code>3c86d77</code>
+
* chore(format) lv_conf_template.h minor formatting <code style="color: #bb0000;">3c86d77</code>
* chore(docs) always deploy master to docs/master as well <code>6d05692</code>
+
* chore(docs) always deploy master to docs/master as well <code style="color: #bb0000;">6d05692</code>
* Update CHANGELOG.md <code>48fd73d</code>
+
* Update CHANGELOG.md <code style="color: #bb0000;">48fd73d</code>
* Fix compile errors <code>6c956cc</code>
+
* Fix compile errors <code style="color: #bb0000;">6c956cc</code>
* Update textarea.md <code>6d8799f</code>
+
* Update textarea.md <code style="color: #bb0000;">6d8799f</code>
* chore(assert) add warning about higher memory usage if LV_USE_ASSERT_STYLE is enabled <code>33e4330</code>
+
* chore(assert) add warning about higher memory usage if LV_USE_ASSERT_STYLE is enabled <code style="color: #bb0000;">33e4330</code>
* Update page.html <code>9573bab</code>
+
* Update page.html <code style="color: #bb0000;">9573bab</code>
* chore(docs) force docs rebuild <code>4a0f413</code>
+
* chore(docs) force docs rebuild <code style="color: #bb0000;">4a0f413</code>
* Fix typo error in color.md <code>572880c</code>
+
* Fix typo error in color.md <code style="color: #bb0000;">572880c</code>
* Update arc.md <code>2a9b9e6</code>
+
* Update arc.md <code style="color: #bb0000;">2a9b9e6</code>
* Update index.rst <code>9ce2c77</code>
+
* Update index.rst <code style="color: #bb0000;">9ce2c77</code>
* chore(docs) minor formatting on example's GitHub link <code>75209e8</code>
+
* chore(docs) minor formatting on example's GitHub link <code style="color: #bb0000;">75209e8</code>
* chore(lv_conf_template) fix spelling mistake <code>9d134a9</code>
+
* chore(lv_conf_template) fix spelling mistake <code style="color: #bb0000;">9d134a9</code>
* Update CHANGELOG.md <code>8472360</code>
+
* Update CHANGELOG.md <code style="color: #bb0000;">8472360</code>
* chore(stale) disable on forks <code>93c1303</code>
+
* chore(stale) disable on forks <code style="color: #bb0000;">93c1303</code>
* Revert "fix(tests) remove src/test_runners when cleaning" <code>ae15a1b</code>
+
* Revert "fix(tests) remove src/test_runners when cleaning" <code style="color: #bb0000;">ae15a1b</code>
* style fix usage of clang-format directives <code>2122583</code>
+
* style fix usage of clang-format directives <code style="color: #bb0000;">2122583</code>
* Revert "fix(indev) focus on objects on release instead of press" <code>f61b2ca</code>
+
* Revert "fix(indev) focus on objects on release instead of press" <code style="color: #bb0000;">f61b2ca</code>
  
 
== v8.0.2 (16.07.2021) ==
 
== v8.0.2 (16.07.2021) ==
979行目: 979行目:
 
=== Directory structure ===
 
=== Directory structure ===
  
* The <code>lv_</code> prefix is removed from the folder names
+
* The <code style="color: #bb0000;">lv_</code> prefix is removed from the folder names
* The <code>docs</code> is moved to the <code>lvgl</code> repository
+
* The <code style="color: #bb0000;">docs</code> is moved to the <code style="color: #bb0000;">lvgl</code> repository
* The <code>examples</code> are moved to the <code>lvgl</code> repository
+
* The <code style="color: #bb0000;">examples</code> are moved to the <code style="color: #bb0000;">lvgl</code> repository
* Create an <code>src/extra</code> folder for complex widgets:
+
* Create an <code style="color: #bb0000;">src/extra</code> folder for complex widgets:
 
** It makes the core LVGL leaner
 
** It makes the core LVGL leaner
** In <code>extra</code> we can have a lot and specific widgets
+
** In <code style="color: #bb0000;">extra</code> we can have a lot and specific widgets
 
** Good place for contributions
 
** Good place for contributions
  
 
=== Widget changes ===
 
=== Widget changes ===
  
* <code>lv_cont</code> removed, layout features are moved to <code>lv_obj</code>
+
* <code style="color: #bb0000;">lv_cont</code> removed, layout features are moved to <code style="color: #bb0000;">lv_obj</code>
* <code>lv_page</code> removed, scroll features are moved to <code>lv_obj</code>
+
* <code style="color: #bb0000;">lv_page</code> removed, scroll features are moved to <code style="color: #bb0000;">lv_obj</code>
* <code>lv_objmask</code> the same can be achieved by events
+
* <code style="color: #bb0000;">lv_objmask</code> the same can be achieved by events
* <code>lv_meter</code> added as the union of <code>lv_linemeter</code> and <code>lv_gauge</code>
+
* <code style="color: #bb0000;">lv_meter</code> added as the union of <code style="color: #bb0000;">lv_linemeter</code> and <code style="color: #bb0000;">lv_gauge</code>
* <code>lv_span</code> new widget mimicking HTML <code><nowiki><span></nowiki></code>
+
* <code style="color: #bb0000;">lv_span</code> new widget mimicking HTML <code style="color: #bb0000;"><nowiki><span></nowiki></code>
* <code>lv_animing</code> new widget for simple slideshow animations
+
* <code style="color: #bb0000;">lv_animing</code> new widget for simple slideshow animations
 
* + many minor changes and improvements
 
* + many minor changes and improvements
  
1,000行目: 1,000行目:
  
 
* Support "elastic" scrolling when scrolled in
 
* Support "elastic" scrolling when scrolled in
* Support scroll chaining among any objects types (not only <code>lv_pages</code>s)
+
* Support scroll chaining among any objects types (not only <code style="color: #bb0000;">lv_pages</code>s)
* Remove <code>lv_drag</code>. Similar effect can be achieved by setting the position in <code>LV_EVENT_PRESSING</code>
+
* Remove <code style="color: #bb0000;">lv_drag</code>. Similar effect can be achieved by setting the position in <code style="color: #bb0000;">LV_EVENT_PRESSING</code>
 
* Add snapping
 
* Add snapping
 
* Add snap stop to scroll max 1 snap point
 
* Add snap stop to scroll max 1 snap point
1,019行目: 1,019行目:
  
 
* Allow adding multiple events to an object
 
* Allow adding multiple events to an object
* A <code>user_data</code> can be attached to the added events
+
* A <code style="color: #bb0000;">user_data</code> can be attached to the added events
  
 
=== Driver changes ===
 
=== Driver changes ===
  
* <code>lv_disp_drv_t</code>, <code>lv_indev_drv_t</code>, <code>lv_fs_drv_t</code> needs to be <code>static</code>
+
* <code style="color: #bb0000;">lv_disp_drv_t</code>, <code style="color: #bb0000;">lv_indev_drv_t</code>, <code style="color: #bb0000;">lv_fs_drv_t</code> needs to be <code style="color: #bb0000;">static</code>
* <code>...disp_buf...</code> is renamed to <code>draw_buf</code>. See an initialization example here.
+
* <code style="color: #bb0000;">...disp_buf...</code> is renamed to <code style="color: #bb0000;">draw_buf</code>. See an initialization example here.
 
* No partial update if two screen sized buffers are set
 
* No partial update if two screen sized buffers are set
* <code>disp_drv->full_refresh = 1</code> makes always the whole display redraw.
+
* <code style="color: #bb0000;">disp_drv->full_refresh = 1</code> makes always the whole display redraw.
* <code>hor_res</code> and <code>ver_res</code> need to be set in <code>disp_drv</code>
+
* <code style="color: #bb0000;">hor_res</code> and <code style="color: #bb0000;">ver_res</code> need to be set in <code style="color: #bb0000;">disp_drv</code>
* <code>indev_read_cb</code> returns <code>void</code>. To indicate that there is more that to read set <code>data->continue_reading = 1</code> in the <code>read_cb</code>
+
* <code style="color: #bb0000;">indev_read_cb</code> returns <code style="color: #bb0000;">void</code>. To indicate that there is more that to read set <code style="color: #bb0000;">data->continue_reading = 1</code> in the <code style="color: #bb0000;">read_cb</code>
  
 
=== Other changes ===
 
=== Other changes ===
1,036行目: 1,036行目:
 
* Use a more generic inheritance
 
* Use a more generic inheritance
 
* The built-in themes are reworked
 
* The built-in themes are reworked
* <code>lv_obj_align</code> now saved the alignment and realigns the object automatically but can't be used to align to other than the parent
+
* <code style="color: #bb0000;">lv_obj_align</code> now saved the alignment and realigns the object automatically but can't be used to align to other than the parent
* <code>lv_obj_align_to</code> can align to an object but doesn't save the alignment
+
* <code style="color: #bb0000;">lv_obj_align_to</code> can align to an object but doesn't save the alignment
* <code>lv_pct(x)</code> can be used to set the size and position in percentage
+
* <code style="color: #bb0000;">lv_pct(x)</code> can be used to set the size and position in percentage
 
* There are many other changes in widgets that are not detailed here. Please refer to the documentation of the widgets.
 
* There are many other changes in widgets that are not detailed here. Please refer to the documentation of the widgets.
  
1,045行目: 1,045行目:
 
* We will follow [https://docs.gitlab.com/ee/topics/gitlab_flow.html#release-branches-with-gitlab-flow '''Release branches with GitLab flow''']
 
* We will follow [https://docs.gitlab.com/ee/topics/gitlab_flow.html#release-branches-with-gitlab-flow '''Release branches with GitLab flow''']
 
* Minor releases are expected in every 3-4 month
 
* Minor releases are expected in every 3-4 month
* <code>master</code> will always contain the latest changes
+
* <code style="color: #bb0000;">master</code> will always contain the latest changes
  
 
=== Migrating from v7 to v8 ===
 
=== Migrating from v7 to v8 ===
  
* First and foremost, create a new <code>lv_conf.h</code> based on <code>lv_conf_template.h</code>.
+
* First and foremost, create a new <code style="color: #bb0000;">lv_conf.h</code> based on <code style="color: #bb0000;">lv_conf_template.h</code>.
 
* To try the new version it's recommended to use a simulator project and see the examples.
 
* To try the new version it's recommended to use a simulator project and see the examples.
 
* When migrating your project to v8
 
* When migrating your project to v8
1,055行目: 1,055行目:
 
** Update the styles
 
** Update the styles
 
** Update the events
 
** Update the events
** Use the new layouts instead of <code>lv_cont</code> features
+
** Use the new layouts instead of <code style="color: #bb0000;">lv_cont</code> features
** Use <code>lv_obj</code> instead of <code>lv_page</code>
+
** Use <code style="color: #bb0000;">lv_obj</code> instead of <code style="color: #bb0000;">lv_page</code>
 
** See the changes in [https://docs.lvgl.io/8.0/overview/color.html '''Colors''']
 
** See the changes in [https://docs.lvgl.io/8.0/overview/color.html '''Colors''']
 
** The other parts are mainly minor renames and refactoring. See the functions' documentation for descriptions.
 
** The other parts are mainly minor renames and refactoring. See the functions' documentation for descriptions.
1,077行目: 1,077行目:
  
 
* fix(draw) overlap outline with background to prevent aliasing artifacts
 
* fix(draw) overlap outline with background to prevent aliasing artifacts
* fix(indev) clear the indev's <code>act_obj</code> in <code>lv_indev_reset</code>
+
* fix(indev) clear the indev's <code style="color: #bb0000;">act_obj</code> in <code style="color: #bb0000;">lv_indev_reset</code>
* fix(text) fix out of bounds read in <code>_lv_txt_get_width</code>
+
* fix(text) fix out of bounds read in <code style="color: #bb0000;">_lv_txt_get_width</code>
 
* fix(list) scroll list when button is focused using LV_KEY_NEXT/PREV
 
* fix(list) scroll list when button is focused using LV_KEY_NEXT/PREV
 
* fix(text) improve Arabic contextual analysis by adding hyphen processing and proper handling of lam-alef sequence
 
* fix(text) improve Arabic contextual analysis by adding hyphen processing and proper handling of lam-alef sequence
1,168行目: 1,168行目:
 
* fix(btnmatrix): fix setting the same map with modified pointers
 
* fix(btnmatrix): fix setting the same map with modified pointers
 
* fix(arc) fix and improve arc dragging
 
* fix(arc) fix and improve arc dragging
* label: Repair calculate back <code>dot</code> character logical error which cause infinite loop.
+
* label: Repair calculate back <code style="color: #bb0000;">dot</code> character logical error which cause infinite loop.
 
* fix(theme_material): remove the bottom border from tabview header
 
* fix(theme_material): remove the bottom border from tabview header
 
* fix(imgbtn) guess the closest available state with valid src
 
* fix(imgbtn) guess the closest available state with valid src
1,177行目: 1,177行目:
 
=== Bugfixes ===
 
=== Bugfixes ===
  
* Respect btnmatrix's <code>one_check</code> in <code>lv_btnmatrix_set_btn_ctrl</code>
+
* Respect btnmatrix's <code style="color: #bb0000;">one_check</code> in <code style="color: #bb0000;">lv_btnmatrix_set_btn_ctrl</code>
* Gauge: make the needle images to use the styles from <code>LV_GAUGE_PART_PART</code>
+
* Gauge: make the needle images to use the styles from <code style="color: #bb0000;">LV_GAUGE_PART_PART</code>
* Group: fix in <code>lv_group_remove_obj</code> to handle deleting hidden objects correctly
+
* Group: fix in <code style="color: #bb0000;">lv_group_remove_obj</code> to handle deleting hidden objects correctly
  
 
== v7.7.0 (20.10.2020) ==
 
== v7.7.0 (20.10.2020) ==
1,188行目: 1,188行目:
 
* Add VG-Lite GPU support (for NXP MCUs)
 
* Add VG-Lite GPU support (for NXP MCUs)
 
* Allow max. 16 cell types for table
 
* Allow max. 16 cell types for table
* Add <code>lv_table_set_text_fmt()</code>
+
* Add <code style="color: #bb0000;">lv_table_set_text_fmt()</code>
 
* Use margin on calendar header to set distances and padding to the size of the header
 
* Use margin on calendar header to set distances and padding to the size of the header
* Add <code>text_sel_bg</code> style property
+
* Add <code style="color: #bb0000;">text_sel_bg</code> style property
  
 
=== Bugfixes ===
 
=== Bugfixes ===
1,201行目: 1,201行目:
 
* Fix dropdown selection with RTL basedirection
 
* Fix dropdown selection with RTL basedirection
 
* Fix rectangle border drawing with large width
 
* Fix rectangle border drawing with large width
* Fix <code>lv_win_clean()</code>
+
* Fix <code style="color: #bb0000;">lv_win_clean()</code>
  
 
== v7.6.1 (06.10.2020) ==
 
== v7.6.1 (06.10.2020) ==
1,208行目: 1,208行目:
  
 
* Fix BIDI support in dropdown list
 
* Fix BIDI support in dropdown list
* Fix copying base dir in <code>lv_obj_create</code>
+
* Fix copying base dir in <code style="color: #bb0000;">lv_obj_create</code>
 
* Handle sub pixel rendering in font loader
 
* Handle sub pixel rendering in font loader
 
* Fix transitions with style caching
 
* Fix transitions with style caching
1,230行目: 1,230行目:
 
=== New features ===
 
=== New features ===
  
* Add <code>clean_dcache_cb</code> and <code>lv_disp_clean_dcache</code> to enable users to use their own cache management function
+
* Add <code style="color: #bb0000;">clean_dcache_cb</code> and <code style="color: #bb0000;">lv_disp_clean_dcache</code> to enable users to use their own cache management function
* Add <code>gpu_wait_cb</code> to wait until the GPU is working. It allows to run CPU a wait only when the rendered data is needed.
+
* Add <code style="color: #bb0000;">gpu_wait_cb</code> to wait until the GPU is working. It allows to run CPU a wait only when the rendered data is needed.
 
* Add 10px and 8ox built in fonts
 
* Add 10px and 8ox built in fonts
  
1,237行目: 1,237行目:
  
 
* Fix unexpected DEFOCUS on lv_page when clicking to bg after the scrollable
 
* Fix unexpected DEFOCUS on lv_page when clicking to bg after the scrollable
* Fix <code>lv_obj_del</code> and <code>lv_obj_clean</code> if the children list changed during deletion.
+
* Fix <code style="color: #bb0000;">lv_obj_del</code> and <code style="color: #bb0000;">lv_obj_clean</code> if the children list changed during deletion.
 
* Adjust button matrix button width to include padding when spanning multiple units.
 
* Adjust button matrix button width to include padding when spanning multiple units.
 
* Add rounding to btnmatrix line height calculation
 
* Add rounding to btnmatrix line height calculation
* Add <code>decmopr_buf</code> to GC roots
+
* Add <code style="color: #bb0000;">decmopr_buf</code> to GC roots
 
* Fix division by zero in draw_pattern (lv_draw_rect.c) if the image or letter is not found
 
* Fix division by zero in draw_pattern (lv_draw_rect.c) if the image or letter is not found
 
* Fix drawing images with 1 px height or width
 
* Fix drawing images with 1 px height or width
1,249行目: 1,249行目:
 
=== New features ===
 
=== New features ===
  
* Add <code>lv_font_load()</code> function - Loads a <code>lv_font_t</code> object from a binary font file
+
* Add <code style="color: #bb0000;">lv_font_load()</code> function - Loads a <code style="color: #bb0000;">lv_font_t</code> object from a binary font file
* Add <code>lv_font_free()</code> function - Frees the memory allocated by the <code>lv_font_load()</code> function
+
* Add <code style="color: #bb0000;">lv_font_free()</code> function - Frees the memory allocated by the <code style="color: #bb0000;">lv_font_load()</code> function
 
* Add style caching to reduce access time of properties with default value
 
* Add style caching to reduce access time of properties with default value
 
* arc: add set value by click feature
 
* arc: add set value by click feature
* arc: add <code>LV_ARC_PART_KNOB</code> similarly to slider
+
* arc: add <code style="color: #bb0000;">LV_ARC_PART_KNOB</code> similarly to slider
* send gestures event if the object was dragged. User can check dragging with <code>lv_indev_is_dragging(lv_indev_act())</code> in the event function.
+
* send gestures event if the object was dragged. User can check dragging with <code style="color: #bb0000;">lv_indev_is_dragging(lv_indev_act())</code> in the event function.
  
 
=== Bugfixes ===
 
=== Bugfixes ===
1,271行目: 1,271行目:
  
 
* Fix drawing value string twice
 
* Fix drawing value string twice
* Rename <code>lv_chart_clear_serie</code> to <code>lv_chart_clear_series</code> and <code>lv_obj_align_origo</code> to <code>lv_obj_align_mid</code>
+
* Rename <code style="color: #bb0000;">lv_chart_clear_serie</code> to <code style="color: #bb0000;">lv_chart_clear_series</code> and <code style="color: #bb0000;">lv_obj_align_origo</code> to <code style="color: #bb0000;">lv_obj_align_mid</code>
 
* Add linemeter's mirror feature again
 
* Add linemeter's mirror feature again
 
* Fix text decor (underline strikethrough) with older versions of font converter
 
* Fix text decor (underline strikethrough) with older versions of font converter
1,277行目: 1,277行目:
 
* Add missing background drawing and radius handling to image button
 
* Add missing background drawing and radius handling to image button
 
* Allow adding extra label to list buttons
 
* Allow adding extra label to list buttons
* Fix crash if <code>lv_table_set_col_cnt</code> is called before <code>lv_table_set_row_cnt</code> for the first time
+
* Fix crash if <code style="color: #bb0000;">lv_table_set_col_cnt</code> is called before <code style="color: #bb0000;">lv_table_set_row_cnt</code> for the first time
 
* Fix overflow in large image transformations
 
* Fix overflow in large image transformations
 
* Limit extra button click area of button matrix's buttons. With large paddings it was counter-intuitive. (Gaps are mapped to button when clicked).
 
* Limit extra button click area of button matrix's buttons. With large paddings it was counter-intuitive. (Gaps are mapped to button when clicked).
* Fix <code>lv_btnmatrix_set_one_check</code> not forcing exactly one button to be checked
+
* Fix <code style="color: #bb0000;">lv_btnmatrix_set_one_check</code> not forcing exactly one button to be checked
 
* Fix color picker invalidation in rectangle mode
 
* Fix color picker invalidation in rectangle mode
 
* Init disabled days to gray color in calendar
 
* Init disabled days to gray color in calendar
1,288行目: 1,288行目:
 
=== New features ===
 
=== New features ===
  
* Add <code>lv_task_get_next</code>
+
* Add <code style="color: #bb0000;">lv_task_get_next</code>
* Add <code>lv_event_send_refresh</code>, <code>lv_event_send_refresh_recursive</code> to easily send <code>LV_EVENT_REFRESH</code> to object
+
* Add <code style="color: #bb0000;">lv_event_send_refresh</code>, <code style="color: #bb0000;">lv_event_send_refresh_recursive</code> to easily send <code style="color: #bb0000;">LV_EVENT_REFRESH</code> to object
* Add <code>lv_tabview_set_tab_name()</code> function - used to change a tab's name
+
* Add <code style="color: #bb0000;">lv_tabview_set_tab_name()</code> function - used to change a tab's name
* Add <code>LV_THEME_MATERIAL_FLAG_NO_TRANSITION</code> and <code>LV_THEME_MATERIAL_FLAG_NO_FOCUS</code> flags
+
* Add <code style="color: #bb0000;">LV_THEME_MATERIAL_FLAG_NO_TRANSITION</code> and <code style="color: #bb0000;">LV_THEME_MATERIAL_FLAG_NO_FOCUS</code> flags
* Reduce code size by adding: <code>LV_USE_FONT_COMPRESSED</code> and <code>LV_FONT_USE_SUBPX</code> and applying some optimization
+
* Reduce code size by adding: <code style="color: #bb0000;">LV_USE_FONT_COMPRESSED</code> and <code style="color: #bb0000;">LV_FONT_USE_SUBPX</code> and applying some optimization
* Add <code>LV_MEMCPY_MEMSET_STD</code> to use standard <code>memcpy</code> and <code>memset</code>
+
* Add <code style="color: #bb0000;">LV_MEMCPY_MEMSET_STD</code> to use standard <code style="color: #bb0000;">memcpy</code> and <code style="color: #bb0000;">memset</code>
  
 
=== Bugfixes ===
 
=== Bugfixes ===
  
 
* Do not print warning for missing glyph if its height OR width is zero.
 
* Do not print warning for missing glyph if its height OR width is zero.
* Prevent duplicated sending of <code>LV_EVENT_INSERT</code> from text area
+
* Prevent duplicated sending of <code style="color: #bb0000;">LV_EVENT_INSERT</code> from text area
 
* Tidy outer edges of cpicker widget.
 
* Tidy outer edges of cpicker widget.
* Remove duplicated lines from <code>lv_tabview_add_tab</code>
+
* Remove duplicated lines from <code style="color: #bb0000;">lv_tabview_add_tab</code>
 
* btnmatrix: handle combined states of buttons (e.g. checked + disabled)
 
* btnmatrix: handle combined states of buttons (e.g. checked + disabled)
 
* textarea: fix typo in lv_textarea_set_scrollbar_mode
 
* textarea: fix typo in lv_textarea_set_scrollbar_mode
1,310行目: 1,310行目:
 
=== New features ===
 
=== New features ===
  
* Add screen transitions with <code>lv_scr_load_anim()</code>
+
* Add screen transitions with <code style="color: #bb0000;">lv_scr_load_anim()</code>
* Add display background color, wallpaper and opacity. Shown when the screen is transparent. Can be used with <code>lv_disp_set_bg_opa/color/image()</code>.
+
* Add display background color, wallpaper and opacity. Shown when the screen is transparent. Can be used with <code style="color: #bb0000;">lv_disp_set_bg_opa/color/image()</code>.
* Add <code>LV_CALENDAR_WEEK_STARTS_MONDAY</code>
+
* Add <code style="color: #bb0000;">LV_CALENDAR_WEEK_STARTS_MONDAY</code>
* Add <code>lv_chart_set_x_start_point()</code> function - Set the index of the x-axis start point in the data array
+
* Add <code style="color: #bb0000;">lv_chart_set_x_start_point()</code> function - Set the index of the x-axis start point in the data array
* Add <code>lv_chart_set_ext_array()</code> function - Set an external array of data points to use for the chart
+
* Add <code style="color: #bb0000;">lv_chart_set_ext_array()</code> function - Set an external array of data points to use for the chart
* Add <code>lv_chart_set_point_id()</code> function - Set an individual point value in the chart series directly based on index
+
* Add <code style="color: #bb0000;">lv_chart_set_point_id()</code> function - Set an individual point value in the chart series directly based on index
* Add <code>lv_chart_get_x_start_point()</code> function - Get the current index of the x-axis start point in the data array
+
* Add <code style="color: #bb0000;">lv_chart_get_x_start_point()</code> function - Get the current index of the x-axis start point in the data array
* Add <code>lv_chart_get_point_id()</code> function - Get an individual point value in the chart series directly based on index
+
* Add <code style="color: #bb0000;">lv_chart_get_point_id()</code> function - Get an individual point value in the chart series directly based on index
* Add <code>ext_buf_assigned</code> bit field to <code>lv_chart_series_t</code> structure - it's true if external buffer is assigned to series
+
* Add <code style="color: #bb0000;">ext_buf_assigned</code> bit field to <code style="color: #bb0000;">lv_chart_series_t</code> structure - it's true if external buffer is assigned to series
* Add <code>lv_chart_set_series_axis()</code> to assign series to primary or secondary axis
+
* Add <code style="color: #bb0000;">lv_chart_set_series_axis()</code> to assign series to primary or secondary axis
* Add <code>lv_chart_set_y_range()</code> to allow setting range of secondary y-axis (based on <code>lv_chart_set_range</code> but extended with an axis parameter)
+
* Add <code style="color: #bb0000;">lv_chart_set_y_range()</code> to allow setting range of secondary y-axis (based on <code style="color: #bb0000;">lv_chart_set_range</code> but extended with an axis parameter)
* Allow setting different font for the selected text in <code>lv_roller</code>
+
* Allow setting different font for the selected text in <code style="color: #bb0000;">lv_roller</code>
* Add <code>theme->apply_cb</code> to replace <code>theme->apply_xcb</code> to make it compatible with the MicroPython binding
+
* Add <code style="color: #bb0000;">theme->apply_cb</code> to replace <code style="color: #bb0000;">theme->apply_xcb</code> to make it compatible with the MicroPython binding
* Add <code>lv_theme_set_base()</code> to allow easy extension of built-in (or any) themes
+
* Add <code style="color: #bb0000;">lv_theme_set_base()</code> to allow easy extension of built-in (or any) themes
* Add <code>lv_obj_align_x()</code> and <code>lv_obj_align_y()</code> functions
+
* Add <code style="color: #bb0000;">lv_obj_align_x()</code> and <code style="color: #bb0000;">lv_obj_align_y()</code> functions
* Add <code>lv_obj_align_origo_x()</code> and <code>lv_obj_align_origo_y()</code> functions
+
* Add <code style="color: #bb0000;">lv_obj_align_origo_x()</code> and <code style="color: #bb0000;">lv_obj_align_origo_y()</code> functions
  
 
=== Bugfixes ===
 
=== Bugfixes ===
  
* <code>tileview</code> fix navigation when not screen sized
+
* <code style="color: #bb0000;">tileview</code> fix navigation when not screen sized
 
* Use 14px font by default to for better compatibility with smaller displays
 
* Use 14px font by default to for better compatibility with smaller displays
* <code>linemeter</code> fix conversation of current value to "level"
+
* <code style="color: #bb0000;">linemeter</code> fix conversation of current value to "level"
 
* Fix drawing on right border
 
* Fix drawing on right border
 
* Set the cursor image non-clickable by default
 
* Set the cursor image non-clickable by default
1,340行目: 1,340行目:
 
=== New features ===
 
=== New features ===
  
* Add <code>focus_parent</code> attribute to <code>lv_obj</code>
+
* Add <code style="color: #bb0000;">focus_parent</code> attribute to <code style="color: #bb0000;">lv_obj</code>
 
* Allow using buttons in encoder input device
 
* Allow using buttons in encoder input device
 
* Add lv_btnmatrix_set/get_align capability
 
* Add lv_btnmatrix_set/get_align capability
 
* DMA2D: Remove dependency on ST CubeMX HAL
 
* DMA2D: Remove dependency on ST CubeMX HAL
* Added <code>max_used</code> propriety to <code>lv_mem_monitor_t</code> struct
+
* Added <code style="color: #bb0000;">max_used</code> propriety to <code style="color: #bb0000;">lv_mem_monitor_t</code> struct
* In <code>lv_init</code> test if the strings are UTF-8 encoded.
+
* In <code style="color: #bb0000;">lv_init</code> test if the strings are UTF-8 encoded.
* Add <code>user_data</code> to themes
+
* Add <code style="color: #bb0000;">user_data</code> to themes
 
* Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
 
* Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
 
* Add inline function lv_checkbox_get_state(const lv_obj_t * cb) to extend the checkbox functionality.
 
* Add inline function lv_checkbox_get_state(const lv_obj_t * cb) to extend the checkbox functionality.
1,353行目: 1,353行目:
 
=== Bugfixes ===
 
=== Bugfixes ===
  
* <code>lv_img</code> fix invalidation area when angle or zoom changes
+
* <code style="color: #bb0000;">lv_img</code> fix invalidation area when angle or zoom changes
 
* Update the style handling to support Big endian MCUs
 
* Update the style handling to support Big endian MCUs
 
* Change some methods to support big endian hardware.
 
* Change some methods to support big endian hardware.
1,364行目: 1,364行目:
 
=== Bugfixes ===
 
=== Bugfixes ===
  
* <code>lv_textarea</code> fix wrong cursor position when clicked after the last character
+
* <code style="color: #bb0000;">lv_textarea</code> fix wrong cursor position when clicked after the last character
 
* Change all text related indices from 16-bit to 32-bit integers throughout whole library. #1545
 
* Change all text related indices from 16-bit to 32-bit integers throughout whole library. #1545
 
* Fix gestures
 
* Fix gestures
* Do not call <code>set_px_cb</code> for transparent pixel
+
* Do not call <code style="color: #bb0000;">set_px_cb</code> for transparent pixel
 
* Fix list button focus in material theme
 
* Fix list button focus in material theme
 
* Fix crash when a text area is cleared with the backspace of a keyboard
 
* Fix crash when a text area is cleared with the backspace of a keyboard
* Add version number to <code>lv_conf_template.h</code>
+
* Add version number to <code style="color: #bb0000;">lv_conf_template.h</code>
* Add log in true double buffering mode with <code>set_px_cb</code>
+
* Add log in true double buffering mode with <code style="color: #bb0000;">set_px_cb</code>
* <code>lv_dropdown</code>: fix missing <code>LV_EVENT_VALUE_CHANGED</code> event when used with encoder
+
* <code style="color: #bb0000;">lv_dropdown</code>: fix missing <code style="color: #bb0000;">LV_EVENT_VALUE_CHANGED</code> event when used with encoder
* <code>lv_tileview</code>: fix if not the {0;0} tile is created first
+
* <code style="color: #bb0000;">lv_tileview</code>: fix if not the {0;0} tile is created first
* <code>lv_debug</code>: restructure to allow asserting in from <code>lv_misc</code> too
+
* <code style="color: #bb0000;">lv_debug</code>: restructure to allow asserting in from <code style="color: #bb0000;">lv_misc</code> too
* add assert if <code>_lv_mem_buf_get()</code> fails
+
* add assert if <code style="color: #bb0000;">_lv_mem_buf_get()</code> fails
* <code>lv_textarea</code>: fix character delete in password mode
+
* <code style="color: #bb0000;">lv_textarea</code>: fix character delete in password mode
* Update <code>LV_OPA_MIN</code> and <code>LV_OPA_MAX</code> to widen the opacity processed range
+
* Update <code style="color: #bb0000;">LV_OPA_MIN</code> and <code style="color: #bb0000;">LV_OPA_MAX</code> to widen the opacity processed range
* <code>lv_btnm</code> fix sending events for hidden buttons
+
* <code style="color: #bb0000;">lv_btnm</code> fix sending events for hidden buttons
* <code>lv_gaguge</code> make <code>lv_gauge_set_angle_offset</code> offset the labels and needles too
+
* <code style="color: #bb0000;">lv_gaguge</code> make <code style="color: #bb0000;">lv_gauge_set_angle_offset</code> offset the labels and needles too
* Fix typo in the API <code>scrllable</code> -> <code>scrollable</code>
+
* Fix typo in the API <code style="color: #bb0000;">scrllable</code> -> <code style="color: #bb0000;">scrollable</code>
* <code>tabview</code> by default allow auto expanding the page only to right and bottom (#1573)
+
* <code style="color: #bb0000;">tabview</code> by default allow auto expanding the page only to right and bottom (#1573)
 
* fix crash when drawing gradient to the same color
 
* fix crash when drawing gradient to the same color
 
* chart: fix memory leak
 
* chart: fix memory leak
* <code>img</code>: improve hit test for transformed images
+
* <code style="color: #bb0000;">img</code>: improve hit test for transformed images
  
 
== v7.0.1 (01.06.2020) ==
 
== v7.0.1 (01.06.2020) ==
1,391行目: 1,391行目:
  
 
* Make Micropython working by adding the required variables as GC_ROOT
 
* Make Micropython working by adding the required variables as GC_ROOT
* Prefix some internal API functions with <code>_</code> to reduce the API of LVGL
+
* Prefix some internal API functions with <code style="color: #bb0000;">_</code> to reduce the API of LVGL
 
* Fix built-in SimSun CJK font
 
* Fix built-in SimSun CJK font
* Fix UTF-8 encoding when <code>LV_USE_ARABIC_PERSIAN_CHARS</code> is enabled
+
* Fix UTF-8 encoding when <code style="color: #bb0000;">LV_USE_ARABIC_PERSIAN_CHARS</code> is enabled
 
* Fix DMA2D usage when 32 bit images directly blended
 
* Fix DMA2D usage when 32 bit images directly blended
 
* Fix lv_roller in infinite mode when used with encoder
 
* Fix lv_roller in infinite mode when used with encoder
* Add <code>lv_theme_get_color_secondary()</code>
+
* Add <code style="color: #bb0000;">lv_theme_get_color_secondary()</code>
* Add <code>LV_COLOR_MIX_ROUND_OFS</code> to adjust color mixing to make it compatible with the GPU
+
* Add <code style="color: #bb0000;">LV_COLOR_MIX_ROUND_OFS</code> to adjust color mixing to make it compatible with the GPU
 
* Improve DMA2D blending
 
* Improve DMA2D blending
* Remove memcpy from <code>lv_ll</code> (caused issues with some optimization settings)
+
* Remove memcpy from <code style="color: #bb0000;">lv_ll</code> (caused issues with some optimization settings)
* <code>lv_chart</code> fix X tick drawing
+
* <code style="color: #bb0000;">lv_chart</code> fix X tick drawing
 
* Fix vertical dashed line drawing
 
* Fix vertical dashed line drawing
 
* Some additional minor fixes and formattings
 
* Some additional minor fixes and formattings
1,419行目: 1,419行目:
 
The API in this regard remained the same but some new functions were added:
 
The API in this regard remained the same but some new functions were added:
  
* <code>lv_img_set_zoom</code>: set image object's zoom factor
+
* <code style="color: #bb0000;">lv_img_set_zoom</code>: set image object's zoom factor
* <code>lv_img_set_angle</code>: set image object's angle without using canvas
+
* <code style="color: #bb0000;">lv_img_set_angle</code>: set image object's angle without using canvas
* <code>lv_img_set_pivot</code>: set the pivot point of rotation
+
* <code style="color: #bb0000;">lv_img_set_pivot</code>: set the pivot point of rotation
  
 
The new drawing engine brought new drawing features too. They are highlighted in the "style" section.
 
The new drawing engine brought new drawing features too. They are highlighted in the "style" section.
1,430行目: 1,430行目:
 
* more shadows options: ''offset'' and ''spread''
 
* more shadows options: ''offset'' and ''spread''
 
* gradient stop position to shift the gradient area and horizontal gradient
 
* gradient stop position to shift the gradient area and horizontal gradient
* <code>LV_BLEND_MODE_NORMAL/ADDITIVE/SUBTRACTIVE</code> blending modes
+
* <code style="color: #bb0000;">LV_BLEND_MODE_NORMAL/ADDITIVE/SUBTRACTIVE</code> blending modes
 
* ''clip corner'': crop the content on the rounded corners
 
* ''clip corner'': crop the content on the rounded corners
 
* ''text underline'' and ''strikethrough''
 
* ''text underline'' and ''strikethrough''
1,442行目: 1,442行目:
  
 
=== GPU integration ===
 
=== GPU integration ===
To better utilize GPUs, from this version GPU usage can be integrated into LVGL. In <code>lv_conf.h</code> any supported GPUs can be enabled with a single configuration option.
+
To better utilize GPUs, from this version GPU usage can be integrated into LVGL. In <code style="color: #bb0000;">lv_conf.h</code> any supported GPUs can be enabled with a single configuration option.
  
 
Right now, only ST's DMA2D (Chrom-ART) is integrated. More will in the upcoming releases.
 
Right now, only ST's DMA2D (Chrom-ART) is integrated. More will in the upcoming releases.
1,466行目: 1,466行目:
 
=== Reworked and improved object ===
 
=== Reworked and improved object ===
  
* <code>dropdown</code>: Completely reworked. Now creates a separate list when opened and can be dropped to down/up/left/right.
+
* <code style="color: #bb0000;">dropdown</code>: Completely reworked. Now creates a separate list when opened and can be dropped to down/up/left/right.
* <code>label</code>: <code>body_draw</code> is removed, instead, if its style has a visible background/border/shadow etc it will be drawn. Padding really makes the object larger (not just virtually as before)
+
* <code style="color: #bb0000;">label</code>: <code style="color: #bb0000;">body_draw</code> is removed, instead, if its style has a visible background/border/shadow etc it will be drawn. Padding really makes the object larger (not just virtually as before)
* <code>arc</code>: can draw background too.
+
* <code style="color: #bb0000;">arc</code>: can draw background too.
* <code>btn</code>: doesn't store styles for each state because it's done naturally in the new style system.
+
* <code style="color: #bb0000;">btn</code>: doesn't store styles for each state because it's done naturally in the new style system.
* <code>calendar</code>: highlight the pressed datum. The used styles are changed: use <code>LV_CALENDAR_PART_DATE</code> normal for normal dates, checked for highlighted, focused for today, pressed for the being pressed. (checked+pressed, focused+pressed also work)
+
* <code style="color: #bb0000;">calendar</code>: highlight the pressed datum. The used styles are changed: use <code style="color: #bb0000;">LV_CALENDAR_PART_DATE</code> normal for normal dates, checked for highlighted, focused for today, pressed for the being pressed. (checked+pressed, focused+pressed also work)
* <code>chart</code>: only has <code>LINE</code> and <code>COLUMN</code> types because with new styles all the others can be described. LV_CHART_PART_SERIES sets the style of the series. bg_opa > 0 draws an area in LINE mode. <code>LV_CHART_PART_SERIES_BG</code> also added to set a different style for the series area. Padding in <code>LV_CHART_PART_BG</code> makes the series area smaller, and it ensures space for axis labels/numbers.
+
* <code style="color: #bb0000;">chart</code>: only has <code style="color: #bb0000;">LINE</code> and <code style="color: #bb0000;">COLUMN</code> types because with new styles all the others can be described. LV_CHART_PART_SERIES sets the style of the series. bg_opa > 0 draws an area in LINE mode. <code style="color: #bb0000;">LV_CHART_PART_SERIES_BG</code> also added to set a different style for the series area. Padding in <code style="color: #bb0000;">LV_CHART_PART_BG</code> makes the series area smaller, and it ensures space for axis labels/numbers.
* <code>linemeter</code>, <code>gauge</code>: can have background if the related style properties are set. Padding makes the scale/lines smaller. scale_border_width and scale_end_border_width allow to draw an arc on the outer part of the scale lines.
+
* <code style="color: #bb0000;">linemeter</code>, <code style="color: #bb0000;">gauge</code>: can have background if the related style properties are set. Padding makes the scale/lines smaller. scale_border_width and scale_end_border_width allow to draw an arc on the outer part of the scale lines.
* <code>gauge</code>: <code>lv_gauge_set_needle_img</code> allows use image as needle
+
* <code style="color: #bb0000;">gauge</code>: <code style="color: #bb0000;">lv_gauge_set_needle_img</code> allows use image as needle
* <code>canvas</code>: allow drawing to true color alpha and alpha only canvas, add <code>lv_canvas_blur_hor/ver</code> and rename <code>lv_canvas_rotate</code> to <code>lv_canvas_transform</code>
+
* <code style="color: #bb0000;">canvas</code>: allow drawing to true color alpha and alpha only canvas, add <code style="color: #bb0000;">lv_canvas_blur_hor/ver</code> and rename <code style="color: #bb0000;">lv_canvas_rotate</code> to <code style="color: #bb0000;">lv_canvas_transform</code>
* <code>textarea</code>: If available in the font use bullet (<code>U+2022</code>) character in text area password
+
* <code style="color: #bb0000;">textarea</code>: If available in the font use bullet (<code style="color: #bb0000;">U+2022</code>) character in text area password
  
 
=== New object types ===
 
=== New object types ===
  
* <code>lv_objmask</code>: masks can be added to it. The children will be masked accordingly.
+
* <code style="color: #bb0000;">lv_objmask</code>: masks can be added to it. The children will be masked accordingly.
  
 
=== Others ===
 
=== Others ===
1,487行目: 1,487行目:
 
* Add ° and "bullet" to the built-in fonts
 
* Add ° and "bullet" to the built-in fonts
 
* Add Arabic/Persian script support: change the character according to its position in the text.
 
* Add Arabic/Persian script support: change the character according to its position in the text.
* Add <code>playback_time</code> to animations.
+
* Add <code style="color: #bb0000;">playback_time</code> to animations.
* Add <code>repeat_count</code> to animations instead of the current "repeat forever".
+
* Add <code style="color: #bb0000;">repeat_count</code> to animations instead of the current "repeat forever".
* Replace <code>LV_LAYOUT_PRETTY</code> with <code>LV_LAYOUT_PRETTY_TOP/MID/BOTTOM</code>
+
* Replace <code style="color: #bb0000;">LV_LAYOUT_PRETTY</code> with <code style="color: #bb0000;">LV_LAYOUT_PRETTY_TOP/MID/BOTTOM</code>
  
 
=== Demos ===
 
=== Demos ===
1,498行目: 1,498行目:
  
 
* Maintain this Changelog for every release
 
* Maintain this Changelog for every release
* Save old major version in new branches. E.g. <code>release/v6</code>
+
* Save old major version in new branches. E.g. <code style="color: #bb0000;">release/v6</code>
* Merge new features and fixes directly into <code>master</code> and release a patch or minor releases every 2 weeks.
+
* Merge new features and fixes directly into <code style="color: #bb0000;">master</code> and release a patch or minor releases every 2 weeks.
  
 
=== Migrating from v6 to v7 ===
 
=== Migrating from v6 to v7 ===
  
* First and foremost, create a new <code>lv_conf.h</code> based on <code>lv_conf_template.h</code>.
+
* First and foremost, create a new <code style="color: #bb0000;">lv_conf.h</code> based on <code style="color: #bb0000;">lv_conf_template.h</code>.
 
* To try the new version it suggested using a simulator project and see the examples.
 
* To try the new version it suggested using a simulator project and see the examples.
 
* If you have a running project, the most difficult part of the migration is updating to the new style system. Unfortunately, there is no better way than manually updating to the new format.
 
* If you have a running project, the most difficult part of the migration is updating to the new style system. Unfortunately, there is no better way than manually updating to the new format.

2022年6月22日 (水) 15:15時点における版

https://docs.lvgl.io/8.2/CHANGELOG.html

英文 自動翻訳

Changelog

v8.2.0 31 January 2022

Overview

Among many fixes and minor updates these are the most important features in v8.2.0:

  • Abstract render layer to make it easier to attack external draw engines
  • Add LV_FLAD_OVERFLOW_VISIBLE. If enabled the children of an object won't be clipped to the boundary of the object
  • Add ffmpeg decoder support to play videos and open a wide variety of image formats
  • Add font fallback support
  • Add gradient dithering support
  • Add "monkey test"
  • Add cmsis-pack support
  • Add Grid navigation (lv_gridnav)

The GPU support for NXP microcontrollers is still not updated to the new draw architecture. See #3052

Breaking Changes

  • :warning: feat(fs): add caching option for lv_fs-read 2979
  • :warning: feat(span): lv_spangroup_get_expand_width() adds a parameter 2968
  • :warning: arch(draw): allow replacing the draw engine db53ea9

Architectural

  • arch(draw): separate SW renderer to allow replacing it 2803
  • arch: merge lv_demos 5414652
  • arch(sdl): migrated to use new backend architecture 2840
  • arch(env): move rt-thread into env_support folder 3025
  • arch(env): arch(env): move the cmake folder into the env_support folder 773d50f
  • arch(env): move the zephyr folder into the env_support folder 4bd1e7e

New Features

  • feat(cmsis-pack): prepare for lvgl v8.2.0 release 3062
  • feat(gridnav): add lv_gridnav 2911
  • feat: update the cmsis-pack to 0.8.3 3021
  • feat(sdl): support rounded images 3012
  • feat(cmsis-pack): add cmsis-pack support 2993
  • feat(event): add preprocessing and stop bubbling features for events 3003
  • feat(draw): add gradient dithering support 2872
  • feat(symbols): add guards to LV_SYMBOL_* to allow redefining them 2973
  • feat(obj): subdivide LV_OBJ_FLAG_SCROLL_CHAIN into ...CHAIN_HOR and ...CHAIN_VER 2961
  • feat(draw): add draw_bg callback to draw_ctx #2934 2935
  • feat(docs): add Chinese readme 2919
  • feat(txt): add used_width parameter to _lv_txt_get_next_line() 2898
  • feat(others) add monkey test 2885
  • feat(rlottie): add animation control options 2857
  • feat(lv_hal_indev): add missing lv_indev_delete() 2854
  • feat(freetype): optimize memory allocation 2849
  • feat(Kconfig): add FreeType config 2846
  • feat(widgets): add menu widget 2603
  • feat(refr): add reset function for FPS statistics 2832
  • feat(Kconfig): add monitor position configuration 2834
  • feat(examples) add micropython versions of the external library examples 2762
  • feat(freetype): support bold and italic 2824
  • feat(font) add fallback support and mem. font load option to FreeType 2796
  • feat(lib) add ffmpeg video and image decoder 2805
  • feat(obj): add LV_OBJ_FLAG_OVERFLOW_VISIBLE e7ac0e4
  • feat(scrollbar): add more control over scrollbar paddings 4197b2f
  • feat(dropdown): keep the list on open/close for simpler styling 9d3134b
  • feat(qrcode) use destructor instead of lv_qrcode_delete() 318edd8
  • feat(disp) allow decouplig the disp_refr timer 85cc84a
  • feat(obj): add lv_obj_get_event_user_data() 53ececc
  • feat(obj) add LV_OBJ_FLAG_SCROLL_WITH_ARROW 70327bd
  • feat(slider): consider ext_click_area on the knob with LV_OBJ_FLAG_ADV_HITTEST 9d3fb41

Performance

  • perf(sdl): optimize the use of SDL_RenderSetClipRect 2941
  • perf(color): add faster lv_color_hex function 2864

Fixes

  • fix(micropython) update examples for new API 3059
  • fix: increase default value of LV_MEM_SIZE for lv_demo_widgets #3057 3058
  • fix(cmsis-pack): fix issue #3032 3056
  • fix(porting): add missing function prototypes 3054
  • fix(kconfig): add missing default values 3050
  • fix(canvas): force canvas to use sw draw 3045
  • fix(rt-thread): use ARCH_CPU_BIG_ENDIAN to replace RT_USING_BIG_ENDIAN 3044
  • fix(gradient): general cleanup and fix for alignment issues 3036
  • fix(draw): rendering issues for vertical gradient with and without dithering 3034
  • fix uninitialized variable 3033
  • fix(lru): lower dependency for standard C functions 3024
  • fix(env_support): move cmsis-pack to env_support folder 3026
  • fix(doc): full covering opacity is 255, not 256 3022
  • fix uninitialized variables 3023
  • fix various issues for esp32 3007
  • fix(sdl): fix clipped image drawing 2992
  • fix(draw): missed bg_color renaming in the draw function 3002
  • fix(porting): fix typo and an unmatched prototype 2998
  • fix(conf) add missing LV_LOG_LEVEL default definition 2996
  • fix(refr): crash if full_refresh = 1 2999
  • fix(Kconfig): adapt to lvgl's built-in demos 2989
  • fix(Makefile): compilation errors 2944
  • fix(rlottie): fix variable name 2971
  • fix(group): in lv_group_del() remove group from indev (lvgl#2963) 2964
  • fix(obj): old parent's scroll is not updated in lv_obj_set_parent() 2965
  • fix(fatfs) add missing cast 2969
  • fix(snapshot) fix memory leak 2970
  • fix(examples) move event callback registration outside loop in lv_example_event_3 2959
  • fix(canvas): off by one error in size check in lv_canvas_copy_buf 2950
  • fix(indev) add braces to avoid compiler warning 2947
  • fix: fix parameter order in function prototypes 2929
  • fix(style):add const qualifier for lv_style_get_prop() 2933
  • fix(dropdown): in lv_dropdpwn_get_selected_str handle if there are no options 2925
  • fix: lv_deinit/lv_init crash or hang 2910
  • fix(rt-thread): improve the structure 2912
  • fix: removed string format warnings for int32_t and uint32_t 2924
  • fix(lv_fs_win32): add missing include of <stdio.h> 2918
  • fix: use unsigned integer literal for bit shifing. 2888
  • chore(lottie) move rlottie_capi.h to lv_rlottie.c 2902
  • fix(qrcodegen) add brackets around assert calls 2897
  • fix(list) guard image creation with LV_USE_IMG 2881
  • fix(snapshot): make fake display size big enough to avoid align issue. 2883
  • fix(sdl) correct makefile 2884
  • fix(draw): fix set_px_cb memory write overflow crash. 2882
  • fix(freetype): fix memset error 2877
  • fix(span): fix align and break word 2861
  • fix(refr): swap buffers only on the last area with direct mode 2867
  • fix(arc) free memory when drawing full-circle arc 2869
  • fix(indev): update lv_indev_drv_update to free the read_timer 2850
  • fix(draw): fix memory access out of bounds when using blend subtract 2860
  • fix(chart) add lv_chart_refresh() to the functions which modify the data 2841
  • fix(conf) mismatched macro judgment 2843
  • fix(ffmpeg): when disabled LV_FFMPEG_AV_DUMP_FORMAT makes av_log quiet 2838
  • fix(rt-thread): fix a bug of log 2811
  • fix(log): to allow printf and custom_print_cb to work at same time 2837
  • fix(keyboard): add missing functions 2835
  • fix(checkbox) remove unnecessary events 2829
  • fix(qrcode): replace memcpy() with lv_memcpy() and delete useless macros 2827
  • fix(font) improve builtin font source files generation process 2825
  • fix(CMake) split CMakeLists.txt, add options, includes and dependencies 2753
  • fix(obj): make lv_obj_fade_in/out use the current opa as start value 2819
  • fix(qrcode):minimize margins as much as possible 2804
  • fix(scripts): switch all scripts to python3 2820
  • fix(event): event_send_core crash in special case. 2807
  • fix(Kconfig) remove duplicate LV_BUILD_EXAMPLES configuration 2813
  • fix(obj): in obj event use the current target instead of target 2785
  • fix(draw_label): radius Mask doesn't work in Specific condition 2784
  • fix(draw_mask): will crash if get_width/height < 0 2793
  • fix(theme) make the basic theme really basic a369f18
  • fix(arc): fix knob invalidation 345f688
  • fix(theme): add arc, spinner and colorwheel to basic theme adc218a
  • fix(conf) define LV_LOG_TRACE_... to 0 in lv_conf_internal.h to avoid warnings 305284c
  • fix(draw): consider opa and clip corner on bg_img d51aea4
  • fix(draw): add grad_cache_mem to GC_ROOTs 138db9c
  • fix(bar, slider): fix shadow drawing on short indicators 364ca3c
  • fix(theme): fix theme initialization issue introduced in 6e0072479 d231644
  • fix(draw): add lv_draw_sw_bg 49642d3
  • fix(draw) border_draw crash is special case 075831a
  • fix(theme): fix crash in lv_theme_basic_init ca5f04c
  • fix(draw): fix indexed image drawing 5a0dbcc
  • fix(roller): clip overflowing text 5709528
  • fix(align) fix LV_SIZE_CONTENT size calculation with not LEFT or TOP alignment 9c67642
  • fix(draw): futher bg_img draw fixes 81bfb76
  • fix(btnmatrix): keep the selected button even on release d47cd1d
  • fix(sw): make knob size calculation more intuitive 5ec532d
  • fix(switch): make knob height calculation similar to slider 0921dfc
  • fix(span): explicitly set span->txt to the return value of lv_mem_realloc(#3005) a9a6cb8
  • fix(example): update LVGL_Arduino.ino d79283c
  • fix(draw) simplify how outline_pad is compnesated 81d8be1
  • fix(obj) make LV_OBJ_FLAG_SCROLL_CHAIN part of the enum instead of define f8d8856
  • fix(label): dot not add dots if the label height > 1 font line height 4d61f38
  • fix(event): crash if an object was deleted in an event 9810920
  • fix(build) fix sdl build with make 43729d1
  • fix(config): fix anonymus choice 71c739c
  • chore(docs): fix lv_list_add_text a5fbf22
  • fix(png) check png magic number to be sure it's a png image 1092550
  • fix(btnmatrix): fix crash if an empty btnmatrix is pressed 2392f58
  • fix(mem/perf monitor): fix issue introduced in #2910 0788d91
  • fix(layout) fix layout recalculation trigger in lv_obj_add/clear_fleg ee65410
  • fix(obj) fix lv_obj_fade_in 4931384
  • fix(draw): fix clipping children to parent 5c98ac8
  • fix: remove symlinks to be accepted as an Ardunio library 6701d36
  • chore: fix typos in FATFS config 74091c4
  • fix(refr): fix missed buffer switch in double full-screen buffer + direct_mode 731ef5a
  • chore(qrcode): fix warnings e9d7080
  • docs(event): tell to not adjust widgets in draw events 933d67f
  • fix(table, chart): fix memory leaks 8d52de1
  • fix(event): handle object deletion in indev->fedback_cb bfc8edf
  • fix(roller): snap on press lost fa9340c
  • fix(dropdown) be sure the list is the top object on the screen cb7fc2b
  • fix(img) fix invalidation issue on transformations d5ede0e
  • fix(obj) fix comments of lv_obj_set_pos/x/y b9a5078

Examples

  • example: add non-null judgment to lv_example_obj_2 2799
  • example(table): fix text alignment b03dc9c

Docs

  • docs(demos) update information to reflect new layout 3029
  • docs(porting): remove duplicated content 2984
  • docs(display) fix typo 2946
  • docs(get-started) add introduction for Tasmota and Berry 2874
  • docs fix spelling, parameter descriptions, comments, etc 2865
  • docs: spelling fixes 2828
  • docs(style) minor style fix 2818
  • docs(porting/display) fix formatting 2812
  • docs(roadmap) udpate 084439e
  • docs(widgets) fix edit links 7ed1a56
  • docs(contributing) update commit message format 1cd851f
  • docs(porting): add more details about adding lvgl to your project 6ce7348
  • docs(indev): add description about gestures 2719862
  • docs(style): describe const styles 28ffae8
  • docs(faq): add "LVGL doesn't start, nothing is drawn on the display" section 0388d92
  • docs add demos 02a6614
  • docs(fs): update fs interface description to the latest API 285e6b3
  • docs(format) let wrap 4bf49a8
  • docs(imgbtn) fix typo d792c5f
  • docs(porting) clarify that displays must be registered before input devices 1c64b78
  • docs(event) fix lv_event_get_original_target vs lv_event_get_current_target cdd5128
  • docs(events) rename LV_EVENT_APPLY to LV_EVENT_READY (#2791) bf6837f
  • docs(gpu): link style properties and boxing model 6266851
  • docs(gesture): clarify gesture triggering with scrolling e3b43ee
  • docs(contributing): remove the mentioning of the dev branch 00d4ef3
  • docs(bar) fix default range eeee48b
  • docs(event): tell to not adjust widgets in draw events 933d67f
  • docs(switch) improve wording b4986ab
  • docs(font) fix example to match v8 2f80896

CI and tests

  • test(bar): add unit tests 2845
  • test(switch): add initial unit test 2794
  • test(demo) add tests for widget and stress demos 3bd6ad8
  • test(dropdown) fix to pass again 918b3de
  • test add support for using system heap 446b1eb
  • ci remove formatting request workflow 6de89e4
  • ci initial support for cross-architecture tests 7008770
  • ci create handler for formatting requests 7af7849
  • test(style) add test for gradient da8f345
  • test(event) add test for #2886 51ef9c2
  • ci add workflow to check code formatting a2b555e
  • ci attempt to speed up cross tests 80408f7
  • ci apply my updates to the verify-formatting action 02f02fa
  • ci: add arduino linter action f79b00c
  • ci update action be9722c
  • ci more formatting action updates 1f6037c
  • ci disable LeakSanitizer on dockerized tests c9e1927
  • ci one last try at this for tonight dddafae
  • ci try alternate checkout mechanism cb3de30
  • test(style) fix compile error ba083df
  • test(template) simplify _test_template.c b279f63
  • ci force ccache to be saved every time a7c590f
  • ci switch to codecov v2 6b84155
  • ci more debugging for formatting action 2f8e4bc
  • ci inline apt-get commands 90e2b9f
  • ci(micropython) use ESP-IDF 4.4 b34fe9e
  • ci add 5k stack limit 4122dda
  • ci force use of ccache in PATH 6de3fa8
  • ci add back stack usage check at 4 kilobytes 89135d6
  • ci temporarily disable stack usage check 1900c21
  • ci(cross) use python3 instead of python df7eaa0
  • ci use specific version tag 59b4769
  • ci fix check style action 5bb3686
  • ci fix typo in formatting action d1ccbf6
  • ci test formatting action 065d821
  • ci(micropython) switch to newer GCC action 1fa7257
  • ci(style) force color on diff to help highlight whitespace changes 04f47ea
  • ci(cross) install build-essential 772f219
  • ci force pushing to upstream branch 8277f78
  • ci ensure lvgl-bot is used to make commits 9fcf52a

v8.1.0 10 November 2021

Overview

v8.1 is minor release so besides many fixes it contains a lot of new features too.

Some of the most important features are

  • Built in support for SDL based GPU drawing
  • Much faster circle drawing in the software renderer
  • Several 3rd party libraries are merged directly into LVGL.
  • Add LVGL as an RT-Thread and ESP32 component

Breaking Changes

  • :warning: feat(calendar): add the header directly into the calendar widget 2e08f80

Architectural

  • arch add small 3rd party libs to lvgl 2569

New Features

  • feat(display) add direct_mode drawing mode 2460
  • feat(conf): make LV_MEM_BUF_MAX_NUM configurable 2747
  • feat(disp): add non-fullscreen display utilities 2724
  • feat(rlottie) add LVGL-Rlottie interface as 3rd party lib 2700
  • feat(rtthread): prepare for porting the device-driver of rt-thread 2719
  • feat(fsdrv) add driver based on Win32 API 2701
  • feat(span) indent supports percent for fix and break mode 2693
  • feat(rt-thread): implement rt-thread sconscirpt 2674
  • feat(lv_spinbox) support both right-to-left and left-to-right digit steps when clicking encoder button 2644
  • feat add support for rt-thread RTOS 2660
  • feat(disp): Enable rendering to display subsection 2583
  • feat(keyboard): add user-defined modes 2651
  • feat(event) add LV_EVENT_CHILD_CREATED/DELETED 2618
  • feat(btnmatrix/keyboard): add option to show popovers on button press 2537
  • feat(msgbox) add a content area for custom content 2561
  • feat(tests): Include debug information to test builds 2568
  • feat(drawing) hardware accelerated rendering by SDL2 2484
  • feat(msgbox): omit title label unless needed 2539
  • feat(msgbox): add function to get selected button index 2538
  • feat(make) add lvgl interface target for micropython 2529
  • feat(obj) add lv_obj_move_to_index(obj, index), renamed lv_obj_get_child_id(obj) to lv_obj_get_index(obj) 2514
  • feat(obj) add lv_obj_swap() function 2461
  • feat(mem) LV_MEM_POOL_ALLOC 2458
  • feat(switch) add smooth animation when changing state 2442
  • feat(anim) add interface for handling lv_anim user data. 2415
  • feat(obj) add lv_is_initialized 2402
  • feat(obj) Backport keypad and encoder scrolling from v7 lv_page to v8 lv_obj 2390
  • feat(snapshot) add API to take snapshot for object 2353
  • feat(anim) add anim timeline 2309
  • feat(span) Add missing spangroup functions 2379
  • feat(img) add img_size property 2284
  • feat(calendar) improve MicroPython example 2366
  • feat(spinbox ) add function to set cursor to specific position 2314
  • feat(timer) check if lv_tick_inc is called aa6641a
  • feat(event, widgets) improve the paramter of LV_EVENT_DRAW_PART_BEGIN/END 88c4859
  • feat(docs) improvements to examples 4b8c73a
  • feat(obj) send LV_EVENT_DRAW_PART_BEGIN/END for MAIN and SCROLLBAR parts b203167
  • feat(led) send LV_EVENT_DRAW_PART_BEGIN/END fcd4aa3
  • feat(chart) send LV_EVENT_DRAW_PART_BEGIN/END before/after the division line drawing section. e0ae2aa
  • feat(tests) upload coverage to codecov 4fff99d
  • feat(conf) add better check for Kconfig default f8fe536
  • feat(draw) add LV_BLEND_MODE_MULTIPLY cc78ef4
  • feat(test) add assert for screenshot compare 2f7a005
  • feat(event) pass the scroll aniamtion to LV_EVENT_SCROLL_BEGIN ca54ecf
  • feat(obj) place the scrollbar to the left with RTL base dir. 906448e
  • feat(log) allow overwriting LV_LOG_... macros 17b8a76
  • feat(arc) add support to LV_OBJ_FLAG_ADV_HITTEST dfa4f5c
  • feat(event) add LV_SCREEN_(UN)LOAD_START 7bae9e3
  • feat(obj) add lv_obj_del_delayed() c6a2e15
  • feat(docs) add view on GitHub link a716ac6
  • feat(event) add LV_EVENT_SCREEN_LOADED/UNLOADED events ee5369e
  • feat(textarea) remove the need of lv_textarea_set_align 56ebb1a
  • feat(rt-thread): support LVGL projects with GCC/Keil(AC5)/Keil(AC6)/IAR 32d33fe
  • feat(docs) lazy load individual examples as well 918d948
  • feat: add LV_USE_MEM_PERF/MONITOR_POS acd0f4f
  • feat(canvas) add lv_canvas_set_px_opa b3b3ffc
  • feat(event) add lv_obj_remove_event_cb_with_user_data 4eddeb3
  • feat(obj) add lv_obj_get_x/y_aligned 98bc1fe

Performance

  • perf(draw) reimplement circle drawing algorithms 2374
  • perf(anim_timeline) add lv_anim_timeline_stop() 2411
  • perf(obj) remove lv_obj_get_child_cnt from cycle limit checks ebb9ce9
  • perf(draw) reimplement rectangle drawing algorithms 5b3d3dc
  • perf(draw) ignore masks if they don't affect the current draw area a842791
  • perf(refresh) optimize where to wait for lv_disp_flush_ready with 2 buffers d0172f1
  • perf(draw) speed up additive blending 3abe517

Fixes

  • fix(bidi): add weak characters to the previous strong character's run 2777
  • fix(draw_img): radius mask doesn't work in specific condition 2786
  • fix(border_post): ignore bg_img_opa draw when draw border_post 2788
  • fix(refresh) switch to portable format specifiers 2781
  • fix(stm32) Mark unused variable in stm32 DMA2D driver 2782
  • fix(conf): Make LV_COLOR_MIX_ROUND_OFS configurable 2766
  • fix(misc): correct the comment and code style 2769
  • fix(draw_map) use existing variables instead function calls 2776
  • fix(draw_img): fix typos in API comments 2773
  • fix(draw_img):radius Mask doesn't work in Specific condition 2775
  • fix(proto) Remove redundant prototype declarations 2771
  • fix(conf) better support bool option from Kconfign 2555
  • fix(draw_border):draw error if radius == 0 and parent clip_corner == true 2764
  • fix(msgbox) add declaration for lv_msgbox_content_class 2761
  • fix(core) add L suffix to enums to ensure 16-bit compatibility 2760
  • fix(anim): add lv_anim_get_playtime 2745
  • fix(area) minor fixes 2749
  • fix(mem): ALIGN_MASK should equal 0x3 on 32bit platform 2748
  • fix(template) prototype error 2755
  • fix(anim): remove time_orig from lv_anim_t 2744
  • fix(draw_rect):bottom border lost if enable clip_corner 2742
  • fix(anim) and improvement 2738
  • fix(draw border):border draw error if border width > radius 2739
  • fix(fsdrv): remove the seek call in fs_open 2736
  • fix(fsdrv): skip the path format if LV_FS_xxx_PATH not defined 2726
  • fix: mark unused variable with LV_UNUSED(xxx) instead of (void)xxx 2734
  • fix(fsdrv): fix typo error in commit 752fba34f677ad73aee 2732
  • fix(fsdrv): return error in case of the read/write failure 2729
  • fix(refr) silence compiler warning due to integer type mismatch 2722
  • fix(fs): fix the off-by-one error in the path function 2725
  • fix(timer): remove the code duplication in lv_timer_exec 2708
  • fix(async): remove the wrong comment from lv_async_call 2707
  • fix(kconfig): change CONFIG_LV_THEME_DEFAULT_FONT to CONFIG_LV_FONT_DEFAULT 2703
  • fix add MP support for LVGL 3rd party libraries 2666
  • fix(png) memory leak for sjpg and use lv_mem_... in lv_png 2704
  • fix(gif) unified whence and remove off_t 2690
  • fix(rt-thread): include the rt-thread configuration header file 2692
  • fix(rt-thread): fix the ci error 2691
  • fix(fsdrv) minor fs issue 2682
  • fix(hal) fix typos and wording in docs for lv_hal_indev.h 2685
  • fix(hal tick): add precompile !LV_TICK_CUSTOM for global variables and lv_tick_inc() 2675
  • fix(anim_timeline) avoid calling lv_anim_del(NULL, NULL) 2628
  • fix(kconfig) sync Kconfig with the latest lv_conf_template.h 2662
  • fix(log) reduce the stack usage in log function 2649
  • fix(conf) make a better style alignment in lv_conf_internal.h 2652
  • fix(span) eliminate warning in lv_get_snippet_cnt() 2659
  • fix(config): remove the nonexistent Kconfig 2654
  • fix(Kconfig): add LV_MEM_ADDR config 2653
  • fix(log): replace printf with fwrite to save the stack size 2655
  • fix typos 2634
  • fix LV_FORMAT_ATTRIBUTE fix for gnu > 4.4 2631
  • fix(meter) make lv_meter_indicator_type_t of type uint8_t 2632
  • fix(span):crash if span->txt = "" 2616
  • fix(disp) set default theme also for non-default displays 2596
  • fix(label):LONG_DOT mode crash if text Utf-8 encode > 1 2591
  • fix( example) in lv_example_scroll_3.py float_btn should only be created once 2602
  • fix lv_deinit when LV_USE_GPU_SDL is enabled 2598
  • fix add missing LV_ASSERT_OBJ checks 2575
  • fix(lv_conf_internal_gen.py) formatting fixes on the generated file 2542
  • fix(span) opa bug 2584
  • fix(snapshot) snapshot is affected by parent's style because of wrong coords 2579
  • fix(label):make draw area contain ext_draw_size 2587
  • fix(btnmatrix): make ORed values work correctly with lv_btnmatrix_has_btn_ctrl 2571
  • fix compiling of examples when cmake is used 2572
  • fix(lv_textarea) fix crash while delete non-ascii character in pwd mode 2549
  • fix(lv_log.h): remove the duplicated semicolon from LV_LOG_xxx 2544
  • fix(zoom) multiplication overflow on 16-bit platforms 2536
  • fix(printf) use __has_include for more accurate limits information 2532
  • fix(font) add assert in lv_font.c if the font is NULL 2533
  • fix(lv_types.h): remove c/c++ compiler version check 2525
  • fix(lv_utils.c): remove the unneeded header inclusion 2526
  • fix(Kconfig) fix the comment in LV_THEME_DEFAULT_DARK 2524
  • fix(sprintf) add format string for rp2 port 2512
  • fix(span) fix some bugs (overflow,decor,align) 2518
  • fix(color) Bad cast in lv_color_mix() caused UB with 16bpp or less 2509
  • fix(imgbtn) displayed incorrect when the coordinate is negative 2501
  • fix(event) be sure to move all elements in copy “lv_obj_remove_event_cb” 2492
  • fix(draw) use correct pointer in lv_draw_mask assertion 2483
  • feat(mem) LV_MEM_POOL_ALLOC 2458
  • fix(cmake) require 'main' for Micropython 2444
  • fix(docs) add static keyword to driver declaration 2452
  • fix(build) remove main component dependency 2420
  • fix circle drawing algorithms 2413
  • fix(docs) wrong spelling of words in pictures 2409
  • fix(chart) fixed point-following cursor during vertical scroll in charts 2400
  • fix(chart) fixed cursor positioning with large Y rescaling without LV_USE_LARGE_COORD 2399
  • fix(grid.h) typos 2395
  • fix(anim_timeline) heap use after free 2394
  • fix(snapshot) add missing import on MicroPython example 2389
  • fix(disp) Fix assert failure in lv_disp_remove 2382
  • fix(span) modify the underline position 2376
  • fix(color) remove extraneous _LV_COLOR_MAKE_TYPE_HELPER 2372
  • fix(spinner) should not be clickable 2373
  • fix(workflow) silence SDL warning for MicroPython 2367
  • fix (span) fill LV_EVENT_GET_SELF_SIZE 2360
  • fix(workflow) change MicroPython workflow to use master 2358
  • fix(disp) fix memory leak in lv_disp_remove 2355
  • fix(lv_obj.h)typos 2350
  • fix(obj) delete useless type conversion 2343
  • fix(lv_obj_scroll.h) typos 2345
  • fix(txt) enhance the function of break_chars 2327
  • fix(vglite): update for v8 e3e3eea
  • fix(widgets) use lv_obj_class for all the widgets 3fb8baf
  • fix(refr) reduce the nesting level in lv_refr_area 2df1282
  • fix(pxp): update for v8 8a2a4a1
  • fix(obj) move clean ups from lv_obj_del to lv_obj_destructor b063937
  • fix (draw) fix arc bg image drawing with full arcs c3b6c6d
  • fix(pxp): update RTOS macro for SDK 2.10 00c3eb1
  • fix(textarea) style update in oneline mode + improve sroll to cursor 60d9a5e
  • feat(led) send LV_EVENT_DRAW_PART_BEGIN/END fcd4aa3
  • fix warnigs introduced by 3fb8baf5 e302403
  • fix(roller) fix partial redraw of the selected area 6bc40f8
  • fix(flex) fix layout update and invalidation issues 5bd82b0
  • fix(indev) focus on objects on release instead of press 76a8293
  • fix tests 449952e
  • fix(dropdown) forget the selected option on encoder longpress e66b935
  • fix(obj) improve how the focusing indev is determined a04f2de
  • fix(workflow) speed up MicroPython workflow 38ad5d5
  • fix(test) do not including anything in test files when not running tests 9043860
  • fix tests 36b9db3
  • fix(scroll) fire LV_EVENT_SCROLL_BEGIN in the same spot for both axes b158932
  • fix(btnmatrix) fix button invalidation on focus change 77cedfa
  • fix(tlsf) do not use <assert.h> c9745b9
  • fix(template) include lvgl.h in lv_port_*_template.c files 0ae15bd
  • fix(docs) add margin for example description b5f632e
  • fix(imgbtn) use the correct src in LV_EVENT_GET_SELF_SIZE 04c515a
  • fix(color) remove extraneous cast for 8-bit color 157534c
  • fix(workflow) use same Unix port variant for MicroPython submodules ac68b10
  • fix(README) improve grammar de81889
  • fix(printf) skip defining attribute if pycparser is used ee9bbea
  • fix(README) spelling correction 41869f2
  • fix(color) overflow with 16 bit color depth fe6d8d7
  • fix(docs) consider an example to be visible over a wider area 145a0fa
  • fix(codecov) disable uploading coverage for pull requests 27d88de
  • fix(arc) disable LV_OBJ_FLAG_SCROLL_CHAIN by default f172eb3
  • fix(template) updpate lv_objx_template to v8 38bb8af
  • fix(align) avoid circular references with LV_SIZE_CONTENT 038b781
  • fix(draw) with additive blending with 32 bit color depth 786db2a
  • fix(arc) fix arc invalidation again 5ced080
  • fix(align) fix lv_obj_align_to 93b38e9
  • fix(scroll) keep the scroll position on object deleted 52edbb4
  • fix(dropdown) handle LV_KEY_ENTER 8a50edd
  • fix various minor warnings 924bc75
  • fix(textarea) various cursor darwing fixes 273a0eb
  • fix(label) consider base dir lv_label_get_letter_pos in special cases 6df5122
  • fix(imgbtn) add lv_imgbtn_set_state 26e15fa
  • fix(printf) add (int) casts to log messages to avoid warnings on %d d9d3f27
  • fix(test) silence make 7610d38
  • fix(test) silence make 37fd9d8
  • fix(calendar) update the MP example 0bab4a7
  • fix(scroll) fix scroll_area_into_view with objects larger than the parent 5240fdd
  • fix(msgbox) handle NULL btn map paramter 769c4a3
  • fix (scroll) do not send unnecessary scroll end events 3ce5226
  • fix(obj_pos) consider all alignements in contnt size calculation but only if x and y = 0 5b27ebb
  • fix(img decoder) add error handling if the dsc->data = NULL d0c1c67
  • fix(txt): skip basic arabic vowel characters when processing conjunction 5b54800
  • fix(typo) rename LV_OBJ_FLAG_SNAPABLE to LV_OBJ_FLAG_SNAPPABLE e697807
  • fix(lv_printf.h): to eliminate the errors in Keil and IAR f6d7dc7
  • fix(draw) fix horizontal gradient drawing 4c034e5
  • fix(dropdown) use LV_EVENT_READY/CANCEL on list open/close 4dd1d56
  • fix(table) clip overflowing content 8c15933
  • fix(test) add #if guard to exclude test related files from the build c12a22e
  • fix(test) add #if guard to exclude test related files from the build fc364a4
  • fix(freetype) fix underline calculation 76c8ee6
  • fix(style) refresh ext. draw pad for padding and bg img 37a5d0c
  • fix(draw) underflow in subpixel font drawing 6d5ac70
  • fix(scrollbar) hide the scrollbar if the scrollble flag is removed 188a946
  • fix(color): minor fixes(#2767) a4978d0
  • fix(group) skip object if an of the parents is hidden 5799c10
  • fix(obj) fix size invalidation issue on padding change 33ba722
  • fix(label) do not bidi process text in lv_label_ins_text e95efc1
  • fix(refr) set disp_drv->draw_buf->flushing_last correctly with sw rotation c514bdd
  • fix(draw) fix drawing small arcs 8081599
  • fix(chart) invalidation with LV_CHART_UPDATE_MODE_SHIFT d61617c
  • fix(build) fix micropython build error 54338f6
  • fix(draw) fix border width of simple (radius=0, no masking) borders 20f1867
  • fix(calendar) fix calculation today and highlighted day 8f0b5ab
  • fix(style) initialize colors to black instead of zero 524f8dd
  • fix(sjpg) remove unnecessary typedefs c2d93f7
  • fix(label) fix clipped italic letters 2efa6dc
  • fix(draw) shadow drawing with large shadow width f810265
  • fix(dropdown) add missing invalidations 33b5d4a
  • fix(dropdown) adjust the handling of keys sent to the dropdown e41c507
  • fix(disp) be sure the pending scr load animation is finished in lv_scr_load_anim eb6ae52
  • fix(color) fox color premult precision with 16 bit color depth f334226
  • fix(obj_pos) save x,y even if the object is on a layout a9b660c
  • fix(scrollbar) hide the scrollbar if the scrollable flag is removed d9c6ad0
  • fix(dropdown) fix list position with RTL base direction 79edb37
  • fix(obj) fix lv_obj_align_to with RTL base direction 531afcc
  • fix(chart) fix sending LV_EVENT_DRAW_PART_BEGIN/END for the cursor 34b8cd9
  • fix(arduino) fix the prototype of my_touchpad_read in the LVGL_Arduino.ino 1a62f7a
  • fix(checkbox) consider the bg border when positioning the indicator a39dac9
  • fix(dropdown) send LV_EVENT_VALUE_CHANGED to allow styling of the list dae7039
  • fix(group) fix infinite loop bdce0bc
  • fix(keyboard) use LVGL heap functions instead of POSIX b20a706
  • fix(blend) fix green channel with additive blending 78158f0
  • fix(btnmatrix) do not show pressed, focused or focus key states on disabled buttons 3df2a74
  • fix(font) handle the last pixel of the glyphs in font loader correctly fa98989
  • fix(table) fix an off-by-one issue in self size calculation ea2545a
  • fix shadowed variable e209260
  • fix shadowed variable df60018
  • fix(chart) be sure the chart doesn't remain scrolled out on zoom out ad5b1bd
  • fix(docs) commit to meta repo as lvgl-bot instead of actual commit author f0e8549
  • fix(table) invalidate the table on cell value change cb3692e
  • fix(group) allow refocusing objects 1520208
  • fix(tabview) fix with left and right tabs 17c5744
  • fix(msgbox) create modals on top layer instead of act screen 5cf6303
  • fix(theme) show disabled state on buttons of btnmatrix, msgbox and kayboard 0be582b
  • fix(label) update lv_label_get_letter_pos to work with LV_BASE_DIR_AUTO too 580e05a
  • fix(label) fix in lv_label_get_letter_pos with when pos==line_start 58f3f56
  • fix(gif) replace printf statement with LVGL logging 56f62b8
  • fix(docs) add fsdrv back 64527a5
  • fix(table) remove unnecessary invalidation on pressing 6f90f9c
  • fix(chart) draw line chart indicator (bullet) fba37a3
  • fix(anim) return the first anim if exec_cb is NULL in lv_anim_get() fb7ea10
  • fix(label) fix lv_label_get_letter_on with BIDI enabled 192419e
  • fix(checkbox) add missing invalidations bb39e9d
  • fix(draw) fix gradient calculation of the rectangle is clipped 13e3470
  • fix(chart) fix typo in 655f42b8 6118d63
  • fix(example) fix lv_example_chart_2 89081c2
  • fix(calendar) fix the position calculation today ad05e19
  • fix(tick) minor optimization on lv_tick_inc call test b4305df
  • fix(docs) use let instead of const for variable which gets changed 3cf5751
  • fix(theme) fix the switch style in the default theme 0c0dc8e
  • fix(tlsf) undef printf before define-ing it cc935b8
  • fix(msgbox) prevent the buttons being wider than the msbgox 73e036b
  • fix(chart) don't draw series lines with < 1 points 655f42b
  • fix(tests) remove src/test_runners when cleaning 6726b0f
  • fix(label) remove duplicated lv_obj_refresh_self_size a070ecf
  • fix(colorwheel) disable LV_OBJ_FLAG_SCROLL_CHAIN by default 48d1c29
  • fix(obj) do not set the child's position in lv_obj_set_parent d89a5fb
  • feat: add LV_USE_MEM_PERF/MONITOR_POS acd0f4f
  • fix(scroll) in scroll to view functions respect disabled LV_OBJ_FLAG_SCROLLABLE 9318e02
  • fix(flex) remove unused variable 747b6a2
  • feat(canvas) add lv_canvas_set_px_opa b3b3ffc
  • fix(textarea) allow using cursor with not full bg_opa c9d3965
  • fix(txt) _lv_txt_get_next_line return 0 on empty texts 82f3fbc
  • fix(btnmatrix) always update row_cnt 86012ae
  • fix(scroll) minor fixes on obj scroll handling a4128a8
  • fix(table) consider border width for cell positions f2987b6
  • fix(log) be sure LV_LOG_... is not empty if logs are disabled 47734c4
  • fix(arc) fix LV_ARC_MODE_REVERSE df3b969
  • fix(obj) in lv_obj_move_to_index() do not send LV_EVENT_CHILD_CHANGED on all changed child 32e8276
  • feat(event) add lv_obj_remove_event_cb_with_user_data 4eddeb3
  • fix(draw) fix shadow drawing with radius=0 4250e3c
  • fix(msgbox) directly store the pointer of all children eb5eaa3
  • fix(draw) use the filtered colors in lv_obj_init_draw_xxx_dsc() functions 78725f2
  • fix(arc) fix full arc invalidation 98b9ce5
  • chore(led) expose LV_LED_BRIGHT_MIN/MAX in led.h 3f18b23
  • fix(group) keep the focused object in lv_group_swap_obj a997147
  • fix(obj) swap objects in the group too in lv_obj_swap() 52c7558
  • fix(theme) use opacity on button's shadow in the default theme c5342e9
  • fix(win) enable clip_corner and border_post by default 493ace3
  • fix(draw) fix rectangle drawing with clip_corner enabled 01237da
  • fix(arc) fix other invalidation issues b0a7337
  • feat(obj) add lv_obj_get_x/y_aligned 98bc1fe
  • fix(calendar) fix incorrect highlight of today adbac52
  • fix(arc, meter) fix invalidation in special cases 0f14f49
  • fix(canvas) invalidate the image on delete a1b362c
  • fix(msgbox) return the correct pointer from lv_msgbox_get_text 50ea6fb
  • fix(bidi) fix the handling of LV_BASE_DIR_AUTO in several widgets 7672847
  • fix(build) remove main component dependency (#2420) f2c2393
  • fix(meter) fix inner mask usage c28c146
  • fix(log) fix warning for empty log macros 4dba8df
  • fix(theme) improve button focus of keyboard 2504b7e
  • fix(tabview) send LV_EVENT_VALUE_CHANGED only once 933d282
  • fix(obj style) fix children reposition if the parent's padding changes. 57cf661
  • fix(template) update indev template for v8 d8a3d3d
  • fix(obj) detecting which indev sent LV_EVENT_FOCUS f03d4b8
  • fix(roller) adjust the size of the selected area correctly 01d1c87
  • fix(imgbtn) consider width==LV_SIZE_CONTENT if only mid. img is set 7e49f48
  • fix(flex) fix NULL pointer dereference 97ba12f
  • fix(obj, switch) do not send LV_EVENT_VALUE_CHANGED twice 713b39e
  • fix(coords) fix using large coordinates 428db94
  • fix(chart) fix crash if no series are added c728b5c
  • fix(meter) fix needle image invalidation 54d8e81
  • fix(mem) add lv_ prefix to tlsf functions and types 0d52b59
  • fix(pxp) change LV_COLOR_TRANSP to LV_COLOR_CHROMA_KEY to v8 compatibility 81f3068

Examples

  • example(chart) add area chart example 2507
  • example(anim) add demo to use cubic-bezier 2393
  • feat(example) add lv_example_chart_9.py 2604
  • feat(example) add lv_example_chart_8.py 2611
  • feat(example) chart example to add gap between the old and new data 2565
  • feat(example) add lv example list 2 2545
  • feat(examples) add MicroPython version of lv_example_anim_3 and allow loading roller font dynamically 2412
  • feat(examples) added MP version of second tabview example 2347
  • fix(example):format codes 2731
  • fix(example) minor fixes in lv_example_chart_2.py 2601
  • feat(example) add text with gradient example 462fbcb
  • fix(example_roller_3) mask free param bug 2553
  • fix(examples) don't compile assets unless needed 2523
  • fix(example) scroll example sqort types 2498
  • fix(examples) join usage 2425
  • fix(examples) add missing lv.PART.INDICATOR 2423
  • fix(examples) use lv.grid_fr for MicroPython 2419
  • fix(examples) remove symlinks 2406
  • fix(examples) import 'u'-prefixed versions of modules 2365
  • fix(examples) remove cast in MP scripts 2354
  • fix(examples) fix MicroPython examples and run the examples with CI 2339
  • fix(examples) align with renamed Micropython APIs 2338
  • fix(examples) adjust canvas example for MicroPython API change 52d1c2e
  • fix(example) revert test code 77e2c1f
  • feat(example) add checkbox example for radio buttons d089b36
  • feat(example) add text with gradient example 462fbcb
  • fix(examples) exclude example animimg images if animimg is disabled 4d7d306
  • fix(example) adjust the object sizes in lv_example_anim_timeline_1() 71a10e4
  • fix(example) revert text code from lv_example_checkbox_2 28e9593

Docs

  • docs: fix typo 2765
  • docs(colorwheel) fix old API names 2643
  • docs(display) fix typo 2624
  • docs add static for lv_indev_drv_t 2605
  • docs(animimg) add to extra widgets index and fix example 2610
  • docs(animimg) Add missing animation image page 2609
  • docs(group) remove reference to lv_cont which is gone in v8 2580
  • docs(style) use correct API name for local styles 2550
  • docs(all) Proofread, fix typos and add clarifications in confusing areas 2528
  • docs(flex) update flex.md 2517
  • docs more spelling fixes 2499
  • docs fix typo: arae -> area 2488
  • docs(readme) fix typo: hosing → hosting. 2477
  • docs update company name and year 2476
  • docs fix typos 2472
  • docs(overview) fix typo 2465
  • docs(bar) fix typos in widget examples 2463
  • docs(overview) fix typo 2454
  • docs(chart) typos 2427
  • docs(layout) add internal padding paragraph to grid and flex layout p… 2392
  • docs(porting) fix indev example to remove v7 bool return 2381
  • docs(README) fix broken references 2329
  • docs(grid) typo fix 2310
  • docs(color) language fixes 2302
  • docs(lv_obj_style) update add_style and remove_style function headers 2287
  • docs(contributing) add commit message format section 3668e54
  • docs minor typo fixes 84c0086
  • docs(arduino) update some outdated information 9a77102
  • docs(keyboard) add note regarding event handler 255f729
  • docs minor CSS fix acbb680
  • docs minor CSS improvements 7f367d6
  • docs(keyboard) change LV_KEYBOARD_MODE_NUM to LV_KEYBOARD_MODE_NUMBER 6e83d37
  • docs(textarea) clarify the use of text selection bg_color 65673c0
  • docs list all examples on one page 25acaf4
  • docs(examples) add MicroPython examples 6f37c4f
  • docs(filesystem) update to v8 7971ade
  • docs(style) complete the description of style the properties 55e8846
  • docs example list fixes cd600d1
  • docs(style) complete the description of style the properties ff087da
  • docs(README) update links, examples, and add services menu 3471bd1
  • docs(color) update colors' docs 9056b5e
  • docs update lv_fs.h, layer and align.png to v8 31ab062
  • docs(color) minor fix ac8f453
  • docs update changelog c386110
  • docs(extra) add extra/README.md 8cd504d
  • docs add lazy load to the iframes of the examples c49e830
  • docs(os) add example and clarify some poinits d996453
  • docs(rlottie) fix build error ce0b564
  • docs include paths in libs f5f9562
  • docs libs fixes 8e7bba6
  • docs(obj) add comment lv_obj_get_x/y/width/height about postponed layout recalculation 533066e
  • docs fix example list ed77ed1
  • docs describe the options to include or skip lv_conf.h 174ef66
  • docs(overview) spelling fixes d2efb8c
  • docs(table) describe keypad/encoder navigation 749d1b3
  • docs update CHANGELOG 0f8bc18
  • docs(image) mention the frame_id parameter of lv_img_decoder_open 2433732
  • docs(arduino) update how to use the examples 06962a5
  • docs(rlottie): fix typo in commands ed9169c
  • docs(indev, layer) update lv_obj_set_click() to lv_obj_add_flag() bcd99e8
  • docs update version support table e6e98ab
  • docs fix example list c6f99ad
  • docs(examples) add <hr/> to better separate examples a1b59e3
  • docs(checkbox) update the comment lv_checkbox_set_text_static 3e0ddd0
  • docs(grid) fix missing article da0c97a
  • docs(display) fix grammar in one spot 5dbea7d
  • docs(style) fix typo in style property descriptions 4e3b860
  • docs(flex) fix typo in flex grow section e5fafc4
  • docs(indev) clarify purpose of continue_reading flag 706f81e
  • docs(license) update company name and year 7c1eb00
  • docs fix typo 8ab8064
  • docs add libs to the main index 1a8fed5
  • docs add btn_example.png 8731ef1
  • docs(btnmatrix) fix typo with set_all/clear_all parameters 51a82a1

CI and tests

  • ci(micropython) fix git fetch 2757
  • test(txt) initial unit tests and general code cleanup/fixes 2623
  • test add setUp and tearDown to test template 2648
  • test(arc) add initial unit tests 2617
  • ci(micropython) add ESP32 and STM32 tests 2629
  • test(checkbox) add initial tests 2551
  • test(ci) build and run tests in parallel. 2515
  • ci(tests) run tests using ctest 2503
  • ci(tests) add dependency on GNU parallel 2510
  • ci(tests) use common script to install development prereqs 2504
  • test convert Makefile to CMake 2495
  • test Refactor unit test scripts. 2473
  • test(font_loader) migrate the exisiting font loader test bc5b3be
  • test add build test again, add dropdown test, integrate gcov and gvocr e35b1d0
  • test(dropdown) add tess for keypad and encoder 4143b80
  • test add keypad and encoder emulators e536bb6
  • tests add mouse emulator 2ba810b
  • tests add README b765643
  • test add move tests to test_cases and test_runners directories e9e010a
  • test fix CI build error c38cae2
  • ci add config for 8bpp 3eacc59
  • test move more source files to src folder 3672f87
  • test update CI for the new tests a3898b9
  • test cleant up report folder b9b4ba5
  • test fix build error 61cda59
  • test(font_loader) migrate the existing font loader test d6dbbaa
  • test add move tests to test_cases and test_runners directories d2e735e
  • test add 3rd party libs to all tests and also fix them 7a95fa9
  • test(arc): add test case for adv_hittest e83df6f
  • ci create check for lv_conf_internal.h 5d8285e
  • test fix warning and docs build error d908f31
  • ci(micropython) add rp2 port 1ab5c96
  • test(dropdown) remove dummy test case 9fb98da
  • ci(codecov) hide statuses on commits for now 0b7be77
  • ci(docs) run apt-get update before installation f215174
  • test fix LV_USE_LOG_LEVEL -> LV_LOG_LEVEL typo 80f0b09
  • ci(micropython) add GCC problem matcher ab316a0
  • test convert Makefile to CMake (#2495) 9c846ee

Others

  • chore: replace (void)xxx with LV_UNUSED(xxx) 2779
  • animation improvement 2743
  • Improve LV_FORMAT_ATTRIBUTE usage 2673
  • Fix typo in commands to build rlottie 2723
  • del(.gitmodules): delete .gitmodules 2718
  • lv_obj_draw_part_dsc_t.text_length added 2694
  • expose LV_COLOR_DEPTH and LV_COLOR_16_SWAP in micropython 2679
  • sync lvgl/lv_fs_if 2676
  • build: always enable CMake install rule in default configuration 2636
  • build: fix lib name in CMakeLists 2641
  • build: remove use of 'project' keyword in CMakeLists 2640
  • build add install rule to CMakeList.txt 2621
  • Fixed row size calculation 2633
  • arch add small 3rd party libs to lvgl 2569
  • Kconfig: Add missing options 2597
  • Espressif IDF component manager 2521
  • chore(btnmatrix) removed unnecessary semicolon 2520
  • Update README.md 2516
  • Corrected a function name in obj.md 2511
  • Simple spelling fixes 2496
  • added lv_obj_move_up() and lv_obj_move_down() 2467
  • Fix buf name error for "lv_port_disp_template.c" and optimize the arduino example 2475
  • Fix two examples in the docs with new v8 api 2486
  • kconfig: minor fix for default dark theme option 2426
  • doc(table) update doc on cell merging 2397
  • added example lv_example_anim_timeline_1.py 2387
  • refactor(printf) add printf-like function attribute to _lv_txt_set_text_vfmt and lv_label_set_text_fmt 2332
  • Update win.md 2352
  • Nxp pxp vglite v8 dev 2313
  • More Snapable --> Snappable replacements 2304
  • Spelling and other language fixes to documentation 2293
  • Update quick-overview.md 2295
  • adding micropython examples 2286
  • format run code-formtter.sh d67dd94
  • Update ROADMAP.md 2b1ae3c
  • Create .codecov.yml e53aa82
  • refactor(examples) drop JS-specific code from header.py ef41450
  • make test run on mseter and release/v8.* 227402a
  • Update release.yml 0838f12
  • refactor(examples) drop usys import from header.py ad1f91a
  • Update ROADMAP.md a38fcf2
  • Revert "feat(conf) add better check for Kconfig default" a5793c7
  • remove temporary test file a958c29
  • start to implement release/patch 1626a0c
  • chore(indev) minor formatting 79ab3d2
  • add basic patch release script 1c3ecf1
  • chore(example) minor improvements on lv_example_list_2 bb6d6b7
  • tool: add changelog_gen.sh to automatically generate changelog 6d95521
  • update version numbers to v8.1.0-dev 8691611
  • chore(test) improve prints ea8bed3
  • chore(test) improve prints 0c4bca0
  • chore: update lv_conf_internal.h 41c2dd1
  • chore(format) lv_conf_template.h minor formatting 3c86d77
  • chore(docs) always deploy master to docs/master as well 6d05692
  • Update CHANGELOG.md 48fd73d
  • Fix compile errors 6c956cc
  • Update textarea.md 6d8799f
  • chore(assert) add warning about higher memory usage if LV_USE_ASSERT_STYLE is enabled 33e4330
  • Update page.html 9573bab
  • chore(docs) force docs rebuild 4a0f413
  • Fix typo error in color.md 572880c
  • Update arc.md 2a9b9e6
  • Update index.rst 9ce2c77
  • chore(docs) minor formatting on example's GitHub link 75209e8
  • chore(lv_conf_template) fix spelling mistake 9d134a9
  • Update CHANGELOG.md 8472360
  • chore(stale) disable on forks 93c1303
  • Revert "fix(tests) remove src/test_runners when cleaning" ae15a1b
  • style fix usage of clang-format directives 2122583
  • Revert "fix(indev) focus on objects on release instead of press" f61b2ca

v8.0.2 (16.07.2021)

  • fix(theme) improve button focus of keyboard
  • fix(tabview) send LV_EVENT_VALUE_CHANGED only once
  • fix(imgbtn) use the correct src in LV_EVENT_GET_SELF_SIZE
  • fix(color) remove extraneous cast for 8-bit color
  • fix(obj style) fix children reposition if the parent's padding changes.
  • fix(color) remove extraneous _LV_COLOR_MAKE_TYPE_HELPER (#2372)
  • fix(spinner) should not be clickable (#2373)
  • fix(obj) improve how the focusing indev is determined
  • fix(template) update indev template for v8
  • fix(printf) skip defining attribute if pycparser is used
  • refactor(printf) add printf-like function attribute to _lv_txt_set_text_vfmt and lv_label_set_text_fmt (#2332)
  • fix(template) include lvgl.h in lv_port_*_template.c files
  • fix(obj) detecting which indev sent LV_EVENT_FOCUS
  • fix (span) fill LV_EVENT_GET_SELF_SIZE (#2360)
  • fix(arc) disable LV_OBJ_FLAG_SCROLL_CHAIN by default
  • fix (draw) fix arc bg image drawing with full arcs
  • fix(disp) fix memory leak in lv_disp_remove (#2355)
  • fix warnings introduced by 3fb8baf5
  • fix(widgets) use lv_obj_class for all the widgets
  • fix(obj) move clean ups from lv_obj_del to lv_obj_destructor
  • fix(roller) fix partial redraw of the selected area
  • fix(roller) adjust the size of the selected area correctly
  • fix(obj) delete useless type conversion (#2343)
  • fix(lv_obj_scroll.h) typos (#2345)
  • fix(scroll) fire LV_EVENT_SCROLL_BEGIN in the same spot for both axes
  • fix(btnmatrix) fix button invalidation on focus change
  • fix(textarea) style update in oneline mode + improve scroll to cursor
  • fix(tlsf) do not use <assert.h>
  • fix(imgbtn) consider width==LV_SIZE_CONTENT if only mid. img is set
  • fix(refr) reduce the nesting level in lv_refr_area
  • fix(txt) enhance the function of break_chars (#2327)
  • fix(pxp): update RTOS macro for SDK 2.10
  • fix(vglite): update for v8
  • fix(pxp): update for v8
  • fix(flex) fix layout update and invalidation issues
  • fix(flex) fix NULL pointer dereference
  • fix(obj, switch) do not send LV_EVENT_VALUE_CHANGED twice
  • fix(color) overflow with 16-bit color depth
  • fix(coords) fix using large coordinates
  • fix(chart) fix crash if no series are added
  • fix(chart) invalidation with LV_CHART_UPDATE_MODE_SHIFT
  • fix(align) fix lv_obj_align_to G
  • fix(table) invalidate the table on cell value change
  • fix(label) remove duplicated lv_obj_refresh_self_size
  • fix(draw) underflow in subpixel font drawing
  • fix (scroll) do not send unnecessary scroll end events

v8.0.1 (14.06.2021)

  • docs(filesystem) update to v8 7971ade4
  • fix(msgbox) create modals on top layer instead of act screen 5cf6303e
  • fix(colorwheel) disable LV_OBJ_FLAG_SCROLL_CHAIN by default 48d1c292
  • docs(grid) typo fix (#2310) 69d109d2
  • fix(arduino) fix the prototype of my_touchpad_read in the LVGL_Arduino.ino 1a62f7a6
  • fix(meter) fix needle image invalidation 54d8e817
  • fix(mem) add lv_ prefix to tlsf functions and types 0d52b59c
  • fix(calendar) fix the position calculation today ad05e196
  • fix(typo) rename LV_OBJ_FLAG_SNAPABLE to LV_OBJ_FLAG_SNAPPABLE e697807c
  • docs(color) language fixes (#2302) 07ecc9f1
  • fix(tick) minor optimization on lv_tick_inc call test b4305df5
  • Spelling and other language fixes to documentation (#2293) d0aaacaf
  • fix(theme) show disabled state on buttons of btnmatrix, msgbox and keyboard 0be582b3
  • fix(scroll) keep the scroll position on object deleted 52edbb46
  • fix(msgbox) handle NULL btn map parameter 769c4a30
  • fix(group) allow refocusing objects 1520208b
  • docs(overview) spelling fixes d2efb8c6
  • Merge branch 'master' of https://github.com/lvgl/lvgl 45960838
  • feat(timer) check if lv_tick_inc is called aa6641a6
  • feat(docs) add view on GitHub link a716ac6e
  • fix(theme) fix the switch style in the default theme 0c0dc8ea
  • docs fix typo 8ab80645
  • Merge branch 'master' of https://github.com/lvgl/lvgl e796448f
  • feat(event) pass the scroll animation to LV_EVENT_SCROLL_BEGIN ca54ecfe
  • fix(tabview) fix with left and right tabs 17c57449
  • chore(docs) force docs rebuild 4a0f4139
  • chore(docs) always deploy master to docs/master as well 6d05692d
  • fix(template) update lv_objx_template to v8 38bb8afc
  • docs(extra) add extra/README.md 8cd504d5
  • Update CHANGELOG.md 48fd73d2
  • Update quick-overview.md (#2295) 5616471c
  • fix(pxp) change LV_COLOR_TRANSP to LV_COLOR_CHROMA_KEY to v8 compatibility 81f3068d
  • adding micropython examples (#2286) c60ed68e
  • docs(color) minor fix ac8f4534
  • fix(example) revert test code 77e2c1ff
  • fix(draw) with additive blending with 32-bit color depth 786db2af
  • docs(color) update colors' docs 9056b5ee
  • Merge branch 'master' of https://github.com/lvgl/lvgl a711a1dd
  • perf(refresh) optimize where to wait for lv_disp_flush_ready with 2 buffers d0172f14
  • docs(lv_obj_style) update add_style and remove_style function headers (#2287) 60f7bcbf
  • fix memory leak of spangroup (#2285) 33e0926a
  • fix make lv_img_cache.h public because cache invalidation is public 38ebcd81
  • Merge branch 'master' of https://github.com/lvgl/lvgl 2b292495
  • fix(btnmatrix) fix focus event handling 3b58ef14
  • Merge pull request #2280 from lvgl/dependabot/pip/docs/urllib3-1.26.5 a2f45b26
  • fix(label) calculating the clip area 57e211cc
  • chore(deps): bump urllib3 from 1.26.4 to 1.26.5 in /docs b2f77dfc
  • fix(docs) add docs about the default group 29bfe604

v8.0.0 (01.06.2021)

v8.0 brings many new features like simplified and more powerful scrolling, new layouts inspired by CSS Flexbox and Grid, simplified and improved widgets, more powerful events, hookable drawing, and more.

v8 is a major change and therefore it's not backward compatible with v7.

Directory structure

  • The lv_ prefix is removed from the folder names
  • The docs is moved to the lvgl repository
  • The examples are moved to the lvgl repository
  • Create an src/extra folder for complex widgets:
    • It makes the core LVGL leaner
    • In extra we can have a lot and specific widgets
    • Good place for contributions

Widget changes

  • lv_cont removed, layout features are moved to lv_obj
  • lv_page removed, scroll features are moved to lv_obj
  • lv_objmask the same can be achieved by events
  • lv_meter added as the union of lv_linemeter and lv_gauge
  • lv_span new widget mimicking HTML <span>
  • lv_animing new widget for simple slideshow animations
  • + many minor changes and improvements

New scrolling

  • Support "elastic" scrolling when scrolled in
  • Support scroll chaining among any objects types (not only lv_pagess)
  • Remove lv_drag. Similar effect can be achieved by setting the position in LV_EVENT_PRESSING
  • Add snapping
  • Add snap stop to scroll max 1 snap point

New layouts

Styles

  • Optimize and simplify styles
  • State is saved in the object instead of the style property
  • Object size and position can be set in styles too

Events

  • Allow adding multiple events to an object
  • A user_data can be attached to the added events

Driver changes

  • lv_disp_drv_t, lv_indev_drv_t, lv_fs_drv_t needs to be static
  • ...disp_buf... is renamed to draw_buf. See an initialization example here.
  • No partial update if two screen sized buffers are set
  • disp_drv->full_refresh = 1 makes always the whole display redraw.
  • hor_res and ver_res need to be set in disp_drv
  • indev_read_cb returns void. To indicate that there is more that to read set data->continue_reading = 1 in the read_cb

Other changes

  • Remove the copy parameter from create functions
  • Simplified File system interface API
  • Use a more generic inheritance
  • The built-in themes are reworked
  • lv_obj_align now saved the alignment and realigns the object automatically but can't be used to align to other than the parent
  • lv_obj_align_to can align to an object but doesn't save the alignment
  • lv_pct(x) can be used to set the size and position in percentage
  • There are many other changes in widgets that are not detailed here. Please refer to the documentation of the widgets.

New release policy

Migrating from v7 to v8

  • First and foremost, create a new lv_conf.h based on lv_conf_template.h.
  • To try the new version it's recommended to use a simulator project and see the examples.
  • When migrating your project to v8
    • Update the drivers are described above
    • Update the styles
    • Update the events
    • Use the new layouts instead of lv_cont features
    • Use lv_obj instead of lv_page
    • See the changes in Colors
    • The other parts are mainly minor renames and refactoring. See the functions' documentation for descriptions.

v7.11.0 (16.03.2021)

New features

  • Add better screen orientation management with software rotation support
  • Decide text animation's direction based on base_dir (when using LV_USE_BIDI)

Bugfixes

  • fix(gauge) fix needle invalidation
  • fix(bar) correct symmetric handling for vertical sliders

v7.10.1 (16.02.2021)

Bugfixes

  • fix(draw) overlap outline with background to prevent aliasing artifacts
  • fix(indev) clear the indev's act_obj in lv_indev_reset
  • fix(text) fix out of bounds read in _lv_txt_get_width
  • fix(list) scroll list when button is focused using LV_KEY_NEXT/PREV
  • fix(text) improve Arabic contextual analysis by adding hyphen processing and proper handling of lam-alef sequence
  • fix(delete) delete animation after the children are deleted
  • fix(gauge) consider paddings for needle images

v7.10.0 (02.02.2021)

New features

  • feat(indev) allow input events to be passed to disabled objects
  • feat(spinbox) add inline get_step function for MicroPython support

Bugfixes

  • fix(btnmatrix) fix lv_btnmatrix_get_active_btn_text() when used in a group

v7.9.1 (19.01.2021)

Bugfixes

  • fix(cpicker) fix division by zero
  • fix(dropdown) fix selecting options after the last one
  • fix(msgbox) use the animation time provided
  • fix(gpu_nxp_pxp) fix incorrect define name
  • fix(indev) don't leave edit mode if there is only one object in the group
  • fix(draw_rect) fix draw pattern stack-use-after-scope error

v7.9.0 (05.01.2021)

New features

  • feat(chart) add lv_chart_remove_series and lv_chart_hide_series
  • feat(img_cache) allow disabling image caching
  • calendar: make get_day_of_week() public
  • Added support for Zephyr integration

Bugfixes

  • fix(draw_rect) free buffer used for arabic processing
  • fix(win) arabic process the title of the window
  • fix(dropdown) arabic process the option in lv_dropdown_add_option
  • fix(textarea) buffer overflow in password mode with UTF-8 characters
  • fix(textarea) cursor position after hiding character in password mode
  • fix(linemeter) draw critical lines with correct color
  • fix(lv_conf_internal) be sure Kconfig defines are always uppercase
  • fix(kconfig) handle disable sprintf float correctly.
  • fix(layout) stop layout after recursion threshold is reached
  • fix(gauge) fix redraw with image needle

v7.8.1 (15.12.2020)

Bugfixes

  • fix(lv_scr_load_anim) fix when multiple screens are loaded at the same time with delay
  • fix(page) fix LV_SCROLLBAR_MODE_DRAG

v7.8.0 (01.12.2020)

New features

  • make DMA2D non blocking
  • add unscii-16 built-in font
  • add KConfig
  • add lv_refr_get_fps_avg()

Bugfixes

  • fix(btnmatrix) handle arabic texts in button matrices
  • fix(indev) disabled object shouldn't absorb clicks but let the parent to be clicked
  • fix(arabic) support processing again already processed texts with _lv_txt_ap_proc
  • fix(textarea) support Arabic letter connections
  • fix(dropdown) support Arabic letter connections
  • fix(value_str) support Arabic letter connections in value string property
  • fix(indev) in LV_INDEV_TYPE_BUTTON recognize 1 cycle long presses too
  • fix(arc) make arc work with encoder
  • fix(slider) adjusting the left knob too with encoder
  • fix reference to LV_DRAW_BUF_MAX_NUM in lv_mem.c
  • fix(polygon draw) join adjacent points if they are on the same coordinate
  • fix(linemeter) fix invalidation when setting new value
  • fix(table) add missing invalidation when changing cell type
  • refactor(roller) rename LV_ROLLER_MODE_INIFINITE -> LV_ROLLER_MODE_INFINITE

v7.7.2 (17.11.2020)

Bugfixes

  • fix(draw_triangle): fix polygon/triangle drawing when the order of points is counter-clockwise
  • fix(btnmatrix): fix setting the same map with modified pointers
  • fix(arc) fix and improve arc dragging
  • label: Repair calculate back dot character logical error which cause infinite loop.
  • fix(theme_material): remove the bottom border from tabview header
  • fix(imgbtn) guess the closest available state with valid src
  • fix(spinbox) update cursor position in lv_spinbox_set_step

v7.7.1 (03.11.2020)

Bugfixes

  • Respect btnmatrix's one_check in lv_btnmatrix_set_btn_ctrl
  • Gauge: make the needle images to use the styles from LV_GAUGE_PART_PART
  • Group: fix in lv_group_remove_obj to handle deleting hidden objects correctly

v7.7.0 (20.10.2020)

New features

  • Add PXP GPU support (for NXP MCUs)
  • Add VG-Lite GPU support (for NXP MCUs)
  • Allow max. 16 cell types for table
  • Add lv_table_set_text_fmt()
  • Use margin on calendar header to set distances and padding to the size of the header
  • Add text_sel_bg style property

Bugfixes

  • Theme update to support text selection background
  • Fix imgbtn state change
  • Support RTL in table (draw columns right to left)
  • Support RTL in pretty layout (draw columns right to left)
  • Skip objects in groups if they are in disabled state
  • Fix dropdown selection with RTL basedirection
  • Fix rectangle border drawing with large width
  • Fix lv_win_clean()

v7.6.1 (06.10.2020)

Bugfixes

  • Fix BIDI support in dropdown list
  • Fix copying base dir in lv_obj_create
  • Handle sub pixel rendering in font loader
  • Fix transitions with style caching
  • Fix click focus
  • Fix imgbtn image switching with empty style
  • Material theme: do not set the text font to allow easy global font change

v7.6.0 (22.09.2020)

New features

  • Check whether any style property has changed on a state change to decide if any redraw is required

Bugfixes

  • Fix selection of options with non-ASCII letters in dropdown list
  • Fix font loader to support LV_FONT_FMT_TXT_LARGE

v7.5.0 (15.09.2020)

New features

  • Add clean_dcache_cb and lv_disp_clean_dcache to enable users to use their own cache management function
  • Add gpu_wait_cb to wait until the GPU is working. It allows to run CPU a wait only when the rendered data is needed.
  • Add 10px and 8ox built in fonts

Bugfixes

  • Fix unexpected DEFOCUS on lv_page when clicking to bg after the scrollable
  • Fix lv_obj_del and lv_obj_clean if the children list changed during deletion.
  • Adjust button matrix button width to include padding when spanning multiple units.
  • Add rounding to btnmatrix line height calculation
  • Add decmopr_buf to GC roots
  • Fix division by zero in draw_pattern (lv_draw_rect.c) if the image or letter is not found
  • Fix drawing images with 1 px height or width

v7.4.0 (01.09.2020)

The main new features of v7.4 are run-time font loading, style caching and arc knob with value setting by click.

New features

  • Add lv_font_load() function - Loads a lv_font_t object from a binary font file
  • Add lv_font_free() function - Frees the memory allocated by the lv_font_load() function
  • Add style caching to reduce access time of properties with default value
  • arc: add set value by click feature
  • arc: add LV_ARC_PART_KNOB similarly to slider
  • send gestures event if the object was dragged. User can check dragging with lv_indev_is_dragging(lv_indev_act()) in the event function.

Bugfixes

  • Fix color bleeding on border drawing
  • Fix using 'LV_SCROLLBAR_UNHIDE' after 'LV_SCROLLBAR_ON'
  • Fix cropping of last column/row if an image is zoomed
  • Fix zooming and rotating mosaic images
  • Fix deleting tabview with LEFT/RIGHT tab position
  • Fix btnmatrix to not send event when CLICK_TRIG = true and the cursor slid from a pressed button
  • Fix roller width if selected text is larger than the normal

v7.3.1 (18.08.2020)

Bugfixes

  • Fix drawing value string twice
  • Rename lv_chart_clear_serie to lv_chart_clear_series and lv_obj_align_origo to lv_obj_align_mid
  • Add linemeter's mirror feature again
  • Fix text decor (underline strikethrough) with older versions of font converter
  • Fix setting local style property multiple times
  • Add missing background drawing and radius handling to image button
  • Allow adding extra label to list buttons
  • Fix crash if lv_table_set_col_cnt is called before lv_table_set_row_cnt for the first time
  • Fix overflow in large image transformations
  • Limit extra button click area of button matrix's buttons. With large paddings it was counter-intuitive. (Gaps are mapped to button when clicked).
  • Fix lv_btnmatrix_set_one_check not forcing exactly one button to be checked
  • Fix color picker invalidation in rectangle mode
  • Init disabled days to gray color in calendar

v7.3.0 (04.08.2020)

New features

  • Add lv_task_get_next
  • Add lv_event_send_refresh, lv_event_send_refresh_recursive to easily send LV_EVENT_REFRESH to object
  • Add lv_tabview_set_tab_name() function - used to change a tab's name
  • Add LV_THEME_MATERIAL_FLAG_NO_TRANSITION and LV_THEME_MATERIAL_FLAG_NO_FOCUS flags
  • Reduce code size by adding: LV_USE_FONT_COMPRESSED and LV_FONT_USE_SUBPX and applying some optimization
  • Add LV_MEMCPY_MEMSET_STD to use standard memcpy and memset

Bugfixes

  • Do not print warning for missing glyph if its height OR width is zero.
  • Prevent duplicated sending of LV_EVENT_INSERT from text area
  • Tidy outer edges of cpicker widget.
  • Remove duplicated lines from lv_tabview_add_tab
  • btnmatrix: handle combined states of buttons (e.g. checked + disabled)
  • textarea: fix typo in lv_textarea_set_scrollbar_mode
  • gauge: fix image needle drawing
  • fix using freed memory in _lv_style_list_remove_style

v7.2.0 (21.07.2020)

New features

  • Add screen transitions with lv_scr_load_anim()
  • Add display background color, wallpaper and opacity. Shown when the screen is transparent. Can be used with lv_disp_set_bg_opa/color/image().
  • Add LV_CALENDAR_WEEK_STARTS_MONDAY
  • Add lv_chart_set_x_start_point() function - Set the index of the x-axis start point in the data array
  • Add lv_chart_set_ext_array() function - Set an external array of data points to use for the chart
  • Add lv_chart_set_point_id() function - Set an individual point value in the chart series directly based on index
  • Add lv_chart_get_x_start_point() function - Get the current index of the x-axis start point in the data array
  • Add lv_chart_get_point_id() function - Get an individual point value in the chart series directly based on index
  • Add ext_buf_assigned bit field to lv_chart_series_t structure - it's true if external buffer is assigned to series
  • Add lv_chart_set_series_axis() to assign series to primary or secondary axis
  • Add lv_chart_set_y_range() to allow setting range of secondary y-axis (based on lv_chart_set_range but extended with an axis parameter)
  • Allow setting different font for the selected text in lv_roller
  • Add theme->apply_cb to replace theme->apply_xcb to make it compatible with the MicroPython binding
  • Add lv_theme_set_base() to allow easy extension of built-in (or any) themes
  • Add lv_obj_align_x() and lv_obj_align_y() functions
  • Add lv_obj_align_origo_x() and lv_obj_align_origo_y() functions

Bugfixes

  • tileview fix navigation when not screen sized
  • Use 14px font by default to for better compatibility with smaller displays
  • linemeter fix conversation of current value to "level"
  • Fix drawing on right border
  • Set the cursor image non-clickable by default
  • Improve mono theme when used with keyboard or encoder

v7.1.0 (07.07.2020)

New features

  • Add focus_parent attribute to lv_obj
  • Allow using buttons in encoder input device
  • Add lv_btnmatrix_set/get_align capability
  • DMA2D: Remove dependency on ST CubeMX HAL
  • Added max_used propriety to lv_mem_monitor_t struct
  • In lv_init test if the strings are UTF-8 encoded.
  • Add user_data to themes
  • Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
  • Add inline function lv_checkbox_get_state(const lv_obj_t * cb) to extend the checkbox functionality.
  • Add inline function lv_checkbox_set_state(const lv_obj_t * cb, lv_btn_state_t state ) to extend the checkbox functionality.

Bugfixes

  • lv_img fix invalidation area when angle or zoom changes
  • Update the style handling to support Big endian MCUs
  • Change some methods to support big endian hardware.
  • remove use of c++ keyword 'new' in parameter of function lv_theme_set_base().
  • Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
  • Fix inserting chars in text area in big endian hardware.

v7.0.2 (16.06.2020)

Bugfixes

  • lv_textarea fix wrong cursor position when clicked after the last character
  • Change all text related indices from 16-bit to 32-bit integers throughout whole library. #1545
  • Fix gestures
  • Do not call set_px_cb for transparent pixel
  • Fix list button focus in material theme
  • Fix crash when a text area is cleared with the backspace of a keyboard
  • Add version number to lv_conf_template.h
  • Add log in true double buffering mode with set_px_cb
  • lv_dropdown: fix missing LV_EVENT_VALUE_CHANGED event when used with encoder
  • lv_tileview: fix if not the {0;0} tile is created first
  • lv_debug: restructure to allow asserting in from lv_misc too
  • add assert if _lv_mem_buf_get() fails
  • lv_textarea: fix character delete in password mode
  • Update LV_OPA_MIN and LV_OPA_MAX to widen the opacity processed range
  • lv_btnm fix sending events for hidden buttons
  • lv_gaguge make lv_gauge_set_angle_offset offset the labels and needles too
  • Fix typo in the API scrllable -> scrollable
  • tabview by default allow auto expanding the page only to right and bottom (#1573)
  • fix crash when drawing gradient to the same color
  • chart: fix memory leak
  • img: improve hit test for transformed images

v7.0.1 (01.06.2020)

Bugfixes

  • Make Micropython working by adding the required variables as GC_ROOT
  • Prefix some internal API functions with _ to reduce the API of LVGL
  • Fix built-in SimSun CJK font
  • Fix UTF-8 encoding when LV_USE_ARABIC_PERSIAN_CHARS is enabled
  • Fix DMA2D usage when 32 bit images directly blended
  • Fix lv_roller in infinite mode when used with encoder
  • Add lv_theme_get_color_secondary()
  • Add LV_COLOR_MIX_ROUND_OFS to adjust color mixing to make it compatible with the GPU
  • Improve DMA2D blending
  • Remove memcpy from lv_ll (caused issues with some optimization settings)
  • lv_chart fix X tick drawing
  • Fix vertical dashed line drawing
  • Some additional minor fixes and formattings

v7.0.0 (18.05.2020)

Documentation

The docs for v7 is available at https://docs.littlevgl.com/v7/en/html/index.html

Legal changes

The name of the project is changed to LVGL and the new website is on https://lvgl.io

LVGL remains free under the same conditions (MIT license) and a company is created to manage LVGL and offer services.

New drawing system

Complete rework of LVGL's draw engine to use "masks" for more advanced and higher quality graphical effects. A possible use-case of this system is to remove the overflowing content from the rounded edges. It also allows drawing perfectly anti-aliased circles, lines, and arcs. Internally, the drawings happen by defining masks (such as rounded rectangle, line, angle). When something is drawn the currently active masks can make some pixels transparent. For example, rectangle borders are drawn by using 2 rectangle masks: one mask removes the inner part and another the outer part.

The API in this regard remained the same but some new functions were added:

  • lv_img_set_zoom: set image object's zoom factor
  • lv_img_set_angle: set image object's angle without using canvas
  • lv_img_set_pivot: set the pivot point of rotation

The new drawing engine brought new drawing features too. They are highlighted in the "style" section.

New style system

The old style system is replaced with a new more flexible and lightweighted one. It uses an approach similar to CSS: support cascading styles, inheriting properties and local style properties per object. As part of these updates, a lot of objects were reworked and the APIs have been changed.

  • more shadows options: offset and spread
  • gradient stop position to shift the gradient area and horizontal gradient
  • LV_BLEND_MODE_NORMAL/ADDITIVE/SUBTRACTIVE blending modes
  • clip corner: crop the content on the rounded corners
  • text underline and strikethrough
  • dashed vertical and horizontal lines (dash gap, dash_width)
  • outline: a border-like part drawn out of the background. Can have spacing to the background.
  • pattern: display and image in the middle of the background or repeat it
  • value display a text which is stored in the style. It can be used e.g. as a light-weighted text on buttons too.
  • margin: similar to padding but used to keep space outside the object

Read the Style section of the documentation to learn how the new styles system works.

GPU integration

To better utilize GPUs, from this version GPU usage can be integrated into LVGL. In lv_conf.h any supported GPUs can be enabled with a single configuration option.

Right now, only ST's DMA2D (Chrom-ART) is integrated. More will in the upcoming releases.

Renames

The following object types are renamed:

  • sw -> switch
  • ta -> textarea
  • cb -> checkbox
  • lmeter -> linemeter
  • mbox -> msgbox
  • ddlist -> dropdown
  • btnm -> btnmatrix
  • kb -> keyboard
  • preload -> spinner
  • lv_objx folder -> lv_widgets
  • LV_FIT_FILL -> LV_FIT_PARENT
  • LV_FIT_FLOOD -> LV_FLOOD_MAX
  • LV_LAYOUT_COL_L/M/R -> LV_LAYOUT_COLUMN_LEFT/MID/RIGHT
  • LV_LAYOUT_ROW_T/M/B -> LV_LAYOUT_ROW_TOP/MID/BOTTOM

Reworked and improved object

  • dropdown: Completely reworked. Now creates a separate list when opened and can be dropped to down/up/left/right.
  • label: body_draw is removed, instead, if its style has a visible background/border/shadow etc it will be drawn. Padding really makes the object larger (not just virtually as before)
  • arc: can draw background too.
  • btn: doesn't store styles for each state because it's done naturally in the new style system.
  • calendar: highlight the pressed datum. The used styles are changed: use LV_CALENDAR_PART_DATE normal for normal dates, checked for highlighted, focused for today, pressed for the being pressed. (checked+pressed, focused+pressed also work)
  • chart: only has LINE and COLUMN types because with new styles all the others can be described. LV_CHART_PART_SERIES sets the style of the series. bg_opa > 0 draws an area in LINE mode. LV_CHART_PART_SERIES_BG also added to set a different style for the series area. Padding in LV_CHART_PART_BG makes the series area smaller, and it ensures space for axis labels/numbers.
  • linemeter, gauge: can have background if the related style properties are set. Padding makes the scale/lines smaller. scale_border_width and scale_end_border_width allow to draw an arc on the outer part of the scale lines.
  • gauge: lv_gauge_set_needle_img allows use image as needle
  • canvas: allow drawing to true color alpha and alpha only canvas, add lv_canvas_blur_hor/ver and rename lv_canvas_rotate to lv_canvas_transform
  • textarea: If available in the font use bullet (U+2022) character in text area password

New object types

  • lv_objmask: masks can be added to it. The children will be masked accordingly.

Others

  • Change the built-in fonts to Montserrat and add built-in fonts from 12 px to 48 px for every 2nd size.
  • Add example CJK and Arabic/Persian/Hebrew built-in font
  • Add ° and "bullet" to the built-in fonts
  • Add Arabic/Persian script support: change the character according to its position in the text.
  • Add playback_time to animations.
  • Add repeat_count to animations instead of the current "repeat forever".
  • Replace LV_LAYOUT_PRETTY with LV_LAYOUT_PRETTY_TOP/MID/BOTTOM

Demos

  • lv_examples was reworked and new examples and demos were added

New release policy

  • Maintain this Changelog for every release
  • Save old major version in new branches. E.g. release/v6
  • Merge new features and fixes directly into master and release a patch or minor releases every 2 weeks.

Migrating from v6 to v7

  • First and foremost, create a new lv_conf.h based on lv_conf_template.h.
  • To try the new version it suggested using a simulator project and see the examples.
  • If you have a running project, the most difficult part of the migration is updating to the new style system. Unfortunately, there is no better way than manually updating to the new format.
  • The other parts are mainly minor renames and refactoring as described above.



戻る