# PlexusLAB Release notes

# v0.45

# 0.45.0

  • Fix: Blackbox and Cloud loop are stopped before importing a project

# 0.45.1

  • Potential breaking change - New function in API list:
    • since_startup
  • New: Maximum number of users, blackbox and functions increased to 25
  • New: Blackbox now can read up to 15 variables at a time (it was limited to 12 before)
  • Fix: Alert reset at system startup
  • Fix: Timers reset at system startup

# 0.45.2

  • Fix: All channels list fixed when channel name contains characters to be URL encoded (e.g. '+')

# v0.44

# 0.44.0

  • New: HMI API for getting info messages from functions
  • Fix: Alerts and Timers are not restored after a system/service restart anymore
  • Fix: Frozen "ACTIVE" alert messages should not appear anymore

# 0.44.1

  • New: HMI API readValues now contains info messages counter
  • Fix: HMI API readValues now keeps track of current plxService loop status

# v0.43

# 0.43.0

  • New: HMI API for clearing active alerts and message history

# v0.42

# 0.42.0

  • New: Gauges with ranges

# 0.42.1

  • Fix: Auto-updates of mysql-server package now don't break Blackbox and Cloud service loops

# v0.41

# 0.41.2

  • Fix: Regression on PHP session introduced in 0.40.0
  • New: API v2 for custom pages / custom HMI @ path: /plexus/api-v2/ authorized via JWT

# 0.41.3

  • New: Toggling Modbus or Profinet now doesn't require the system restart
  • Fix: Rename variables when they keep the same name but some chars changes lower/upper-case
  • Fix: Minor UI fixes for left-side lists

# v0.40

# 0.40.0

  • Breaking change - New: this new version request MySQL Server instead of SQLite3. Now PlexusLAB stores up to 1 year of data and up to 190 different variables inside Blackbox. If an update from a previous version to v0.40 is needed, execute these commands before:
sudo apt install mysql-server -y
sudo systemctl enable mysql.service
sudo mysql -e "CREATE DATABASE IF NOT EXISTS plexus_db;"
sudo mysql -e "CREATE USER plexus@localhost IDENTIFIED BY 'plexus4mysql';"
sudo mysql -e "GRANT ALL PRIVILEGES ON plexus_db.* TO 'plexus'@'localhost';"
sudo mysql -e "FLUSH PRIVILEGES;"

Since mysql is case-insensitive, before proceeding with the update, it is necessary to perform a check on variable names (channel/section/timer/alert names) to ensure any name is not in use twice (differing by just the lowercase/uppercase). For example, using both "input_1" and "INPUT_1" is not allowed anymore.

To quickly export a list of all names in use, it's possible to export the entire configuration by clicking on the Plexus logo in the header, then on "View Configuration".

At this point it's possible to proceed with the update by following the instructions in the installation page.

After the update is performed, whenever importing the old records from SQLite3 is needed, the following command must be run:

php /var/www/html/plexus/scripts/migrations/sqlite_2_mysql.php import_rows

# v0.31

# 0.31.0

  • Potential breaking change - New function in API list:
    • is_interval_of

Notice: if any of those names were used inside the Static Function, they must be replaced before performing the upgrade.

  • Fix: Search term in function now is made case insensitive

# v0.30

# 0.30.0

  • Potential breaking change - New functions in API list:
    • PID_controller (and reset_PID_controller)
    • PWM_controller (and reset_PWM_controller)
    • moving_average (and reset_moving_average)
    • fixed_average (and reset_fixed_average)
    • moving_max (and reset_moving_max)
    • moving_min (and reset_moving_min)
    • both set_alert and set_alert_delay has a new parameter to define a set of subordinated alerts that shouldn't trigger when the current alert is active

Notice: if any of those names were used inside the Static Function, they must be replaced before performing the upgrade

  • New: A user can change its own password from the HMI
  • Fix: Find term in functions
  • Fix: Strange behavior in resetting + setting an alert inside a plexus-function loop
  • Fix: write_val_period now accepts 0ms as a period duration, the necessary condition has changed to (period1 + period2 > 200ms)

