diff --git a/bom/pom.xml b/bom/pom.xml index 6d31d0cab12f..991070392674 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -49,7 +49,7 @@ THE SOFTWARE. org.springframework.security spring-security-bom - 5.5.3 + 5.6.0 pom import diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index 1d780278df5b..48a4c6d7a6bb 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -88,11 +88,13 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Optional; import java.util.ServiceLoader; import java.util.Set; import java.util.TreeMap; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.function.Function; @@ -327,7 +329,7 @@ PluginManager doCreate(@NonNull Class klass, */ // implementation is minimal --- just enough to run XStream // and load plugin-contributed classes. - public final ClassLoader uberClassLoader = new UberClassLoader(); + public final ClassLoader uberClassLoader = new UberClassLoader(activePlugins); /** * Once plugin is uploaded, this flag becomes true. @@ -2171,12 +2173,19 @@ public T of(String key, Class type, Supplier func) { /** * {@link ClassLoader} that can see all plugins. */ - public final class UberClassLoader extends ClassLoader { + public static final class UberClassLoader extends ClassLoader { + private final List activePlugins; + /** Cache of loaded, or known to be unloadable, classes. */ - private final Map> loaded = new HashMap<>(); + private final ConcurrentMap>> loaded = new ConcurrentHashMap<>(); + + static { + registerAsParallelCapable(); + } - public UberClassLoader() { + public UberClassLoader(List activePlugins) { super(PluginManager.class.getClassLoader()); + this.activePlugins = activePlugins; } @Override @@ -2184,57 +2193,36 @@ protected Class findClass(String name) throws ClassNotFoundException { if (name.startsWith("SimpleTemplateScript")) { // cf. groovy.text.SimpleTemplateEngine throw new ClassNotFoundException("ignoring " + name); } - synchronized (loaded) { - if (loaded.containsKey(name)) { - Class c = loaded.get(name); - if (c != null) { - return c; + return loaded.computeIfAbsent(name, this::computeValue).orElseThrow(() -> new ClassNotFoundException(name)); + } + + private Optional> computeValue(String name) { + for (PluginWrapper p : activePlugins) { + try { + if (FAST_LOOKUP) { + return Optional.of(ClassLoaderReflectionToolkit.loadClass(p.classLoader, name)); } else { - throw new ClassNotFoundException("cached miss for " + name); + return Optional.of(p.classLoader.loadClass(name)); } + } catch (ClassNotFoundException e) { + // Not found. Try the next class loader. } } - if (FAST_LOOKUP) { - for (PluginWrapper p : activePlugins) { - try { - Class c = ClassLoaderReflectionToolkit.loadClass(p.classLoader, name); - synchronized (loaded) { - loaded.put(name, c); - } - return c; - } catch (ClassNotFoundException e) { - //not found. try next - } - } - } else { - for (PluginWrapper p : activePlugins) { - try { - return p.classLoader.loadClass(name); - } catch (ClassNotFoundException e) { - //not found. try next - } - } - } - synchronized (loaded) { - loaded.put(name, null); - } - // not found in any of the classloader. delegate. - throw new ClassNotFoundException(name); + // Not found in any of the class loaders. Delegate. + return Optional.empty(); } @Override protected URL findResource(String name) { - if (FAST_LOOKUP) { - for (PluginWrapper p : activePlugins) { - URL url = ClassLoaderReflectionToolkit._findResource(p.classLoader, name); - if(url!=null) - return url; - } - } else { - for (PluginWrapper p : activePlugins) { - URL url = p.classLoader.getResource(name); - if(url!=null) - return url; + for (PluginWrapper p : activePlugins) { + URL url; + if (FAST_LOOKUP) { + url = ClassLoaderReflectionToolkit._findResource(p.classLoader, name); + } else { + url = p.classLoader.getResource(name); + } + if (url != null) { + return url; } } return null; @@ -2243,12 +2231,10 @@ protected URL findResource(String name) { @Override protected Enumeration findResources(String name) throws IOException { List resources = new ArrayList<>(); - if (FAST_LOOKUP) { - for (PluginWrapper p : activePlugins) { - resources.addAll(Collections.list(ClassLoaderReflectionToolkit._findResources(p.classLoader, name))); - } - } else { - for (PluginWrapper p : activePlugins) { + for (PluginWrapper p : activePlugins) { + if (FAST_LOOKUP) { + resources.addAll(Collections.list(ClassLoaderReflectionToolkit._findResources(p.classLoader, name))); + } else { resources.addAll(Collections.list(p.classLoader.getResources(name))); } } diff --git a/core/src/main/java/hudson/PluginWrapper.java b/core/src/main/java/hudson/PluginWrapper.java index 2c2a5bf628d2..921d160a66a0 100644 --- a/core/src/main/java/hudson/PluginWrapper.java +++ b/core/src/main/java/hudson/PluginWrapper.java @@ -411,7 +411,7 @@ public boolean isDeprecated() { * plugin. * * * @throws Exception if the File could not be inserted into the classpath for some reason. - * @since TODO + * @since 2.313 */ @Restricted(Beta.class) public void injectJarsToClasspath(File... jars) throws Exception { diff --git a/core/src/main/java/hudson/model/ExecutorListener.java b/core/src/main/java/hudson/model/ExecutorListener.java index c0e5e6590bed..eb4a8cdb2681 100644 --- a/core/src/main/java/hudson/model/ExecutorListener.java +++ b/core/src/main/java/hudson/model/ExecutorListener.java @@ -46,7 +46,7 @@ default void taskAccepted(Executor executor, Queue.Task task) {} * Called whenever a task is started by an executor. * @param executor The executor. * @param task The task. - * @since TODO + * @since 2.318 */ default void taskStarted(Executor executor, Queue.Task task) {} diff --git a/core/src/main/java/hudson/model/Queue.java b/core/src/main/java/hudson/model/Queue.java index b575e4401fda..a15dedce5a6e 100644 --- a/core/src/main/java/hudson/model/Queue.java +++ b/core/src/main/java/hudson/model/Queue.java @@ -2076,7 +2076,7 @@ public interface Executable extends Runnable { * If {@link #getParent} has a distinct {@link SubTask#getOwnerTask}, * then it should be the case that {@code getParentExecutable().getParent() == getParent().getOwnerTask()}. * @return a distinct executable (never {@code this}, unlike the default of {@link SubTask#getOwnerTask}!); or null if this executable was already at top level - * @since TODO, but implementations can already implement this with a lower core dependency. + * @since 2.313, but implementations can already implement this with a lower core dependency. */ default @CheckForNull Executable getParentExecutable() { return null; diff --git a/core/src/main/java/hudson/model/User.java b/core/src/main/java/hudson/model/User.java index 8c6041ae1399..13dd0be8be59 100644 --- a/core/src/main/java/hudson/model/User.java +++ b/core/src/main/java/hudson/model/User.java @@ -149,7 +149,7 @@ public class User extends AbstractModelObject implements AccessControlled, Descr * accesses a /user/arbitraryName URL. *

* Unfortunately this constitutes a CSRF vulnerability, as malicious users can make admins create arbitrary numbers - * of ephemeral user records, so the behavior was changed in Jenkins 2.TODO / 2.32.2. + * of ephemeral user records, so the behavior was changed in Jenkins 2.44 / 2.32.2. *

* As some users may be relying on the previous behavior, setting this to true restores the previous behavior. This * is not recommended. diff --git a/core/src/main/java/hudson/triggers/Trigger.java b/core/src/main/java/hudson/triggers/Trigger.java index ccfc35e3b4c6..4899b8f48445 100644 --- a/core/src/main/java/hudson/triggers/Trigger.java +++ b/core/src/main/java/hudson/triggers/Trigger.java @@ -312,9 +312,9 @@ public void run(AbstractProject p) { @SuppressFBWarnings("MS_SHOULD_BE_FINAL") @Restricted(NoExternalUse.class) - @RestrictedSince("TODO") + @RestrictedSince("2.289") /** - * Used to be milliseconds, now is seconds since Jenkins 2.TODO. + * Used to be milliseconds, now is seconds since Jenkins 2.289. */ public static /* non-final for Groovy */ long CRON_THRESHOLD = SystemProperties.getLong(Trigger.class.getName() + ".CRON_THRESHOLD", 30L); // Default threshold 30s diff --git a/core/src/main/java/hudson/util/ChartUtil.java b/core/src/main/java/hudson/util/ChartUtil.java index 3562853b52e4..6fb88774ddd2 100644 --- a/core/src/main/java/hudson/util/ChartUtil.java +++ b/core/src/main/java/hudson/util/ChartUtil.java @@ -261,7 +261,7 @@ public static void adjustChebyshev(CategoryDataset dataset, NumberAxis yAxis) { } @Restricted(NoExternalUse.class) - @RestrictedSince("2.TODO") + @RestrictedSince("2.301") public static final double CHEBYSHEV_N = 3; static { diff --git a/core/src/main/java/hudson/util/ListBoxModel.java b/core/src/main/java/hudson/util/ListBoxModel.java index 4d8cff88a007..c96a9f539bef 100644 --- a/core/src/main/java/hudson/util/ListBoxModel.java +++ b/core/src/main/java/hudson/util/ListBoxModel.java @@ -23,6 +23,7 @@ */ package hudson.util; +import edu.umd.cs.findbugs.annotations.NonNull; import hudson.model.ModelObject; import java.io.IOException; import java.util.ArrayList; @@ -98,11 +99,13 @@ public static final class Option { * Text to be displayed to user. */ @Exported + @NonNull public String name; /** * The value that gets sent to the server when the form is submitted. */ @Exported + @NonNull public String value; /** @@ -111,15 +114,15 @@ public static final class Option { @Exported public boolean selected; - public Option(String name, String value) { + public Option(@NonNull String name, @NonNull String value) { this(name,value,false); } - public Option(String name) { + public Option(@NonNull String name) { this(name,name,false); } - public Option(String name, String value, boolean selected) { + public Option(@NonNull String name, @NonNull String value, boolean selected) { this.name = name; this.value = value; this.selected = selected; @@ -146,18 +149,18 @@ public ListBoxModel(Option... data) { super(Arrays.asList(data)); } - public void add(String displayName, String value) { + public void add(@NonNull String displayName, @NonNull String value) { add(new Option(displayName,value)); } - public void add(ModelObject usedForDisplayName, String value) { + public void add(ModelObject usedForDisplayName, @NonNull String value) { add(usedForDisplayName.getDisplayName(), value); } /** * A version of the {@link #add(String, String)} method where the display name and the value are the same. */ - public ListBoxModel add(String nameAndValue) { + public ListBoxModel add(@NonNull String nameAndValue) { add(nameAndValue,nameAndValue); return this; } diff --git a/core/src/main/java/hudson/util/XStream2.java b/core/src/main/java/hudson/util/XStream2.java index 8d8ead7d835c..f72010157ab2 100644 --- a/core/src/main/java/hudson/util/XStream2.java +++ b/core/src/main/java/hudson/util/XStream2.java @@ -124,7 +124,7 @@ public XStream2(HierarchicalStreamDriver hierarchicalStreamDriver) { } /** - * @since TODO + * @since 2.318 */ public XStream2(ReflectionProvider reflectionProvider, HierarchicalStreamDriver driver, ClassLoaderReference classLoaderReference, Mapper mapper, ConverterLookup converterLookup, diff --git a/core/src/main/java/jenkins/ClassLoaderReflectionToolkit.java b/core/src/main/java/jenkins/ClassLoaderReflectionToolkit.java index edce6b431a00..7b1c8485e742 100644 --- a/core/src/main/java/jenkins/ClassLoaderReflectionToolkit.java +++ b/core/src/main/java/jenkins/ClassLoaderReflectionToolkit.java @@ -145,7 +145,7 @@ private static class FindClass { * @param name The binary name of the class. * @return The resulting {@link Class} object. * @throws ClassNotFoundException If the class could not be found. - * @since 2.TODO + * @since 2.321 */ public static @NonNull Class loadClass(ClassLoader cl, String name) throws ClassNotFoundException { synchronized (getClassLoadingLock(cl, name)) { diff --git a/core/src/main/java/jenkins/management/ConfigureLink.java b/core/src/main/java/jenkins/management/ConfigureLink.java index 80224c86b774..beb5ea314769 100644 --- a/core/src/main/java/jenkins/management/ConfigureLink.java +++ b/core/src/main/java/jenkins/management/ConfigureLink.java @@ -39,7 +39,7 @@ public class ConfigureLink extends ManagementLink { @Override public String getIconFileName() { - return "gear.png"; + return "gear2.png"; } @Override diff --git a/core/src/main/java/jenkins/security/s2m/MasterKillSwitchConfiguration.java b/core/src/main/java/jenkins/security/s2m/MasterKillSwitchConfiguration.java index bd4d656866fe..bd906bc22335 100644 --- a/core/src/main/java/jenkins/security/s2m/MasterKillSwitchConfiguration.java +++ b/core/src/main/java/jenkins/security/s2m/MasterKillSwitchConfiguration.java @@ -37,7 +37,7 @@ public boolean getMasterToSlaveAccessControl() { } /** - * @since TODO + * @since 2.310 */ public boolean getAgentToControllerAccessControl() { return !rule.getMasterKillSwitch(); diff --git a/core/src/main/java/jenkins/security/s2m/RunningBuildFilePathFilter.java b/core/src/main/java/jenkins/security/s2m/RunningBuildFilePathFilter.java index afba9337801f..091153017e0b 100644 --- a/core/src/main/java/jenkins/security/s2m/RunningBuildFilePathFilter.java +++ b/core/src/main/java/jenkins/security/s2m/RunningBuildFilePathFilter.java @@ -48,7 +48,7 @@ /** * When an agent tries to access build directories on the controller, limit it to those for builds running on that agent. * - * @since TODO + * @since 2.319 */ @Restricted(NoExternalUse.class) public class RunningBuildFilePathFilter extends ReflectiveFilePathFilter { diff --git a/core/src/main/java/jenkins/tools/GlobalToolConfiguration.java b/core/src/main/java/jenkins/tools/GlobalToolConfiguration.java index d856c15efa16..e92973f927d3 100644 --- a/core/src/main/java/jenkins/tools/GlobalToolConfiguration.java +++ b/core/src/main/java/jenkins/tools/GlobalToolConfiguration.java @@ -107,7 +107,7 @@ private boolean configureDescriptor(StaplerRequest req, JSONObject json, Descrip } @Restricted(NoExternalUse.class) - @RestrictedSince("2.TODO") + @RestrictedSince("2.301") public static final Predicate FILTER = input -> input.getCategory() instanceof ToolConfigurationCategory; private static final Logger LOGGER = Logger.getLogger(GlobalToolConfiguration.class.getName()); diff --git a/core/src/main/java/jenkins/util/xstream/XStreamDOM.java b/core/src/main/java/jenkins/util/xstream/XStreamDOM.java index 2d973dc06f98..8d302d011577 100644 --- a/core/src/main/java/jenkins/util/xstream/XStreamDOM.java +++ b/core/src/main/java/jenkins/util/xstream/XStreamDOM.java @@ -564,6 +564,6 @@ public XStreamDOM unmarshalElement(HierarchicalStreamReader r, UnmarshallingCont } @Restricted(NoExternalUse.class) - @RestrictedSince("2.TODO") + @RestrictedSince("2.301") public static final XmlFriendlyReplacer REPLACER = new XmlFriendlyReplacer(); } diff --git a/core/src/main/resources/hudson/AboutJenkins/index.jelly b/core/src/main/resources/hudson/AboutJenkins/index.jelly index 94f1cc782616..c2035fe362fa 100644 --- a/core/src/main/resources/hudson/AboutJenkins/index.jelly +++ b/core/src/main/resources/hudson/AboutJenkins/index.jelly @@ -25,54 +25,54 @@ THE SOFTWARE. - - + + -

-
-
-

${%about(app.VERSION)}

-

${%blurb}

-

${%dependencies}

-

${%maven.dependencies}

- - - - - - - - -

${%No information recorded}

-
-
-

${%static.dependencies}

- -

${%plugin.dependencies}

- +
+
+

+ ${%about(app.VERSION)} +

-
+

${%blurb}

+

${%dependencies}

+

${%maven.dependencies}

+ + + + + + + + +

${%No information recorded}

+
+
+

${%static.dependencies}

+ +

${%plugin.dependencies}

+ diff --git a/core/src/main/resources/hudson/AboutJenkins/sidepanel.jelly b/core/src/main/resources/hudson/AboutJenkins/sidepanel.jelly new file mode 100644 index 000000000000..95f21cf2f670 --- /dev/null +++ b/core/src/main/resources/hudson/AboutJenkins/sidepanel.jelly @@ -0,0 +1,34 @@ + + + + + + + + + + + + diff --git a/core/src/main/resources/hudson/PluginManager/PluginCycleDependenciesMonitor/description.jelly b/core/src/main/resources/hudson/PluginManager/PluginCycleDependenciesMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/PluginManager/PluginCycleDependenciesMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/PluginManager/PluginCycleDependenciesMonitor/description.properties b/core/src/main/resources/hudson/PluginManager/PluginCycleDependenciesMonitor/description.properties new file mode 100644 index 000000000000..a4a5ee2368c3 --- /dev/null +++ b/core/src/main/resources/hudson/PluginManager/PluginCycleDependenciesMonitor/description.properties @@ -0,0 +1 @@ +blurb = When Jenkins detects a cyclic dependency between plugins (a bug in one or more plugins), this message is shown. diff --git a/core/src/main/resources/hudson/PluginManager/PluginDeprecationMonitor/description.jelly b/core/src/main/resources/hudson/PluginManager/PluginDeprecationMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/PluginManager/PluginDeprecationMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/PluginManager/PluginDeprecationMonitor/description.properties b/core/src/main/resources/hudson/PluginManager/PluginDeprecationMonitor/description.properties new file mode 100644 index 000000000000..5a2fd5bce89d --- /dev/null +++ b/core/src/main/resources/hudson/PluginManager/PluginDeprecationMonitor/description.properties @@ -0,0 +1,2 @@ +blurb = Informs administrators about the deprecation of one or more currently installed plugins. \ + This is metadata provided by the configured update sites, and the plugin documentation will usually explain why the plugin is deprecated. diff --git a/core/src/main/resources/hudson/PluginManager/PluginUpdateMonitor/description.jelly b/core/src/main/resources/hudson/PluginManager/PluginUpdateMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/PluginManager/PluginUpdateMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/PluginManager/PluginUpdateMonitor/description.properties b/core/src/main/resources/hudson/PluginManager/PluginUpdateMonitor/description.properties new file mode 100644 index 000000000000..53002edafe89 --- /dev/null +++ b/core/src/main/resources/hudson/PluginManager/PluginUpdateMonitor/description.properties @@ -0,0 +1,3 @@ +blurb = Informs administrators about a required plugin update. \ + This is unrelated to plugin updates being available. +# TODO Is this even used anymore? diff --git a/core/src/main/resources/hudson/PluginWrapper/PluginWrapperAdministrativeMonitor/description.jelly b/core/src/main/resources/hudson/PluginWrapper/PluginWrapperAdministrativeMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/PluginWrapper/PluginWrapperAdministrativeMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/PluginWrapper/PluginWrapperAdministrativeMonitor/description.properties b/core/src/main/resources/hudson/PluginWrapper/PluginWrapperAdministrativeMonitor/description.properties new file mode 100644 index 000000000000..bdcfa7ad447a --- /dev/null +++ b/core/src/main/resources/hudson/PluginWrapper/PluginWrapperAdministrativeMonitor/description.properties @@ -0,0 +1,2 @@ +blurb = If any plugins failed to load, this informs administrators about the problem. \ + This is a severe problem, as re-saving configuration at this point could result in the loss of configuration data related to unloadable plugins. diff --git a/core/src/main/resources/hudson/cli/CLIAction/index.jelly b/core/src/main/resources/hudson/cli/CLIAction/index.jelly index 5ab0bc672875..29067da07fad 100644 --- a/core/src/main/resources/hudson/cli/CLIAction/index.jelly +++ b/core/src/main/resources/hudson/cli/CLIAction/index.jelly @@ -27,10 +27,13 @@ THE SOFTWARE. -

- - ${%Jenkins CLI} -

+
+
+

+ ${%Jenkins CLI} +

+
+

${%blurb(rootURL)}

@@ -38,13 +41,23 @@ THE SOFTWARE.

${%Available Commands}

- - +
+ - - + + - + + + + + + + + +
${command.name}${command.shortDescription}${%Name}${%Description}
+ ${command.name} + ${command.shortDescription}
diff --git a/core/src/main/resources/hudson/diagnosis/HudsonHomeDiskUsageMonitor/description.jelly b/core/src/main/resources/hudson/diagnosis/HudsonHomeDiskUsageMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/HudsonHomeDiskUsageMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/diagnosis/HudsonHomeDiskUsageMonitor/description.properties b/core/src/main/resources/hudson/diagnosis/HudsonHomeDiskUsageMonitor/description.properties new file mode 100644 index 000000000000..8ce7d963db7f --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/HudsonHomeDiskUsageMonitor/description.properties @@ -0,0 +1 @@ +blurb = This warning shows up when the available disk space for the Jenkins home directory falls below a certain threshold. diff --git a/core/src/main/resources/hudson/diagnosis/NullIdDescriptorMonitor/description.jelly b/core/src/main/resources/hudson/diagnosis/NullIdDescriptorMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/NullIdDescriptorMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/diagnosis/NullIdDescriptorMonitor/description.properties b/core/src/main/resources/hudson/diagnosis/NullIdDescriptorMonitor/description.properties new file mode 100644 index 000000000000..1fd106f67dd5 --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/NullIdDescriptorMonitor/description.properties @@ -0,0 +1 @@ +blurb = Informs administrators about a problem with extensions in some legacy plugins. diff --git a/core/src/main/resources/hudson/diagnosis/OldDataMonitor/description.jelly b/core/src/main/resources/hudson/diagnosis/OldDataMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/OldDataMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/diagnosis/OldDataMonitor/description.properties b/core/src/main/resources/hudson/diagnosis/OldDataMonitor/description.properties new file mode 100644 index 000000000000..3ac955231e0b --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/OldDataMonitor/description.properties @@ -0,0 +1,2 @@ +blurb = When Jenkins configuration files contain unloadable data, this informs administrators about the problem. \ + A common cause is plugins having been downgraded, or having changed in backwards-incompatible ways. diff --git a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/description.jelly b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/description.properties b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/description.properties new file mode 100644 index 000000000000..292dcbea2c7d --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/ReverseProxySetupMonitor/description.properties @@ -0,0 +1 @@ +blurb = If Jenkins is running behind a reverse proxy, this identifies problems with a bad configuration. diff --git a/core/src/main/resources/hudson/diagnosis/TooManyJobsButNoView/description.jelly b/core/src/main/resources/hudson/diagnosis/TooManyJobsButNoView/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/TooManyJobsButNoView/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/diagnosis/TooManyJobsButNoView/description.properties b/core/src/main/resources/hudson/diagnosis/TooManyJobsButNoView/description.properties new file mode 100644 index 000000000000..72995c50c3ed --- /dev/null +++ b/core/src/main/resources/hudson/diagnosis/TooManyJobsButNoView/description.properties @@ -0,0 +1 @@ +blurb = Recommends the creation of additional views to help categorize jobs if there are none and too many jobs exist. diff --git a/core/src/main/resources/hudson/logging/LogRecorderManager/index.jelly b/core/src/main/resources/hudson/logging/LogRecorderManager/index.jelly index 6546379ab557..97f957a5581c 100644 --- a/core/src/main/resources/hudson/logging/LogRecorderManager/index.jelly +++ b/core/src/main/resources/hudson/logging/LogRecorderManager/index.jelly @@ -30,41 +30,47 @@ THE SOFTWARE. -

- ${%Log Recorders} - -

+
+
+

+ ${%Log Recorders} + +

+
+
- - - - ${name} - + + ${name} - - - - - - - - - - - - - - +
- ${%Name} -
+ + + + + + + + + + +
+ + + +
+
+
+
+
+ ${%Name}
diff --git a/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/description.jelly b/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/description.properties b/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/description.properties new file mode 100644 index 000000000000..620850a3f956 --- /dev/null +++ b/core/src/main/resources/hudson/model/UpdateCenter/CoreUpdateMonitor/description.properties @@ -0,0 +1 @@ +blurb = When a new release of Jenkins has been released, this informs administrators about it. diff --git a/core/src/main/resources/hudson/node_monitors/MonitorMarkedNodeOffline/description.jelly b/core/src/main/resources/hudson/node_monitors/MonitorMarkedNodeOffline/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/node_monitors/MonitorMarkedNodeOffline/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/node_monitors/MonitorMarkedNodeOffline/description.properties b/core/src/main/resources/hudson/node_monitors/MonitorMarkedNodeOffline/description.properties new file mode 100644 index 000000000000..ed703833bd7e --- /dev/null +++ b/core/src/main/resources/hudson/node_monitors/MonitorMarkedNodeOffline/description.properties @@ -0,0 +1 @@ +blurb = Whenever a resource monitor marks a node offline, this warning is shown to inform administrators about it. diff --git a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index.jelly b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index.jelly index b9b30db7e437..863035f7cb83 100644 --- a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index.jelly +++ b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/index.jelly @@ -27,29 +27,60 @@ THE SOFTWARE. -

${%Users}

+
+
+

+ ${%Users} +

+
+

${%blurb}

- - - - - - - + +
- ${%User ID}${%Name} -
+ - - - - + + + - + + + + + + + + + + + +
${user.id}${user} - - - - - + ${%User ID}${%Name} +
+
+ + + +
+
+ ${user.id} + + ${user.fullName} + +
+ + + +
+
+ +
+ + + +
+
+
diff --git a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/sidepanel.jelly b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/sidepanel.jelly index eeb89b3e8835..bff0f693ff32 100644 --- a/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/sidepanel.jelly +++ b/core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/sidepanel.jelly @@ -29,6 +29,7 @@ THE SOFTWARE. + diff --git a/core/src/main/resources/hudson/triggers/SCMTrigger/AdministrativeMonitorImpl/description.jelly b/core/src/main/resources/hudson/triggers/SCMTrigger/AdministrativeMonitorImpl/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/triggers/SCMTrigger/AdministrativeMonitorImpl/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/triggers/SCMTrigger/AdministrativeMonitorImpl/description.properties b/core/src/main/resources/hudson/triggers/SCMTrigger/AdministrativeMonitorImpl/description.properties new file mode 100644 index 000000000000..79330e8548d5 --- /dev/null +++ b/core/src/main/resources/hudson/triggers/SCMTrigger/AdministrativeMonitorImpl/description.properties @@ -0,0 +1 @@ +blurb = If there are more SCM polling activities scheduled than Jenkins can handle in parallel, this informs administrators about the problem and provides diagnostic information. diff --git a/core/src/main/resources/hudson/triggers/SlowTriggerAdminMonitor/description.jelly b/core/src/main/resources/hudson/triggers/SlowTriggerAdminMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/hudson/triggers/SlowTriggerAdminMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/hudson/triggers/SlowTriggerAdminMonitor/description.properties b/core/src/main/resources/hudson/triggers/SlowTriggerAdminMonitor/description.properties new file mode 100644 index 000000000000..0b16a7b1baca --- /dev/null +++ b/core/src/main/resources/hudson/triggers/SlowTriggerAdminMonitor/description.properties @@ -0,0 +1 @@ +blurb = This warns administrators that triggers are not firing on schedule, typically because some plugins perform additional actions (like network access) during trigger processing. diff --git a/core/src/main/resources/jenkins/diagnosis/HsErrPidList/description.jelly b/core/src/main/resources/jenkins/diagnosis/HsErrPidList/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnosis/HsErrPidList/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/diagnosis/HsErrPidList/description.properties b/core/src/main/resources/jenkins/diagnosis/HsErrPidList/description.properties new file mode 100644 index 000000000000..b73c5d6c080b --- /dev/null +++ b/core/src/main/resources/jenkins/diagnosis/HsErrPidList/description.properties @@ -0,0 +1 @@ +blurb = Informs about the presence of JRE crash dumps after an abnormal Jenkins termination, and allows viewing them. diff --git a/core/src/main/resources/jenkins/diagnostics/CompletedInitializationMonitor/description.jelly b/core/src/main/resources/jenkins/diagnostics/CompletedInitializationMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/CompletedInitializationMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/diagnostics/CompletedInitializationMonitor/description.properties b/core/src/main/resources/jenkins/diagnostics/CompletedInitializationMonitor/description.properties new file mode 100644 index 000000000000..3cc848657f2e --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/CompletedInitializationMonitor/description.properties @@ -0,0 +1 @@ +blurb = Warns about an incomplete initialization, indicating a bug in Jenkins. diff --git a/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsAgents/description.jelly b/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsAgents/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsAgents/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsAgents/description.properties b/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsAgents/description.properties new file mode 100644 index 000000000000..5aa28a09d906 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsAgents/description.properties @@ -0,0 +1 @@ +blurb = Shows a warning when the built-in node has executors despite agents (static or clouds) being configured. diff --git a/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsNoAgents/description.jelly b/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsNoAgents/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsNoAgents/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsNoAgents/description.properties b/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsNoAgents/description.properties new file mode 100644 index 000000000000..83dbe1c0e41d --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/ControllerExecutorsNoAgents/description.properties @@ -0,0 +1 @@ +blurb = Shows a warning when the built-in node has executors and recommends that agents (static or clouds) are set up. diff --git a/core/src/main/resources/jenkins/diagnostics/RootUrlNotSetMonitor/description.jelly b/core/src/main/resources/jenkins/diagnostics/RootUrlNotSetMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/RootUrlNotSetMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/diagnostics/RootUrlNotSetMonitor/description.properties b/core/src/main/resources/jenkins/diagnostics/RootUrlNotSetMonitor/description.properties new file mode 100644 index 000000000000..7d106db5929d --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/RootUrlNotSetMonitor/description.properties @@ -0,0 +1 @@ +blurb = Some Jenkins features require the root URL to be defined, and this warns when it is undefined. diff --git a/core/src/main/resources/jenkins/diagnostics/SecurityIsOffMonitor/description.jelly b/core/src/main/resources/jenkins/diagnostics/SecurityIsOffMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/SecurityIsOffMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/diagnostics/SecurityIsOffMonitor/description.properties b/core/src/main/resources/jenkins/diagnostics/SecurityIsOffMonitor/description.properties new file mode 100644 index 000000000000..5130a6a884b9 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/SecurityIsOffMonitor/description.properties @@ -0,0 +1 @@ +blurb = Authentication (security realm) and authorization (authorization strategy) should be set up. diff --git a/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/description.jelly b/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/description.properties b/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/description.properties new file mode 100644 index 000000000000..3f4e23cc01f6 --- /dev/null +++ b/core/src/main/resources/jenkins/diagnostics/URICheckEncodingMonitor/description.properties @@ -0,0 +1 @@ +blurb = A diagnostic feature warnings administrators about incorrect encoding of URLs, typically with improperly set up reverse proxies or containers. diff --git a/core/src/main/resources/jenkins/model/BuiltInNodeMigration/description.jelly b/core/src/main/resources/jenkins/model/BuiltInNodeMigration/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/model/BuiltInNodeMigration/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/model/BuiltInNodeMigration/description.properties b/core/src/main/resources/jenkins/model/BuiltInNodeMigration/description.properties new file mode 100644 index 000000000000..a9aff625d85b --- /dev/null +++ b/core/src/main/resources/jenkins/model/BuiltInNodeMigration/description.properties @@ -0,0 +1 @@ +blurb = When updating Jenkins from before 2.307, this allows administrators to migrate the built-in node name and label. diff --git a/core/src/main/resources/jenkins/model/Jenkins/EnforceSlaveAgentPortAdministrativeMonitor/description.jelly b/core/src/main/resources/jenkins/model/Jenkins/EnforceSlaveAgentPortAdministrativeMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/model/Jenkins/EnforceSlaveAgentPortAdministrativeMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/model/Jenkins/EnforceSlaveAgentPortAdministrativeMonitor/description.properties b/core/src/main/resources/jenkins/model/Jenkins/EnforceSlaveAgentPortAdministrativeMonitor/description.properties new file mode 100644 index 000000000000..75cb812fd542 --- /dev/null +++ b/core/src/main/resources/jenkins/model/Jenkins/EnforceSlaveAgentPortAdministrativeMonitor/description.properties @@ -0,0 +1 @@ +blurb = Informs administrators that the TCP agent port is different than its enforced value and will be reset on restart. diff --git a/core/src/main/resources/jenkins/model/Jenkins/systemInfo.jelly b/core/src/main/resources/jenkins/model/Jenkins/systemInfo.jelly index 60939bee8051..f9ab9b258cd8 100644 --- a/core/src/main/resources/jenkins/model/Jenkins/systemInfo.jelly +++ b/core/src/main/resources/jenkins/model/Jenkins/systemInfo.jelly @@ -30,88 +30,121 @@ THE SOFTWARE. - + +
+

${%System Properties}

- - - +
+
+ +
+ +
+

${%Environment Variables}

- - -

${%Plugins}

- + + + + +
+
+

${%Plugins}

+
+
+
+ + + + + + + + - - - - - - + + + - - - + + + -
${%Name}${%Version}${%Enabled}
- ${%No plugins installed.} -
${%Name}${%Version}${%Enabled} + ${%No plugins installed.} +
+ + + + + +
-

${%Memory Usage}

- - - - - - - - - -
- ${%Timespan}: - - - ${%Short} - - - ${%Short} - - - - - - ${%Medium} - - - ${%Medium} - - - - - - ${%Long} - - - ${%Long} - - + + +
+
+

${%Memory Usage}

- - +
+ + + + + + + + + + +
+ ${%Timespan}: + + + ${%Short} + + + ${%Short} + + + + + + ${%Medium} + + + ${%Medium} + + + + + + ${%Long} + + + ${%Long} + + +
+ + -

${%Thread Dumps}

+
+
+

${%Thread Dumps}

+
+

${%threadDump_blurb('threadDump')}

diff --git a/core/src/main/resources/jenkins/monitor/JavaVersionRecommendationAdminMonitor/description.jelly b/core/src/main/resources/jenkins/monitor/JavaVersionRecommendationAdminMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/monitor/JavaVersionRecommendationAdminMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/monitor/JavaVersionRecommendationAdminMonitor/description.properties b/core/src/main/resources/jenkins/monitor/JavaVersionRecommendationAdminMonitor/description.properties new file mode 100644 index 000000000000..543b42b1caef --- /dev/null +++ b/core/src/main/resources/jenkins/monitor/JavaVersionRecommendationAdminMonitor/description.properties @@ -0,0 +1 @@ +blurb = Recommends Java 11 for running Jenkins if an older version is used. diff --git a/core/src/main/resources/jenkins/security/QueueItemAuthenticatorMonitor/description.jelly b/core/src/main/resources/jenkins/security/QueueItemAuthenticatorMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/QueueItemAuthenticatorMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/QueueItemAuthenticatorMonitor/description.properties b/core/src/main/resources/jenkins/security/QueueItemAuthenticatorMonitor/description.properties new file mode 100644 index 000000000000..e0e35e008504 --- /dev/null +++ b/core/src/main/resources/jenkins/security/QueueItemAuthenticatorMonitor/description.properties @@ -0,0 +1 @@ +blurb = If access control for builds is not set up, this shows a warning, explaining the problem. diff --git a/core/src/main/resources/jenkins/security/RekeySecretAdminMonitor/description.jelly b/core/src/main/resources/jenkins/security/RekeySecretAdminMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/RekeySecretAdminMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/RekeySecretAdminMonitor/description.properties b/core/src/main/resources/jenkins/security/RekeySecretAdminMonitor/description.properties new file mode 100644 index 000000000000..e74250b62a07 --- /dev/null +++ b/core/src/main/resources/jenkins/security/RekeySecretAdminMonitor/description.properties @@ -0,0 +1 @@ +blurb = Informs about the need to perform secret re-keying due to a security vulnerability that was fixed in 2013. diff --git a/core/src/main/resources/jenkins/security/ResourceDomainRecommendation/description.jelly b/core/src/main/resources/jenkins/security/ResourceDomainRecommendation/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/ResourceDomainRecommendation/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/ResourceDomainRecommendation/description.properties b/core/src/main/resources/jenkins/security/ResourceDomainRecommendation/description.properties new file mode 100644 index 000000000000..f582443e009b --- /dev/null +++ b/core/src/main/resources/jenkins/security/ResourceDomainRecommendation/description.properties @@ -0,0 +1 @@ +blurb = Informs about the resource root URL option if the Content-Security-Policy HTTP header for user-controlled resources served by Jenkins has been set to a custom value. diff --git a/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/description.jelly b/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/description.properties b/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/description.properties new file mode 100644 index 000000000000..ac83e27372be --- /dev/null +++ b/core/src/main/resources/jenkins/security/UpdateSiteWarningsMonitor/description.properties @@ -0,0 +1,3 @@ +blurb = This warning informs administrators about active security warnings for installed Jenkins core or plugin versions. \ + Rather than disable this warning entirely (including any future issues), consider disabling specific messages in the global security configuration. +# TODO Add link diff --git a/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyDisabledDefaultAdministrativeMonitor/description.jelly b/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyDisabledDefaultAdministrativeMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyDisabledDefaultAdministrativeMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyDisabledDefaultAdministrativeMonitor/description.properties b/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyDisabledDefaultAdministrativeMonitor/description.properties new file mode 100644 index 000000000000..c3257e8a51c3 --- /dev/null +++ b/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyDisabledDefaultAdministrativeMonitor/description.properties @@ -0,0 +1 @@ +blurb = Warns administrators about the legacy behavior of automatically generating API tokens for new users. diff --git a/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyEnabledNewLegacyAdministrativeMonitor/description.jelly b/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyEnabledNewLegacyAdministrativeMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyEnabledNewLegacyAdministrativeMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyEnabledNewLegacyAdministrativeMonitor/description.properties b/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyEnabledNewLegacyAdministrativeMonitor/description.properties new file mode 100644 index 000000000000..9d032c6fb748 --- /dev/null +++ b/core/src/main/resources/jenkins/security/apitoken/ApiTokenPropertyEnabledNewLegacyAdministrativeMonitor/description.properties @@ -0,0 +1 @@ +blurb = Warns administrators about the legacy behavior of allowing users to generate new legacy API tokens. diff --git a/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/description.jelly b/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/description.properties b/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/description.properties new file mode 100644 index 000000000000..6ea38444ebaa --- /dev/null +++ b/core/src/main/resources/jenkins/security/apitoken/LegacyApiTokenAdministrativeMonitor/description.properties @@ -0,0 +1 @@ +blurb = Warns administrators about the presence of legacy API tokens in the configuration of some users. diff --git a/core/src/main/resources/jenkins/security/csrf/CSRFAdministrativeMonitor/description.jelly b/core/src/main/resources/jenkins/security/csrf/CSRFAdministrativeMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/csrf/CSRFAdministrativeMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/csrf/CSRFAdministrativeMonitor/description.properties b/core/src/main/resources/jenkins/security/csrf/CSRFAdministrativeMonitor/description.properties new file mode 100644 index 000000000000..43166a50f295 --- /dev/null +++ b/core/src/main/resources/jenkins/security/csrf/CSRFAdministrativeMonitor/description.properties @@ -0,0 +1 @@ +blurb = Warns about disabled CSRF protection. diff --git a/core/src/main/resources/jenkins/security/s2m/AdminCallableMonitor/description.jelly b/core/src/main/resources/jenkins/security/s2m/AdminCallableMonitor/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/s2m/AdminCallableMonitor/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/s2m/AdminCallableMonitor/description.properties b/core/src/main/resources/jenkins/security/s2m/AdminCallableMonitor/description.properties new file mode 100644 index 000000000000..8676abab2277 --- /dev/null +++ b/core/src/main/resources/jenkins/security/s2m/AdminCallableMonitor/description.properties @@ -0,0 +1,3 @@ +blurb = An agent attempted to send a message to the controller for execution, but agent-to-controller access control rejected it. \ + This lets administrators review the message type and approve it. +# TODO I am fairly sure this never triggers, but https://github.com/jenkinsci/jenkins/pull/5885 will hopefully remove this soon anyway. diff --git a/core/src/main/resources/jenkins/security/s2m/MasterKillSwitchWarning/description.jelly b/core/src/main/resources/jenkins/security/s2m/MasterKillSwitchWarning/description.jelly new file mode 100644 index 000000000000..bb405e931933 --- /dev/null +++ b/core/src/main/resources/jenkins/security/s2m/MasterKillSwitchWarning/description.jelly @@ -0,0 +1,4 @@ + + + ${%blurb} + diff --git a/core/src/main/resources/jenkins/security/s2m/MasterKillSwitchWarning/description.properties b/core/src/main/resources/jenkins/security/s2m/MasterKillSwitchWarning/description.properties new file mode 100644 index 000000000000..746efab0d249 --- /dev/null +++ b/core/src/main/resources/jenkins/security/s2m/MasterKillSwitchWarning/description.properties @@ -0,0 +1 @@ +blurb = When agent-to-controller access control is disabled, this warns administrators. diff --git a/core/src/main/resources/lib/form/combobox.jelly b/core/src/main/resources/lib/form/combobox.jelly index 352940b904e1..c9c93658d436 100644 --- a/core/src/main/resources/lib/form/combobox.jelly +++ b/core/src/main/resources/lib/form/combobox.jelly @@ -62,7 +62,7 @@ THE SOFTWARE. Specify 'get' (must be lowercase) to change the HTTP method used for the AJAX requests to @checkUrl from a POST to a GET. If any other value is specified then requests will use POST. - The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.TODO. + The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.285. diff --git a/core/src/main/resources/lib/form/number.jelly b/core/src/main/resources/lib/form/number.jelly index 5489fb8ef2b5..638e392d3aac 100644 --- a/core/src/main/resources/lib/form/number.jelly +++ b/core/src/main/resources/lib/form/number.jelly @@ -79,7 +79,7 @@ THE SOFTWARE. Specify 'get' (must be lowercase) to change the HTTP method used for the AJAX requests to @checkUrl from a POST to a GET. If any other value is specified then requests will use POST. - The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.TODO. + The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.285. diff --git a/core/src/main/resources/lib/form/select.jelly b/core/src/main/resources/lib/form/select.jelly index afff9afbebc9..2f4ee0d836f5 100644 --- a/core/src/main/resources/lib/form/select.jelly +++ b/core/src/main/resources/lib/form/select.jelly @@ -54,7 +54,7 @@ THE SOFTWARE. Specify 'get' (must be lowercase) to change the HTTP method used for the AJAX requests to @checkUrl from a POST to a GET. If any other value is specified then requests will use POST. - The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.TODO. + The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.285. diff --git a/core/src/main/resources/lib/form/textarea.jelly b/core/src/main/resources/lib/form/textarea.jelly index 52b9f4330da4..64bae2e84e87 100644 --- a/core/src/main/resources/lib/form/textarea.jelly +++ b/core/src/main/resources/lib/form/textarea.jelly @@ -58,7 +58,7 @@ THE SOFTWARE. Specify 'get' (must be lowercase) to change the HTTP method used for the AJAX requests to @checkUrl from a POST to a GET. If any other value is specified then requests will use POST. - The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.TODO. + The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.285. Turns this text area into CodeMirror-assisted code editing text area. diff --git a/core/src/main/resources/lib/form/textbox.jelly b/core/src/main/resources/lib/form/textbox.jelly index 2bd69ae2cdf0..328e594f912a 100644 --- a/core/src/main/resources/lib/form/textbox.jelly +++ b/core/src/main/resources/lib/form/textbox.jelly @@ -72,7 +72,7 @@ THE SOFTWARE. Specify 'get' (must be lowercase) to change the HTTP method used for the AJAX requests to @checkUrl from a POST to a GET. If any other value is specified then requests will use POST. - The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.TODO. + The historical default was GET and 'post' had to be specified to change that, but this was changed in Jenkins 2.285. A single character that can be used as a delimiter for autocompletion. Normal diff --git a/core/src/main/resources/lib/hudson/propertyTable.jelly b/core/src/main/resources/lib/hudson/propertyTable.jelly index 1c69142d1c34..67a5438ff31f 100644 --- a/core/src/main/resources/lib/hudson/propertyTable.jelly +++ b/core/src/main/resources/lib/hudson/propertyTable.jelly @@ -31,16 +31,24 @@ THE SOFTWARE. A Map object that gets rendered as a table. - - - - - - +
${%Name}${%Value}
+ - - + + - + + + + + + + + +
${%Name}${%Value}
+ + + +
diff --git a/core/src/main/resources/lib/hudson/thirdPartyLicenses.jelly b/core/src/main/resources/lib/hudson/thirdPartyLicenses.jelly index f2adf91cfd67..8e454626ee98 100644 --- a/core/src/main/resources/lib/hudson/thirdPartyLicenses.jelly +++ b/core/src/main/resources/lib/hudson/thirdPartyLicenses.jelly @@ -27,19 +27,23 @@ THE SOFTWARE. - - - - - - - +
${%Name}${%Maven ID}${%License}
+ + + + + + + + + +
${%Name}${%Maven ID}${%License}
- ${attrs.name} + ${attrs.name} ${attrs.groupId}:${attrs.artifactId}:${attrs.version} diff --git a/essentials.yml b/essentials.yml index a30905dba791..6a751ec61e78 100644 --- a/essentials.yml +++ b/essentials.yml @@ -1,7 +1,7 @@ --- ath: useLocalSnapshots: false - athRevision: "acceptance-test-harness-1.104" + athRevision: "acceptance-test-harness-1.106" athImage: "jenkins/ath:1.97-pre" categories: - org.jenkinsci.test.acceptance.junit.SmokeTest diff --git a/pom.xml b/pom.xml index 1a450091e0e7..d5bd491675e0 100644 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ THE SOFTWARE. - 2.321 + 2.322 -SNAPSHOT @@ -237,6 +237,7 @@ THE SOFTWARE. true all,-missing + true diff --git a/test/pom.xml b/test/pom.xml index 806fc921deb5..9b02134aa2cc 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -117,7 +117,7 @@ THE SOFTWARE. org.jenkins-ci.plugins antisamy-markup-formatter - 2.4 + 2.5 test diff --git a/war/pom.xml b/war/pom.xml index 9fbd2f1eebfa..413436828bda 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -63,7 +63,7 @@ THE SOFTWARE. org.jenkins-ci executable-war - 2.0 + 2.1 provided diff --git a/war/src/main/resources/images/ionicons/trash-outline.svg b/war/src/main/resources/images/ionicons/trash-outline.svg new file mode 100644 index 000000000000..c31d78df853e --- /dev/null +++ b/war/src/main/resources/images/ionicons/trash-outline.svg @@ -0,0 +1 @@ +Trash \ No newline at end of file diff --git a/war/src/main/webapp/scripts/yui/autocomplete/autocomplete-debug.js b/war/src/main/webapp/scripts/yui/autocomplete/autocomplete-debug.js index 8db71443edde..f8913c1511d9 100644 --- a/war/src/main/webapp/scripts/yui/autocomplete/autocomplete-debug.js +++ b/war/src/main/webapp/scripts/yui/autocomplete/autocomplete-debug.js @@ -2110,7 +2110,7 @@ YAHOO.widget.AutoComplete.prototype._typeAhead = function(elListItem, sQuery) { // Bug 2528552: Store as a selection oSelf._sCurQuery = elListItem._sResultMatch; oSelf.typeAheadEvent.fire(oSelf,sQuery,sPrefill); - YAHOO.log("Typeahead occured with prefill string \"" + sPrefill + "\"", "info", oSelf.toString()); + YAHOO.log("Typeahead occurred with prefill string \"" + sPrefill + "\"", "info", oSelf.toString()); },(this.typeAheadDelay*1000)); } };