v8.2.0 is released
Written by
kisvegabor
on
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
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