Issue with runAlways in V4.28.0

I have recently upgraded to v4.28.0, I have a few changesets which have the runAlways = true attribute set. Since upgrading every time that I run liquibase update this will create a new entry in the databasechangelog table for the changesets that have this attribute set to true, with the same id, filename and md5sum. This was not the case prior to the upgrade. I’m deploying to a postgresql v16.2 database.
Any help would be appreciated.
Thanks

I am using Liquibase 4.28, but my target database platform is Oracle.

I am not seeing this behavior. My “runAlways:true” changesets just get the DATEEXECUTED updated to current date/time, and EXECTYPE updated to “RERAN”.

Can you reset your database and provide the output for the 1st and 2nd runs?

So I followed up on your suggestion and kicked off the build to a new database. It deployed my 185 changesets. I then ran liquibase update for a 2nd time and now I have 188 changesets, with the three changesets that have the runAlways attribute added again.

Starting Liquibase at 12:08:42 (version 4.28.0 #2272 built at 2024-05-16 19:00+0000)
Liquibase Version: 4.28.0
Liquibase Open Source 4.28.0 by Liquibase
UPDATE SUMMARY
Run: 3
Previously run: 182
Filtered out: 0

Total change sets: 185
So to summarize those 3 changesets now have two identical entries in the databasechangelog table.

I’d recommend opening a Github issue for this.