Skip to content

Releases: forntoh/LcdMenu

LcdMenu v5.4.0

18 Dec 02:32
Compare
Choose a tag to compare

New Features

  • Add Widgets Example Sketch by @forntoh in #262
  • Remove WidgetCharset class and introduce templated WidgetList class by @forntoh in #255
  • Add widget functionality into the library by @forntoh in #248

Enhancements

  • Update Examples to use Widgets by @forntoh in #260
  • Refactor ItemSubMenu class to inherit from BaseItemZeroWidget and update methods by @forntoh in #259
  • Enhance widget rendering to ensure that the active Widget is always visible by @forntoh in #258
  • Improve memory management and string handling in ItemInput class by @forntoh in #256
  • Remove WidgetCharset class and introduce templated WidgetList class by @forntoh in #255
  • Update ItemBack class to inherit from BaseItemZeroWidget by @forntoh in #252
  • Refactor item command class to use item widget by @forntoh in #251
  • Update logging mechanism with LOG macro in multiple classes by @forntoh in #250

Bug Fixes

  • Bugfix: 4 bars appear when no indicators are being shown by @forntoh in #257

Documentation Updates

  • Comprehensive Documentation Update for Widgets and Menu Items by @forntoh in #275

Full Changelog: 5.3.1...5.4.0

LcdMenu v5.3.1

27 Oct 11:30
Compare
Choose a tag to compare

Bug Fixes

  • Bugfix: 4 bars appear when no indicators are being shown by @forntoh in #257

Full Changelog: 5.3.0...5.3.1

LcdMenu v5.3.0

20 Oct 17:16
Compare
Choose a tag to compare

New Features

  • Add support for additional board types by @forntoh in #246
    Introduced support for additional board types (ESP32, ESP8266, STM32, MKR1000 etc) in the Arduino compilation workflow.

Enhancements

  • Integrate Fast and Efficient String Formatting Library by @forntoh in #244
  • Enhanced the LCD display configuration and temperature measurement logic in the RTOS example by @forntoh in #246
  • Streamlined text rendering in the CharacterDisplayRenderer, improving performance and clarity by @forntoh in #246

Full Changelog: 5.2.0...5.3.0

LcdMenu v5.2.0

10 Oct 14:10
Compare
Choose a tag to compare

New Features

  • Add Support for LCDs using SSD1803 controller by @forntoh in #243
  • Add View Shifting to MenuRenderer for Handling Long Text by @forntoh in #241

Enhancements

  • Delegate Rendering of Separator and Value to Renderer by @forntoh in #240

Chore Updates

  • Add release notes generation by @forntoh in #239
  • Add tagging options for PR types and update checklist. by @forntoh in #238

Documentation Updates

  • Fix typo in character-display.rst by @forntoh in #242
  • Update API references to use C++ syntax for better clarity and consistency by @forntoh in #237

Full Changelog: 5.1.0...5.2.0

LcdMenu v5.1.0

07 Oct 11:06
Compare
Choose a tag to compare

New Features

Enhancements

  • Patch/remove screen row dependency in renderer by @forntoh in #235
  • Remove itemIndex dependency from renderer by @forntoh in #234

Full Changelog: 5.0.0...5.1.0

LcdMenu v5.0.0

04 Oct 19:48
Compare
Choose a tag to compare

New Features

Enhancements

Bug Fixes

Chore Updates

Documentation Updates

Breaking Changes

  • This release introduces breaking changes. Please review the migration guide for details on how to update your code.

Full Changelog: 4.2.0...5.0.0

LcdMenu v4.2.0

19 Sep 09:49
Compare
Choose a tag to compare

New Features

  • Replace RotaryNavConfig with RotaryInputAdapter by @forntoh in #206
  • Add SimpleNavConfig and deprecate processMenuCommand by @forntoh in #189

Bug Fixes

Full Changelog: 4.1.0...4.2.0

LcdMenu v4.1.0

10 Sep 00:40
Compare
Choose a tag to compare

New Features ⭐️

  • Menu Command Processor Helper for Rotary Encoder by @forntoh in #185
    A helper function was added to handle menu navigation using a rotary encoder. This makes it easier for developers to implement rotary-based navigation for their LCD menus, streamlining the interaction process. It allows smoother scrolling through menu items and simplifies input with just a rotary encoder.

Enhancements:

Bug Fixes:

  • Code Cleanup: Removed unused print statements to improve code quality.

Full Changelog: 4.0.0...4.1.0

LcdMenu 4.0.0

19 Aug 00:43
Compare
Choose a tag to compare

This release introduces a major refactor of the display management system, aimed at making it more modular and flexible. The key change is the introduction of a display interface abstraction that decouples the display logic from the specific hardware, allowing for easier integration of different display types.

What's Changed

  • Display Interface Abstraction:
    • A new DisplayInterface class has been introduced to define a common interface for all display types.
    • This interface allows developers to easily swap out display implementations (e.g., LCD, OLED) without modifying the core logic.
  • Implemented LiquidCrystalI2CAdapter to support LiquidCrystal_I2C displays.
  • Implemented LiquidCrystalAdapter to support LiquidCrystal displays.
  • Improved Modularity and Flexibility:
    • By decoupling the display management logic from the specific hardware, the system is now more modular and easier to extend with new display types.
    • The menu and cursor handling logic has been adapted to work seamlessly with the new interface, ensuring backward compatibility while providing enhanced flexibility.
  • Debug mode is now turned off by default

Bug Fixes and Improvements

  • Memory Management: Optimized the handling of dynamic memory allocation to prevent memory leaks and improve stability.
  • Code Cleanup: Refactored the codebase for better readability and maintainability. Deprecated functions and variables have been removed or replaced with more efficient alternatives.
  • Documentation: Updated and expanded the documentation to reflect the new architecture and features.

Breaking Changes

  • API Changes: The introduction of the DisplayInterface class and its implementation may require changes to existing projects. Users must update their code to work with the new interface and adapters.
  • Some methods and features directly tied to the LiquidCrystal_I2C library have been refactored or removed. Please review the migration guide for details on how to update your code.

Full Changelog: 3.5.6...4.0.0

LcdMenu 3.5.6

06 Jun 16:57
Compare
Choose a tag to compare

Chore Updates

  • Make isAtTheStart and isAtTheEnd public by @forntoh in #172

Full Changelog: 3.5.5...3.5.6