Skip to content

Releases: TcMenu/tcMenu

3.2.0-BETA dev test - i18n support, UI tidy up.

12 Apr 08:01
Compare
Choose a tag to compare

This is a BETA release and should only be used for testing and verification of features. It will be released fully once we've got confirmation from enough users that it is of sufficient quality. In the meantime new users should not use this version.

IMPORTANT NOTE - Unlike normal releases, you must use this release with the master versions of both IoAbstraction and tcMenu libraries. Unless you wish to do this, please wait for the proper release.

Please raise anything to do with the release in this discussion #317. For any issues, please clearly mark them as from this BETA unless it also affects the last known release.

  • menus can be fully internationalized.
  • generated source location now more configurable
  • backups are now into a .backup directory by default with a configurable number of backups, default 20.
  • Improved copy/paste and drag and drop support with the menu tree.
  • Most UI text is now in resource bundles and can be translated.

Windows/Linux/macOS releases available.

3.1.0 - Improved touch plugins, custom menu items, fixes

12 Feb 11:48
Compare
Choose a tag to compare

TcMenu 3.1 is a major release including some important features and bug fixes. It includes major changes to the touch support, and will require you to reconfigure any touch plugins. We've tried to default everything as sensibly as possible, but if in doubt check the examples. Note that this requires the designer, tcMenu library, and IoAbstraction be at V3.1.x.

As usual, any issues with this release just rollback to 3.0.x and let us know.

  • The rendering of items has been improved in the library
  • Support for booleans that display as a checkbox
  • Lists now have an activated callback as selections change when active
  • Helper methods to get/set navigation history
  • The severe bug with AdafruitGFX not rendering is fixed
  • Major improvements to touch screen support
  • It is now possible to use a sized storage for EEPROM
  • Ability to provide custom text fields with filtering
  • Ability to store any items static data in RAM instead of FLASH

The designer is released as a signed installer on Windows, a notarized disk image for macOS, and as an Ubuntu package.

3.0.0 - UI improvements, tcUnicode, library improvements

31 Dec 16:27
Compare
Choose a tag to compare

Summary

TcMenu 3.0.0 puts in place a few long-needed features in both designer and library, significantly improving the performance of menus based on Adafruit GFX, providing a consistent Unicode API that works even standalone outside of tcMenu, fixing more bugs in the designer, and adds the ability to create fonts and bitmaps directly within designer.

Important notice: Projects WILL need to be run once through the designer/code generator to update the plugins. Make sure you upgrade both TcMenu and IoAbstraction libs to the latest 3.0.x release and also ensure that you get tcUnicodeHelper library from the library manager.

If you're new to TcMenu, please take a look at the getting started guide here: https://www.thecoderscorner.com/products/arduino-libraries/tc-menu/tcmenu-overview-quick-start/

Library release notes

  • TcMenu 3.0.0 has dependencies on tcUnicodeHelper and IoAbstraction V3.0.0.
  • Initial support for tcUnicode, this is very new and not set as the default in this release. Allows for UTF8 stream-based decoding on all graphical plugins.
  • Initialising a renderer is now safer and does not lose previous settings
  • Saving single items to EEPROM
  • More menu mgr notifications - now can be notified of active item changes.
  • Fixed most edit cursor problems
  • Far more control over compile time settings for advanced users.
  • First step toward formalizing the dashboard support that was in the Simhub example.
  • First pass at formalizing the dashboard support for custom layout read-only presentation screens.

UI release notes

  • TcUnicode support - new UI for generating tcUnicode and Adafruit fonts from a desktop font, themes now allow tcUnicode for all rendering.
  • Fix for embedCONTROL to ensure removed item does not cause loading of layout to fail
  • Support for AW9523 IoExpanders in the UI
  • UI small fixes - copy and paste fix, item is visible checkbox fix, a number of other small fixes and improvements.
  • Memory buffer support for Adafruit_GFX library. When using TFT displays, a memory buffer can be created large enough to present one menu item, it both reduces flicker and improves performance.
  • First pass at new UI for creating bitmaps and title widgets from most regular image formats as C++ code.
  • Improvements to Java API

Installers and Builds

