# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [14.5.5] - 2026-10-06

- Aligned with MicroEJ Architecture UI 14.5.5.

## [14.5.4] - 2026-09-04

- Aligned with MicroEJ Architecture UI 14.5.4.

## [14.5.3] - 2026-08-04

- Aligned with MicroEJ Architecture UI 14.5.3.

## [14.5.2] - 2026-02-13

- Aligned with MicroEJ Architecture UI 14.5.2.

## [14.5.1] - 2025-10-13

### Changed

- Aligned with MicroEJ Architecture UI 14.5.1.

## [14.5.0] - 2025-10-07

### Added

- [frontpanel] Add `MicroUIImage.isMutable()` that tells if an image is mutable or not.

## [14.4.2] - 2025-05-20

### Changed

- Aligned with MicroEJ Architecture UI 14.4.2.

## [14.4.1] - 2025-03-13

### Changed

- [frontpanel] Change some log identifiers to be backward compatible with the UI Pack since version 12.1.5.

## [14.4.0] - 2025-03-07

### Added

- [frontpanel] Add the class `Log` that provides utility methods to log the drawings.
- [frontpanel] Add `MicroUIImage.getIdentifier()` that identifies an image (useful for the logs).
- [frontpanel] Add the same logs as for the embedded side (all drawings, out of clip, drawn regions, etc.).

## [14.3.3] - 2025-02-18

### Changed

- Aligned with MicroEJ Architecture UI 14.3.3.

## [14.3.2] - 2025-02-10

### Changed

- Aligned with MicroEJ Architecture UI 14.3.2.

## [14.3.1] - 2025-01-31

### Changed

- Aligned with MicroEJ Architecture UI 14.3.1.

## [14.3.0] - 2025-01-24

### Added

- [frontpanel] Add `LLUIDisplay.getDisplayedImage()` to retrieve the content of the display currently visible.
- [frontpanel] Add the class `ej.fp.widget.display.Rectangle` (extracted from `ej.tool.frontpanel#widget#4.0.2`).
- [frontpanel] Add the ability to resize the Front Panel.
- [frontpanel] Add a toolbar with various options.

## [14.2.0] - 2024-11-18

### Changed

- Aligned with MicroEJ Architecture UI 14.2.0.

## [14.1.1] - 2024-10-17

### Changed

  - Aligned with MicroEJ Architecture UI 14.1.1.

## [14.1.0] - 2024-10-09

### Added

- [frontpanel] Add the LLAPI ( + their implementations and their redirections):
	- `LLUIPainter.drawString()`
	- `LLUIPainter.stringWidth()`
	- `LLUIPainter.initializeRenderableStringSNIContext()`
	- `LLUIPainter.drawRenderableString()`
	- `LLDWPainter.drawScaledStringBilinear()`
	- `LLDWPainter.drawScaledRenderableStringBilinear()`
	- `LLDWPainter.drawCharWithRotationBilinear()`
	- `LLDWPainter.drawCharWithRotationNearestNeighbor()`
- [frontpanel] Add the interfaces, enumeration, registration methods and utility methods to implement the drawing of the strings and manage the custom fonts.
- [frontpanel] Add `LLUIDisplay.getByteOrder()` to retrieve the embedded VEE Port's memory endianness.
- [frontpanel] Add the API `LLUIDisplay.isImageClosed()` to replace the deprecated API `LLUIDisplay.isClosed()`.

### Changed

- Deprecate the API `LLUIDisplay.isClosed()`: use `LLUIDisplay.isImageClosed()` instead.

## [14.0.3] - 2024-10-01

### Changed

  - Aligned with MicroEJ Architecture UI 14.0.3.

## [14.0.2] - 2024-07-23

### Changed

  - Aligned with MicroEJ Architecture UI 14.0.2.

## [14.0.1] - 2024-04-09

### Changed

  - Aligned with MicroEJ Architecture UI 14.0.1.
  - [frontpanel] Homogenize the notions of back and front buffers.

## [14.0.0] - 2024-02-14

### Changed

  - Aligned with MicroEJ Architecture UI 14.0.0.
  - [frontpanel] Add/change/remove several methods to manage the display buffer refresh strategy (BRS) outside the Graphics Engine.

## [13.7.2] - 2023-12-21

### Changed

  - Aligned with MicroEJ Architecture UI 13.7.2.

## [13.7.1] - 2023-11-30

### Changed

  - Aligned with MicroEJ Architecture UI 13.7.1.

## [13.7.0] - 2023-10-23

### Changed

  - Aligned with MicroEJ Architecture UI 13.7.0.
  - [frontpanel] Add the pre-multiplied image formats `ARGB8888_PRE`, `ARGB1555_PRE` and `ARGB4444_PRE`.

## [13.6.2] - 2023-09-20

### Changed

  - Aligned with MicroEJ Architecture UI 13.6.2.

## [13.6.1] - 2023-07-26

