Changelog
[1.8.1] - 2026-01-27
Warning
This version has bugs related to the images; please use version 1.7.2 while waiting for the next version.
UI Pack
Changed
Compatible with UI Pack 14.4.1 (Trace management).
Note
This pack fixes the memory leak that occurs when a feature is killed while a BufferedVectorImage, an external RAW image, or a filtered image is open.
To avoid potential side effects from the release of objects (images, fonts) retained by a feature during the killing of that feature, ensure that no third-party components (e.g., GPU) are using these objects at the time of the kill.
UI packs with versions higher than 14.5.1 provide the blocking API LLUI_DISPLAY_waitAsynchronousDrawingEnd().
This API is stubbed on the VG Pack for backward compatibility issues between VG Pack 1.8.1 and UI Packs [14.4.0, 14.5.1].
However, it is highly recommended to use a UI Pack version greater than 14.5.1.
MicroVG
Changed
Harmonize the trace events (SystemView description file
SYSVIEW_MicroVG.txtis updated).
Fixed
Fix the memory leak when a feature is killed whereas a BufferedVectorImage, an external RAW image or a filtered image is opened.
Fix the closing of a font that was opened twice, which caused both fonts (same object) to close simultaneously.
Fix the clearing of a BufferedVectorImage when its clip is null: the content was not deleted at all.
Removed
Remove the cache of the vector fonts: each call to
VectorFont.loadFont()creates a new instance.
Front Panel
Changed
Trace the drawing functions like the embedded side.
Fixed
Fix the
nemaimage decoder: fill rule was not correctly decoded.
C Module MicroVG
Added
Add the implementation of the MicroVG native function
LLVG_IMPL_initialize(); the C Module GPU cannot implement this function anymore.
Changed
Change the internal format (SNI context) of the Vector images (native methods are not backward compatible).
Move the image trace events from native side to library side.
Improve traces of drawing functions.
Change the type of the parameter
glyph_idxin the functionVG_HELPER_layout_load_glyph().Change the options configuration to follow the general rule of
vg_conguration.h: default values are0(means “disabled”):VG_FEATURE_FREETYPE_TTFVG_FEATURE_FREETYPE_OTFVG_FEATURE_FREETYPE_COLORED_EMOJIVG_FEATURE_FONT_COMPLEX_LAYOUTVG_FEATURE_FONT_EXTERNALVG_FEATURE_BUFFERED_VECTOR_IMAGE
Removed
Remove the function
VG_HELPER_initialize()(replaced by implementation of the functionLLVG_IMPL_initialize()).Remove the weak implementation of the function
VG_DRAWING_initialize(): the C Module GPU must initialize its components.Remove the traces “image” (moved in MicroVG library).
C Module VGLite
Changed
Move the C Module initialization in the function
VG_DRAWING_initialize()(specification of C Module MicroVG 8.0.0).
Fixed
Fix the memory leak when a feature is killed whereas a BufferedVectorImage, an external RAW image or a filtered image is opened.
Removed
Remove the file
LLVG_impl_vglite.c.Remove the traces “image” (moved in MicroVG library).
C Module NemaVG
Changed
Move the C Module initialization in the function
VG_DRAWING_initialize()(specification of C Module MicroVG 8.0.0).
Fixed
Fix the memory leak when a feature is killed whereas a BufferedVectorImage, an external RAW image or a filtered image is opened.
Removed
Remove the file
LLVG_impl_vglite.c.Remove the traces “image” (moved in MicroVG library).
C Module FreeType
Changed
Upgrade FreeType from the version 2.13.3 (2024-08-11) to the version 2.14.1 (2025-09-11).
Make the C Module compatible with the new option configuration of C Module MicroVG 8.0.0.
C Module HarfBuzz
Changed
Upgrade HarfBuzz from the version 10.0.1 (2024-09-24) to the version 12.3.0 (2025-12-27).
Make the C Module compatible with the new option configuration of C Module MicroVG 8.0.0.
[1.7.2] - 2025-09-15
MicroVG
Fixed
Include
SYSVIEW_MicroVG.txtin the library jar file (similarly to MicroUI library).
Front Panel
Fixed
Fix the drawing of gradient in a BufferedVectorImage.
Vector Image Converter
Fixed
Fix the generation of RAW vector images when building a feature.
C Module MicroVG
Fixed
Fix the usage of
LLTRACE_impl.hwith the Architecture 8.x.Fix the default options in
vg_conguration.h: some options are disabled by default.
C Module VGLite
Fixed
Fix the initialization of the
BufferedVectorImagesupport.Fix the drawing of a filtered image with opacity.
C Module NemaVG
Fixed
Fix the initialization of the
BufferedVectorImagesupport.Fix the invalid include directive to
display.h(now requires the definesRESXandRESY).Fix the drawing of a filtered image with opacity.
Fix the rendering of some texts on a
BufferedVectorImage(invalid bounding box).
[1.7.1] - 2025-04-09
Front Panel
Fixed
Fix the drawing bounds of the BufferedVectorImage’s elements.
Fix the drawing of a BufferedVectorImage outside the destination’s clip.
Fix the drawing of the BufferedVectorImage’s elements which are outside the BufferedVectorImage’s clip.
Fix the drawing of gradient paths with zero or one color.
Fix the management of transparent gradients for the NemaVG GPU.
C Module MicroVG
Fixed
Fix the dependency to Freetype (MicroUI Font drawings with vector fonts).
C Module VGLite
Fixed
Fix the drawing of a BufferedVectorImage when applying a rotation.
Fix the drawing bounds of the BufferedVectorImage’s elements.
Fix the use of clip when drawing a BufferedVectorImage that contains vector images.
Fix the clip when drawing a vector image in a BufferedVectorImage.
Fix the drawing of gradient paths with zero or one color.
Removed
Remove useless and invalid external field declaration.
Remove dependency to a specific version of Freetype: the C Module Freetype must be fetched independently.
C Module NemaVG
Fixed
Fix the drawing of a BufferedVectorImage when applying a rotation.
Fix the drawing bounds of the BufferedVectorImage’s elements.
Fix the use of clip when drawing a BufferedVectorImagee that contains vector images.
Fix the clip when drawing a vector image in a BufferedVectorImage.
Fix the drawing of gradient paths with zero or one color.
[1.7.0] - 2024-10-09
UI Pack
Changed
Compatible with UI Pack 14.1.1 (Font extensibility).
MicroVG
Implement MicroVG API 1.5.
C Module FreeType
Changed
Upgrade FreeType from the version 2.11.0 (2021-07-18) to the version 2.13.3 (2024-08-11).
Separate the original FreeType files from MicroEJ’s files.
Use the original FreeType directory layout.
Add a patch file to override FreeType’s memory management without modifying the original file.
C Module HarfBuzz
Changed
Upgrade HarfBuzz from the version 4.2.1 (2022-04-24) to the version 10.0.1 (2024-09-24).
Separate the original HarfBuzz files from MicroEJ’s files.
[1.6.0] - 2024-07-19
MicroVG
Added
Allow the
nemavalue for the MicroVG implementation (see Installation).
Changed
Compatible with UI Pack 14.0.1.
Front Panel
Added
Support
nemaimage format and limitations (blend modesSCREENandMULTIPLYare not supported).
LLAPIs
Added
Add the LLAPI
LLVG_MATRIX_IMPL_transformPoint.Add the new type
MICROVG_Image.
Changed
Change the semantic of the LLAPI
LLVG_GRADIENT_IMPL_initializeGradient: the positions array cannot beNULL.Add
constmodifiers for parameters of the following functions:LLVG_GRADIENT_IMPL_initializeGradient,LLVG_MATRIX_IMPL_copy,LLVG_MATRIX_IMPL_multiply,LLVG_MATRIX_IMPL_setConcat,LLVG_MATRIX_IMPL_concatenate,LLVG_MATRIX_IMPL_postConcat.
Use the new type
MICROVG_Imagein the signature of the following functions:LLVG_BVI_IMPL_map_context,LLVG_PAINTER_IMPL_drawImage.
[1.5.1] - 2024-04-11
Front Panel
Fixed
Fix the drawing of a BufferedVectorImage in a BufferedVectorImage with a clip.
Fix the drawing of a glyph with path overlap.
C Module VGLite
Fixed
Fix the drawing of a VG RAW image in a BufferedVectorImage with a clip.
[1.5.0] - 2024-02-15
UI Pack
Changed
Compatible with UI Pack 14.0.0 (Major version).
MicroVG
Fixed
Fix the exception when loading a font or an image with an empty path.
Fix the release of the
BufferedVectorImageresources.
Front Panel
Fixed
Fix the memory leak on images (ResourceVectorImage and BufferedVectorImage).
LLAPIs
Fixed
Fix comment in header file
LLVG_BVI_impl.h.
C Module MicroVG
Added
Add the API
freeImageResourcesthat allows to fix the release of theBufferedVectorImageresources.
Fixed
Fix traces when debugging the SNI resources with external resource support.
Remove an unused include.
Do not define Freetype variables if
VG_FEATURE_FONTis not defined.Do not call
MICROVG_PATH_initialize()ifVG_FEATURE_PATHis not defined.
C Module VGLite
Fixed
Fix the storing of color matrices in the
BufferedVectorImage.
[1.4.2] - 2023-11-13
MicroVG
Added
Add some traces when debugging the SNI resources.
Fixed
Fix dynamic paths larger than 64 KB.
Front Panel
Fixed
Fix dynamic paths larger than 64 KB.
C Module MicroVG
Added
Add some traces when debugging the SNI resources (external VectorFont).
Fixed
Fix dynamic paths larger than 64 KB.
Fix some comments.
C Module VGLite
Fixed
Fix some comments.
Fix the dynamic path drawing on i.MX RT1170 Evaluation Kit (use the same quality of paths as vector images).
Fix the path drawing on i.MX RT1170 Evaluation Kit (disable the color pre-multiplication).
Fix the rendering of some blending modes on i.MX RT1170 Evaluation Kit by disabling the GPU pre-multiplication when required.
[1.4.1] - 2023-09-21
MicroVG
Fixed
Fix the path command “move relative”.
C Module VGLite
Added
Add the compatibility with VGLite
3.0.15_rev7.
Fixed
Fix the use of the define
VG_BLIT_WORKAROUND(useless).Fix the GPU deactivation when a drawing is not performed for any reason.
[1.4.0] - 2023-07-21
UI Pack
Fixed
Fix the UI Pack minimal compatible version (13.5.0).
MicroVG
Added
Add SystemView event traces (feature available with C Module MicroVG 3.0.1).
Changed
Compatible with MicroVG API 1.4.
Fixed
Fix path bounds computation.
C Module MicroVG
Fixed
Fix the SystemView trace identifiers.
Fix the documentation of
MICROVG_HELPER_get_utf().Fix FreeType fonts closing twice.
C Module VGLite
Added
Add support for DST_OUT and PLUS blend modes (VG Pack 1.4.0).
Fixed
Fix performing drawings when the clip is disabled.
Fix the SystemView trace identifiers.
Remove the include of the unknown header file
trace_vglite.h(require a re-build of FreeType library).
[1.3.0] - 2023-05-10
UI Pack
Changed
Compatible with UI Pack 13.5.0 (
BufferedImagewith custom format).
MicroVG
Changed
Compatible with MicroVG API 1.3.
Front Panel
Fixed
Simplify pixel data conversion after drawing.
C Module MicroVG
Added
Add the compatibility with multiple Graphics Context output formats (UI Pack 13.5.0).
Add stub implementations for all MicroVG library algorithms.
Add
LLVG_PAINTER_impl.cto implement all MicroVG drawings and dispatch them tovg_drawing.h(like MicroUI andLLUI_PAINTER_impl.c/ui_drawing.h).Add the MicroVG
BufferedVectorImagedefinition (the functions to implement to draw into it).
Changed
C Module MicroVG now depends on C Module MicroUI (to manage the support of multiple Graphics Context output formats).
Fixed
Remove an extraneous file.
Fix issue when measuring string width in complex layout mode.
Removed
Remove the useless implementation of LLVG_PATH_IMPL_mergePaths (useless since VG Pack 1.2).
Remove partial Freetype implementation that manipulates the font’s glyphs as bitmaps (not compatible anymore with VG pack 1.3.0).
C Module VGLite
Added
Add the implementation of all MicroUI, Drawing and MicroVG drawings in MicroVG
BufferedVectorImage.Add incident reporting with drawing log flags (UI Pack 13.5.0).
Changed
Merge
BufferedVectorImageand RAW formats.Simplify the gradient modification according to the caller translation.
Fixed
Fix the path to render during a path data animation.
Removed
Remove
LLVG_BVI_impl.c: code is merged inLLVG_RAW_impl.c.Remove (move) some utility functions to C Module MicroUI-VGLite.
Remove draw String native functions implementation (implemented in C Module MicroVG).
[1.2.1] - 2023-02-06
Front Panel
Fixed
Fix the cropped images when using GraphicsContext clip and translation.
C Module VGLite
Fixed
Fix the drawing of RAW images with multiple gradients in
BufferedVectorImage.Fix a deadlock when drawing an empty
BufferedVectorImage.Fix the interface between FreeType and MicroVG (remove useless parameter).
Fix the synchronization with the Graphics Engine when a VG drawing is not performed (draw path, draw gradient, draw string).
[1.2.0] - 2022-12-30
MicroVG
Changed
Compatible with MicroVG API 1.2.
Change the VectorImage internal format: raw format instead of immutables format.
Front Panel
Fixed
Fix the redirection of fillEllipseArc to the right software algorithm.
Vector Image Converter
Added
Add “fill alpha” animations to gradient elements.
C Module MicroVG
Added
Add
LLVG_MATRIX_IMPL_multiply(c,a,b)(C = AxB): faster thansetConcatwhen destination and source target the same matrix.Add an entry point to initialize the path engine on startup.
Changed
Prevent a copy in a temp matrix when calling
postXXXfunctions.
Fixed
Fix
A.setConcat(B,A).
C Module VGLite
Added
Add the compatibility with VGLite
3.0.15_rev4(not backward compatible).Add the VectorImage in binary format management (RAW format).
Add loading of VectorImage from external resource system.
Changed
Reduce the gradient footprint in
BufferedVectorImage.Harmonize the use of
vg_drawer.hfunctions (instead ofVG_DRAWER_drawer_tfunctions) inBufferedVectorImage.Use the global fields VGLite paths instead of functions fields (prevent dynamic allocation on task stack).
Fixed
Fix the drawing of a text in a
BufferedVectorImage: do not wake-up the GPU.Fix the constants used in
get_command_parameter_number()function (no side-effect).
[1.1.1] - 2022-09-05
UI Pack
Changed
Compatible with UI Pack 13.3.0 (Internal feature).
MicroVG
Changed
Compatible with MicroVG API 1.1.
Change color animation interpolation (match Android formula).
Fixed
Fix NullPointerException while sorting TranslateXY VectorDrawableObjectAnimator in vectorimage-converter.
LLAPIs
Added
Add LLAPI to close a font:
LLVG_FONT_IMPL_dispose().
Changed
Manage the font complex layout.
Returns an error code when drawing something.
C Module MicroVG
Added
Add
microvg_configuration.hversioning.Add an option to load a VectorFont from the external resources.
Add an option to select the text layouter between FreeType and Harfbuzz.
Add a function to apply an opacity on a color.
Add the text layout.
Changed
Configure FreeType from
microvg_configuration.hheader file.
C Module VGLite
Added
Add the
BufferedVectorImagefeature (BVI).
Changed
Manage the closed fonts.
Move
ftvglite.candftvglite.hto C Module FreeType.Extract text layout to C Module MicroVG.
Get fill rule configuration from each glyph
FT_Outline->flagsinstead of defaulting it toVG_LITE_FILL_EVEN_ODD.Use the MicroUI over VGLite’s Vectorial Drawer mechanism.
Join character bboxes at baseline for
drawStringOnCircle.
[1.0.1] - 2022-05-16
MicroVG
Fixed
Fix incorrect transformation of animated paths while creating a filtered image.
[1.0.0] - 2022-05-13
Initial release.
UI Pack
Compatible with UI Pack 13.2.0 or higher.
MicroVG
Compatible with MicroVG API 1.0.0.
