Releases: forntoh/LcdMenu
Releases · forntoh/LcdMenu
LcdMenu v5.4.0
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
Documentation Updates
Full Changelog: 5.3.1...5.4.0
LcdMenu v5.3.1
Bug Fixes
Full Changelog: 5.3.0...5.3.1
LcdMenu v5.3.0
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
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
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
LcdMenu v5.0.0
New Features
- Feature/move control to items by @ShishkinDmitriy in #199
- Feature/eliminate types by @ShishkinDmitriy in #213
- Feature/introduce menu screen by @ShishkinDmitriy in #216
- [Feat] Add Digital Input Adapter for Enhanced Menu Navigation by @forntoh in #214
- Feature/refactor items by @ShishkinDmitriy in #221
- [feat] Replace ItemProgress with Item[type]Range by @forntoh in #228
Enhancements
- Replace SimpleNavConfig with KeyboardAdapter by @forntoh in #218
- Replace DigitalInputAdapter with ButtonAdapter by @forntoh in #223
- Update various item setters by @forntoh in #225
- Enable jumping to upper bound when lower bound reached by @forntoh in #226
- Isolate constants by @forntoh in #227
Bug Fixes
- Bugfix/stuck on submenu enter by @ShishkinDmitriy in #219
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
New Features
- Replace
RotaryNavConfig
withRotaryInputAdapter
by @forntoh in #206 - Add
SimpleNavConfig
and deprecateprocessMenuCommand
by @forntoh in #189
Bug Fixes
- Remove dependencies [fix for #203] by @forntoh in #215
- Make global util functions inline by @ShishkinDmitriy in #192
Full Changelog: 4.1.0...4.2.0
LcdMenu v4.1.0
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:
- Examples: Added basic rotary encoder and input rotary examples to demonstrate functionality.
Bug Fixes:
- Code Cleanup: Removed unused print statements to improve code quality.
Full Changelog: 4.0.0...4.1.0
LcdMenu 4.0.0
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.
- A new
- Implemented
LiquidCrystalI2CAdapter
to supportLiquidCrystal_I2C
displays. - Implemented
LiquidCrystalAdapter
to supportLiquidCrystal
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
Chore Updates
Full Changelog: 3.5.5...3.5.6