# 0.30.1

  • New: Last blackbox zoom is kept during navigation, so you can switch through different charts without losing the shown timerange

# v0.29

# 0.29.0

  • Potential breaking change - New functions added in API list:
    • get_bounded_value
    • is_value_inside_target_range
    • is_value_inside_target_range_mod
    • scale_value
    • to_bitmap
    • from_bitmap
    • increment_cycling_variable

Notice: if any of those names were used inside the Static Function, they must be replaced before performing the upgrade

  • Fix: Minor UI fixes

# v0.28

# 0.28.0

  • New: Modbus new library now allows to use FC23 (Read/Write multiple registers) when calling an external Modbus slave that supports it.
  • New: Modbus new library is compatible with PHP 8.2
  • Fix: Minor UI fixes

# v0.27

# 0.27.0

  • New: Functions page now has a new button to load the current running (the "uploaded") version of the code inside the editor

# v0.26

# 0.26.0

  • New: Emergency mode and Maintenance mode, available from the HMI. When activated, the system status will be reflected on PlexusCloud too

# v0.25

# 0.25.0

  • New: Blackbox visibility modifiers (identical to HMI visibility ones)

# v0.24

# 0.24.0

  • New: Users can now decide to view translated HMI by default, by flagging an option in the Edit user popup, under Users tab

# v0.23

# 0.23.0

  • New: "All channels"-special device, available for super admin users when 2 or more devices are configured

# 0.23.1

  • New: PHP 8.2 compatibility

# v0.22

# 0.22.0

  • New: PID controller API: evaluate_PID() + reset_PID()

# 0.22.3

  • New: Disabled device channels and section variables are now striked, in order to be detected easily

# v0.21

# 0.21.0

  • New: System loop optimization, performance improvement (~10%)

# v0.20

# 0.20.4

  • New: "Alerts" instead of "Alarms" inside the pages, as "alarms" is now intended solely for user configured alarms, and "Alerts" stands for "Alarms" + "Warnings"

# 0.20.3

  • New: Alarms and warnings are now sent as different entities to PlexusCloud, in order to distinguish them inside notification emails and in the Alarm page

# 0.20.2

  • Fix: Alarm durations fix
  • New: Panel cards now can have a background color
  • New: HMI header turns orange when any alarm is active, increasing visibility. Warnings just forces the bell to blink, instead

# 0.20.0

  • New: Operations made from panels are now logged in a file with path /var/log/plexus/panel.log (coming from Admin page or HMI)
  • Fix: Improved function editor with text selection after autocomplete selection

# v0.19

# 0.19.8

  • Fix: Minor fixes when editing registers on a Modbus device
  • New: Plexus Bridge frequency calls incremented in system loop

# 0.19.7

  • New: Functions page, shortcut to beautify PHP script (CTRL + B)

# 0.19.6

  • Fix: Function editor UI and auto-complete functionality

# 0.19.5

  • Fix: Fix random error when listing functions in Function page.

# 0.19.4

  • New: Two static functions, one for constants and one for functions. They can now be not overwritten on purpose during projects import.
  • New: Panel pages now can be exported and imported as standalone structures
  • Fix: HMI emergency button hidden for guests, or when HMI is locked

# 0.19.3

  • Fix: PHP 8.0 fix, startup on blank systems

# 0.19.2

  • Fix: Supervisors are locked when trying to set channel device values

# 0.19.1

  • Fix: Sync between tabs now works for switches (devices, functions, system status)
  • New: Search button in Devices and Section pages

# 0.19.0

  • Fix: Plexus Bridge malfunctioning occasionally
  • New: Permission system update
Role type PlexusLAB permissions HMI permissions
Admin View and write View and write
Supervisor View + User edit + Alarm messages delete View and write
Operator Forbidden View and write
View-Only Forbidden View

# v0.18

