1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-14 06:42:58 +08:00
lvgl/docs/CHANGELOG.md

641 lines
35 KiB
Markdown
Raw Normal View History

2020-04-30 11:27:22 +02:00
# Changelog
2021-06-14 13:51:45 +02:00
## v8.1.0 (In progress)
- fix(docs) API colorwheel reference from 'lv_colorwheel_colour_set_mode...' to 'lv_colorwheel_set_mode...'
- Fixed lv_deinit declaration when LV_USE_GPU_SDL is enabled
- added sample lv_example_list_2.py
- lv_obj_move_up(obj) and lv_obj_move_down(obj) added. (#2461)
- feat(example) stacked area chart lv_example_chart_8 added.
- renamed lv_obj_get_child_id(obj) to lv_obj_get_index(obj).
- added lv_obj_move_to_index(obj, index). (#2461)
- redefined lv_obj_move_foreground(obj) and lv_obj_move_background(obj) as inline functions now calling lv_obj_move_to_index(obj, index).
2021-08-02 15:55:04 +02:00
- 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
2021-07-16 21:57:54 +02:00
- feat(img) add img_size property (#2284) <a href="https://github.com/lvgl/lvgl/commit/fe461caf">fe461caf</a>
- feat(calendar) improve MicroPython example (#2366) Amir Gonnen <a href="https://github.com/lvgl/lvgl/commit/5f6e07e5">5f6e07e5</a>
2021-06-14 13:51:45 +02:00
- feat(obj) add lv_obj_del_delayed() <a href="https://github.com/lvgl/lvgl/commit/c6a2e15e">c6a2e15e</a>
2021-07-16 21:57:54 +02:00
- feat(event, widgets) improve the paramter of LV_EVENT_DRAW_PART_BEGIN/END Gabor Kiss-Vamosi <a href="https://github.com/lvgl/lvgl/commit/88c48594">88c48594</a>
- feat(led) send LV_EVENT_DRAW_PART_BEGIN/END Gabor Kiss-Vamosi <a href="https://github.com/lvgl/lvgl/commit/fcd4aa39">fcd4aa39</a>
- feat(obj) send LV_EVENT_DRAW_PART_BEGIN/END for MAIN and SCROLLBAR parts Gabor Kiss-Vamosi <a href="https://github.com/lvgl/lvgl/commit/b203167c">b203167c</a>
- feat(spinbox ) add function to set cursor to specific position (#2314) dyktronix <a href="https://github.com/lvgl/lvgl/commit/7066c8fb">7066c8fb</a>
2021-06-14 13:51:45 +02:00
- feat(timer) check if lv_tick_inc is called <a href="https://github.com/lvgl/lvgl/commit/aa6641a6">aa6641a6</a>
- feat(docs) add view on GitHub link <a href="https://github.com/lvgl/lvgl/commit/a716ac6e">a716ac6e</a>
- feat(event) pass the scroll aniamtion to LV_EVENT_SCROLL_BEGIN <a href="https://github.com/lvgl/lvgl/commit/ca54ecfe">ca54ecfe</a>
2021-08-02 15:55:04 +02:00
- perf(draw) reimplement rectangle drawing algorithms
- perf(draw) reimplement circle drawing algorithms (#2374) (Also [change masking](https://docs.lvgl.io/master/overview/drawing.html#masking))
- fix(draw) false assertion error in lv_draw_mask caused by wrong pointer
- fix(color) Bad cast in lv_color_mix() caused UB with 16bpp or less
- fix(examples) don't compile assets unless needed
- docs(all) Proofread, fix typos and add clarifications in confusing areas
- fix(zoom) multiplication overflow with zoom calculations on 16-bit platforms
- feat(msgbox): omit title label unless needed
- feat(msgbox): add function to get selected button index
- fix(btnmatrix): make ORed values work correctly with lv_btnmatrix_has_btn_ctrl
- fix(snapshot): snapshot is affected by parent's style because of wrong coordinates.
- fix(disp) set default theme also for non-default displays
- feat(btnmatrix/keyboard): add option to show popovers on button press
- fix(types) LV_FORMAT_ATTRIBUTE now works with gnu version greater than 4.4
- feat(event) add add LV_EVENT_CHILD_CREATED/DELETED
- feat(disp): Enable rendering to display subsection
- feat(keyboard): add user-defined modes
- Add support for RT-Thread RTOS
2021-08-02 15:55:04 +02:00
2021-07-16 21:57:54 +02:00
## 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 warnigs 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 sroll 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
2021-08-26 10:52:39 +02:00
- fix(color) overflow with 16-bit color depth
2021-07-16 21:57:54 +02:00
- 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
2021-08-26 10:52:39 +02:00
- fix(label) remove duplicated lv_obj_refresh_self_size
2021-07-16 21:57:54 +02:00
- fix(draw) underflow in subpixel font drawing
- fix (scroll) do not send unnecessary scroll end events
2021-06-14 13:45:19 +02:00
## v8.0.1 (14.06.2021)
- docs(filesystem) update to v8 <a href="https://github.com/lvgl/lvgl/commit/7971ade4">7971ade4</a>
- fix(msgbox) create modals on top layer instead of act screen <a href="https://github.com/lvgl/lvgl/commit/5cf6303e">5cf6303e</a>
2021-08-26 10:52:39 +02:00
- fix(colorwheel) disable LV_OBJ_FLAG_SCROLL_CHAIN by default <a href="https://github.com/lvgl/lvgl/commit/48d1c292">48d1c292</a>
2021-06-14 13:45:19 +02:00
- docs(grid) typo fix (#2310) <a href="https://github.com/lvgl/lvgl/commit/69d109d2">69d109d2</a>
- fix(arduino) fix the prototype of my_touchpad_read in the LVGL_Arduino.ino <a href="https://github.com/lvgl/lvgl/commit/1a62f7a6">1a62f7a6</a>
- fix(meter) fix needle image invalidation <a href="https://github.com/lvgl/lvgl/commit/54d8e817">54d8e817</a>
- fix(mem) add lv_ prefix to tlsf functions and types <a href="https://github.com/lvgl/lvgl/commit/0d52b59c">0d52b59c</a>
- fix(calendar) fix the position calculation today <a href="https://github.com/lvgl/lvgl/commit/ad05e196">ad05e196</a>
- fix(typo) rename LV_OBJ_FLAG_SNAPABLE to LV_OBJ_FLAG_SNAPPABLE <a href="https://github.com/lvgl/lvgl/commit/e697807c">e697807c</a>
- docs(color) language fixes (#2302) <a href="https://github.com/lvgl/lvgl/commit/07ecc9f1">07ecc9f1</a>
2021-08-26 10:52:39 +02:00
- fix(tick) minor optimization on lv_tick_inc call test <a href="https://github.com/lvgl/lvgl/commit/b4305df5">b4305df5</a>
2021-06-14 13:45:19 +02:00
- Spelling and other language fixes to documentation (#2293) <a href="https://github.com/lvgl/lvgl/commit/d0aaacaf">d0aaacaf</a>
2021-08-26 10:52:39 +02:00
- fix(theme) show disabled state on buttons of btnmatrix, msgbox and keyboard <a href="https://github.com/lvgl/lvgl/commit/0be582b3">0be582b3</a>
2021-06-14 13:45:19 +02:00
- fix(scroll) keep the scroll position on object deleted <a href="https://github.com/lvgl/lvgl/commit/52edbb46">52edbb46</a>
2021-08-26 10:52:39 +02:00
- fix(msgbox) handle NULL btn map parameter <a href="https://github.com/lvgl/lvgl/commit/769c4a30">769c4a30</a>
- fix(group) allow refocusing objects <a href="https://github.com/lvgl/lvgl/commit/1520208b">1520208b</a>
2021-06-14 13:45:19 +02:00
- docs(overview) spelling fixes <a href="https://github.com/lvgl/lvgl/commit/d2efb8c6">d2efb8c6</a>
- Merge branch 'master' of https://github.com/lvgl/lvgl <a href="https://github.com/lvgl/lvgl/commit/45960838">45960838</a>
- feat(timer) check if lv_tick_inc is called <a href="https://github.com/lvgl/lvgl/commit/aa6641a6">aa6641a6</a>
- feat(docs) add view on GitHub link <a href="https://github.com/lvgl/lvgl/commit/a716ac6e">a716ac6e</a>
- fix(theme) fix the switch style in the default theme <a href="https://github.com/lvgl/lvgl/commit/0c0dc8ea">0c0dc8ea</a>
- docs fix typo <a href="https://github.com/lvgl/lvgl/commit/8ab80645">8ab80645</a>
- Merge branch 'master' of https://github.com/lvgl/lvgl <a href="https://github.com/lvgl/lvgl/commit/e796448f">e796448f</a>
2021-08-26 10:52:39 +02:00
- feat(event) pass the scroll animation to LV_EVENT_SCROLL_BEGIN <a href="https://github.com/lvgl/lvgl/commit/ca54ecfe">ca54ecfe</a>
2021-06-14 13:45:19 +02:00
- fix(tabview) fix with left and right tabs <a href="https://github.com/lvgl/lvgl/commit/17c57449">17c57449</a>
- chore(docs) force docs rebuild <a href="https://github.com/lvgl/lvgl/commit/4a0f4139">4a0f4139</a>
- chore(docs) always deploy master to docs/master as well <a href="https://github.com/lvgl/lvgl/commit/6d05692d">6d05692d</a>
2021-08-26 10:52:39 +02:00
- fix(template) update lv_objx_template to v8 <a href="https://github.com/lvgl/lvgl/commit/38bb8afc">38bb8afc</a>
2021-06-14 13:45:19 +02:00
- docs(extra) add extra/README.md <a href="https://github.com/lvgl/lvgl/commit/8cd504d5">8cd504d5</a>
- Update CHANGELOG.md <a href="https://github.com/lvgl/lvgl/commit/48fd73d2">48fd73d2</a>
- Update quick-overview.md (#2295) <a href="https://github.com/lvgl/lvgl/commit/5616471c">5616471c</a>
- fix(pxp) change LV_COLOR_TRANSP to LV_COLOR_CHROMA_KEY to v8 compatibility <a href="https://github.com/lvgl/lvgl/commit/81f3068d">81f3068d</a>
- adding micropython examples (#2286) <a href="https://github.com/lvgl/lvgl/commit/c60ed68e">c60ed68e</a>
- docs(color) minor fix <a href="https://github.com/lvgl/lvgl/commit/ac8f4534">ac8f4534</a>
- fix(example) revert test code <a href="https://github.com/lvgl/lvgl/commit/77e2c1ff">77e2c1ff</a>
2021-08-26 10:52:39 +02:00
- fix(draw) with additive blending with 32-bit color depth <a href="https://github.com/lvgl/lvgl/commit/786db2af">786db2af</a>
2021-06-14 13:45:19 +02:00
- docs(color) update colors' docs <a href="https://github.com/lvgl/lvgl/commit/9056b5ee">9056b5ee</a>
- Merge branch 'master' of https://github.com/lvgl/lvgl <a href="https://github.com/lvgl/lvgl/commit/a711a1dd">a711a1dd</a>
- perf(refresh) optimize where to wait for lv_disp_flush_ready with 2 buffers <a href="https://github.com/lvgl/lvgl/commit/d0172f14">d0172f14</a>
- docs(lv_obj_style) update add_style and remove_style function headers (#2287) <a href="https://github.com/lvgl/lvgl/commit/60f7bcbf">60f7bcbf</a>
- fix memory leak of spangroup (#2285) <a href="https://github.com/lvgl/lvgl/commit/33e0926a">33e0926a</a>
2021-08-26 10:52:39 +02:00
- fix make lv_img_cache.h public because cache invalidation is public <a href="https://github.com/lvgl/lvgl/commit/38ebcd81">38ebcd81</a>
2021-06-14 13:45:19 +02:00
- Merge branch 'master' of https://github.com/lvgl/lvgl <a href="https://github.com/lvgl/lvgl/commit/2b292495">2b292495</a>
2021-08-26 10:52:39 +02:00
- fix(btnmatrix) fix focus event handling <a href="https://github.com/lvgl/lvgl/commit/3b58ef14">3b58ef14</a>
2021-06-14 13:45:19 +02:00
- Merge pull request #2280 from lvgl/dependabot/pip/docs/urllib3-1.26.5 <a href="https://github.com/lvgl/lvgl/commit/a2f45b26">a2f45b26</a>
- fix(label) calculating the clip area <a href="https://github.com/lvgl/lvgl/commit/57e211cc">57e211cc</a>
- chore(deps): bump urllib3 from 1.26.4 to 1.26.5 in /docs <a href="https://github.com/lvgl/lvgl/commit/b2f77dfc">b2f77dfc</a>
- fix(docs) add docs about the default group <a href="https://github.com/lvgl/lvgl/commit/29bfe604">29bfe604</a>
2021-06-07 17:13:06 +02:00
2021-06-01 11:11:54 +02:00
## 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
2021-05-25 15:53:01 +02:00
### 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
2021-08-26 10:52:39 +02:00
- `lv_meter` added as the union of `lv_linemeter` and `lv_gauge`
- `lv_span` new widget mimicking HTML `<span>`
2021-05-25 15:53:01 +02:00
- `lv_animing` new widget for simple slideshow animations
2021-05-25 16:07:06 +02:00
- \+ many minor changes and improvements
### New scrolling
- Support "elastic" scrolling when scrolled in
- Support scroll chaining among any objects types (not only `lv_pages`s)
- 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
- [CSS Grid](https://css-tricks.com/snippets/css/a-guide-to-grid/)-like layout support
- [CSS Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)-like layout support
### 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`
2021-06-07 18:55:41 +02:00
- `...disp_buf...` is renamed to `draw_buf`. See an initialization example [here](https://github.com/lvgl/lv_sim_eclipse_sdl/blob/release/v8.0/main.c#L128-L141).
- 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`
2021-05-25 15:53:01 +02:00
### 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
- We will follow [Release branches with GitLab flow](https://docs.gitlab.com/ee/topics/gitlab_flow.html#release-branches-with-gitlab-flow)
- Minor releases are expected in every 3-4 month
- `master` will always contain the latest changes
### Migrating from v7 to v8
- First and foremost, create a new `lv_conf.h` based on `lv_conf_template.h`.
2021-05-25 15:53:01 +02:00
- 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`
2021-06-07 17:13:06 +02:00
- See the changes in [Colors](https://docs.lvgl.io/8.0/overview/color.html)
- The other parts are mainly minor renames and refactoring. See the functions' documentation for descriptions.
2021-05-25 16:07:06 +02:00
## 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
2021-05-25 16:07:06 +02:00
## v7.10.1 (16.02.2021)
2021-05-25 16:07:06 +02:00
### Bugfixes
- fix(draw) overlap outline with background to prevent aliasing artifacts
- fix(indev) clear the indev's `act_obj` in `lv_indev_reset`
2021-02-03 10:31:20 +01:00
- 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
2021-02-11 14:53:05 +01:00
- fix(delete) delete animation after the children are deleted
- fix(gauge) consider paddings for needle images
2021-05-25 16:07:06 +02:00
## 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
2021-05-25 16:07:06 +02:00
## 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
2021-05-25 16:07:06 +02:00
## v7.9.0 (05.01.2021)
2020-12-09 14:11:14 +01:00
### New features
- feat(chart) add lv_chart_remove_series and lv_chart_hide_series
2021-08-26 10:52:39 +02:00
- feat(img_cache) allow disabling image caching
2020-12-20 10:56:30 +01:00
- calendar: make get_day_of_week() public
- Added support for Zephyr integration
2020-12-09 14:11:14 +01:00
### Bugfixes
2020-12-20 10:56:30 +01:00
- 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
2021-01-04 17:26:09 +01:00
- 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
2020-12-09 14:11:14 +01:00
2021-05-25 16:07:06 +02:00
## v7.8.1 (15.12.2020)
### Bugfixes
2021-08-27 12:15:39 +02:00
- fix(lv_scr_load_anim) fix when multiple screens are loaded at the same time with delay
2021-08-26 10:52:39 +02:00
- fix(page) fix LV_SCROLLBAR_MODE_DRAG
## v7.8.0 (01.12.2020)
2020-10-12 11:54:54 +02:00
### New features
- make DMA2D non blocking
- add unscii-16 built-in font
2020-11-17 11:15:14 +01:00
- 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
2020-11-25 12:22:11 -05:00
- 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
2020-11-23 13:24:34 +01:00
## v7.7.2 (17.11.2020)
2020-11-03 11:03:26 +01:00
### Bugfixes
2020-11-09 16:11:48 +01:00
- 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
2021-08-27 12:15:39 +02:00
- fix(imgbtn) guess the closest available state with valid src
- fix(spinbox) update cursor position in lv_spinbox_set_step
2020-11-03 11:03:26 +01:00
## v7.7.1 (03.11.2020)
2020-10-21 14:10:24 +02:00
### 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`
2021-08-26 10:52:39 +02:00
- Group: fix in `lv_group_remove_obj` to handle deleting hidden objects correctly
## v7.7.0 (20.10.2020)
2020-09-22 09:24:59 +02:00
### New features
2020-09-23 09:59:09 +02:00
- Add PXP GPU support (for NXP MCUs)
2020-10-06 08:59:07 +02:00
- Add VG-Lite GPU support (for NXP MCUs)
2020-09-23 09:59:09 +02:00
- Allow max. 16 cell types for table
2020-09-23 10:23:45 +02:00
- Add `lv_table_set_text_fmt()`
2020-10-02 11:35:15 +02:00
- Use margin on calendar header to set distances and padding to the size of the header
- Add `text_sel_bg` style property
2020-09-22 09:24:59 +02:00
### Bugfixes
- Theme update to support text selection background
2020-10-07 12:44:54 +02:00
- 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
2020-10-13 11:53:03 +02:00
- Fix `lv_win_clean()`
2020-09-22 09:24:59 +02:00
2020-10-01 13:18:00 +02:00
## 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
2020-10-02 10:54:53 +02:00
- Fix click focus
- Fix imgbtn image switching with empty style
- Material theme: do not set the text font to allow easy global font change
2020-10-01 13:18:00 +02:00
2020-09-22 06:19:45 +02:00
## v7.6.0 (22.09.2020)
2020-09-01 13:01:21 +02:00
### New features
2020-09-22 12:17:51 +08:00
- Check whether any style property has changed on a state change to decide if any redraw is required
2020-09-01 13:01:21 +02:00
2020-09-22 06:19:45 +02:00
### Bugfixes
- Fix selection of options with non-ASCII letters in dropdown list
- Fix font loader to support LV_FONT_FMT_TXT_LARGE
2020-09-17 13:25:33 +02:00
## v7.5.0 (15.09.2020)
2020-09-01 12:24:18 +02:00
### 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.
2020-09-14 10:43:14 +02:00
- Add 10px and 8ox built in fonts
2020-09-01 12:24:18 +02:00
### 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.
2020-09-04 12:30:39 +01:00
- Adjust button matrix button width to include padding when spanning multiple units.
2020-09-11 13:39:05 +02:00
- Add rounding to btnmatrix line height calculation
- Add `decmopr_buf` to GC roots
2021-08-26 10:52:39 +02:00
- 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
2020-09-01 12:24:18 +02:00
2020-09-01 11:34:10 +02:00
## v7.4.0 (01.09.2020)
2020-08-13 20:09:43 +02:00
2020-09-01 11:29:08 +02:00
The main new features of v7.4 are run-time font loading, style caching and arc knob with value setting by click.
2020-08-13 20:09:43 +02:00
### 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
2020-09-01 11:29:08 +02:00
- 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'
2021-08-26 10:52:39 +02:00
- Fix cropping of last column/row if an image is zoomed
- Fix zooming and rotating mosaic images
2020-08-24 16:00:53 +02:00
- Fix deleting tabview with LEFT/RIGHT tab position
2020-08-25 15:21:25 +02:00
- 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
2020-08-18 10:28:35 +02:00
## 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
2021-08-26 10:52:39 +02:00
- 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
2021-08-26 10:52:39 +02:00
- 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
2020-08-18 10:12:32 +02:00
- Init disabled days to gray color in calendar
2020-06-18 12:35:38 +02:00
2020-08-04 17:33:39 +02:00
## 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
2020-07-13 19:59:53 +02:00
- 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
2020-07-27 17:58:10 +02:00
- 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`
2020-07-27 17:58:10 +02:00
### Bugfixes
2020-07-22 16:18:49 +02:00
- Do not print warning for missing glyph if its height OR width is zero.
2020-07-22 18:23:56 +02:00
- Prevent duplicated sending of `LV_EVENT_INSERT` from text area
2020-07-23 14:24:28 +01:00
- Tidy outer edges of cpicker widget.
- Remove duplicated lines from `lv_tabview_add_tab`
2021-08-26 10:52:39 +02:00
- btnmatrix: handle combined states of buttons (e.g. checked + disabled)
- textarea: fix typo in lv_textarea_set_scrollbar_mode
2020-07-30 11:11:07 +02:00
- gauge: fix image needle drawing
2020-08-02 12:04:48 +02:00
- fix using freed memory in _lv_style_list_remove_style
2020-07-21 13:42:02 +02:00
## v7.2.0 (21.07.2020)
2020-07-07 10:05:29 +02:00
2020-06-18 12:35:38 +02:00
### New features
2020-07-22 16:25:42 +02:00
- 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()`.
2020-06-18 12:35:38 +02:00
- Add `LV_CALENDAR_WEEK_STARTS_MONDAY`
2020-06-18 14:38:07 +01:00
- 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
2020-06-18 14:38:07 +01:00
- 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
2021-08-26 10:52:39 +02:00
- 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
2020-06-18 12:35:38 +02:00
### 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
2021-08-26 10:52:39 +02:00
- Set the cursor image non-clickable by default
- Improve mono theme when used with keyboard or encoder
2020-07-07 10:05:29 +02:00
## v7.1.0 (07.07.2020)
2020-06-08 14:16:25 +02:00
### New features
2020-06-08 14:13:33 +02:00
- Add `focus_parent` attribute to `lv_obj`
2020-06-08 14:15:14 +02:00
- Allow using buttons in encoder input device
2020-06-08 14:16:25 +02:00
- Add lv_btnmatrix_set/get_align capability
2020-06-09 13:41:24 +02:00
- DMA2D: Remove dependency on ST CubeMX HAL
2020-06-10 10:14:12 +02:00
- Added `max_used` propriety to `lv_mem_monitor_t` struct
- In `lv_init` test if the strings are UTF-8 encoded.
2020-06-25 06:19:42 +02:00
- Add `user_data` to themes
2020-06-27 06:57:28 +02:00
- Add LV_BIG_ENDIAN_SYSTEM flag to lv_conf.h in order to fix displaying images on big endian systems.
2020-07-01 15:18:48 +02:00
- 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.
2020-06-08 14:16:25 +02:00
### Bugfixes
- `lv_img` fix invalidation area when angle or zoom changes
2020-06-24 10:04:30 +02:00
- Update the style handling to support Big endian MCUs
- Change some methods to support big endian hardware.
2020-07-01 15:18:48 +02:00
- 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.
2020-06-01 20:39:59 +02:00
2020-06-16 13:38:37 +02:00
## v7.0.2 (16.06.2020)
2020-05-19 10:59:21 +02:00
### Bugfixes
- `lv_textarea` fix wrong cursor position when clicked after the last character
2020-06-01 22:44:46 +02:00
- Change all text related indices from 16-bit to 32-bit integers throughout whole library. #1545
2020-06-02 14:06:39 +02:00
- Fix gestures
2020-06-03 15:33:18 +02:00
- Do not call `set_px_cb` for transparent pixel
2020-06-04 11:58:32 +02:00
- Fix list button focus in material theme
2021-08-26 10:52:39 +02:00
- 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
2020-06-14 12:40:49 +02:00
- Update `LV_OPA_MIN` and `LV_OPA_MAX` to widen the opacity processed range
- `lv_btnm` fix sending events for hidden buttons
2020-06-16 10:28:10 +02:00
- `lv_gaguge` make `lv_gauge_set_angle_offset` offset the labels and needles too
2020-06-16 12:03:32 +02:00
- 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
2020-06-16 13:03:54 +02:00
- chart: fix memory leak
- `img`: improve hit test for transformed images
2020-06-01 20:39:59 +02:00
## v7.0.1 (01.06.2020)
2020-05-31 22:54:40 +02:00
### Bugfixes
2021-08-26 10:52:39 +02:00
- Make Micropython working by adding the required variables as GC_ROOT
2020-06-01 20:39:03 +02:00
- Prefix some internal API functions with `_` to reduce the API of LVGL
2020-05-31 22:54:40 +02:00
- 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
2020-06-01 20:39:59 +02:00
- Fix vertical dashed line drawing
- Some additional minor fixes and formattings
2020-05-31 22:54:40 +02:00
2020-05-18 17:36:36 +02:00
## v7.0.0 (18.05.2020)
2020-04-30 11:27:22 +02:00
### 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
2021-08-26 10:52:39 +02:00
The new drawing engine brought new drawing features too. They are highlighted in the "style" section.
2020-04-30 11:27:22 +02:00
### New style system
2020-04-30 14:42:34 +02:00
The old style system is replaced with a new more flexible and lightweighted one.
2020-04-30 11:27:22 +02:00
It uses an approach similar to CSS: support cascading styles, inheriting properties and local style properties per object.
2020-04-30 14:42:34 +02:00
As part of these updates, a lot of objects were reworked and the APIs have been changed.
2020-04-30 11:27:22 +02:00
- 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
2020-04-30 14:47:31 +02:00
- *clip corner*: crop the content on the rounded corners
- *text underline* and *strikethrough*
2020-04-30 11:27:22 +02:00
- 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
2021-08-26 10:52:39 +02:00
- *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
2020-04-30 11:27:22 +02:00
Read the [Style](https://docs.littlevgl.com/v7/en/html/overview/style.html) 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
2020-04-30 14:46:33 +02:00
- `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)
2021-08-26 10:52:39 +02:00
- `arc`: can draw background too.
2020-04-30 14:46:33 +02:00
- `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
2020-04-30 11:27:22 +02:00
### New object types
- `lv_objmask`: masks can be added to it. The children will be masked accordingly.
### Others
2020-04-30 14:42:34 +02:00
- Change the built-in fonts to [Montserrat](https://fonts.google.com/specimen/Montserrat) and add built-in fonts from 12 px to 48 px for every 2nd size.
2020-04-30 11:27:22 +02:00
- Add example CJK and Arabic/Persian/Hebrew built-in font
2020-04-30 14:42:34 +02:00
- Add ° and "bullet" to the built-in fonts
2020-04-30 11:27:22 +02:00
- 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
2020-04-30 14:42:34 +02:00
- [lv_examples](https://github.com/littlevgl/lv_examples) was reworked and new examples and demos were added
2020-04-30 11:27:22 +02:00
### New release policy
- Maintain this Changelog for every release
- Save old major version in new branches. E.g. `release/v6`
2020-04-30 14:42:34 +02:00
- Merge new features and fixes directly into `master` and release a patch or minor releases every 2 weeks.
2020-04-30 11:27:22 +02:00
### Migrating from v6 to v7
- First and foremost, create a new `lv_conf.h` based on `lv_conf_template.h`.
2020-04-30 14:42:34 +02:00
- To try the new version it suggested using a simulator project and see the examples.
2020-04-30 11:27:22 +02:00
- 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.
2020-04-30 12:24:39 +02:00
- The other parts are mainly minor renames and refactoring as described above.