Release Notes
What every version brings. Search by driver, area, kind or word — e.g. "cisco", "fix pin" or "2.22.1".
NDPro 2.22.2
Changelog & Improvements
29 NEW
44 UPD
27 FIX
Release
Patch 011
16.10.2026
Platform
NDPro core, services, API, security and web interface — reaches every installation.
NEW
15 changes
core/service
- Backup page starts a backup with progress display; the archive list reloads when done.
- Snap download holds templates, scripts, styles and graphics, no secrets or device state.
- New device accounts require a system key.
core/device
- Modules can grant single functions to further users or groups.
core/security
- Mail relay for child systems is off by default; enable it per device account.
- Backups of a child system can be blocked per device account; the child then skips them.
core/views
- Input fields can show a suggestion list while typing, with keyboard selection.
- Toggle buttons take their second icon and label from toggleIcon and toggleLabel.
core/public
- Help pages written in Markdown can contain tables.
core/help
- Release notes page with live search, grouped into platform and devices.
- Driver help has a Releases tab listing every change to that driver by version.
- Device codes page lists every naming code with meaning, group and live search.
clients/httpClient
- Fetch requests can accept a self-signed certificate with verification:false.
clients/sshClient
- SSH runs single commands with exit code and reads and writes files over SFTP.
- SSH host keys can be pinned and logins can use a private key.
UPD
7 changes
core/service
- User form regrouped: role, group and place on top, relay functions in their own section.
- Explorer: a .ts with a syntax error keeps the running script and shows the error.
core/device
- Debug and ready of a driver can only be switched by its admins and NDPro admins.
core/worker
- Release and backup notices fade after 60 s on success, a failure stays until closed.
- Release packages are smaller, unused sources of third-party libraries are left out.
core/help
- Print icon on every help page for all users.
clients/httpClient
- A failed fetch names its cause, e.g. a rejected certificate.
FIX
8 changes
core/service
- Explorer: renaming between .js and .ts keeps the TypeScript source and compiles it.
- Timed sequences go on past empty or zero entries and never crash the service.
core/security
- A session check answering late after a long stall no longer stops the whole system.
core/worker
- Only one backup runs at a time; a second start no longer deletes the running one.
core/views
- Form fields without an id no longer influence each other.
core/public
- Closed page parts no longer keep running in the background.
- Page accent colour is replaced correctly when switching between pages.
clients/httpClient
- A request that times out or loses its connection now reports back exactly once.
Devices
Drivers and modules by vendor/model — matters where they run; devices/all hits every driver.
NEW
14 changes
microsoft/graph
- Calendar state per mailbox: busy, running and stale.
- Sub-calendars get their own state; their doorsigns no longer show the main calendar.
- Calendar page with state tiles and tabs for bookings, info, history and edit.
- History per calendar: lookups, failures, busy and meetings, kept 7 days.
- Settings tab switches each Graph feature and the rights asked for at login.
- Admins can preview the doorsign of any room, read only.
- The room e-mail field suggests people and mailboxes from the Microsoft directory.
planspur/ai
- A local LLM server is set via host and may use a self-signed certificate.
- Options model, pingmodel and timeout set answer model, heartbeat model and time limits.
planspur/mms
- Rooms take booking state and room name from their Microsoft 365 room mailbox.
- External services such as KNX or Zoom can set video call and presence of a room.
- Room states reach the parent system; the room page names the source of each one.
planspur/roompage
- Template Device codes shows the code table with search on a public page.
servicenow/starfield
- Assigned To and Affected User suggest people from Microsoft while typing.
UPD
37 changes
biamp/tesira
- Card connects and disconnects through its own action for all users of the device.
microsoft/graph
- Triggers are now calendar-<id>, bookingbusy and bookingaction are gone; rewire projects.
- System user is optional; only bound calendars are licensed.
- Forms, overview and room list reworked; the delegate login sits on the Graph API tab.
- Calendars are read in batches; doorsigns update within ~15 s, also with 100+ rooms.
- Calendar requests pause up to 60 s while Microsoft fails and resume on their own.
- Doorsign direct booking is checked on the server: allowed, room free, within the limit.
- Missing Microsoft rights show as badges and are copied to the clipboard on click.
- Admins set via access(admin), only they switch debug and ready; open adminlist logged.
- Dashboard paths are stored in lower case; older links in mixed case keep working.
nextcloud/cloud
- Admins are set via access(admin); the log warns when the adminlist lets everyone in.
- Public share links, debug and ready are shown and switched for admins only.
- Uploads are open to admins only.
- Search in a subview stays inside its own folder.
novastar/server
- Card connects and disconnects through its own action for all users of the device.
planspur/ai
- Setup takes the option first like the other services; older call forms keep working.
- Chat answers may take up to 60 s, enough for web search and reasoning models.
planspur/bma
- Alarm is raised the moment the contact opens; a flapping contact keeps it standing.
- Alarm clears after the contact stayed closed 5 s, longer via option offdebounce.
- Alarm and alarm test are logged in the monitoring for one year.
planspur/mms
- Each room state expires after 15 minutes without renewal from its service.
- Room name set by Microsoft 365 is locked in the room form while it is reported.
- Room states are accepted from services only, never from a user.
- Device page no longer shows meeting, booking and presence; these belong to the room.
- Systems, places, network, device settings and monitoring can only be changed by admins.
- Admins are set via access(admin); the log warns when the adminlist lets everyone in.
- Alert, warning and usage show as icons; status badges and tile tabs keep one width.
- System alert totals are about ten times faster.
- Country, device place and monitored rooms are chosen from a searchable list.
- Device codes fws, wap and pcs are accepted for device names and inventory numbers.
- Options ai.model, ai.pingmodel and ai.timeout set models and time limits of AI search.
planspur/password
- Admins set via access(admin), only they switch debug.
planspur/roompage
- A pin-locked panel runs no subpage, dialog, help or command until the pin is entered.
- Admins are set via access(admin); the log warns when the adminlist lets everyone in.
prodvx/touch
- Admins set via access(admin), only they switch debug and ready; open adminlist logged.
servicenow/starfield
- Admins set via access(admin), only they switch debug and ready; open adminlist logged.
zoom/room
- Admins set via access(admin), only they switch debug and ready; help lists the rights.
FIX
19 changes
microsoft/graph
- Connection no longer flaps when only one access type fails; both are shown apart.
- No short offline alarm at start while the second access type has not answered yet.
- Calendars with many meetings are read over all pages, none drops off the doorsign.
- An invalid delegation token is renewed at the first refusal.
- Mail keeps its sender after a restart during an outage instead of being dropped.
- A mailbox is listed once per project, further entries only as a sub-calendar.
- A failing calendar writes one error line instead of one per round.
- Query period of up to 14 days can be saved.
- Time of a running meeting in the dashboard list is readable again.
- Doorsign and dashboard without rights show a no-permission note, not a blank page.
- Stored documents are attached by the system only, no longer by an admin sending via Graph.
planspur/ai
- An answer that stalls halfway now ends at the time limit instead of hanging.
- Chat modal preselects the configured model instead of a fixed GPT-4o.
- The usage log deletes its entries after the 90-day retention period.
planspur/bma
- Outputs are released on event clear, ready no longer fires on restart; rewire projects.
- The clear signal notice now stays 5 s.
planspur/mms
- System picker in mailer and dashboard lists each system under its folder again.
- Devices deleted on a child system now also disappear from the parent system.
planspur/smtp
- Stored documents are attached by the system only, no longer by a user of the mailer.
NDPro 2.22.1
Changelog & Improvements
37 NEW
35 UPD
33 FIX
Release
Patch 110
12.10.2026
Platform
NDPro core, services, API, security and web interface — reaches every installation.
NEW
14 changes
core/service
- Services read devices of other services with name, label, room and live state.
- A service boots from an encrypted device file; a damaged one boots empty.
- Every service sees all user accounts of the system, refreshed on every change.
- Log viewer holds info lines, refreshes itself and downloads the selection.
- Users carry an optional contact mail address.
- Invitation mail sends a fresh temporary password; never to admin or device accounts.
- Test mail button in the system parameters.
core/api
- Every driver carries a manifest; its generic form and help page are built from it.
- A device is built from one config; long option lists are grouped into sections.
- A disabled device keeps its record and name; one driver may offer two roles.
- New PIN field in device forms: digits only, the form refuses anything else.
core/device
- Every driver can read the ping and connection state of its device.
core/worker
- System mail via a local mail service or the gatekeeper, framed in the MMS look.
core/help
- Actions with sub-commands show one row per call form with its own parameters.
UPD
11 changes
core/service
- OTP must be enrolled within 5 days instead of 14, else the account is locked.
- Usernames sys and all are refused; a user name may not be a group name.
- New usernames are checked against the characters the login accepts.
- A panel waiting for its roompage pin reaches no device until it is entered.
- SVG and JSON files are served compressed, about 70 % smaller.
core/security
- Session cookie is SameSite lax without embed domains; far fewer disk writes.
core/public
- A Subnet box carries a colour stripe: managed, live or foreign at a glance.
- Background images are about 90 % smaller at the same look.
- Read-only text without content no longer loads the editor.
core/help
- Action parameters are listed one per line.
clients/pinClient
- The PIN lock state is kept per user and survives a page reload.
FIX
11 changes
core/service
- Config files survive a crash or power loss while being written.
- A hanging service is reported and ended.
- Pushes to a group match whole group names only.
core/device
- A removed device is released; a network error no longer hits other devices.
core/security
- The WebSocket accepts connections from its own origin only.
- Login, OTP and password change are stored and rotate the session id.
- A logout sticks; a dead session is told to log out instead of reconnecting.
- Key and system config are written durably and survive a power loss.
- A wildcard embed domain is honoured, the embed keeps its connection.
core/views
- Labels, option lists and progress bars escape every value a device supplies.
clients/pinClient
- An action left at the keypad no longer runs at a later unlock.
Devices
Drivers and modules by vendor/model — matters where they run; devices/all hits every driver.
NEW
23 changes
barco/clickshare
crestron/airmedia3
- A key held by the preconfig is greyed in the modal and refused as an action.
biamp/tesira
- Logic Selector as a select, e.g. a partition wall with states 1-4.
cisco/roomkit
- Manifest added, Room Series codecs can be created in Subnet.
- Config presets are applied on every login and shown locked in the modal.
cisco/switch
extreme/switch
netgear/switch
gude/pdu
netio/pdu
surgex/pdu
crestron/nvx
syscomtec/crossxio
- Manifests for switches, PDUs, NVX and CrossXIO as encoder or decoder.
cisco/switch
extreme/switch
netgear/switch
gude/pdu
netio/pdu
surgex/pdu
proxmox/pve
planspur/password
- A PIN locks all but the card; 5 misses block 60 s, unlock window default 180 s.
crestron/tsx
- Boot settings grouped in the manifest, most of them also apply at runtime.
novastar/coex
- Manifest added, COEX can be created from the Subnet form, options only.
novastar/server
- Manifest added, the LED controller can be created from the Subnet form.
planspur/ai
- States connect, login and payment are separate; payment alerts on empty credit.
planspur/mms
- Generated services manage up to 2000 devices.
- A device names who may see it; a user account binds to a device itself.
- Templates hold driver values per driver and section; a device may override.
- Bulk editing reaches every device at once; a shared password stays hidden.
- Device category LED Wall groups LED controllers in Subnet and lists.
- Rooms can be renamed; events, room log, mailers, filters and devices keep their room.
- A parent system takes over room renames, deletions and comments of its child systems.
- A parent system adds internal comments to child rooms and devices; sent up, not down.
planspur/ping
- ICMP-only monitoring for an address that has no driver of its own.
planspur/roommode
- A PIN locks a room mode behind a keypad; the button runs once the PIN is right.
planspur/timer
- A pin in the timer data locks every change; it runs once the pin is right.
poly/videoos
- Codec and TC touch panel as two Subnet entries, each with only its own fields.
prodvx/touch
- LED list, screenshot, logcat and firmware update.
UPD
24 changes
devices/all
- All drivers close cleanly; a removed device gives its connections back.
- Drivers release login and session on connection loss and idle on ping loss.
barco/clickshare
- Config presets apply after login; flags, wakeup and readback fixed.
cisco/roomkit
- Command camera takes the camera id last, e.g. camera pan left 2; old form still works.
clevertouch/display
i3/display
iiyama/display
lg/display
nec/display
nec/projector
panasonic/display
panasonic/projector
philips/display
samsung/display
sony/display
sony/projector
vestel/display
- Cards offer a default input list until the driver sets its own.
crestron/airmedia3
- Every config key is a modal control; NTP servers split.
lightware/taurus
- Send queue, core watch; host name, network, NTP, time zone, EDID, HDCP.
microsoft/graph
- Also accepts the short SMTP send command; the sender may be its own mailbox.
netgear/switch
- Reworked with a manifest; a lost connection ends its session.
novastar/coex
- Options reach the device, so ping and repoll apply per device.
novastar/server
- Presets are bound to exactly one H2/H5 controller; binding is off by default.
planspur/ai
- Paid requests pause while credit is empty; the heartbeat resumes them.
- Chat modal names why a request failed: no credit, key rejected or offline.
planspur/mms
- Watchdog, dashboard, polls and saves run markedly faster.
- Folded message names every signal that is down: ping, connect and login.
- Aggregate logs are kept 180 days; statistics read only the last 12 weeks.
- Deleting a room also removes its events and room log.
- Rooms of other systems and ★ Server are read-only; only admins rename or delete.
- Room mail, seats, platform and room comment travel to the parent system.
planspur/roompage
- PIN login uses the same lock as the drivers; five misses block the panel for 60 s.
- Public pages load only the icons they use and leave out empty elements.
- Public pages: skip link, labelled submenu arrows, browser translation.
planspur/smtp
- Also accepts the Microsoft Graph send command; the sender may be its own mailbox.
poly/videoos
- Config presets for provisioning, region and web portal, driver defaults as placeholder.
FIX
22 changes
biamp/tesira
- Fader card with a height limit now scrolls and shows the scroll indicator.
cisco/roomkit
- SpeakerTrack select sent Off on every option; Auto now switches it on.
- Commands status and configuration accept numeric values instead of dropping them.
crestron/nvx
- The matrix status is listed in help and Subnet.
netgear/switch
barco/projector
- Ping, repoll and ready delays take effect now.
nextcloud/cloud
- An inline view without registration answers in its own place.
novastar/coex
- Unknown canvas is refused; colour temperature no longer reads brightness.
panasonic/projector
- Blank and freeze act on the key the card reads.
planspur/mms
- Driver flags are stored on save; a deleted device drops its monitoring rows.
- A paused device no longer reports its alerts to AI answers and printouts.
- Statistics modal and PDF read the right file again.
- Damaged device files are detected and rebuilt.
- Cleanup, update check and opening or deleting a room no longer slow the system.
- A parent system can no longer create assets in another system's rooms.
- Device form shows — nc — for a select without default.
planspur/roommode
- Unusual command names no longer cause an error.
planspur/roompage
- iOS scrolling no longer blanks the cards.
planspur/timer
- Unusual names or an unknown timer no longer cause an error.
poly/videoos
- Camera mute is read back from the codec instead of only set by action.
- Enabled flag accepts 1 and True.
samsung/display
- Inputs are keyed by name; the modal no longer offers HDMI1 twice.
syscomtec/crossxio
- The matrix status is listed in help and Subnet.
No release note matches.