v8.0.0 is released
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.
lv_prefix is removed from the folder names
docsis moved to the
examplesare moved to the
- Create an
src/extrafolder for complex widgets:
- It makes the core LVGL leaner
extrawe can have a lot and specific widgets
- Good place for contributions
lv_contremoved, layout features are moved to
lv_pageremoved, scroll features are moved to
lv_objmaskthe same can be achieved by events
lv_meteradded as the unioin of
lv_spannew widget mimicing HTML
lv_animingnew widget for simple slideshow animations
- + many minor changes and improvements
- Support “elastic” scrolling when scrolled in
- Support scroll chaining among any objects types (not only
lv_drag. Similar effect can be achieved by setting the position in
- Add snapping
- Add snap stop to scroll max 1 snap point
- 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
- Allow adding multiple events to an object
user_datacan be attached to the added events
lv_fs_drv_tneeds to be
...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 = 1makes always the whole display redraw.
ver_resneed to be set in
void. To indicate that there is more that to read set
data->continue_reading = 1in the
- 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_alignnow saved the alignment and realigns the object automatically but can’t be used to align to other than the parent
lv_obj_align_tocan 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
- We will follow Release branches with GitLab flow
- Minor releases are expected in every 3-4 month
masterwill always contain the latest changes
Migrating from v7 to v8
- First and foremost, create a new
- 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
- The other parts are mainly minor renames and refactoring. See the functions’ documentation for descriptions.