SVG icon migration (breaking changes!)
Beginning with Jenkins weekly v2.333 (released on January 31, 2022) and Jenkins LTS v2.346.1, Jenkins core has upgraded from
PNG icons to
Plugins that will be affected by this change are tracked in a spreadsheet found in JENKINS-68251.
Plugins that do not interact with icons are unaffected by this change.
Scalable vector graphics (SVG) icons provide a more attractive user interface. They are able to adapt to themes like the dark theme and the solarized theme. The SVG icons provide a more consistent experience for users. SVG images also preserve image quality, ensuring that icons are displayed properly regardless of scale.
Many plugins have been updated to use the new icons. A tracking spreadsheet lists plugins that have been reviewed for possible issues. JENKINS-68251 is the Jenkins issue that tracks the change. It contains a link to the tracking spreadsheet.
Make sure that you update all plugins before and after updating to Jenkins 2.333 or later.
In the spreadsheet, there is a table labeled “Abandoned plugin, to be discussed”.
The table contains plugins that have had no SCM activity for at least 5 years.
When reviewing this table, if the list includes plugins that you are using, please contact the plugin maintainer to request an update to the plugin. Many plugins already have a pull request submitted. The pull request needs to be tested, merged, and released. You can help the maintainer by testing the pull request and reporting the results of your testing.
When reporting SVG icon migration issues, please provide the following information:
Use the ‘svg-migration’ label
Provide configuration details as described in "How to report an issue", including Jenkins core version and the name and version of all installed plugins
Include a screenshot of the issue
While many of the commonly used plugins have already been updated for SVG icon usage, there are unmaintained plugins that could cause errors or breakages. If you are in a situation where a plugin has been abandoned, adoption is the only way to ensure that there are no disruptions during usage.