Visit AngularJS NES Home Page
AngularJS 1.5.x Release Notes
Comprehensive release notes and changelog for AngularJS 1.5.x, including security patches, bug fixes, and feature updates across all supported versions.
17 Patched Vulnerabilities
VEX Statements
AngularJS
1.5.29 (NES/XLTS) - June 17, 2026
Notes
- Full package name(s) and version(s):
@neverendingsupport/angularjs@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-animate@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-aria@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-cookies@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-i18n@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-loader@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-message-format@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-messages@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-mocks@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-parse-ext@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-resource@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-route@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-sanitize@1.5.11-angularjs-1.5.29@neverendingsupport/angularjs-touch@1.5.11-angularjs-1.5.29
Security & Compatibility Fixes
- $sceDelegate:
- Always apply resource URL matchers to entire URL.
- This fixes a high-severity Cross-Site Scripting (XSS) vulnerability (CVE-2026-11998).
- Always apply resource URL matchers to entire URL.
1.5.28 (NES/XLTS) - November 6, 2025
Notes
- This release also includes some package metadata and documentation updates.
- Full package name(s) and version(s):
@neverendingsupport/angularjs@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-animate@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-aria@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-cookies@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-i18n@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-loader@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-message-format@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-messages@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-mocks@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-parse-ext@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-resource@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-route@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-sanitize@1.5.11-angularjs-1.5.28@neverendingsupport/angularjs-touch@1.5.11-angularjs-1.5.28
Security & Compatibility Fixes
- angular-loader:
- Ensure necessary globals are available at runtime.
1.5.27 (NES/XLTS) - September 19, 2025
Notes
- This release contains no functional changes from NES v1.5.26.
- This release implements a new package naming scheme for the AngularJS packages. More information about the change can be found in the NES Decoupled Namespace Specification.
- Full package name(s) and version(s):
@neverendingsupport/angularjs@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-animate@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-aria@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-cookies@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-i18n@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-loader@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-message-format@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-messages@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-mocks@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-parse-ext@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-resource@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-route@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-sanitize@1.5.11-angularjs-1.5.27@neverendingsupport/angularjs-touch@1.5.11-angularjs-1.5.27
1.5.26 (NES/XLTS) - May 28, 2025
Notes
Note
Although some of the bug fixes in this release are not for exploitable vulnerabilities, we are making the changes out of an abundance of caution and to proactively avoid incorrect flagging in SAST scans.
Security & Compatibility Fixes
- $compile:
- Improve performance of
srcsetattribute sanitization. - Improve performance of comment-based directive collection.
- Improve performance of
- $injector:
- Improve performance of implicit dependency annotation.
- linky:
- Prevent ReDoS when searching for URLs in text.
- This fixes a medium-severity Regular expression Denial of Service (ReDoS) vulnerability (CVE-2025-4690).
- Prevent ReDoS when searching for URLs in text.
1.5.25 (NES/XLTS) - March 19, 2025
Security & Compatibility Fixes
- $sanitize:
- Sanitize image sources on
<image>SVG elements.- This fixes a medium-severity Content Spoofing vulnerability (CVE-2025-2336).
- Sanitize image sources on
1.5.24 (NES/XLTS) - February 18, 2025
Security & Compatibility Fixes
- $compile:
- Always sanitize image sources on
<image>SVG element.- This fixes a medium-severity Content Spoofing vulnerability (CVE-2025-0716).
- Always sanitize image sources on
Breaking Changes
$compile
- Always sanitize image sources on
<image>SVG element:
In the unlikely case that an app relied on trusted$sce.RESOURCE_URLvalues, via$sceDelegateProvider.resourceUrlWhitelist()or$sce.trustAs($sce.RESOURCE_URL, ...)or$sce.trustAsResourceUrl(), for the purpose of binding to thexlink:hrefproperty of<image>SVG elements and if the values do not pass the regular image URL sanitization, the affected SVG images will not be rendered.
To fix this, you need to ensure that the values used for binding to thexlink:hrefattributes of<image>SVG elements are considered safe image URLs, via$compileProvider.imgSrcSanitizationWhitelist().
Before:angular .module('myApp') .config(['$sceDelegateProvider', $sceDelegateProvider => { $sceDelegateProvider.resourceUrlWhitelist([ // ...other resource URLs... // Allow resource URLs from `https://my.domain.com/images/` // for the purpose of using with `image[xlink:href]`. /https:\/\/my\.domain\.com\/images\/.*/, ]); }]); // ...or... angular .module('myApp') .run(['$rootScope', '$sce', ($rootScope, $sce) => { // Trust a specific URL as a resource URL for the purpose // of using in templates with `image[xlink:href]`. $rootScope.trustedImageUrl = $sce.trustAsResourceUrl( 'https://my.domain.com/images/some-image.png'); }]);
After:angular .module('myApp') .config([ '$compileProvider', '$sceDelegateProvider', ($compileProvider, $sceDelegateProvider) => { $sceDelegateProvider.resourceUrlWhitelist([ // ...other resource URLs... ]); $compileProvider.imgSrcSanitizationWhitelist( // Allow image URLs from `https://my.domain.com/images/` // for the purpose of using with `<img>` or `<image>`. /^https:\/\/my\.domain\.com\/images\//, // ...or... // Trust specific URLs as image URLs for the purpose // of using in templates with `<img>` or `<image>`. /^https:\/\/my\.domain\.com\/images\/(?:some-image\.png|other-image\.jpg)$/, ); }, ]);
1.5.23 (NES/XLTS) - July 18, 2024
Notes
- This release contains some metadata fixes and improvements:
- Preserve license file headers in minified files.
- Use correct names and versions in
bower.jsonfiles.
Security & Compatibility Fixes
- jqLite:
- Add opt-in mode for compatibility with jQuery v4 via
angular.jqLite_jQueryLt4CompatibilityEnabled().- See Compatibility with jQuery v4 for more information.
- Add opt-in mode for compatibility with jQuery v4 via
1.5.22 (NES/XLTS) - May 21, 2024
Security & Compatibility Fixes
- $compile:
- Always sanitize image sources on
<source>element.- This fixes a medium-severity Content Spoofing vulnerability (CVE-2024-8373).
- Always sanitize image sources on
- srcset:
- Prevent bypassing image source sanitization with
(ng(Attr))Srcset.- This fixes a medium-severity Content Spoofing vulnerability (CVE-2024-8372).
- Prevent bypassing image source sanitization with
1.5.21 (NES) - February 6, 2024
Notes
- Repackaging XLTS for AngularJS as AngularJS NES
- XLTS merged with HeroDevs in September 2023 and continues to support AngularJS under Never-Ending Support (NES).
- AngularJS NES v1.5.21 is functionally equivalent to XLTS for AngularJS v1.5.19.
1.5.19 (XLTS) - August 18, 2023
Security & Compatibility Fixes
- $compile:
- Fix a possible ReDoS in
ng-srcsetparsing.- This fixes a high-severity Regular expression Denial of Service (ReDoS) vulnerability (CVE-2024-21490).
- Fix a possible ReDoS in
- route:
- Suppress warning from CodeQL regarding escaping backslash characters.
1.5.18 (XLTS) - August 4, 2023
Security & Compatibility Fixes
- ngAnimate:
- Make animation duration calculation compatible with CSS Animations Level 2.
- browserTrigger:
- Fix focus triggering in IE with jQuery >=3.7.0.
- bootstrap:
- No longer trigger
RegExpwarning in CodeQL scans.
- No longer trigger
1.5.17 (XLTS) - February 7, 2023
Security & Compatibility Fixes
- $resource:
- Avoid DoS in stripping trailing slashes.
- This fixes a medium-severity Regular expression Denial of Service (ReDoS) vulnerability (CVE-2023-26117).
- Avoid DoS in stripping trailing slashes.
- Angular:
- Collect jQuery nodes between two elements correctly for jQuery v4 preview.
- Make a regex used in
angular.copyDoS-safe.- This fixes a medium-severity Regular expression Denial of Service (ReDoS) vulnerability (CVE-2023-26116).
- input:
- Make
URL_REGEXPless ambiguous.- This fixes a medium-severity Regular expression Denial of Service (ReDoS) vulnerability (CVE-2023-26118).
- Make
1.5.16 (XLTS) - June 8, 2022
Security & Compatibility Fixes
- textarea:
- Avoid interpolating when going back/forward on IE.
- This fixes a medium-severity Cross-Site Scripting (XSS) vulnerability (CVE-2022-25869).
- Avoid interpolating when going back/forward on IE.
- input:
- Prevent browsers from autofilling hidden inputs.
- Autofilling with previous values (which will then be
$interpolated) could lead to XSS or errors.
- Autofilling with previous values (which will then be
- Prevent browsers from autofilling hidden inputs.
New Features
- Angular:
- Implement
angular.version.vendor.- This now holds the value "XLTS.dev" for ease of determining if a supported version of AngularJS is running in a given app.
- Implement
Breaking Changes
textarea
- Avoid interpolating when going back/forward on IE:
Previously, the HTML contents of<textarea>elements were interpolated on all browsers. Due to security considerations, the HTML contents of<textarea>elements are no longer interpolated on Internet Explorer.
If you want to set the<textarea>element's value by evaluating an AngularJS expression, you can use ng-bind. For example:<!-- Before: --> <textarea>{{ 1 + 2 }}</textarea> <!-- After: --> <textarea ng-bind="1 + 2"></textarea>
1.5.15 (XLTS) - February 7, 2022
Notes
- With this release, we have completed the process of back-porting all the security fixes from AngularJS 1.8.2 to XLTS for AngularJS 1.5.x.
Security & Compatibility Fixes
- $http:
- All JSONP requests now require a trusted resource URL.
- This fixes a medium-severity JSONP Callback Attack vulnerability (npm:angular:20150315).
- This fixes a medium-severity Cross-Site Scripting (XSS) vulnerability (SNYK-JS-ANGULAR-471879).
- A JSONP callback must be specified by
jsonpCallbackParamconfig.- This fixes a medium-severity JSONP Callback Attack vulnerability (npm:angular:20150315).
- Fix a potential DoS RegExp issue.
- All JSONP requests now require a trusted resource URL.
Breaking Changes
$http
- All JSONP requests now require a trusted resource URL:
All JSONP requests now require the URL to be trusted as resource URLs. There are two approaches to trust a URL:
Whitelisting with the$sceDelegateProvider.resourceUrlWhitelist()method.
You configure this list in a module configuration block:appModule.config(['$sceDelegateProvider', function($sceDelegateProvider) { $sceDelegateProvider.resourceUrlWhitelist([ // Allow same origin resource loads. 'self', // Allow JSONP calls that match this pattern 'https://some.dataserver.com/**.jsonp?**' ]); }]);
Explicitly trusting the URL via the$sce.trustAsResourceUrl(url)method
You can pass a trusted object instead of a string as a URL to the$httpservice:var promise = $http.jsonp($sce.trustAsResourceUrl(url)); - A JSONP callback must be specified by
jsonpCallbackParamconfig:
You can no longer use theJSON_CALLBACKplaceholder in your JSONP requests. Instead you must provide the name of the query parameter that will pass the callback via thejsonpCallbackParamproperty of the config object, or app-wide via the$http.defaults.jsonpCallbackParamproperty, which is"callback"by default.
Before this change:$http.jsonp('trusted/url?callback=JSON_CALLBACK'); $http.jsonp('other/trusted/url', {params: {cb: 'JSON_CALLBACK'}});
After this change:$http.jsonp('trusted/url'); $http.jsonp('other/trusted/url', {jsonpCallbackParam: 'cb'});
1.5.14 (XLTS) - December 3, 2021
Security & Compatibility Fixes
- $sanitize:
- Do not trigger CSP alert/report in Firefox and Chrome.
- Sanitize
xml:baseattributes.- This fixes a medium-severity Cross-Site Scripting (XSS) vulnerability (npm:angular:20180202).
- Use appropriate inert document strategy for Firefox and Safari.
- This fixes a medium-severity Cross-Site Scripting (XSS) vulnerability (SNYK-JS-ANGULAR-471882).
- Prevent clobbered elements from freezing the browser.
- This fixes a medium-severity Cross-Site Scripting (XSS) vulnerability (SNYK-JS-ANGULAR-471885).
- Angular:
- Avoid catastrophic backtracking in
XHTML_TAG_REGEXP.
- Avoid catastrophic backtracking in
- jqLite:
- Define
jqLite.htmlPrefilterinline.
- Define
- angular.merge:
- Do not merge
__proto__property.- This fixes a high-severity Prototype Pollution vulnerability (CVE-2019-10768).
- Do not merge
1.5.13 (XLTS) - August 20, 2021
Security & Compatibility Fixes
- jqLite:
- Prevent possible XSS due to regex-based HTML replacement.
- This fixes a high-severity Cross Site Scripting (XSS) vulnerability (SNYK-JS-ANGULAR-572020).
- This fixes a medium-severity Cross Site Scripting (XSS) vulnerability (CVE-2020-7676).
- This fix was cherry-picked from the v1.8.x branch.
- Prevent possible XSS due to regex-based HTML replacement.
- docs:
- Remove extra
.in error link URLs.
- Remove extra
New Features
- jqLite:
- Print warnings for problematic HTML input.
Breaking Changes
jqLite
- Prevent possible XSS due to regex-based HTML replacement:
See https://jquery.com/upgrade-guide/3.5/.
This applies a similar change to jqLite. Using self-closing tags in HTML is no longer supported.
1.5.12 (XLTS) - August 1, 2021
Notes
- This is the first XLTS for AngularJS 1.5.x release! 🚀
- As such, there have been updates to the License and the Security Policy. New security issues should be sent to security@xlts.dev.
Security & Compatibility Fixes
- sanitizeUri:
- Sanitize URIs that contain IDEOGRAPHIC SPACE chars.
- This fixes a medium-severity Cross-Site Scripting (XSS) vulnerability (npm:angular:20171018).
- This fix was cherry-picked from the v1.7.x branch.
- Sanitize URIs that contain IDEOGRAPHIC SPACE chars.
- jqlite:
noselerror points to an invalid URL.
- $interpolate:
- Fix docs URL in
noconcaterror.
- Fix docs URL in
- $sce:
- Fix docs URL in
iequirkserror.
- Fix docs URL in
- misc:
- Update error reference links to use
code.angularjs.xlts.dev. - Fix 28 security warnings in build, test, and release tooling.
- Update error reference links to use
- browserTrigger:
- Support
CompositionEvent.
- Support
- grunt-utils:
- Insert the core CSS styles without using
innerHTML.
- Insert the core CSS styles without using
- Angular:
- Add workaround for Safari / Webdriver problem.
- Do not auto bootstrap if the
srcexists but is empty. - Do not auto bootstrap if the
currentScripthas been clobbered. - Do not auto bootstrap if the script source is bad and inside SVG.
- minErr:
- Update URL to HTTPS.
- docs:
- Linting cleanup of the web worker used for search.
- Fix
@mediabreakpoints for small/extra small devices.
- ngScenario:
- Completely remove the Angular Scenario runner.
Breaking Changes
ngScenario
- Completely remove the Angular Scenario runner:
The angular scenario runner end-to-end test framework has been removed from the project and will no longer be available on npm starting with 1.5.12. It was deprecated and removed from the documentation in 2014. Applications that still use it should migrate to Protractor or another e2e testing framework.