24072 Commits
Author SHA1 Message Date
Qingyuan Wang ac92f88137 Clarify quiet-down -block help text regarding Pipeline jobs (#27556)
The -block option of the quiet-down CLI command does not wait for
running Pipeline jobs, because they are resumable and pause at the end
of their current step. The usage text did not mention this, which led
users to report the behavior as a bug. Clarify the help text.
2026-10-18 06:51:53 -06:00
Qingyuan Wang ada8baaa7d Fix ArtifactArchiver javadoc: patterns must be comma-separated (#27557)
Fix ArtifactArchiver javadoc to say comma-separated patterns

Whitespace is no longer accepted as a pattern separator: FilePath
validation rejects it with an explicit error message. The field
javadoc still described the list as comma- or space-separated, and the
excludes javadoc pointed at Ant semantics without noting the stricter
separator. Align the javadoc with the enforced behavior.
2026-10-18 06:51:38 -06:00
Kanhaiya76618 d73a34308c Canonicalize cached label expressions to share load statistics (#27428)
* Canonicalize cached label expressions to share load statistics

Fixes #27403

* Deduplicate label expressions in separate map and preserve raw aliases
2026-10-16 05:26:03 -06:00
Donghui Wang f44fdc3082 Match job names in global search suggestions (#26690) 2026-10-16 05:25:20 -06:00
5bedd4759f Keep ANSI colours in the live console after a pause in output (#27424)
* Keep console annotator state across empty progressive log chunks

The streaming progressiveHtml response only includes consoleAnnotator
in its metadata when there is new text to render. When a poll returns
no new output, the client overwrote its stored state with undefined and
stopped sending X-ConsoleAnnotator, so every later chunk was rendered by
a fresh annotator: AnsiColor escapes appeared raw and Timestamper
formatting was lost until the page was reloaded.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* Compare offsets to detect an empty chunk and add a test

An empty chunk is one where the requested start equals the returned end,
which does not depend on how the annotator state is transported. Adds
src/test/js/progressive-text.test.js covering both an empty poll and a
poll with new output.

Co-authored-by: Jakob Ackermann <17931887+das7pad@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Jakob Ackermann <17931887+das7pad@users.noreply.github.com>
Co-authored-by: Kris Stern <88480540+krisstern@users.noreply.github.com>
2026-10-13 16:38:14 -06:00
Jan Faracik 1c9bbfc726 Remove Manage Jenkins breadcrumb menu (#27529) 2026-10-12 12:19:55 +01:00
Jan Faracik 961bec5def Update User settings pages interface (#27526) 2026-10-12 08:24:52 +01:00
Rauneet Singh 4386cf394a Clean up obsolete Java version checks in tests (#27523) 2026-10-11 08:58:03 +01:00
Daniel BeckandDaniel Beck 0ae952b81c Add support for hudson.model.Failure in CLI error output (#27340)
* Add support for hudson.model.Failure in CLI error output

* Fix Javadoc

* confirm the "unexpected" message does not show

* Adapt tests to changed behavior

---------

Co-authored-by: Daniel Beck <daniel-beck@users.noreply.github.com>
2026-10-10 21:22:55 -06:00
Somesh Kumar Singh 8a98cbdf9c Warn about unsafe authorization strategy (#27499)
Issue #27465: warn about unsafe authorization strategy
2026-10-10 10:13:46 -06:00
Aitor Moya Lopez d84f69e91c Propagate readOnlyMode into all dropdownDescriptorSelector fragments in core (#27167)
* Propagate readOnlyMode into SCM Checkout Strategy descriptor config

f:dropdownDescriptorSelector renders its selected descriptor's config.jelly
lazily via AJAX (lib/form/dropdownDescriptorSelector.jelly), and only
variables listed in its `capture` attribute are visible to that lazily
rendered fragment. hudson/model/Job/configure.jelly sets readOnlyMode for
the whole config page, but lib/hudson/project/config-scm.jelly's call for
scmCheckoutStrategy didn't capture it, so a Job's SCM Checkout Strategy
config fragment was not disabled for read-only viewers (Item.READ +
Item.EXTENDED_READ, no Item.CONFIGURE), even though every other field on
the page correctly disables in that case.

This mirrors the same gap that was originally found and fixed in
cloudbees-folder-plugin (JENKINS-62218,
jenkinsci/cloudbees-folder-plugin#747) and reverted there since it's a
core issue affecting every Job configuration page, not just folders. Part
of the JENKINS-12548 read-only system configuration browsing epic
(JEP-224). No Jira ticket filed yet for this specific core gap.

* Propagate readOnlyMode to remaining dropdownDescriptorSelector fragments

f:dropdownDescriptorSelector defers rendering of every non-selected
descriptor's config.jelly/config.groovy via l:renderOnDemand, which only
forwards variables named in its `capture` attribute into that later
AJAX-rendered fragment. readOnlyMode (JEP-224, JENKINS-12548) is not
forwarded by default, so a viewer with Item.EXTENDED_READ but not
Item.CONFIGURE can get back a fully editable fragment for any option other
than the currently selected one, even though the rest of the page correctly
disables.

The gap was first found and fixed for the SCM Checkout Strategy dropdown on
Job/configure.jelly (previous commit, also reported against
cloudbees-folder-plugin#747 / JENKINS-62218 and reverted there as a core
issue). Review of that fix pointed out the bug is generic to
dropdownDescriptorSelector, not specific to SCM Checkout Strategy. This
commit closes the remaining Job/agent-configuration-scoped call sites found
by auditing all *.jelly and *.groovy usages of the tag in core:

- HudsonPrivateSecurityRealm/config.jelly (Password Complexity Rule)
- DelegatingComputerLauncher/config.jelly and DumbSlave/configure-entries.jelly
  (agent Launch method, Availability/retention strategy)
- Maven/config.jelly (Settings file, Global Settings file build-step config)
- GlobalFingerprintConfiguration/config.jelly (Fingerprint Storage Engine)
- BuildDiscarderProperty/config-details.jelly and
  SimpleGlobalBuildDiscarderStrategy/config.jelly (Discard old builds strategy,
  at both the per-job and global-default nesting levels)
- GlobalMavenConfig/config.groovy (default settings/global settings provider)
- ViewsTabBar/GlobalConfigurationImpl/config.groovy (Views Tab Bar)
- GlobalCrumbIssuerConfiguration/config.groovy (Crumb Issuer)

hudson/model/MyViewsProperty/config.jelly (Views Tab Bar on a user's own
account page) was deliberately left out: that page requires full
Jenkins.ADMINISTER and never sets readOnlyMode in its render chain, so it is
not an instance of this bug.

A further instance of this same gap exists on the "Manage Jenkins > Security"
page (Security Realm / Authorization Strategy / Markup Formatter selectors),
reachable with only Overall.SYSTEM_READ. That one is being reported through
the Jenkins Security Team's private disclosure process instead of here, since
it can expose an editable Security Realm/Authorization Strategy fragment to a
low-privilege viewer -- a permission-escalation-adjacent issue rather than a
plain read-only-UI gap.

Adds a regression test (SCMCheckoutStrategyReadOnlyModeTest) that registers a
throwaway SCMCheckoutStrategy with a real editable field, triggers the same
renderOnDemand() JS a browser fires when switching the dropdown, and asserts
the resulting fragment is rendered as the standard read-only N/A placeholder
rather than an editable input.

* Propagate readOnlyMode to GlobalSecurityConfiguration's dropdownDescriptorSelector calls

Applies the same fix as the previous commit to the last remaining
dropdownDescriptorSelector call sites in core: Security Realm, Authorization,
and Markup Formatter on hudson/security/GlobalSecurityConfiguration/index.groovy
("Manage Jenkins > Security", reachable with only Overall.SYSTEM_READ).

This was initially held back to verify it wasn't a privilege-escalation risk
before publishing: GlobalSecurityConfiguration#configure() unconditionally
calls j.checkPermission(Jenkins.ADMINISTER) as the first line, before any
submitted JSON is read, so a forged configSubmit POST from a SYSTEM_READ-only
user is rejected server-side (AccessDeniedException3) regardless of what the
UI rendered; the Save/Apply buttons are also only rendered inside
l.isAdmin(). The lazily-rendered fragment itself never carries live secrets
either, since dropdownDescriptorSelector renders non-selected options with
instance=null. Confirmed the same double gate (checkPermission(CONFIGURE) in
doConfigSubmit) exists for the other already-fixed call sites, so this is the
same severity class as the rest of the change: a read-only-mode UI/UX gap,
not a write-path vulnerability.

Adds a regression test (GlobalSecurityConfigurationReadOnlyModeTest) covering
this Groovy-view, SYSTEM_READ-scoped rendering path, following the same
pattern as SCMCheckoutStrategyReadOnlyModeTest: register a throwaway
AuthorizationStrategy with a real editable field, trigger the same
renderOnDemand() JS a browser fires when switching the dropdown, and assert
the fragment renders as the standard read-only N/A placeholder.

* Propagate readOnlyMode once in dropdownDescriptorSelector taglib, not per caller

Per jtnord's review on #27167: rather than requiring every caller of
f:dropdownDescriptorSelector to pass capture="readOnlyMode" (12 call
sites in core alone, plus any plugin using the same taglib), fix it
once in the taglib itself.

lib/form/dropdownDescriptorSelector.jelly already always captures
"descriptor" and "it" for the lazily rendered l:renderOnDemand
fragment regardless of what the caller's capture attribute lists.
readOnlyMode now joins that same always-captured set, so read-only
mode propagates into every lazily loaded descriptor fragment
ecosystem-wide without any caller changes.

This reverts the 12 per-callsite capture="readOnlyMode" additions
from the previous commits on this branch and updates the two
JenkinsRule/HtmlUnit regression tests' documentation to point at the
new, single fix location. Both tests still pass unchanged, since they
exercise the real page end-to-end rather than depending on any
caller's capture attribute.

* Add a taglib-level regression test for dropdownDescriptorSelector

The two existing regression tests on this branch (SCMCheckoutStrategy,
GlobalSecurityConfiguration) exercise real pages end-to-end through
JenkinsRule + MockAuthorizationStrategy, which only covers 2 of the
now-generic fix's many callers and requires standing up a full
permission model to prove a taglib-level behavior.

Following this project's existing convention for testing this exact
taglib family (lib/form/DropdownListTest, lib/layout/RenderOnDemandTest,
lib/form/RowVisibilityGroupTest, the latter of which already reuses a
single config.jelly across sibling Descriptor implementations), add a
lean unit test that exercises f:dropdownDescriptorSelector directly via
a synthetic RootAction, with no security realm involved. The fixture's
test1.jelly sets readOnlyMode directly and deliberately omits
capture="readOnlyMode", proving the taglib itself is responsible for
propagating it into the lazily-rendered fragment -- which by
construction covers every current and future caller, not just the two
pages exercised by the other tests.

* Empty commit to retrigger CI
2026-10-10 10:13:29 -06:00
Jesse Glick a41a51fe48 Log stack traces for OldDataMonitor.report on Run (#27500)
* Log stack straces for `OldDataMonitor.report` on `Run`

* Ignore `ReportException` https://github.com/jenkinsci/jenkins/pull/27500#discussion_r4195992415

* Reduce messages to `FINE` so they can be collected if and when desired https://github.com/jenkinsci/jenkins/pull/27500#discussion_r4196269765
2026-10-07 21:32:30 -06:00
Eunbin Son c365518dcb Use Locale.ROOT for case-insensitive matching in CollectionSearchIndex (#27497)
* Use Locale.ROOT for case-insensitive matching in CollectionSearchIndex

* Rename misleading case-sensitivity variable in CollectionSearchIndex

The local variable in suggest() held the result of
UserSearchProperty.isCaseInsensitive() but was named isCaseSensitive.
Rename it to caseInsensitive, matching FixedSet.suggest(). No
behavior change.
2026-10-07 21:32:11 -06:00
USJUN 5af872b637 [JENKINS-75310] Fix log recorder level updates (#27065)
* [JENKINS-75310] Fix log recorder level updates

* [JENKINS-75310] Handle removed log recorder targets

* [JENKINS-75310] Avoid repeated streams for descendant targets
2026-10-07 21:31:46 -06:00
Markus WinterandMark Waite 9e0ba0a3aa Show cloud displayname instead of name (#27471)
Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
2026-10-05 07:41:07 +01:00
30d8c13e9b Add filtering to experimental Job page (#27408)
* Init

* Push

* Update _dashboard.scss

* Getting there

* Getting there...

* GETTIGN THERE

* Update entry-skeleton.jelly

* Update _job.scss

* Update _job.scss

* Update _job.scss

* Getting there

* Update actions.jelly

* Update _job.scss

* Update _job.scss

* Remove unused code

* Rename classes

* Update entry-skeleton.jelly

* Refine

* Update entry-new.jelly

* Update entry-new.jelly

* Address comment + refinement

* Update _job.scss

* Improve detail focus

* Init

* Fixes

* Getting there!

* Update _search-bar.scss

* Getting there!

* Rename

* Update _search-bar.scss

* Update _dropdowns.scss

* Improve no results ui

* Update builds-card-new.js

* Push

* Refine

* Update _job.scss

* Update queued items styling

* Update core/src/main/resources/jenkins/job/OverviewTab/index.jelly

Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>

* Update core/src/main/resources/hudson/widgets/HistoryWidget/index-new.jelly

Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>

* Update core/src/main/resources/hudson/widgets/HistoryWidget/index-new.jelly

Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>

* Push

* Update builds-card-new.js

* Update index.jelly

* Update builds-card-new.js

* I18n

* Update index-new.jelly

* Update index-new.jelly

* Simplify file

* Update builds-card-new.js

* Update _side-panel-tasks.scss

* Simplify filter

* Update _search-bar.scss

* Update index.jelly

* Update HistoryPageFilter.java

* Fixes

* Update filter.svg

* Update _job.scss

* Tidy up

* Address Copilot review feedback on job history filtering

- Apply status/search filtering while paging (including lookahead), so
  sparse matches no longer underfill a page or produce incorrect
  hasUpPage/hasDownPage flags in HistoryPageFilter.
- Reset pagination to the first page whenever the search term or
  status filter changes, instead of reusing stale page boundaries.
- Expose selected build-status filters via aria-pressed, initialized
  as soon as the dropdown rows are created.
- Add HistoryPageFilterTest coverage for status filtering, combined
  search/status filtering, and status-filtered paging edge cases.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
Co-authored-by: Tim Jacomb <timjacomb1@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
2026-10-04 16:44:50 +01:00
Quantum 2be1de3da6 Fix missing return after sendError in doDoFingerprintCheck (#27474)
* Use LOGGER instead of System.out in doSimulateOutOfMemory

Replaces a System.out.println call with the class-level LOGGER at
WARNING level. This is consistent with logging practices used
elsewhere in Jenkins core and ensures the message is captured by
the logging framework rather than the standard output stream.

* Fix missing return after sendError in Jenkins#doDoFingerprintCheck

When the CSRF crumb is invalid, doDoFingerprintCheck calls
sendError(403) but then continues to sendRedirect2 on the same
response. Since the response is already committed, this throws
IllegalStateException, which surfaces as an unhandled error in
the logs and may yield a 500 response depending on the servlet
container's buffering behavior.
2026-10-04 16:39:07 +01:00
AbdelHamdyGhanemandMark Waite b33abf6387 [JENKINS-75944] Clarify the RequirePOST warning page (#27058)
* [JENKINS-75944] Clarify the RequirePOST warning page

* Update core/src/main/resources/hudson/security/csrf/CrumbFilter/retry.properties

Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>

---------

Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
2026-10-04 16:38:48 +01:00
bcaeaf3fc5 Fix missing New Item button in new dashboard view (#27483)
* Fix missing `New Item` button in new dashboard view

With the new dashboard page enabled the `New Item` button is missing for
non admins usually. It was wrongly shown for users that had the
`View.CREATE` permission.

* Potential fix for pull request finding 'Restrict internal Jelly class-loading helper'

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* handle myview properly

---------

Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-04 16:34:45 +01:00
47aca2ba97 Standardise experimental Jenkins pages, make the side panel independently scrollable + make the build bar sticky (#27380)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
2026-10-04 16:24:57 +01:00
Dmytro KinakhandDaniel Beck d42ab94dcb Update Ukrainian translation for browser reload message (#26170)
Co-authored-by: Daniel Beck <1831569+daniel-beck@users.noreply.github.com>
2026-10-03 18:37:43 +01:00
7328235680 Update dependency org.jenkins-ci:jenkins to v2.1413.v65a_1fb_5a_dd02 (#27389)
* Update dependency org.jenkins-ci:jenkins to v2.1413.v65a_1fb_5a_dd02

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Reset system properties on every DefaultConfidentialStoreTest

Remove the test execution order dependency that was exposed by:

* https://github.com/jenkinsci/jenkins/pull/27389

* Split dependencyNotInstalled test into a separate test class

Simpler than identifying the state that is retained between tests.

* Reuse shared PluginWrapper test support

Co-authored-by: MarkEWaite <156685+MarkEWaite@users.noreply.github.com>

* Use AfterEach instead of BeforeEach to clear system properties

https://github.com/jenkinsci/jenkins/pull/27389#discussion_r4121913093

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MarkEWaite <156685+MarkEWaite@users.noreply.github.com>
2026-10-03 12:08:08 +01:00
Quantum e6402772ae Use LOGGER instead of System.out in doSimulateOutOfMemory (#27470) 2026-10-03 11:57:34 +01:00
Jan Faracik 846b53f610 Enable new Manage Jenkins UI by default (#26999) 2026-10-03 11:56:24 +01:00
Mark Waite e2ba107d13 Adapt OS EOL test for Ubuntu 22.04 (#27464)
Adapt OperatingSystemEndOfLifeAdminMonitorTest for Ubuntu 22.04

Ubuntu 22.04 is end of life April 1, 2027.  That means we are now
within the 6 month end of life warning window for the operating system.
That causes the test to fail on ci.jenkins.io because it is using Ubuntu
22.04 agents.

Temporarily adapt the expected values in the tests for Ubuntu 22.04.
Those changes can be removed when the agents on ci.jenkins.io are running
a newer operating system.  Refer to help desk:

* https://github.com/jenkins-infra/helpdesk/issues/5124

Testing done:

* Confirmed tests fail on Ubuntu 22.04 without this change
* Confirmed tests pass on Ubutnu 22.04 with this change
2026-10-01 09:26:32 -06:00
2725fc3a00 Increase minimum required Remoting version from 3176.v207ec082a_8c0 to 3256.3258.v858f3c9a_f69d (#27439)
* Drop support for remoting releases before 2024-08

* Adapt Security3430Test to latest changes

Uses the original changes from @daniel-beck, merged with master branch.

One relevant change for discussion is the switch from IllegalStateException
to IOException in the assertions in the _run method.  I believe that is the
correct change, but would like validation from @daniel-back to be certain.

-                assertThat(itex.getCause(), instanceOf(IllegalStateException.class));
+                assertThat(itex.getCause(), instanceOf(IOException.class));

Testing done:

* Confirmed Security3430Test passes in my development environment

---------

Co-authored-by: Daniel Beck <daniel-beck@users.noreply.github.com>
Co-authored-by: Daniel Beck <1831569+daniel-beck@users.noreply.github.com>
2026-09-27 06:12:26 -06:00
Jesse Glick 09393220de Do not persist workspaceDir + buildsDir (#27406) 2026-09-26 08:03:35 -06:00
log0u7 06343cc5d0 Remove dead ".crumb" fallback in CrumbFilter (#27432)
Remove dead .crumb fallback in CrumbFilter

The fallback added in ed0ea631 (JENKINS-12875) discarded its return
value, so the legacy .crumb field name has never been accepted since
2014. The compatibility window it targeted is long expired; delete the
dead code instead of reviving it. Add a test pinning that a valid crumb
under the configured field name is accepted and the same crumb under
".crumb" is rejected.

Fixes #27431
2026-09-25 14:21:19 -06:00
Shubham Padkonde b4488dc4bf Fix PackedMap entry equality and hash codes (#27396) 2026-09-25 14:20:05 -06:00
ec61ae721e Reword the -jnlpUrl deprecation warning on JNLP file downloads (#27331)
* Remove the -jnlpUrl deprecation warning from the JNLP file download

Since the 2.440.1 migration guidance, agents launch with -url and -name and
the remoting launcher already logs the deprecation warning when -jnlpUrl is
actually used. The remaining consumer of the JNLP file endpoint is
automation: provisioning tools download jenkins-agent.jnlp to extract the
connection secret before starting the agent. For each such download the
controller logged a warning claiming the agent is connecting with -jnlpUrl,
which is false and sends operators chasing a non-existent problem on the
agent side.

Drop the endpoint-level warning: the actual deprecated launch path warns on
its own, where the message is true.

* Reword the deprecation warning logged on JNLP file downloads

The warning claimed the agent is connecting with the -jnlpUrl argument,
but it is emitted on a plain file download with no agent connection
involved. Agents launch with -url and -name since the 2.440.1 migration
guidance, and the remoting launcher warns on its own when -jnlpUrl is
actually used.

State that the JNLP file endpoint itself is deprecated and point at the
agent documentation, keeping the signal without the misattribution.

---------

Co-authored-by: log0u7 <logout@github.com>
Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
2026-09-25 14:19:51 -06:00
Jan Faracik bdefb3e889 Use new surface mixin in for search suggestions and row selection controller (#27419)
* Init

* Push

* Update _row-selection-controller.scss

* Update _search-bar.scss

* Refine

* Update updates.jelly

* Update _row-selection-controller.scss
2026-09-23 14:21:37 -06:00
Alex TumanovandAlex Tumanov fc3f95bf9a Avoid creating ZIP entries for unreadable files (#27388)
* Open ZIP inputs before creating entries

* Assert unreadable archive test preconditions

---------

Co-authored-by: Alex Tumanov <6143578+oleksii-tumanov@users.noreply.github.com>
2026-09-23 14:21:13 -06:00
renovate[bot] a0bef987b3 Update dependency org.xmlunit:xmlunit-bom to v2.14.0 (#27417)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-21 18:09:00 -06:00
Leo Camus 19884b31b6 Fix QueryParameterMap failing on parameters without a value (#27381) 2026-09-21 11:21:15 -06:00
Jan Faracik 9b4d646662 Fix search suggestions race between search bar init and page scripts (#27410) 2026-09-21 07:00:29 +01:00
Jan Faracik a7d51d5be4 Add initial implementation of new dashboard list for experimental Dashboard UI (#27391) 2026-09-21 07:00:13 +01:00
Jan Faracik 73fb0831d3 Remove experimental Manage Jenkins deferred loading (#27411) 2026-09-21 06:59:06 +01:00
Jan Faracik 81dc9a3e13 Show a 'Success' banner on Manage Jenkins page save (#27097) 2026-09-15 23:16:34 +01:00
Jan Faracik 52b837be4a Add initial implementation of new builds list for experimental Job UI (#27189) 2026-09-15 23:15:49 +01:00
Eunbin Son 99a82be858 Fix plain text log output dropping trailing partial lines (#27233) 2026-09-12 20:45:52 -06:00
Shreyas Madake f9242f3adb Fix OpenSearch XML content-type and add moz:SearchForm (#27364)
Fixes #27210
2026-09-10 04:59:37 -06:00
Mark Waite 98047df8a5 Reduce Windows CI test time by skipping some expensive platform independent tests (#27248) 2026-09-07 19:41:53 +01:00
Alex TumanovandAlex Tumanov c9c331ad78 Restore iconOnly summary link behavior (#27353)
Co-authored-by: Alex Tumanov <6143578+oleksii-tumanov@users.noreply.github.com>
2026-09-07 10:36:58 -06:00
cui fliter 6026418d4a Use locale-independent matching in build history search (#27350)
Signed-off-by: cuishuang <imcusg@gmail.com>
2026-09-06 14:31:32 -06:00
Mark Waite c62f3619db Use assert instead of assume in several tests (#27258)
* Use assertions in test body instead of assumptions in SlaveTest

Failed assumptions silently ignore the test

Failed assertions call us to immediate action

* Use assertEquals instead of assumeTrue in ArgumentListBuilder2Test

* Use assertFalse, not assumeFalse in UpdateCenterPluginInstallTest

Fail the tests if updates.jenkins-ci.org cannot be resolved rather than
quietly skipping the tests.  If our tests need to be resilient to DNS
lookup failures, there are many other places that need to be changed.

* Assert rather than assume white listed classes include LinkedListMultimap in ClassFilterImplTest

* Remove assume that checked if tests are running in Jetty servlet context in SystemPropertiesTest

Tests always run with Jetty servlet context.

* Replace assume with assert in FilePathTest

If the assumption were not satisfied, the test would be skipped insted
of failing.

Better to fail the test explicitly than to quietly skip the test and
rely on review of the results to detect the test was skipped.

Testing done:

* Confirmed the test continues to pass
2026-09-06 14:29:49 -06:00
AbdelHamdyGhanemandMark Waite c8c59191b7 JENKINS-71211 Fix experimental flags value column clipping (#27047)
* JENKINS-71211 Fix experimental flags value column clipping

* Fix formatting with yarn lint:fix

---------

Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
2026-09-04 18:16:06 -06:00
github-actions[bot]andtimja 8ad5a40873 Fill in since annotations (#27337)
Co-authored-by: timja <21194782+timja@users.noreply.github.com>
2026-09-03 15:23:45 -06:00
Jesse Glick d2359b3af3 Removing old kinfo_proc.c (#27322)
* Removing old `kinfo_proc.c`

* Noting origin of constants
2026-09-03 15:22:33 -06:00
github-actions[bot]andtimja 8a48cbd9aa Fill in since annotations (#27306)
Co-authored-by: timja <21194782+timja@users.noreply.github.com>
2026-09-02 18:32:32 -06:00
Bob Du e9c59ff6ec Remove direct use of Commons Collections from core (#9004)
Signed-off-by: BobDu <i@bobdu.cc>
2026-09-02 18:31:27 -06:00