Hi
We need to upgrade our platform server (our instalation is on premise) and reading the breaking changes we found this one
Issue: In a Solution Publish, if a module references (directly or indirectly) multiple extensions and those extensions contain different versions of the same DLL, the Publish process chooses one of those DLLs to deploy. There was never a guarantee that the final application would work if those DLLs or their dependencies were incompatible with each other. In version 11.19.0, the algorithm that chooses the DLLs to deploy changed. It's possible that applications that were previously working, because the algorithm picked one DLL, stop working because it now picks another.
And the suggested solution is this one
Ensure the environment's extensions don’t have different incompatible versions of the same DLL. You can use the following query to identify multiple extensions that contain the same DLL. If you can see your extensions on this list, we recommend you consolidate the DLLs into a single extension or make sure they are all compatible. The query lists some OutSystems extensions, which are compatible between them.
but this is a little bit confusing to us, what can be do to ensure that this breaking change is not going to impact in our factory ? Can anyone provide a way to do the consolidation OS is talking about ?
Thanks in advance
Hi @Francisco Alberto Donat Guijarro,
The breaking change in v11.19.0 stems from how the platform now selects DLLs during deployment. To prevent impact, start by running the provided query to identify extensions that reference different versions of the same DLL. Once identified, the best approach is to consolidate those DLLs into a single extension or verify that they are compatible across all extensions.
If consolidation is needed, you can either manually merge the extensions’ DLLs into one or modify the individual extensions to ensure they use the same version. It might help to collaborate with the extension maintainers or use dependency management tools to avoid future conflicts.
Testing the environment after changes will confirm if the fix is stable before production deployment.
Hope this helps!
Hi @Francisco Alberto Donat Guijarro ,
General Steps to Handle Breaking Changes:
Review the Breaking Changes Documentation:
Test in a Non-Production Environment:
Analyze Impact on Your Applications:
Update Deprecated APIs or Components:
Resolve Compilation Issues:
Update Forge Components:
Check and Re-test Integrations:
Specific Actions Based on Common Breaking Changes in 11.19.0:
HTTP Strict Transport Security (HSTS) Enforced:
Session Timeout Changes:
Email Template Changes:
Dependency Changes in Extensions:
Changes in JavaScript or CSS Handling:
New Security Restrictions:
Post-Upgrade Checklist:
Compile All Modules:
Regression Testing:
Update Documentation:
Monitor Logs and Performance:
Communicate with Stakeholders: