# My upgrading experience to 8.3

**URL:** <https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688>\
**Category:** Ignition 8.3 Early Access\
**Created:** [September 17, 2025, 7:24am UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688 "2025-09-17T07:24:56Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [September 17, 2025, 7:24am UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/1 "2025-09-17T07:24:56Z")

</div>

So far so good. We only ran into the following issues:

- **/platform/security/settings – ROLES & PERMISSIONS** were not migrated correctly. All roles ended up set to _Administrator_.

- Some specific JDBC drivers were not migrated properly, for example the Denodo JDBC Drivers. This caused the error:  
`java.sql.SQLException: Cannot create PoolableConnectionFactory (isValid() returned false)`

- The MySQL driver is marked as _unhealthy_, which is odd since it comes bundled with Ignition — though we don’t actually use it.

- TTS Voice - es\_sara was not migrated correctly.

```python
com.inductiveautomation.ignition.common.modules.ModuleLoadException: Module "TTS Voice - es_sara" requires Ignition 8.0.0 (b0) and is not compatible with Ignition 8.3.0 (b2025091510)

```

- The license migration was tricky yesterday, but after testing with another license today it seems to be resolved.

---

<div class="post-metadata">

**Author:** ![Daniel\_Kearney](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/daniel_kearney/32/79526_2.png) [@Daniel\_Kearney](https://forum.inductiveautomation.com/u/Daniel_Kearney)\
**Post date:** [September 17, 2025, 10:26am UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/2 "2025-09-17T10:26:08Z")

</div>

Regarding the first bullet, could you share any extra details about your pre-migration user source config?

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [September 17, 2025, 12:31pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/3 "2025-09-17T12:31:09Z")

</div>

Sure. I have the following security level tree:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/c/4cccfe3f984d46ddec7da634a7c11a38cf33a053.png)

Only administrators was checked after migration (from 8.1.latest)

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [September 17, 2025, 1:17pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/4 "2025-09-17T13:17:10Z")

</div>

I was reading the migration guide last night and maybe I'm not remembering correctly, but I thought this was a known thing that gateway security is reset and not migrated, unless it's a different part it was talking about.

Edit: maybe not the same thing

> 8.3 Gateway webpages now operate on a required role basis. Certain pages and actions will not be available if a user is not signed in, or does not have the correct roles or permissions. Additionally, permissions granted in 8.1 will not automatically roll over into 8.3, and must be reassigned.

---

<div class="post-metadata">

**Author:** ![kpeterson](https://avatars.discourse-cdn.com/v4/letter/k/e95f7d/32.png) [@kpeterson](https://forum.inductiveautomation.com/u/kpeterson)\
**Post date:** [September 17, 2025, 1:23pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/5 "2025-09-17T13:23:31Z")

</div>

> [@diamond](#):
>
> The MySQL driver is marked as _unhealthy_,

If you hover over the `unhealthy` status, does it share an error? Like `Cannot load JDBC driver class 'com.mysql.jdbc.Driver'` or something similar?

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [September 17, 2025, 1:32pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/6 "2025-09-17T13:32:00Z")

</div>

Here it’s saying unhealthy with no message on hover:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/d/0d407a39e865d066d3f22b806d0ffe40af0e3016.png)

Here it’s looking ok:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/8/c896cfdd05500cea5055305d58e4191931107d08.png)

---

<div class="post-metadata">

**Author:** ![kpeterson](https://avatars.discourse-cdn.com/v4/letter/k/e95f7d/32.png) [@kpeterson](https://forum.inductiveautomation.com/u/kpeterson)\
**Post date:** [September 17, 2025, 3:00pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/7 "2025-09-17T15:00:51Z")

</div>

This might sound a bit odd – but could you try editing the MySQL JDBC Driver and edit something trivial – like adding a space or character to the `URL Instructions`and see if that pops the MySQL connection back to healthy? I was chasing an odd `Cannot load JDBC driver class 'com.mysql.jdbc.Driver` error after upgrade that I haven’t recreated and re-saving the JDBC Driver “fixed” it at the time.

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [September 17, 2025, 3:18pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/8 "2025-09-17T15:18:36Z")

</div>

I tried with no change.

---

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [September 17, 2025, 3:20pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/9 "2025-09-17T15:20:48Z")

</div>

> [@diamond](#):
>
> - Some specific JDBC drivers were not migrated properly, for example the Denodo JDBC Drivers.

Is there a way to check the database logs to see if there is any indication on what is going on? There are multiple things that could be problematic and we are going to have to try and narrow it down. Some of the possibilities:

1. The JDBC driver didn't get migrated properly: This probably isn't the case, but it should exist in the `<ignition root>/data/config/resources/core/ignition/database-driver/<driver name>` directory.
2. The JDBC driver could be incompatible with the version of JAVA included with Ignition: This is unlikely, as both 8.1 and 8.3 are using Java 17, but if you are coming from an older version of Ignition 8.1 it is something to consider.
3. The settings themselves are not migrating completely: It might be worth trying to configure the connection as you would expect it to work in 8.3 and see if the behavior changes. If you do this, having a before and after of the `<ignition root>/data/config/resources/core/ignition/database-connection/<connection name>/config.json` would be beneficial. Especially if it fixes things
4. There is a known issue where if a password is not set, the username isn't provided when attempting a connection. If your connection does not require a password, set the Password field to `Embedded` and leave it blank.

> [@diamond](#):
>
> - The MySQL driver is marked as _unhealthy_, which is odd since it comes bundled with Ignition — though we don’t actually use it.

This is to be expected. Due to licensing issues with including JDBC drivers with the application, the MySQL and Oracle modules will be flagged as `UNHEALTHY` because they are not complete. We include everything else needed for a connection to be defined. It isn't something we find ideal, it gets flagged with global validation checks

> [@diamond](#):
>
> - TTS Voice - es\_sara was not migrated correctly.

There are new modules for voices that are compiled for 8.3 that can be downloaded from [here](https://support.inductiveautomation.com/hc/en-us/articles/360047599091-Voice-Notification-Downloads-for-Ignition-7-X-8-0-8-1-X).

---

<div class="post-metadata">

**Author:** ![kpeterson](https://avatars.discourse-cdn.com/v4/letter/k/e95f7d/32.png) [@kpeterson](https://forum.inductiveautomation.com/u/kpeterson)\
**Post date:** [September 17, 2025, 6:20pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/10 "2025-09-17T18:20:32Z")

</div>

Thanks for the screenshot – I’m afraid I’m going to ask more questions as I’m able to upgrade with custom roles on my side so far so I’m guessing I’m missing a pre-upgrade config difference to recreate.

Just to make sure I’m on the right page:

- It sounds like you upgraded from 8.1.49 (8.1 latest?).

- You are referring to the Roles & Permissions on the General Settings page under Security (assuming that’s what you meant by /platform/security/settings - the url path) – ex. Gateway Write/Read/Access Permissions

- From the screenshot, you have a custom security level of “Management” with at least 3 roles under that, including Administrators.

All the roles on the General Security page were incorrectly set to only Administrators?

Was the Administrators level still listed under Management or under the Roles level?

Is your `Designer Authentication Mode` set to Classic or IdP? Did those migrate correctly?

Was `Create Project Perm` set to a non-Public user and then assigned Administrator after the migration?

Do you feel comfortable sharing your Identity Provider type? Internal, OpenID, SAML?

Do you feel comfortable sharing your user source type?

In the wrapper.log, do you have any errors in the section that starts logging messages from MigrationLog? Regular logging might look like

`I [c.i.i.g.c.m.MigrationLog] [11:29:50.826]: Migrated table(s) [SECURITY_LEVELS] in 57ms`

`I [c.i.i.g.c.m.MigrationLog] [11:29:51.065]: Migrated table(s) [securityZones, SecuredEntityPolicy, SecuredEntityZonePolicy] in 23ms`

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [September 18, 2025, 1:34pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/11 "2025-09-18T13:34:23Z")

</div>

> [@ggross](#):
>
> Is there a way to check the database logs to see if there is any indication on what is going on?

I requested the logs and will provide an update once I have more information. I also tested changing the password, and the error now shows as “incorrect password,” so it’s definitely not related to the driver. I’m using the latest version, which worked fine in 8.1.48. I even overwrote the driver, but without success.

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [September 18, 2025, 2:00pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/12 "2025-09-18T14:00:56Z")

</div>

> [@kpeterson](#):
>
> Just to make sure I’m on the right page

Everything correct but 8.1.48

> [@kpeterson](#):
>
> All the roles on the General Security page were incorrectly set to only Administrators?

I am not sure but probably. What I am sure is that “Developers“ which where allowed to see logs in 8.1, in 8.3 they could not see the logs but where authorized to login into the gateway.

> [@kpeterson](#):
>
> Was the Administrators level still listed under Management or under the Roles level?

Under management

> [@kpeterson](#):
>
> Is your `Designer Authentication Mode` set to Classic or IdP? Did those migrate correctly?

IdP. Yes.

> [@kpeterson](#):
>
> Was `Create Project Perm` set to a non-Public user and then assigned Administrator after the migration?

I don’t remember.

> [@kpeterson](#):
>
> Do you feel comfortable sharing your Identity Provider type? Internal, OpenID, SAML?
> 
> Do you feel comfortable sharing your user source type?

Internal.

> [@kpeterson](#):
>
> In the wrapper.log, do you have any errors in the section that starts logging messages from MigrationLog?

It haven’t seen any related errors.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/9/a9ddcbe56d8d52d5a0033080e353ae35c2d25bce.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/a/aae2c0140eda298b2988c8f26bd042c63ead5093.png)

---

<div class="post-metadata">

**Author:** ![kpeterson](https://avatars.discourse-cdn.com/v4/letter/k/e95f7d/32.png) [@kpeterson](https://forum.inductiveautomation.com/u/kpeterson)\
**Post date:** [September 18, 2025, 6:12pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/13 "2025-09-18T18:12:06Z")

</div>

Thank you for answering my many questions, it was very helpful!

Reviewing this detail -- `"Developers" which where allowed to see logs in 8.1, in 8.3 they could not see the logs but where authorized to login into the gateway.` -- I wonder if in 8.1, Administrators and Developers were assigned to `Status Page Permissions`? With Administrators assigned to `Gateway Config Permissions`?

If this was the case, then after the upgrade, Administrators would be assigned to the new `Gateway Write and Read Permissions`. Due to the new webUI layout, the `Status Page Permissions` setting is no longer in 8.3 and you would not see the Developers level selected in the `Roles & Permissions`. `Home Page Permissions` migrated to `Gateway Access Permissions` and if this perm was left as its default setting of Public, you would be able to log into the Gateway with a Developers user, but be limited to seeing the Home section of the WebUI.

Info on 8.3 Roles/Perms: [https://docs.inductiveautomation.com/docs/8.3/platform/security/gateway-general-security-settings#roles-and-permissions](https://docs.inductiveautomation.com/docs/8.3/platform/security/gateway-general-security-settings#roles-and-permissions) -- Update security tips (this is the info Michael referenced earlier in the thread) - [https://docs.inductiveautomation.com/docs/8.3/getting-started/installing-and-upgrading/ignition-8-upgrade-guide/81to83-upgrade-guide#gateway-security](https://docs.inductiveautomation.com/docs/8.3/getting-started/installing-and-upgrading/ignition-8-upgrade-guide/81to83-upgrade-guide#gateway-security)

In this case, you could consider setting Developers to the `Gateway Read Permissions` setting to allow them to view the logs, but the `Read` permission gives read access to the general WebUI which would include configuration information, giving them different access than in 8.1.

I am working on updating the New in this Version section for the Roles/Perms changes -- [https://docs.inductiveautomation.com/docs/8.3/new-in-this-version#security](https://docs.inductiveautomation.com/docs/8.3/new-in-this-version#security)

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [September 19, 2025, 8:04am UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/14 "2025-09-19T08:04:21Z")

</div>

> [@kpeterson](#):
>
> I wonder if in 8.1, Administrators and Developers were assigned to `Status Page Permissions`? With Administrators assigned to `Gateway Config Permissions`?

Correct.

> [@kpeterson](#):
>
> In this case, you could consider setting Developers to the `Gateway Read Permissions` setting to allow them to view the logs, but the `Read` permission gives read access to the general WebUI which would include configuration information, giving them different access than in 8.1.

Yes, that’s the new scenario now. Personally, I don’t see an issue with developers having visibility into the configuration, but others might feel differently.

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [September 26, 2025, 8:06am UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/15 "2025-09-26T08:06:27Z")

</div>

> [@ggross](#):
>
> Is there a way to check the database logs to see if there is any indication on what is going on? There are multiple things that could be problematic and we are going to have to try and narrow it down.

Hello,

I’ve just installed a fresh 8.1.49 gateway, and the Denodo connection was established without any issues using the same drivers (`denodo-vdp-jdbcdriver-9.3.0.jar`). We also checked on the Denodo side and found no entries in the `vdp.log` file. It seems the issue is on the Ignition side.

Regards

---

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [September 26, 2025, 8:53pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/16 "2025-09-26T20:53:29Z")

</div>

> [@diamond](#):
>
> It seems the issue is on the Ignition side.

While it might be on the Ignition side, we need your help in identifying what is currently causing the problem. I have no experience with Denodo, but leveraged their Express version via a Docker container and didn't have a problem during upgrade leveraging the `denodo-vdp-jdbcdriver-9.3.1.jar` file (latest on their website). There is something more than the basic connection being upgraded going on. I would request contacting support so they can understand the full use case.

Garth

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [October 3, 2025, 8:25am UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/17 "2025-10-03T08:25:50Z")

</div>

Fixed in yesterdays nightly build:

> **IGN-14368: Validation query is not supplied to DBCP for initial creation**  
> Fixed an issue where the configured validation query was not always being used to validate database connections upon creation.

Thanks!

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [November 5, 2025, 11:16am UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/18 "2025-11-05T11:16:49Z")

</div>

I have detected another minor bug:

When you importing a security level file, it does not detect it as a change, preventing you from saving.

---

<div class="post-metadata">

**Author:** ![avaughn](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/avaughn/32/38972_2.png) [@avaughn](https://forum.inductiveautomation.com/u/avaughn)\
**Post date:** [November 5, 2025, 3:31pm UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/19 "2025-11-05T15:31:47Z")

</div>

Looks like that was reported previously and the fix will be in 8.3.2

> [@Nightly 8.3 Changelogs - 2025](https://forum.inductiveautomation.com/t/nightly-8-3-changelogs-2025/110889/17#p-415502-web-ui-4):
>
> Nightly Changelog: 8.3.2\*-b20251013 Security Security IGN-14128: Unable to Duplicate Default System-Level Resources on Gateway (8.3.0-rc1) Fixed duplicate modal action for Immutable resources to correctly allow for duplicating into mutable resource definitions Web UI Web UI IGN-13743: Can't save after importing Security Levels config Fixed bug that prevented users from saving the Security Levels config upon importing a file without manually editing the form first IGN-14379: Re-Query navigat…

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [November 19, 2025, 10:26am UTC](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688/20 "2025-11-19T10:26:33Z")

</div>

After a couple of months of use, one complaint I’ve received is about the `/app/connections/devices` table.

View-only users cannot see key connection details such as the IP address, Port, Device Type, Rack, and Slot. As a workaround, we’ve been copying those fields into the description field. However, this column is hidden by default, which makes the workaround inconvenient.

It would be very helpful to add these columns directly to the table and have them visible by default, or at least allow the layout to be cached.

[Next page](https://forum.inductiveautomation.com/t/my-upgrading-experience-to-8-3/110688.md?page=2)
