v9.1.0 is released
Written by
kisvegabor
on
- v9.1.0 20 March 2024[
New Features
- feat(indev) Add crown support to pointer input device 5057
- feat(test): test bin image loaded to RAM or not 5895
- feat(script): change trace_filter default trace log file to log_file.systrace 5900
- feat(vg_lite): automatically select path type based on opa 5896
- feat(freertos): support Espressif’s FreeRTOS flavor 5862
- feat(tests): add freetype font stress tests 5828
- feat(vg_lite): add stroke path support 5831
- feat(docs): add Chinese translation (jump link) 5839
- feat(ci): update distro to ubuntu 22.02 to fix freetype build problem 5834
- feat(image_cache): add resize function to image cache 5829
- feat(nuttx): add cpu idle getter 5814
- feat(test): add multiple color formats to stride adjust test 5690
- feat(libjpeg_turbo): add JPEG image EXIF data parsing 5263
- feat(freetype): change the tilt of freetype fonts in italics 5812
- feat(vg_lite): add matrix assert 5766
- feat(vg_lite): add grad cache size config and auto release cache 5731
- feat(draw_buf): support indexed image in draw_buf_copy 5686
- feat(nuttx): update display driver 5752
- feat(fs): implement littlefs lfs.h driver support 5562
- feat(test_keyboard): add keyboard test 5739
- feat(x11): add LV_KEYs 5704
- feat(display): add save screenshot to file support 5481
- feat(decoder): do not even try cache if ‘no_cache’ is set 5688
- feat(event): return event dsc for later to remove 5630
- feat(keyboard) add Home and End keys mapping 5675
- feat(draw_buf): distinguish between lv_image_dsc_t and lv_draw_buf_t 5496
- feat(indev): remove the PRESSED state on scroll 5660
- feat(sysmon): show max memory usage 5661
- feat(image_decoder): add stride warning 5471
- feat(image, layer): add bitmap mask feature 5545
- feat(draw-sw): add simple Helium acceleration 5596
- feat(cache): use unified cache entry free callback 5612
- feat(draw_buf): use draw_buf as parameter of invalidate_cache API 5602
- feat(script): add ARGB8565 format support 5593
- feat(vg_lite): add ARGB8565 support 5592
- feat(vg_lite): add gpu idle flush 5571
- feat(vg_lite_tvg): add buffer address alignment config 5576
- feat(vg_lite/vector): add compatible processing for non-scissor support 5572
- feat(vg_lite): remove support for RGB565A8 5574
- feat(vg_lite_label): upgrade path quality to HIGH 5556
- feat(font_glyph_format): refactor draw and font format into
lv_font_glyph_format_t
5540 - feat(vg_lite): add index format decode support 5476
- feat(vector): add API to append arc 5510
- feat(nuttx_image_cache): add independent image cache heap support 5528
- feat(cache): refactor cache framework and add new APIs 5501
- feat(drivers): add libinput/xkb driver 5486
- feat(draw_buf): misc update 5498
- feat(draw): add convenience methods for safely getting correct draw descriptor 5505
- feat(profiler): add multithreading support and testcase 5490
- feat(doc): Update display-related documentation to new API 5489
- feat(image_cache): add image header cache drop 5472
- feat(fbdev): add docs and allow forcing refresh 5444
- feat(script): add tool to view bin image 5451
- feat(vg_lite): add profiler instrumentation 5434
- feat(draw_letter): adapt
lv_font_glyph_format_t
for draw_letter process 3c1a765 - feat(color): add color format ARGB8565 86016a8
Performance
- perf(draw): minor optimization on rgb565 color blending 5603
- perf(draw): use the simpler layer clear method 5470
- perf(vg_lite): add asynchronous rendering support 5398
Fixes
- fix(obj_tree): fix unintended click triggers on object deletion 5907
- fix(monkey): add missing include 5903
- fix(demo/vector_graphic): add missing buffer clear 5898
- fix(image): fix the image decoder if LV_BIN_DECODER_RAM_LOAD == 0 5892
- fix(indev): Fix scroll obj cannot be cleared when waiting until release 5833
- fix(vglite): update NXP’s VGLite implementation 5887
- fix(imagebutton): clipped area of mid part 5849
- fix(drm): default to XRGB8888 framebuffer 5851
- fix(vg_lite): fix stroke path memory leak 5883
- fix(ci): workaround ASAN error in CI with Ubuntu 22.04 image 5867
- fix(conf): fix typo cause thorvg not enabled 5837
- fix(indev): always save the last key 5795
- fix(fsdrv/fatfs): fix does not detect the end of entries in fs_dir_read 5826
- fix(layer): update the cached layer type on state change 5801
- fix(file_explorer): fix quick access compiler error 5783
- fix(msgbox): return the footer in lv_msgbox_get_footer 5804
- fix(x11): fix assert on delete 5799
- fix(demo_music): fix the previous button in the music demo is not clickable 5808
- fix(draw): fix non antialiased rgb565a8 transformation 5782
- fix(freetpye): fix the problem of incomplete font drawing when setting with italic 5807
- fix(fsdrv): add missing lv_fs_littlefs_init function declaration 5778
- fix(vg_lite):fix bug for wrong rendering in vertical or horizontal dir 5789
- fix(env): added *.cpp glob in ESP configuration 5761
- fix(draw): fix the invalidation of scaled areas 5548
- fix(warning): variable set but unused. 5757
- fix(draw): fix rgb565 with LV_BLEND_MODE_MULTIPLY 5749
- fix(api_map_v8): add some missing functions 5710
- fix(refr): fix ARGB8888 buffer clearing in DIRECT mode (#5741) 5758
- fix(draw_buf): init struct member in order 5753
- fix(refr): fix clearing the partial buffers in case of ARGB8888 format 5741
- fix(x11): fix typo 5742
- fix(draw_vector): check the point length of path in lv_vector_path_get_bounding 5734
- fix(vg_lite): fix draw layer drawing is incomplete 5729
- fix(test_span): fix an issue where img has span_1.png, but it is not in the code 5736
- fix(vg_lite): fix drawing command accumulation 5730
- fix(vg_lite): fix vector rendering fill dsc matrix not taking effect 5728
- fix(stdlib): fix issues when using LVGL TLSF memory pool to manage more than 4 GiB of memory 5720
- fix(vg_lite): remove redundant MOVE_TO operations 5713
- fix(nuttx): fix compile warning 5701
- fix(draw_vector): remove redundant MOVE_TO operations 5715
- fix(draw_buf): use height as loop condition instead of checking data pointers 5687
- fix(vg_lite): fix the loss of display accuracy of rounded rectangles 5714
- fix(test): check compiler flag should not contain ‘_’ 5706
- fix(imagebutton): fix the example 5719
- fix(drm): eliminate use of non-existent lv_api_map.h and enable smoke tests 5694
- fix(test): enable -Wpedantic 5676
- fix(pxp): fix issues in pxp cache management callback 5685
- fix(windows): improve graphic performance via using high resolution tick count and timer delay implementation 5711
- fix(windows): improve the document 5699
- fix(example): fix lv_example_obj_2 5697
- fix(draw): fix compiler error when LV_DRAW_SW_COMPLEX is disabled 5695
- fix(test): allow to run test locally on mac 5672
- fix(sdl): fix buf memleak on lv_display_delete 5692
- fix(decoder): decoded image should always have same w,h as original image 5689
- fix(cache): fix warnings 5671
- fix(dave2d): follow lvgl changes 5659
- fix(vg_lite): fix typo in decoder_close 5683
- fix(vg_lite): use float instead of int to avoid type conversion 5682
- fix(formatting): fix code formatting 5673
- fix(freetype): fix build break when disable LV_USE_FS_MEMFS 5651
- fix(array): use memmove instead of memcopy 5656
- fix(image): fix wrong log level statement 5655
- fix(tests): fix test_img_emoji_F617.c error include path 5652
- fix(FreeRTOS): Stacksize calculation 5647
- fix(benchmark): fix FPS calculation 5646
- fix(label): consider max-width 5644
- fix(demo): fix memory leak in vector demo 5643
- fix(calendar): fix crash when no default is set 5621
- fix(freetype): fix using memfs to create a FT font 5627
- fix(indev): fix variable name in preprocessor warning 5637
- fix(rle): avoid buffer overflow when compressed data is not in pixel unit 5619
- fix(LVGLImage): use lv_image_dsc_t instead of lv_img_dsc_t 5629
- fix(vg_lite): fix linear image use after free 5618
- fix(kconfig): skip lv_conf.h by default 5617
- fix(image): add data_size filed to all c-array images 5608
- fix(doc): wrong code for Displays transparency 5607
- fix(refr): take stride into consideration in partial update mode 5583
- fix(test): fix typo related to #5559 5594
- fix(sysmon): fix build error when LV_USE_PERF_MONITOR_LOG_MODE is enabled 5597
- fix(sdl): use the new draw buffer structure in the layers 5578
- fix(benchmark): improve the benchmark 5558
- fix(ffmpeg): add missing stride setting to ffmpeg image 5580
- fix(sysmon): fix build break 5585
- fix(tileview): on size change auto. update the pos. of the tiles 5577
- fix(sdl): fix keyboard handling 5575
- fix(lv_conf): minor typo fixes in lv_conf_template.h 5570
- fix(vg_lite): fix arc img not move to arc center 5554
- fix(vg_lite): add grad image buffer check 5552
- fix(obj): fix cover change with semi transparent gradients 5531
- fix(vg_lite): path matrix should use main vector matrix 5538
- fix(vg_lite): fix LV_RADIUS_CIRCLE not round 5543
- fix(vg_lite): add config to disable draw shadow 5534
- fix(neon): update stride from px to bytes 5526
- fix(script): Remove TRUECOLOR for LVGLImage.py 5523
- fix(sysmon): support starting LVGL without having a display 5518
- fix(chart): set the series id correctly 5482
- fix(vg_lite): fix clip corner image display error 5517
- fix(arduino): update example LVGL_Arduino.ino for v9 5499
- fix(fb): set DPI to correctly 5508
- fix(layer): Update calculation for overlay used memory 5504
- fix(bin_decoder): fix potential free garbage address 5509
- fix(decoder): treat ALLOCATED c-array image as draw buffer 5483
- fix(vg_lite_tvg): fix use after free when change target canvas 5497
- fix(keyboard): in the example set Arabic font if enabled 5457
- fix(codespaces): fix the issue where lv_conf.h in codespaces is not enable 5484
- fix(textarea): fix accepted chars issue on big endian systems 5479
- fix(draw_line): fix the issue where dash_dap equals 1 and cannot display properly when the line is a horizontal line 5473
- fix: removed LV_ATTRIBUTE_FAST_MEM function attribute from prototypes 5467
- fix(arm2d): apply a temporary patch to arm-2d acceleration 5466
- fix(snapshot): update the layout of the component before the screenshot 5475
- fix(vg_lite): add missing 24bit color support check 5469
- fix(display): set last_activity_time to the current time in lv_display 5463
- fix(observer): fixed lv_subject_remove_all_obj 5464
- fix(image_decoder): fix decoder not close 5437
- fix(nuttx): fix build break 5440
- fix: fix warnings with -flto on GCC 11 5433
- fix(assert): add new macro to format assert message 5453
- fix(decoder): if draw unit supports indexed image, don’t add to cache 5438
- fix(bar): mask the background to fix it on value adjustment 5426
- fix(lvgl.mk): fix vg_lite_tvg.cpp not compiling 5435
- fix(ci): use the dev branch of PlatformIO 5432
- fix(vector) : add path bounding and matrix transform functions. 5389
- fix(warning): fix shadown variable warning 47750f1
- fix(thorvg): link lvgl_thorvgl with lvgl 9b09182
- fix(warning): error: no newline at end of file 9a6a194
- fix(color): treat RGB565A8 bpp same as RGB565 52426ec
- fix(warning): error: a function declaration without a prototype is deprecated in all versions of C c81f654
Docs
- docs: update README 5841
- docs: make it easy to add more other translations 5874
- docs: ignore the READMEs when building the docs 5840
- docs(st7789): updated the docs + added code example and step-by-step guide for STM32 5511
- docs(arduino): update tick setup 5832
- docs(display): use lv_display_delete_refr_timer to delete display timer 5835
- docs(lv_conf): show how to include something in lv_conf.h 5740
- docs(tick): simplify and promote lv_tick_set_cb 5781
- docs(style): output the style properties to style-props.rst 5802
- docs(changelog): mention that LV_COLOR_DEPTH 8 is not supported yet 5796
- docs(image): update align to inner_align 5721
- docs(README_Zh): remove mentions of SquareLine Studio 5640
- docs(profiler): fix my_get_cpu_cb implementation 5641
- docs(demos): remove inconsistent READMEs 5626
- docs(README): remove mentions of SquareLine Studio 5638
- docs(changelog): mention more features removed in v9 5632
- docs(micropython): update MicroPython examples in documentation 5622
- docs(contributing): fix links 5615
- docs(porting): add missing colon in porting docs 5613
- docs(contributing): update the feature development workflow 5601
- docs(tabview): fix tabview doc 5588
- docs(indev): Document the relation between LV_INDEV_MODE_EVENT and data->continue_reading 5586
- docs(pc-simulator): Document how to set up SDL manually, without IDE 5563
- docs(disp): document lv_refr_now 5480
- docs(disp): Fix pointer cast in flush_cb example 5439
- docs(font): about “base dir” 5429
CI and tests
- test(conf): update conf and remove deprecated configs 5881
- tests(freetype): refactor code structure 5871
- ci(micropython): catch event failure in the test 5787
- ci(ref_imgs): automatically generate the missing reference image folders 5696
- ci(assets): add LV_BUILD_TEST guard 5616
- ci(codecov): disable CodeCov 5623
- test(asset): add guard to test_img_emoji_F617 5559
- ci(micropython): use the master branch 5460
- test(snapshot): add testcase for #5475 5478
Others
- chore(cmsis-pack): prepare for v9.1.0 5917
- chore: fix header files include recursion 5844
- chore(group): avoid null pointer access 5863
- refactor(conf): rename LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE to LV_DRAW_LAYER_SIMPLE_BUF_SIZE 5798
- chore(freetype): remove unused codes 5885
- chore: fix compile time warnings 5872
- adds
extern "C"
to the header files that were missing it. 5857 - chore(stdlib): remove duplicate function declaration 5845
- chore(benchmark): add warning for probably low memory 5797
- chore(group): add assertion to avoid null pointer access 5769
- refact(Kconfig): update as per lv_conf_template.h 5780
- Fix the compilation error problem of lvgl9.x on rtthread 5794
- refact(vg_lite): abstract common pending release logic 5756
- doc(stm32): fix typo 5772
- doc(cache): add doc strings for cache APIs 5718
- chore(docs): fix typo 5738
- chore(font): remove unused defines 5716
- chore: add stride information in the image resource file 5653
- chore(draw_buf): remove unnecessary info logs 5634
- chore(cmsis-pack): catchup update 5611
- More chore work in indev files 5604
- Stride adjust in place 5423
- chore(conf): use EXTERNAL and INTERNAL macro to config libs 5046
- chore(vg_lite): use pointer to access matrix element 5591
- refactor(image): rename align to inner_align 5560
- chore(deps): bump codecov/codecov-action from 3 to 4 5567
- chore(deps): bump carlosperate/arm-none-eabi-gcc-action from 1.8.0 to 1.8.1 5565
- chore(deps): bump mymindstorm/setup-emsdk from 13 to 14 5566
- chore(deps): bump actions/cache from 3 to 4 5568
- chore(deps): bump uraimo/run-on-arch-action from 2.6.0 to 2.7.1 5569
- optionally install demos and libs as well 5387
- chore(arc): fix typo 5553
- Revert “feat(font_glyph_format): refactor draw and font format into
lv_font_glyph_format_t
” 5550 - chore(thorvg): fix warning 5535
- refactor(snapshot): use draw buffer interface 5487
- chore(vg_lite): fix typo 5525
- demo(music): add png assets 5520
- chore(indev): Cleanup before working in double and triple click support 5512
- chore(demos): Remove unused definitions 5506
- chore(obj_draw): remove duplicate invalidate 5503
- chore(widgets): add parentheses to MY_CLASS definition 5485
- chore(draw-sw-transform): remove duplicated code 5488
- chore(cache): only cache header info for file type of image 5455
- chore(README): Fixed #5491 Typo 5492
- chore(vg_lite): remove 64-bytes alignment requirement 5477
- chore(refr): fix typo 5474
- chore(array): use array_front and use it like an array 5448
- refactor(indev_scroll): refactor code 5456
- chore(draw_buf): add header magic to draw buff 5449
- chore(Kconfig): add missing profiler trace buffer size config 5436
- chore(libpng): fix warning 5431
- refactor(freetype): refactor freetype params 0c84cc0
- refactor(freetype): refactor glyph_index acquire method 0b3016c
- chore(README): Fixed #5491 Typo (#5492) 9c025d3