Jmix 1.x upgrade to mysql 8.4 fails due to audit plugin (without using audit plugin)

I have a jmix 1.5.5 project. It will be upgraded to Jmix 2 so kept at this version for now.

This initially was a cuba project and was migrated to jmix a couple of years ago.

Because mysql 8 is end-of-life it will no longer be supported on AWS, unless you pay for extra support which is an additional (expensive) cost.

I tried to upgrade to mysql 8.4.7 and let Jmix recreate all tables. I run into the same issue as described here

Audit addon not supported on MySql 8.4 - Support - Jmix
MySQL 8.4 Errors with Audit add-on - Support - Jmix

The weird thing is, I don’t have the audit add-on installed. It seems to be a transitive dependency coming in via

implementation "io.jmix.cuba:jmix-cuba-starter

Is this due to the initial cuba migration? I seem to remember normal jmix 1.x projects don’t have this dependency.

In my liquibase changelog there is a reference to the audit changelog.
Perhaps removing this reference is another option. It would be a bit weird, considering all related code such as entities would still be there.
image

in attachment the output of gradle depencies

What is the recommended approach?

deps.txt (555.8 KB)

Hi Tom,

You are right, jmix-cuba module transitively includes jmix-audit.

The recommended approach is to stay on MySQL 8.0 until Cannot use Audit add-on with MySQL 8.4+ · Issue #4896 · jmix-framework/jmix · GitHub is fixed. We’ll do our best to accomplish it before July 31, 2026 when MySQL 8.0 goes end of life on AWS.

Regards,
Konstantin

@krivopustov just to be 100% sure. This fix will also be applied on jmix 1.5?

No, 100% only to 3.x.
Potentially also to active LTS versions: 1.7 and 2.7, but it will depend on whether the solution can be integrated without major incompatibilities.

@krivopustov
We are still on 1.5.5 because we are planning to migrate to jmix 2 (one day :roll_eyes:)

So, going back to my original question, do you see any issues if I strip out the cuba platform starter?

I started a new empty 1.5 project and see it is not there.
I’m trying to remove the dependency. It means changing quite some code to change but the mysql upgrade is considered a serious risk.

For @krivopustov and anyone that might run into this issue.

I removed the cuba-starter and had to solve a number of issues.

  1. introduce your own base entity classes
  2. Id changed package and only has single generic argument instead of <T, K>
  3. get entitymanager via persistencecontext
  4. update some roles
  5. change @LoadBeforeShow to dataLoadCoordinator (the link is jmix 2, but works the same as in jmix 1)
  6. remove unreachable changelogs (cuba used to bring in audit and dynamic attributs automatically)

But everything seems ok and im now running on mysql 8.4.7

Thank you for the update.
If you’re not using the Audit add-on, you can freely migrate to latest MySQL.