This is not a patch. This is the platform they should have shipped five years ago, and the migration pain that comes with it is real. Let me walk you through what matters, what’s changing, and whether you should upgrade now or wait.
The Things That Will Break Your Upgrade
Before we get to the shiny new features, let’s talk about the stuff that will bite you if you don’t plan for it.
gRPC Kills DCOM and WCF
This is the headline change and the one with the biggest infrastructure impact. IDE-to-Galaxy Repository communication moves from DCOM to secure gRPC. Client-to-service communication (IDE, OMI, Object Viewer, OPC UA, MQTT talking to IData and IBrowse services) moves from WCF to secure gRPC.
What this means for you: DCOM configuration hell is over. That’s genuinely good news — DCOM permissions have been the source of countless “why can’t I connect” support cases. But you need to verify that your firewall rules and network policies allow gRPC traffic. If you’ve got a locked-down network segment between your IDE workstations and the GR server, expect to spend time with the network team.
StringCompareEncrypted() Is Dead
Not deprecated. Not “logs a warning.” It returns 0 and does nothing at runtime. If you have InTouch applications using this function for password validation, they will silently stop working the moment you upgrade. Find every usage before you touch the upgrade button.
Manual Credentials: Phase 2
You can no longer add or edit manual username/password configurations. Existing ones keep working — your current systems won’t break — but anything new or updated must use Named Credentials. Phase 3 (the release after this one) removes them entirely, with automatic conversion during upgrade.
The affected controls are extensive: TrendClient, SQLDataGrid, Distributed name manager history provider, Alarm Controls, Alarm Pareto, Alarm DB View Control, Embedded Alarm Control, Alarm Utilities, Alarm DB Logger Manager, Alarm DB Restore, Alarm DB Purge-Archive. If your project has manual credentials scattered across a dozen Alarm DB controls, start the migration to Named Credentials now. You do not want to be doing this under deadline pressure when Phase 3 drops.
InTouch Access Anywhere: Gone
Removed from the installation media entirely, for security reasons. If you’re using this for remote web access, you need an alternative. OMI Web Client is the official direction — and honestly, with the RBAC and independent licensing model in this release, it’s a reasonable replacement.
Restricted DLL Loading: On by Default
The registry key EnableRestrictedDllLoading under HKLM\SOFTWARE\AVEVA\SystemPlatform\Security now defaults to 1. This affects DLL loading behavior across Application Server, custom AOT objects, custom script libraries, IDE extensions, GRAccess programs, and InTouch HMI. Test this in a non-production environment before upgrading production.
Application Server: The IDE Gets Usable
Application Server 2026 brings roughly 30 improvements, and for once they’re not just under-the-hood plumbing. Several of them directly address the daily frustrations of working with large Galaxies.
The IDE improvements I’m most excited about:
-
Status-based filtering in the tree view — filter by Validation, Editing, or Deployment status. If you work with Galaxies that have thousands of objects, this alone might justify the upgrade. Finding “what’s not deployed” without manually checking every branch has been a pain point for years.
-
Deployment View engine status indicators — visual load indication across engines. No more guessing which engine is overloaded.
-
Right-click to access parent template — small thing, but it saves you from switching to Derivation View constantly.
-
Validation no longer increments version numbers — this sounds trivial until you realize how many unnecessary version bumps accumulated from validation-only checks. Your version history just got a lot cleaner.
-
Industrial Graphics XML bulk import/export — finally supports Git version control and MTP workflows. If you’re doing industrial graphics at scale, this changes your development workflow.
Runtime changes worth noting:
-
Description attribute write support restored at runtime (InternationalizedString). This was apparently lost at some point and people noticed.
-
Alarm time deadband split into On-Delay and Off-Delay — aligns with ANSI/ISA-18.2-2009. If you’ve been working around the single deadband value, you can now model alarm behavior more precisely.
-
Fifth implicit severity state added to Galaxy style — for those who need the full ISA severity spectrum.
Security posture:
The platform now runs with minimum privileges and integrity levels by default. It supports intermittent connections — if AVEVA Connect drops, you fall back to local authentication. User switching via AVEVA ID no longer requires restarting IDE and Platform Manager.
Known issues: Two to watch. ReadAsync requests can timeout with large numbers of unresolved references in the Galaxy (adjust ReadRequestTimeout from 20 to 30). And Microsoft Defender scanning DLLs can cause the IDE Configure Services window to lag on first expansion — add Common Files\ArchestrA\Services to your Defender exclusions.
OMI: The Desktop Gets Mature, the Web Gets Reborn
OMI Desktop (~55 Bug Fixes, Significant New Features)
OMI desktop in 2026 feels like it’s growing up. The new features aren’t just features — they’re the kind of things you need for production deployments.
-
PWA support — install ViewApp as a Progressive Web App with pre-downloaded content. First-launch speed improves noticeably. If your operators have been complaining about slow ViewApp startup, this helps.
-
GetAccessToken() — fetches OAuth tokens from Entra ID (Azure AD) directly from script. This is going to enable a lot of integration scenarios that previously required external tools.
-
Server-side scripting with Python — including autocomplete in the Industrial Namespace editor. Python on the server side is a significant capability expansion.
-
Blazor-based MapApp — replaces the old Google Maps approach with an interactive geo map built on Blazor.
-
WebView2 browser engine — the old browser engine is gone. WebView2 is the modern standard and brings better rendering and security.
-
128-character object names — UDOs, graphics, Layouts, Screen Profiles, etc. The old limit was painfully restrictive for anything beyond trivial naming.
-
Multi Pens Trend — multiple pen trends in ViewApp. People have been asking for this.
-
EmbedContent script function — embed graphics into existing graphics at runtime. Dynamic composition without reopening windows.
-
SetCustomPropertyValue() with compound expressions — build reference paths dynamically at runtime.
-
ShowGraphic() now supports Layouts — scripts can open Layouts, not just graphics.
The bug fix list is long and covers the usual suspects: GraphicRepeater multi-image display, DataGrid filter issues, popup graphics, Custom Alarm App query loss, NullReferenceException crashes, large symbol loading delays, Content Presenter CPU usage, WAN disconnect recovery, ViewApp not refreshing after deployment.
My take: The PWA support and server-side Python are the strategic pieces. The rest is OMI maturing into the platform AVEVA always intended it to be.
OMI Web Client: Ground-Up Rewrite
This is the biggest OMI Web change since the product launched. The web client has been completely rebuilt on a common web framework shared with the desktop client.
What’s new:
-
RBAC (Role-Based Access Control) — two new security groups:
AVEVA web RW usersandAVEVA web RO users. Three roles: Read, Write, License Viewer. This is a real access control model, not the honor system. -
Access Level security enforcement — the web client now actually enforces access levels, matching desktop behavior.
-
Smoothing property — anti-aliasing for graphics, enabled by default. The web client finally doesn’t look like it’s rendering through a screen door.
-
Server Settings plugin — configure site name, title, and icons. Basic branding, but it matters for customer deployments.
-
License Usage Monitor — real-time visibility into web client license consumption.
-
New licensing model — web client licenses are now separate from desktop licenses. Without a license, one free R/W session is allowed (Galaxy data writes limited to 2 hours). There’s a 14-day grace period.
Known issues: Four items. The cascade deployment failure without SMS (carried forward from P04), truth table Fill Style animations not updating during rolling upgrades (restart OMI View on remote nodes to fix), Alarm Manager log messages continuing after web client close (cosmetic), and application exit events potentially not being logged when users get the Reopen dialog after a new deployment.
My take: The rewrite was necessary. The old web client was a second-class citizen — limited functionality, different behavior from desktop, no real security model. The new one closes the gap significantly. The separate licensing model will generate complaints, but the free session fallback and grace period soften the blow. The RBAC implementation is what makes this release genuinely production-ready for web access.
InTouch HMI 2026: Non-Admin Development and UDT Scripts
InTouch 2026 (v26.0.000) has two features that will change how teams work, plus a pile of fixes that address real production pain.
Non-Admin Development
Application Manager, WindowMaker, and WindowViewer core features no longer require Windows Administrator privileges. This has been requested for years. The security implications of giving every developer and operator admin access have been obvious — AVEVA finally addressed it.
UDT Scripts in C# and Python
You can now add scripts as UDT members, defined once and reused across all instances. C# and Python are both supported. This is a significant capability expansion for anyone building complex UDTs — the logic lives with the definition, not scattered across instances.
Other New Features
-
Dual Historian support — Multi Pens Trend and TrendPen automatically fetch from the partner node when the primary Historian is down. If you run redundant Historians, this is seamless failover for trend data.
-
Batch Smart Symbols to Industrial Graphics conversion — convert all windows in an application at once. If you’re still on Smart Symbols, this accelerates migration.
-
Industrial Graphics XML import/export — matches the Application Server capability.
-
me.Tagname / me.HierarchicalName / me.ContainedName — reference UDT instance names directly in Industrial Graphics. Cleaner than hardcoding tag paths.
-
WindowViewer “Use datasource timestamp” option — alarms use the data source timestamp instead of local time. Important for distributed systems where clock skew matters.
-
Create UDTs and alarm groups from OPC UA items — useful for greenfield OPC UA projects.
-
Connected Experience enhancements — offline fallback authentication, GetOnPremisesIdentity() and GetFallbackExpiry() script functions, signed alarm operations require CONNECT authentication.
-
WindowMaker Backstage GUI — simplified user and access level configuration.
-
SQLDataGrid ColumnWidth property — finally.
-
Web Client rebuilt — same common web framework as OMI Web, with RBAC and independent licensing.
-
Application folder security by default — “Limit access” option enabled by default.
-
WindowViewer service account tightened — removed from Administrators group, added to ASBSolution, ArchestrAWebHosting, aaRuntimeUsers groups.
Bug Fixes (~20 Issues)
Highlights: RDS environment CPU core allocation, Alarm Hot Backup queries, application unresponsiveness when GR node is down, WindowMaker focus loss, NAD client notifications, SQL DataGrid timestamp writes, UDT attribute anomalies, alarm timestamp timezone issues, Trend control failure when LGH files exceed 2 GB, view.exe CPU hitting 100%.
Known Issues
About a dozen items, including the Alarm Manager log continuation issue (shared with OMI), Insight Publisher alarm inclusion not working (use standalone tool), and several carried-forward legacy issues.
My take: Non-admin development and UDT scripts are the headliners, but the Dual Historian support is the feature that will save someone’s production monitoring during a failover event. The batch Smart Symbols conversion is a quality-of-life improvement for anyone still planning their Industrial Graphics migration.
Historian Server 2026: Quiet but Thorough
Historian Server doesn’t have the architectural fireworks of Application Server or OMI, but it’s a solid release with meaningful improvements.
Key changes:
-
Silent install supports TLS 1.3 — about time.
-
CONNECT authentication faster and more reliable — reduces login latency.
-
RSSO (Redundant SSO) as fallback mode — resilience improvement.
-
HCAP architecture updated to gRPC (TCP port 32565) — consistent with the platform-wide gRPC migration. During rolling upgrades, un-upgraded nodes can’t retrieve historical data. You can temporarily fall back by starting the
AVEVA Historian Client Access Point (Classic)service. -
Client Web Modern upgraded to .NET 10 — performance and security.
-
Browse content page updated to Insight style — UI consistency.
-
Search engine replaced: Elastic out, Lucent in — this is a backend change that shouldn’t affect users but simplifies the dependency stack.
-
OleDB upgraded to 19.4.1
~35 resolved issues covering SQL Server memory consumption, Insight Publisher publishing, Auto Summary stalling, timezone display errors, Client Web security vulnerabilities, IDAS password editing, tag import MaxEu incrementing, ConfigStatusPending table overflow, average query failures, StringHistory query inaccuracy, UOM conversion, Backfill stalling, PublicNameSpace table growth, query performance, Client Web aggregation types, failover historization, TCP port exhaustion causing license loss, and post-migration service anomalies.
Known issues: None. That’s notable for a major release.
My take: The TCP port exhaustion fix is the quiet hero here. It only manifests under sustained load when ports run out and the Historian loses its license — the kind of issue that causes 3 AM pages. If you’ve ever had unexplained Historian licensing failures, this was probably your culprit.
Historian Client 2026: Incremental but Useful
-
Trend Data Log enhanced — improved capture, recording, and access for trend data.
-
Entitlement access improvements — more reliable permission control.
-
Enhanced SSO support — especially for CONNECT-integrated environments.
-
.NET framework independently updatable — decoupled from application updates, matching the platform-wide .NET decoupling.
~25 resolved issues including discrete value display in Query, Trend and Query hanging for 5+ minutes, German localization combo box swap, alarm variable highlighting, Live Tables queries, script timeouts, .NET exceptions, Time Axis button behavior, tag limits, Trend Limit lines, aaTrend resizing, ValueAxisLabel saving, alarm condition display, event tags, search filter clipboard issues, Expression pane auto-opening, refresh button, alarm acknowledgement icon, connection issues, Wide format queries, cursor value changes, dual Historian switching, alarm layout, ComputeMovingAverages errors, and Data Log Wide Format.
One known issue: Can’t import aaHistClientTrendControl into Visual Studio Toolbox — workaround involves manually copying a DLL to a specific VS folder.
Communication Drivers Pack 2026: MQTT Gets Modern
The Communication Drivers Pack update is headlined by MQTT, but there are useful improvements across the board.
New features:
-
MQTT driver: Sparkplug 3.0 and MQTT 5.0 support — if you’re building IIoT architectures, this is table stakes in 2026.
-
Automatic MQTT version detection when configuring the broker — less manual configuration.
-
New UNS Publisher — publish data in customized JSON or string format. Flexible output formatting without external transformation.
-
MQTT Subscriber: Message Reordering Window and MQTT Listener mode — better handling of out-of-order messages.
-
Gateway driver: ‘Server Node’ field removed from OPC UA server configuration faceplate — cleanup.
-
SNMP driver: AES encryption by default — security improvement.
-
WEBSVC driver: POST/PUT operations can be poked at runtime — parameters form the payload dynamically.
~10 resolved issues across Core (upgrade error, SuiteLink reconnection delay), ABCIP (deadlock), Gateway (MQTT retain flag), MBTCP (PLC connection restoration), MELSEC (data conversion crash), MQTT (redundant value posting, missing ONLINE message), SIDirect (catastrophic failure on large pokes), SOMAC (ENUM variables showing BAD), TI500 (decimal point display), and WEBSVC (JWT token recreation).
Two known issues: MQTT Publisher can lose data under heavy Application Server load (internal queue limit of 4 values per tag — monitor your processing latency). And upgrading from 2023 R2 SP1 series resets Communication Driver configuration sets to default — right-click Configuration node and use “Use Another Configuration Set” to restore.
My take: The MQTT 5.0 and Sparkplug 3.0 support positions AVEVA properly for modern IIoT deployments. The WEBSVC runtime poke capability is a nice quality-of-life improvement for anyone integrating with REST APIs.
Platform-Level Known Issues
Three items that affect the platform as a whole:
-
4716390 — License Server 4.0/4.0.1/4.1 coexisting with AVEVA Enterprise Licensing 4.2 can cause configuration delays (~2 minutes) or first-attempt failures. Fix: Configure security communication for License Server first, or upgrade License Server and License Manager.
-
4868139 — Air-gapped environment installation takes excessively long because Microsoft Defender does cloud queries on every unknown file with timeout waits. Fix: Add
C:\Windows\Installerto Defender exclusions before installing. -
4931041 — After installing SP2026, Recipe Management 2023 R2’s RMPEventSvc service may fail to start. Fix: Modify
aaEventsEventService.aaSDEFfile to add<LaunchAssembly>attribute, then restart.
The .NET Independent Upgrade Story
This deserves its own section because it’s a strategic shift. The platform now supports .NET roll-forward — you can upgrade the .NET runtime independently of product releases, through delta deployment or at most one restart.
Why this matters: .NET version lifecycles are accelerating. .NET 8 reaches end of support, .NET 10 is the current target, and the cadence isn’t slowing down. Previously, you had to wait for the next AVEVA release to get a .NET upgrade. Now you can respond to security advisories and EOL dates on your own schedule. This is the kind of change that doesn’t make headlines but saves real operational headaches.
The Online Help Disappearance
AVEVA Help Viewer is no longer installed. Context-sensitive help now opens docs.aveva.com directly. If you’re offline, you get a QR code to scan with your phone.
PDF documentation is still available on the installation media and installs locally. So you’re not completely cut off — but the expectation is clearly that you’ll be online. For air-gapped environments, make sure you grab those PDFs during installation.
Should You Upgrade?
Upgrade now if:
-
You want DCOM out of your infrastructure. The gRPC migration eliminates years of DCOM configuration pain, and the longer you wait, the more migration work accumulates.
-
You need Non-Admin development environments — the security implications of admin-everywhere have been obvious for years.
-
You’re planning IIoT with MQTT 5.0 / Sparkplug 3.0.
-
You need OMI Web RBAC and proper access control for web clients.
-
You’re still on Smart Symbols and want to batch-convert to Industrial Graphics.
-
You’re affected by the Historian TCP port exhaustion bug, the Application Server memory leaks, or the OMI performance issues fixed in this release.
-
You want to start testing the credential deprecation impact in a controlled environment before Phase 3 forces your hand.
You can wait if:
-
You’re on 2023 R2 SP1 P04 with a stable system and none of the new features are critical for your operations.
-
You have extensive manual credential configurations that haven’t started migrating to Named Credentials yet — get that migration underway first.
-
You depend on InTouch Access Anywhere and haven’t validated OMI Web Client as a replacement.
-
Your custom DLLs, AOT objects, or script libraries haven’t been tested with restricted DLL loading enabled.
-
You’re in a tight change window and the architectural changes require more planning than you can accommodate right now.
Upgrade checklist:
-
Audit gRPC network requirements — verify firewall rules and network policies allow gRPC traffic between all nodes
-
Find every StringCompareEncrypted() usage — it stops working immediately on upgrade
-
Audit manual credentials — start migrating to Named Credentials; you can’t add or edit them anymore
-
Confirm InTouch Access Anywhere replacement — validate OMI Web Client covers your remote access needs
-
Test restricted DLL loading — default enabled, affects custom components
-
Plan Historian migration — CDS replication deprecated (move to Historian Agent), HCAP now gRPC (rolling upgrade impact), Client Web Classic deprecated
-
Add Defender exclusions —
C:\Windows\Installerfor air-gapped installs,Common Files\ArchestrA\Servicesfor IDE performance -
Upgrade License Server first — if doing a rolling upgrade, License Server and License Manager go first
-
Back up Galaxy and Historian databases — standard procedure, but worth saying explicitly for a major release
The Bottom Line
System Platform 2026 is the release where AVEVA finally makes the architectural changes the platform has needed for years. gRPC replacing DCOM is the one everyone will notice — it eliminates a category of problems that has existed since the product launched. The .NET decoupling is the strategic change that pays dividends for years. The OMI Web rewrite with RBAC makes web access a first-class citizen instead of an afterthought.
The cost is real, though. The breaking changes — StringCompareEncrypted() death, manual credential Phase 2, InTouch Access Anywhere removal, restricted DLL loading default — all require planning and testing. This is not a “click install and go” upgrade. It’s a “plan the migration, test in staging, then upgrade production” kind of release.