* experimental flag to run Jenkins without YUI
The YUI library is old and no longer maintained.
Add a user experimental flag to disable YUI. It's disabled by default.
When enabling all the YUI related js libraries and css classes are not
loaded.
Following PR are required to get Jenkins to not show any errors
eventually #7569
Some plugins that use YUI (not complete):
credentials
ldap
global-build-stats
build-monitor
categorized-view
Plugins that make use of makeButton (not complete)
credentials (fixed with https://github.com/jenkinsci/credentials-plugin/pull/533)
openid
acceptance-test-harness
* fix typo
Co-authored-by: Jan Faracik <43062514+janfaracik@users.noreply.github.com>
* add license and restrict class
---------
Co-authored-by: Jan Faracik <43062514+janfaracik@users.noreply.github.com>
* modernise build time trend page
- use jenkins-table
- add time since column
- make the link to the console an explicit icon (like for the agent
history)
- hide the agent column for pipeline jobs
* apply prettier
* missing let declaration
* fix tests
* change flex-direction with media
* apply prettier
* revert change to buildListTable
This allows users with `Overall/MANAGE` permission but not `Overall/SYSTEM_READ` to display administrative monitors if the administrative monitor has been implemented to allow it.
* [JENKINS-14789] Configurable interval for computer retention check
Also update the lower bound delay as returned by each RetentionStrategy
from 1min to 0min. This is enabling check intervals of <1min to trigger
a re-check in the next cycle (previously, the nextCheck tracking would
defer the next re-check into the 2nd cycle -- one for the timer loop
and once for the nextCheck timestamp).
Includes a bug fix:
`CloudSlaveRetentionStrategy` tracks the agent timeout in milliseconds
internally and returned the nextCheck delay as a tenth of that.
The nextCheck delay is consumed in minutes, leading to the max delay
of one hour being used.
Fix: Convert the delay from milliseconds to minutes.
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [JENKINS-14789] Allow a check interval of one second
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [JENKINS-14789] Apply review feedback
- Double down on JavaDoc
- Migrate UI to jelly
Co-Authored-By: Alexander Brandes <mc.cache@web.de>
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [JENKINS-14789] Store computerRetentionCheckInterval in model instance
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [JENKINS-14789] Add missing javadoc comment
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [JENKINS-14789] Add tests for model
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [JENKINS-14789] Use AperiodicWork for ComputerRetentionWork
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [JENKINS-14789] limit computer retention check interval to 60s
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [JENKINS-14789] apply review feedback
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
---------
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
Co-authored-by: Alexander Brandes <mc.cache@web.de>
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
Several of the changes are not detected by the Python script but were
detected by `git grep TODO | grep since` with review of the output.
The cases that are not detected by the Python script seem obscure enough
to not bother with additions to the script. If they become common
practice, then we can extend the Python script.
* Add a null check for a method return result that may return null.
In file PluginManager.java the parsePluginManifest method may return null. In other parts of the code (https://github.com/jenkinsci/jenkins/blob/7aad67832442b8cd1dfaf363a3630d2687ddf3e3/core/src/main/java/hudson/PluginManager.java#L868), the return value was checked for null. But the null check is missing in this part of the code.
The fix just adds the missing null check in the code.
**Sponsorship and Support:**
This work is done by the security researchers from OpenRefactory and is supported by the Open Source Security Foundation (OpenSSF): Project Alpha-Omega. Alpha-Omega is a project partnering with open source software project maintainers to systematically find new, as-yet-undiscovered vulnerabilities in open source code - and get them fixed - to improve global software supply chain security.
The bug is found by running the iCR tool by OpenRefactory, Inc. and then manually triaging the results.
* Comment: Applied mvn spotless to clean up formating issues.
---------
Co-authored-by: Munawar Hafiz <munawar@munawars-mbp.lan>
Remove SECURITY-2481 escape hatch
https://www.jenkins.io/security/advisory/2021-10-06/#SECURITY-2481 was
published in October 2021 with an escape hatch that allows users to
enable the path traversal vulnerability on Windows. Jetty 12 detects
the vulernability even before the request reaches Jenkins and returns
an HTTP error, as required by the Servlet API specification.
Remove the escape hatch because the escape hatch is intended to be
temporary and we don't want to reimplement the escape hatch within
Jetty configuration.
https://issues.jenkins.io/browse/JENKINS-73129 includes further discussion
of the alternatives.
Return to the Java 11 end of life date of 30 Sep 2024 for the LTS lines
rather than changing it to match the expected 30 Oct 2024 release date
of the first LTS to require Java 17.
Little benefit to LTS users to extend the end of life message until end of October.
Changing the date will cause the administrative monitor to reappear.
Better to leave it hidden if they have decided to hide it.
Alert Java 11 users of 18 Jun 2024 end of life in weekly
Also updates the Java 11 end of life date for Java 11 users running with
the long term support release.
[JENKINS-64553] call ItemListener after updating job via cli
when a job is updated via REST API or CLI, the
ItemListener.fireOnUpdated is now called to inform about the change.
* [JENKINS-64356] call onCreatedFromScratch after creating item via api or cli
When creating jobs via the rest api or cli the call to
onCreatedFromScratch was missing. This can lead to long startup times
when many jobs are created this way.
* remove unused import
* Clarify state of `{Job,LazyBuildMixIn}#createHistoryWidget()` method.
These methods are no longer needed and should not be called nor overridden.
Instead, history widgets are instantiated via `jenkins.widgets.WidgetFactory` annotated with `@Extension`.
* Javadoc
[JENKINS-71356] handle svg cleanup via a xml document
some attributes and elements where removed via regular expressions.
Additionally `stroke:#000 was replaced with currentColor because there
are some icons that still use that.
This had sideeffects when symbols are used that are not just
black/white, e.g. using svg from jenkins artwork via customizable-header
plugin. There are construct like using class attributes and a style
definition referring to the classes. At other places there where color
definitions with `stroke:#000abc` which were incorrectly modified.
svg cleanup is now implemented with DOM manipulation which is more
robust.
5 icons that still used `stroke:#000` are converted to use
`stroke:currentColor`
* Ensure Classloaders have names for debugging
* update incremental version
* simplify name of UberClassloader and update since TODOs
Co-authored-by: Jesse Glick <jglick@cloudbees.com>
* use released version of remoting
* set the minimum version of remoting
* pick up backward compatable remoting version
* update from remoting incremental version to release version
https://github.com/jenkinsci/remoting/releases/tag/3248.v65ecb_254c298
---------
Co-authored-by: Jesse Glick <jglick@cloudbees.com>