As usual, there is an extended validation installer for Windows, notarized disk image for macOS, and a Linux debian package. Further, should you have the requirement to, building from source is not too difficult (especially if using Liberica Full JDK which includes OpenJFX).

  • Install the application using the right installer for your platform.
  • Within your IDE library manager, ensure that tcMenu 3.0.x and IoAbstraction 3.0.x are installed.

Rolling back in the case of issues

There is full access to old versions of the UI and library. Basically, just go back to the old version as shown below.

2.5.0 Initial values, UI improvements

26 Oct 16:04
Compare
Choose a tag to compare

This release is mainly incremental but has one new feature that requires tcMenu library version 2.5.0, be sure to upgrade the library at the same time. This feature is to be able to set the default value on all menu types from within the designer / JSON project file. Our new plan is to try and release more frequently with smaller releases.

If you're new to TcMenu, please take a look at the getting started guide here: https://www.thecoderscorner.com/products/arduino-libraries/tc-menu/tcmenu-overview-quick-start/

Any issues, just downgrade back to 2.4 and report them here or in the forum.

Release notes

  • Better analog joystick plugin that optionally handles both axis now.
  • Improvements to the UI, dialogs tidied, Ctrl/Cmd-A no longer save as
  • Can set an initial value on all appropriate types now.
  • Mbed support has been improved with better display options: STM32 LTDC, OLED and I2C/regular LCD options.
  • A few minor fixes to the CLI.
  • More boards supported.

Pre-built packages of both the Menu Designer and embedCONTROL

  • Packaged for Windows 64-bit with an extended validation certificate.
  • Packaged for MacOS 64-bit as a notarized package.
  • Packaged for Debian Linux 64-bit.

2.4.0 - improved CLI, UI fixes, Generator improvements.

05 Oct 07:12
Compare
Choose a tag to compare

Important note:

Release 2.4.0 of TcMenu Designeer UI requires tcMenu library version 2.4 along with the most recent versions of dependant libraries (IoAbstraction, SimpleCollections, TaskManagerIO). Please make sure before proceeding that you have installed these first. This is to simplify the library going forward.

Release notes - tcMenu Designer:

  • Ability to provide a step value on analog items, for example, to go up in steps of two
  • Improved multi-item editing - where the cursor is managed by the library
  • Major improvements to the CLI generator to make it fully workable on all platforms
  • Fixes and improvements to various code generators
  • Auto generate the scroll choice RAM variable if needed
  • Direct support for PCF8575 devices within the IDE
  • Remove the webserver support for ESP32 until it is stable enough for people to use

Embed CONTROL:

Built on the new JavaAPI version, mainly an incremental update with no new features.

For changes in the library, see the library release page

Builds of the designer UI and embedCONTROL below for Windows, macOS, and Debian Linux.

Embedded Java, custom protocol, keyboard plugin, fixes

13 Jun 17:45
Compare
Choose a tag to compare

All our images are now built using jpackage from BellSoft Liberica OpenJDK, in this case, OpenJDK and LibericaFX 18. We also try to keep any third-party libraries that we use as up-to-date as possible.

  • Installer for Windows with EV certificate for designer and embedCONTROL.
  • MacOS notarized binaries - amd64 for designer and embedCONTROL.
  • Linux amd64 binaries for designer and embedCONTROL.

Summary

This release brings fixes on the top of 2.3.0, it can be considered the second part of that release as it has a few major fixes in it. There were a few fixes in the 2.3.1 library of note as well, below we list out everything. Any problems, just go back to 2.3.0 and let us know.

Library and API

  • You can now change the frequency of the renderer at any time
  • Major improvements in the keyboard support
  • Message transmission is now configurable in C++, Java and TS/JS versions, meaning you can add your own custom messages

Designer

  • Proper productionization of the Raspberry PI Java support. Now fully tested on a PI 4
  • Support for Jetty webserver on Raspberry PI, you can now host embedCONTROL.JS direct from a PI and it runs really well
  • Menu in Menu now tested in far more conditions and includes some critical fixes
  • New version of the WebApp with fixes and improvements.
  • It is now possible in every API (library, Java, Javascript) to add your own custom messages.