# 0.18.3

  • New: Panels can now be shown to single and/or multiple user groups
  • Fix: User groups handling fixes
  • Fix: User edit now don't lose the old password

# 0.18.1

  • Breaking change - New: user passwords are now stored in their hashed version. If you are updating from any previous PlexusLAB version, please follow the reset-password steps as described inside documentation's troubleshooting section

# v0.17

# 0.17.7

  • New: function editor UX redesigned and fixed

# v0.16

# 0.16.6

  • New: In settings page, timestamps in which services were started now can be seen by hovering badges (tooltips appear).

# 0.16.5

  • Fix: Minor UI improvements and fixes on Panels page.
  • Fix: Tooltips added on all action buttons.

# 0.16.0

  • Breaking change - New: Panels now allow users to set units of measure for elements, as well as conversion formulas for text variables, inputs, progress bars and gauges.

# v0.15

# 0.15.16

  • Fix: Modbus and Profinet now work correctly when Apache2 authorization on pages is active

# 0.15.15

  • New: CSV data can be exported from HMI blackbox charts

# 0.15.13

  • Fix: Cloud system loop exception handling and CURLs calls timeout set

# 0.15.9

  • New: Modal popups restyling

# 0.15.8

  • New: Dygraph lib for blackbox updated, for faster charts loading

# 0.15.5

  • New: Session is extended to 7 days, removed idle browser detection

# 0.15.2

  • New: HMI authentication is now enabled via username + password. 4-digits PIN code is now removed

# 0.15.1

  • Fix: HMI panels sometimes lose data sync. This will be notified with a popup, asking the user to reload the page
  • Fix: blackbox sqlite DB failed when columns had characters that needs to be escaped (e.g.: "Column+++")

# 0.15.0

  • New: PHP 8.0 compatibility
  • New: tunnelling service can now be done without requiring a password, because..
  • New: ..authentication wizard scripts are now included in the bundle, to deny the navigation to un-authenticated users (more details included in the online documentation)

# v0.14

# 0.14.7

  • Fix: Minor UI fixes, reduced size for js scripts

# 0.14.3

  • Fix: SSE communication layer fix; sometimes pages did not refresh their values correctly

# 0.14.2

  • New: Warning added if changing a device channel, or a variable, or a timer, or an alarm name used inside functions or blackboxes

# 0.14.1

  • Fix: Blackbox chart last minute data

# 0.14.0

  • Fix: Empty warning list
  • New: Blackbox UX improved
  • New: Blackbox data retention increased to 28 days
  • New: Blackbox-cloud sync now tries to recover unsent data up to 28 days ago
  • Fix: Blackbox chart variable inversion; this error may happen after adding a new variable to a blackbox
  • Fix: Sometimes deleting a section variable caused values to shift and be assigned to other variables

# v0.13

# 0.13.2

  • New: Device channels can now be "force saved" when edited, in case of conflicting name; this will reset the other channel that was previously using the same name you are trying to assign to the current one

# 0.13.1

  • Fix: Cloud system loop now handles gzdeflate error fallbacking to gzcompress or none

# 0.13.0

  • New: Find feature in Functions page to find terms inside device channels or sections
  • Fix: Old find feature in scripts regex fixed

# v0.12

# 0.12.0

  • New: Functions, improved autocomplete features for function editors
  • Fix: Functions, Uploading the Include Function requires a system restart
  • New: System timezone now can be set in system page
  • Fix: Device channels hide/show mode is kept during navigation
  • Fix: Modbus device edit now reflects registry range changes on channels
  • New: Device channels can be reset to their default unused values (name and min/max/decimals/offset or power supply status)
  • Minor fixes

# v0.11

# 0.11.2

  • New: Profinet network interface name configurable via System page

# 0.11.1

  • Fix: System page toggle status buttons (Profinet and ModBus) behavior

# 0.11.0

  • New: Profinet support added
  • New: ModBus service is now enabled and activated only when needed
  • Minor fixes
Last Updated: 2/2/2024, 4:28:31 PM