Added decimation strategy attribute (not yet exposed in PE) Current options: "stride" (default, takes first value for each bucket), "range_sample" (takes min, max, avg for each bucket)
Project Editor:
Added side resize handles with transform-aware sizing. Add center-side resize handles (top/right/bottom/left) and show them only when the selected object display size is greater than 48px on the corresponding axis.
Updated the selection frame with rotation and view scale
Added compact JSON toggle in JsonAttrPopup. Toggle pretty/compact formatting in-place in the editor while preserving parse validation and selected-button state.
Added stacked popup back item in JsonAttrPopup. When editing nested popup stacks, show a top back row in the left list.
Revised quick action buttons, visible and aligned below the selected frame.
Added interactive preview overlays for form items and table edit popups. Preview overlay for form items, with selection, row/col placement, inline text editing, field width controls.
Added Quick edit buttons for tree and list. Add the shared list quick-edit attribute so both list and tree objects expose Items in the project editor quick edit UI.
Added sample values and edit popups button. Add tools on table columns and form attribute popups: sample values previews for forms, edit popups quick access button for tables.
Minor value binding changes. Fix || and && operators, add warnings on method-style function calls (e.g. "hi".length())
Added settings and catalog shortcuts to the relevant attributes. Show unsaved-change badges.
Status Browser:
Added scoped state control. Add a scope button that displays scoped ui and datasources.
Settings:
Redesigned datalogger settings tables for clearer editing and introduced slot configuration support for counter dataloggers.
Added an SSH service switch to enable or disable remote SSH access, which doesn't require rebooting.
Tunnel Utility:
Tunnel encryption protocol now uses enhanced security ED25519 keys instead of RSA. RSA support retained for backward compatibility.
Catalog:
New device catalog management interface. Devices can be organized into hierarchical groups and assigned multilingual descriptions.
Manager:
Scroll popup select matches. When typing in a popup select, scroll the list to the first match so it is visible.
Show unsaved app indicators. Display Catalog and System Settings save-state badges.
New catalog.json device catalog, replacing the legacy systemtopo.txt file. On first startup, if systemtopo.txt exists and catalog.json does not, HSYCO automatically performs a one-time conversion: devices are written to catalog.json and location zone labels are added as DefaultLabel entries in hsyco.ini.
added support for Shelly Pro EM 50, Shelly Plug M, Shelly Plug PM, Shelly Duo Bulb, Shelly RGBCCT Bulb, Shelly Shutter, Shelly EM Mini (Gen4), Shelly Flood, Shelly 2 PM (Gen4), Shelly Plug US, Shelly Dimmer (Gen4), Shelly Dimmer US (Gen4), Shelly Dimmer 0/1-10V PM (Gen4), Shelly Power Strip, plus Shelly Pro (Gen2) UL versions
Support for mTLS (Mutual Transport Layer Security) with client certificates management
New configuration options:
RequireMTLSHttpRaw
RequireMTLSWebUI
Support for DELETE, PUT, PATCH HTTP methods for httpRawEvent callbacks
HTTPSCompatibility configuration option now defaults to new
When HTTPSCompatibility is set to new, the HSYCO HTTPS server only supports TLSv1.2 or newer with ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) cryptography
Updated client js api, remove User object. Add sendCommand function to replace User object
Added Roboto Mono webfont. Used as the default for masked fields to align character positions.
Value bindings: added parentId function. Get the ID of the parent object, given the number of levels to go up
Command API: new unified fields field. Allows editing form fields in the same way as table edit popup fields
Value bindings: added string search methods to value bindings. Includes methods for checking string start, end, and occurrence.
Debug: added export, clear commands
Debug: render JSON command params as tree
Performance improvement on value bindings with fast-path for simple value expressions
Login: support repeating digits when pressing and holding keypad buttons
Unify the command API and datasource responses. Standardize field replies on top-level fields with shortcut error syntax and client-owned error display. Reuse the same field response path for forms, submit actions, table edit popups, and datasource mutations, and remove deprecated legacy response aliases.
Added confetti click effect
Added shared click effects to field controls. Add click effects to switch/checkbox/radiogroup.
Login: support for repeating digits when pressing and holding keypad buttons
Unified the command API and datasource responses. Standardize field replies on top-level fields with shortcut error syntax and client-owned error display. Reuse the same field response path for forms, submit actions, table edit popups, and datasource mutations, and remove deprecated legacy response aliases.
New Chart:
New chart object with improved performance and features
Per-dataset config via Set Config attribute: mixed types (bar/line/spline/step), stacking modes (none/incremental/absolute), custom colors, and visibility toggles
Improved tooltips and labels
Legend enhancements: clickable legend with persistence of hidden datasets and customizable positioning
Responsive sizing: auto-resizes with client scale changes and leverages device pixel ratio for crisp output
Zoom mode attribute. Zoom on value axis, category axis, or both with wheel/pinch while keeping the cursor as pivot
New Datalogger:
Uses the new chart object for improved performance and features
Per-datalogger configuration via Dataloggers attribute: label, chart type, unit, range group, colors
New browser mode that allows selecting a range of dates
Download data as CSV and chart as PNG
Drag to select a range to zoom
Zoom chart with mouse wheel/pinch gestures
History back/forward navigation
Consolidated data visualization
Optimized to display large datasets with decimation strategies
New Map object
Select map center, zoom level, pitch
Added map markers of various types: button, camera, shape, text, and image
Button:
Added blink attribute to states
Added clipboard copy action. Adds a new action to copy specified text to the clipboard.
Renamed clipboard text attribute
Field:
Added time interval attributes. Show sign, unit, min precision, max precision
Added look attribute, with clear and outlined options
Changed select icon
Added input mask support. Support masked text and free-input select fields with live placeholders and validation for fields, form items, and table edit columns.
Text:
Added overflow hidden
Updated sizing to support %
Format attribute, add metric and binary number styles. Introduce custom metric and binary number styles (e.g. 1.2KB, 1.2KiB).
Time: Added negative values attribute. Specifies whether negative values are allowed in interval mode
Scheduler:
Added sunrise/sunset delta
Add rule mode defaults. Add scheduler attributes for visible rule modes, default rule mode, and default repeat intervals. Use localized radio labels and only show interval controls when interval mode is available.
Container:
Added scrollable "both"
Preserved field caret position when setting new content, if the field remains the same (same id, same type)
Added new options for scrollable, flex direction. Flex direction: row-reverse, column-reverse. Scrollable: hidden
Added explicit grid support. Add grid layout handling to containers and expose grid placement attributes for children in the editor.
Improved performance of dynamic content. Reuse objects across updates by reconciling keyed child trees.
Steps: Added completion step attribute. Specifies a step that indicates completion of the process. If not set, when the last step's condition is met, it will show as complete.
Table:
New edit popups attribute for custom edit popups
Rebuilt edit popup using form object
Columns, add field margin and field label attributes
Tree: New Data Map attribute that specifies how to map the datasource columns to the tree node properties.
Form: New Form object. Displays a set of input fields for data entry and editing. It can be connected to a datasource or populated with a set of items.
Nav:
Item, added collapse attribute. To initialize accordions as expanded
Added typography attributes
Added accordion state attribute. Support state="open|closed" for accordion groups so items can start expanded by default.
Added blink attribute on nav items
Datasource Objects:
Error feedback across datasource APIs. Handle query/insert/update/delete errors in DataSource with default message popup feedback.
Allow custom datasource column names in Project Editor. Skip datasource column validation warnings for datasourceCol values that start with '_' so custom callback fields are accepted.
Checkbox, Switch, Radiogroup: add description attribute and adjust layout to align the control to the first line of the label.
Chart:
Support for datasource fill and stroke colors. Add chart set datasource columns for fill and stroke colors.
Support for per-value set color lists. Allow fill and stroke color lists across chart types.
Calendar: added rounded date math expressions. Support /unit rounding and absolute anchors for calendar and time parsing. E.g. "now/d" rounds to the start of the current day, "now+1M/M" rounds to the start of the next month etc.
Debug:
Added command timeout toggle. Expose a debug switch that disables the shared command timeout for new commands. Apply the timeout setting directly when commands are sent and keep the simplified inline assignment.
Project:
Added live Url control. Introduce a dedicated live Url attribute for project navigation.
Collections:
Added list and tree edit controls
Commands:
Localize coded errors. Support for localized messages with: { error { code: 404 } }
Switch:
Added switch feedback loader. Expose switch feedback and show a knob-positioned loader while autosend commands are pending.
Added confirmation modes. Add popup confirmation for switch changes, with on/off/both modes and localized default messages.
Added knob size presets
Checkbox, radiobutton: animate selection
Added live Url control. Introduce a dedicated live Url attribute for project navigation.
Page:
Set default landscape/portrait page current page id
Nav: keep item visibility and enabled state on redraw. Preserve accordion expansion state only for non-structural item updates to avoid redraw flicker while keeping hidden groups closed.
Field:
Fixed tooltip position on types with panels. Show the tooltip on top of the popup panels instead of on the field itself, to avoid clipping and positioning issues.
Render select item templates. Apply select item templates consistently in popup rows and closed field labels.
Datalogger:
Restored legacy list and names attrs. Reintroduce deprecated datalogger list/names support.
Form:
Allow false for required toggles. Treat checkbox and switch false values as valid explicit input during required validation.
Focus first errored field
Skip hidden and disabled submit validation. Prevent hidden or disabled forms from exposing fields to submit collectors.
Table:
Handle blank image values and improve image errors. Treat empty and whitespace-only image values as empty. Document the none image sentinel and let table-owned image objects report their column/table context in load errors.
Removed datasource mutation commands. Remove add, edit, and delete commands when in datasource mode.
Refine savevalue=changed and docs. Use add defaults as the savevalue=changed baseline for duplicated rows.
Compare duplicate changed fields with add defaults. Use add defaults as the savevalue=changed baseline for duplicated rows while keeping copied row values visible in the popup. Document changed-value save semantics and cover duplicate baseline handling.
Calendar:
Show event tooltips immediately. Configure calendar day buttons to use zero hover show and hide delay when event tooltip content is present.
Datasource:
Prevents repeated identical queries when a datasource legitimately ignores an unknown column.
Text:
Preserve marquee position on updates. Seek the refreshed marquee animation to its previous translateX after text, speed, or direction changes.
Many other minor fixes
Button:
Focus iframe buttons before copy. Fixes the browser's security policy blocking the copy command when the button is in an iframe and not focused. E.g. tunnel utility
Slider, Colorpicker: datapoint and DMX initialization. Fix initialization of datapoints and DMX values for dynamicly created sliders and colorpickers.