This is a bug fix and enhancement release. Look out for new Blog Posts and Videos which will cover some of these new features in much more depth in the coming days and weeks.
This release was made possible thanks to Checkmarx who employ 3 of the Core Team to work on ZAP.
These release notes do not include all of the changes included in add-ons updated since 2.15.0.
Some of the more significant enhancements include:
ZAP now requires a minimum of Java 17 to run. This allows us to use more modern Java features in the ZAP codebase.
As a result of this move scripts which use the Nashorn JavaScript engine may no longer work, this is because the engine is no longer present in Java 17. Any scripts configured to use Nashorn will automatically be changed to use the Graal.js JavaScript engine. However you may still need to migrate these scripts, see the Migration Guide from Nashorn to GraalJS.
The Client Integration add-on is now included as standard, and provides a new Client Spider. The Client Spider works in a similar way to the AJAX Spider but it has access to the DOM via the ZAP Browser Extension which means that it can find content which the AJAX Spider cannot find.
While it is still at an early stage we believe it is a more effective approach than the AJAX Spider. We will be focussing on improving the Client Spider and the current plan is for it to supersede the AJAX Spider as the recommended way of crawling modern web apps.
You can now detach any of the ZAP desktop tabs so that they will appear in their own windows. This means that you can see more than one tab in the group at the same time, and allows you to distribute those windows across multiple monitors. Just right click any tab to see the ‘detach’ option and close the tab window to return it to the main ZAP window.
We now have a standard set of active scan policy definitions which we recommend for use in specific situations. Using these definitions will just enable the most suitable active scan rules. This will speed up your active scans and will reduce noise. Some of the standard active scan rules are really targetted at pentesters, and these can waste developers time.
For more details see the new Scan Policies add-on.
We now have a standard format for representing the Sites Tree in a text file: Sites Tree Format. This format uniquely identifies nodes in the Sites tree. While this might not sound particularly exciting, it does actually allow you to use ZAP to perform “differential” scans, i.e. only attacking endpoints that have changed. This means that ZAP can be used to perform really fast testing in CI/CD.
The Sequence Scanner add-on has received significant attention. It now runs much more quickly and has full Automation Framework support. As a result it has been promoted to Beta status.
The passive scanner has now been moved into an add-on: Passive Scanner. We have an ongoing plan to move as much functionality out of the core as possible, as this allows us to push out fixes and enhancements much more quickly.
The Automation Framework has a set of new jobs:
This release is the first full release with the “ZAP by Checkmarx” branding.
We will not use the softwaresecurityproject org for 2.16.0 or following releases.
If you still use this org then please switch to zaproxy.
As usual the release includes dependency updates.
The following libraries were updated:
Also note that the harlib dependency is no longer part of the compile classpath and that its use is deprecated.
All of the add-ons included by default have been updated since the last full release.
Introduction | the introduction to ZAP | |
Releases | the full set of releases | |
Credits | the people and groups who have made this release possible |