### Changed

  - Aligned with MicroEJ Architecture UI 13.6.1.

## [13.6.0] - 2023-07-17

### Changed

  - Aligned with MicroEJ Architecture UI 13.6.0.
  - [frontpanel] Add the drawing log flag `DRAWING_LOG_MISSING_CHARACTER`, stating that an undefined character was drawn.

## [13.5.1] - 2023-06-08

### Changed

  - Aligned with MicroEJ Architecture UI 13.5.1.

## [13.5.0] - 2023-05-03

### Added

  - [frontpanel] Add a service to decode immutable images with a custom format.
  - [frontpanel] Add a service to create mutable images with a custom format.
  - [frontpanel] Add a service to draw into mutable images with a format different than the display format.
  - [frontpanel] Add some methods to manage the MicroUI Drawing Log flags.
  - [frontpanel] Add some methods to change the MicroUI clip and colors.

### Changed

  - Aligned with MicroEJ Architecture UI 13.5.0.
  - [frontpanel] Merge `DWDrawing` in `UIDrawing`.
  - [frontpanel] Turn `UIDrawing` as a service to handle drawings for a specific format.
  - [frontpanel] Change the mechanism to get the software drawer.
  - [frontpanel] Change the MicroUI image format `MICROUI_IMAGE_FORMAT_LCD` by `MICROUI_IMAGE_FORMAT_DISPLAY`.

### Removed

  - [frontpanel] Remove the interfaces `UIDrawingDefault` and `DWDrawingDefault` (implement the interface `UIDrawing` instead).

## [13.4.1] - 2023-02-06

### Changed

  - Aligned with MicroEJ Architecture UI 13.4.1.

## [13.4.0] - 2022-12-20

### Added

  - [frontpanel] Add some checks to not performing a drawing when it is useless.

### Changed

  - Aligned with MicroEJ Architecture UI 13.4.0.

## [13.3.1] - 2022-09-09

### Changed

  - Aligned with MicroEJ Architecture UI 13.3.1.

## [13.3.0] - 2022-09-02

### Added

  - [frontpanel] Add custom image formats in the `MicroUIImageFormat` enumeration and the `BufferedImageProvider` service to prepare for future MicroUI functionality.

### Changed

  - Aligned with MicroEJ Architecture UI 13.3.0.

## [13.2.0] - 2022-05-05

### Added

  - [frontpanel] Add `LLUIDisplayImpl.decode()` (the implementation can open encoded images).
  - [frontpanel] Add `LLUIDisplay.readPixel()`.
  - [imageGenerator] Allow to a custom image converter to generate a file other than a binary resource.
  - [imageGenerator] Allow to a custom image converter to specify the supported *.list files.

### Changed

  - Aligned with MicroEJ Architecture UI 13.2.0.

## [13.1.0] - 2021-08-03

### Added

  - [frontpanel] Add `MicroUIImage.getImage(int)` (apply a rendering color on Ax images).
  - [frontpanel] Add `LLUIDisplay.convertRegion()` (convert a region according image format restrictions).
  - [frontpanel] Add `LLUIDisplayImpl.waitFlush()` (the implementation can manage an asynchronous flush).

### Changed

  - Aligned with MicroEJ Architecture UI 13.1.0.
  - [frontpanel] Update Pointer event format.

## [13.0.7] - 2021-07-30

### Changed

  - Aligned with MicroEJ Architecture UI 13.0.7.

## [13.0.6] - 2021-03-29

### Changed

  - Aligned with MicroEJ Architecture UI 13.0.6.

## [13.0.5] - 2021-03-08

### Changed

  - Aligned with MicroEJ Architecture UI 13.0.5.

## [13.0.4] - 2021-01-15

### Changed

  - Aligned with MicroEJ Architecture UI 13.0.4.

### Fixed

  - [imageGenerator] NullPointerException when trying to convert an unknown image.

## [13.0.3] - 2020-12-03

### Changed

  - Aligned with MicroEJ Architecture UI 13.0.3.

## [13.0.1] - 2020-09-22

### Fixed

  - [frontpanel] fillRectangle() parameters names are invalid.
  - [frontpanel] Missing LLAPI to check if destination region overlaps source region.

## [13.0.0] - 2020-07-30

### Added

  - Initial revision.
  - Publish frontpanel.jar and imagegenerator.jar (libraries to build a platform against UI pack 13.x)

### Changed

  - `ej.tool.frontpanel#widget-microui` has been renamed in `com.microej.pack.ui#ui-pack(frontpanel)`. This library is fetched by transitivity when front panel project depends on `ej.tool.frontpanel#widget-2.0.0`.
  - Image generator extension project has to use ivy dependency `com.microej.pack.ui#ui-pack(imageGenerator)` instead of classpath variable `IMAGE-GENERATOR-x.x`.

---
_Copyright 2020-2026 MicroEJ Corp. All rights reserved.
_MicroEJ Corp. PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
_Build: 7E4D1F7C_