2.3.0 - Designer and embedCONTROL major release

11 May 17:28
Compare
Choose a tag to compare

2.3.0 - Major release of both Designer and embedCONTROL.

All our images are now built using jpackage from BellSoft Liberica OpenJDK, in this case, OpenJDK and LibericaFX 18.

  • Installer for Windows with EV certificate for designer and embedCONTROL.
  • MacOS notarized binaries - amd64 for designer and embedCONTROL.
  • Linux amd64 binaries for designer and embedCONTROL.

Designer

Existing Users Note: on the first round trip, code generator interrupt / polling state for switches will be reset, as the options have changed.

  • Support for encoders that are polled without interrupt requirement.
  • Java Library upgrades to bring up to date.
  • App information panel (root menu item) improvements.
  • Plugin properties in Code generator sometimes showed the wrong value.
  • Other small fixes and usability improvements
  • Stm32Duino platform added, and support for Stm32Ethernet library and the BSP HAL Backup RAM on STM32F4 boards that support it.

EmbedCONTROL App

  • Completely refactored and cleaned up view - same code as used in Java embedded UI
  • Ability to override the view of components and layout of controls.

Raspberry PI / embedded Java generator

NOTE that this is considered preview quality in this release. It will be cleaned up over the next few releases.

  • It is now possible to build an app that outputs Java code suitable for Raspberry PI. It can generate a simple UI based on JavaFX which is supported by Liberica and OpenJFX on at least Raspberry PI and other embedded Linux distros.
  • With the Java API it now supports Menu In Menu to allow the embedded Java app to manage several other devices within one menu; where the items from one menu are re-mapped into another.
  • EmbedCONTROL can now handle invoke operations on List items.

2.2.7 - API and minor UI improvements

15 Feb 11:19
Compare
Choose a tag to compare
  • New simplified plugin facilities, the core plugins are now built automatically and not upgradable outside of the release process. You can still build your own plugins and manage them.
  • Documentation improvements
  • Ensure that when a theme is required that it is provided in the code generator.
  • The initial work to allow tcMenu to create a Raspberry PI Java interface are now in place, this will continue over the next few releases.
  • Improvements in test coverage
  • The startings of a web-based version of embedCONTROL written in React.JS (see other embedcontrolJS repo for source)
  • Copyright change to show this is now a hobby and no longer sponsored by a company.

For embedCONTROL continue to use the previous build.

Fixes a clipboard issue found in 2.2.4, more control over callbacks

19 Oct 17:10
Compare
Choose a tag to compare
  • This release fixes an issue where the clipboard support caused the application to freeze sometimes. This is the most important fix in this release. It also automates incorporating the initial plugins making problems there far less likely.
  • It also includes a new splash screen that allows you to choose between dark and light mode.
  • Lastly, a new feature where you can now choose for tcMenu to only declare but not implement a callback function. To do this, add an "@" symbol before the variable and then you need to implement the method yourself somewhere. This does not affect existing behaviour, and is intended for advanced users who want to implement callbacks in multiple files.

To install the designer UI use the appropriate download for your platform below.

More touch screens, plugin improvements, small library fixes

17 Oct 17:56
Compare
Choose a tag to compare

Designer and library version 2.2.4 have just been released.

For all users we strongly recommend you use 2.2.5 as it fixes a critical issue found in this release.

Library:

  • Allow the title text to be overridden correctly by changing the title item's override text.
  • Better handling of Analog items with larger ranges for positive only values.
  • Touch calibrator now directly built into library "extras" folder

Designer:

  • Minor fixes to TFT_eSPI plugin to allow the variable name to be other than 'tft'
  • Improvements to the way that U8G2 plugin works to make it easier to understand.
  • Ability to set the tab type for ST7735 display on Adafruit Quickstart.
  • Upgrade to OpenJDK Corretto 17 and openjfx 17.
  • Fix an issue with up and down being inverted in the up / down encoder plugin.
  • Touch screen support for XPT2046 and FT6206

embedCONTROL

Continue to use V2.2.3 of embedCONTROL further down the releases page, there were no embedCONTROL changes in this release.