Portal 9.2.10.x release - Potential Breaking Change

Applies to: Dynamics CRM

Change Introduced


As part of 9.2.10.x release, default Jquery library used by Portal is upgraded from 1.12.4 version to 3.0.0.0 version to improve security posture of portals.
This change also comes with an upgrade of Jquery migrate version to 3.x to ensure that all Javascript API's which were supported in Jquery 1.12 version continue to works as it is.

Potential Breaking Change


If you have custom javscript code in portal which is using Jquery API's which were deperecated or had a change in behavior in Jquery versions 1.3, 1.6, 1.7, 1.8 and 1.9, these API's will no longer work or will have a changed behavior as documented in Jquery documentation. 

You can find more details about API's which were deprecated in Old Jquery versions here 

  • Jquery 1.3 - https://api.jquery.com/category/deprecated/deprecated-1.3/
  • Jquery 1.6 - https://api.jquery.com/category/version/1.6/
  • Jquery 1.7 - https://api.jquery.com/category/deprecated/deprecated-1.7/
  • Jquery 1.8 - https://api.jquery.com/category/deprecated/deprecated-1.8/
  • Jquery 1.9 - https://api.jquery.com/category/deprecated/deprecated-1.9/

Most common API which had a behavior change in jquery 1.6 onwards is attr (https://api.jquery.com/attr/). This api returns undefined after Jquery 1.6+ 

How to Mitigate


Following are the options which you can utilize to resolve this issue.

  • Recommended -> Update the custom Javascript code to use the new Jquery API's supported by Jquery 3.0 version.
  • You can also load the corresponding version of jquery which your API requires using portal webfiles. However, please ensure that you are utilizing jquery noconflict API (https://api.jquery.com/jquery.noconflict/) in order to ensure that there is no conflict with the jquery libraries loaded by default in portal. 
    This option is not recommended because older versions of Jquery libraries have known security vulnerabilities.