Backward incompatible change in minor version release

Hi,

I upgrade from 6.7.4 to 6.7.6 and started to get compilation errors. I believe that minor releases should be fully backward compatible.

Method getEntityId() is no more available in com.haulmont.bpm.entity.ProcInstance. I think the alternative now is procInstance.getEntity().getEntityId() but that does not feel ok to me as depending on view, entity in proc instance might not be loaded.

Please clarify and let me know if I am missing anything

Thanks

Found following related issue:

https://www.cuba-platform.com/discuss/t/bpm-process-instance/3318

Hi, the changes made in the issue https://youtrack.cuba-platform.com/issue/PL-10139 (replacing the entityId property with the reference to embedded entity) shouldn’t have been merged to the release_6_7 because they break the backward compatibility. In the next bugfix release 6.7.7 the changes will be reverted. The https://youtrack.cuba-platform.com/issue/PL-10139 will be fixed in the release 6.8. Sorry for the inconvenience.
The issue: https://youtrack.cuba-platform.com/issue/PL-10213

1 Like

I upgraded to 6.7.7 and confirm that the issue is resolved now. Thanks for the quick support

Just noticed that when I pressed ‘Generate DB Scripts’ after upgrade, following db script got generated. I ran it without any errors but I have never seen before change scripts for system entities.

alter table BPM_PROC_INSTANCE drop column STRING_ENTITY_ID cascade ;
alter table BPM_PROC_INSTANCE drop column INT_ENTITY_ID cascade ;
alter table BPM_PROC_INSTANCE drop column LONG_ENTITY_ID cascade ;

I think its safe to commit and run on production environment as well. Please confirm.

Thanks

The problem here is that these 3 properties of the ProcInstance entity were removed in the 6.7.7, but the update scripts for the database columns removal were not added (because columns will be required in the 6.8). We didn’t take into account that studio generates scripts for system entities - that’s why you get these new update scripts in your project.
The next bugfix release 6.7.8 will contain update scripts that will remove these database columns (in 6.8 we will create them again by new scripts). The scripts in the 6.7 will remove the columns in a safe way - only if they were not removed by scripts generated in the project by studio (like in your case).
If it is possible I would recommend not to update the production until the 6.7.8 is released and then update it without scripts generated by studio. We will release the 6.7.8 in the next few days.

1 Like