Changelog Archive

This is the changelog archive. Recent changelogs can be found here.

2.449

March 11, 2024
Enhancement
  • Support Session ID for External Job Monitor to avoid HTTP 503 response. pull 8825
  • Allow recursive remote file copy even if local and remote nodes have incompatible character sets at binary level, e.g. ISO-8859-1 and CP-1047. JENKINS-72540
  • Add "copy to clipboard" button to the build console output. pull 8960
  • Add experimental APIs to control which agents are loaded and when. pull 8979
Bug fix
  • Do not attempt to self-restart on operating systems where this is not supported. JENKINS-72833
  • Fix a crash when restarting Jenkins on macOS. JENKINS-65911
  • Update bundled Trilead API Plugin to 2.84.86.vf9c960e9b_458. pull 9022
  • Ensure threads in the Computer.threadPoolForRemoting executor service always have the Jenkins webapp ClassLoader set as the context ClassLoader to prevent random class loading issues when code is running in this ExecutorService. JENKINS-72796

2.448

March 5, 2024
Enhancement
  • Non-Pipeline builds interrupted by a controller restart will now be marked as aborted rather than failed. pull 8986
  • Proxy configuration saved via the GUI always configured an authenticator even if the username was blank. pull 8990
Bug fix
  • Restore functionality of some dropdown list form fields outside configuration forms (regression in 2.446). JENKINS-72759
  • Customization of agent log files did not work for inbound agents. JENKINS-72799
  • Setting a proper owner for Jenkins.clouds after Jenkins.load(). pull 8976

2.447

February 27, 2024
Enhancement
  • Use the symbol for parameters in build history of pending jobs. pull 8977
  • Developer: Update Stapler from 1822.v120278426e1c to 1839.ved17667b_a_eb_5 to no longer generate line JavaScript with Stapler bound objects to improve compatibility with ContentSecurityPolicy Plugin. Stapler 1839.ved17667b_a_eb_5 Release Notes
Bug fix

2.446

February 20, 2024
Enhancement
  • Modernize progress bar UI in various locations. JENKINS-69113
  • Add ability for custom update centers to override the suggested plugin list. pull 8951
  • Enable readonly mode for dropdown menus when using the Extended Read Permission plugin. pull 8955
Bug fix
  • Restore progress animation in build history and build time trend views (regression in 2.434). JENKINS-72711
  • Admin monitor does not animate on page load (regression in 2.445). pull 8954

2.445

February 13, 2024
Enhancement
  • Make the Agent/Provision permission available in the global Security configuration when using matrix-based authorization strategies. JENKINS-72637
  • Remove the extra margin when viewing in read only mode. pull 8938
  • Create an index page for heap dump creation. pull 8929
  • Developer: Grant access to more FilePath APIs. pull 8924
Bug fix
  • Allow button clicks after closing an administrative monitor popup. JENKINS-72679

2.444

February 6, 2024
Security
Enhancement
Bug fix
  • Improve locale parsing for loading of localised help files. JENKINS-72627
  • Support noCertificateCheck with webSocket on the CLI. JENKINS-72532
  • Show error message in progressive logs on 4xx status codes. JENKINS-72509
  • Avoid stacktrace from artifactarchiver when no artifacts are found. JENKINS-71700

2.443

January 30, 2024
Bug fix
  • Find selected radio option when validating instead of the last one. JENKINS-72505
  • Fix missing folder icons. JENKINS-72407
  • A security fix in 2.394 caused a substantial slowdown in displaying build artifacts when using remote artifact managers such as in S3. pull 8874
  • Adjust heap dump file name for compatibility with OpenJDK file suffix requirements. JENKINS-72579
Enhancement
  • Update the bundled Matrix Project Plugin from 818.v7eb_e657db_924 to 822.824.v14451b_c0fd42. JENKINS-72603

2.442

January 24, 2024
Security

2.441

January 16, 2024
Enhancement
  • Update operating system end of life data for Amazon Linux, Alpine Linux, and Fedora Linux. pull 8864
  • Remove unused material icons. pull 8831
Bug fix
  • Fix build button rendering for Dashboard View plugin. pull 8854
  • Change focus in the new item page only if from has a valid job name. JENKINS-66530

2.440

January 9, 2024
Enhancement
  • Add an Appearance category to the setup wizard. pull 8822
  • BootFailure subclasses can now override the Jenkins startup failure page. pull 8442
  • Reduce the window of time during which a crash may lead to an inconsistent state on Linux. pull 8815
  • Update the appearance of controls in header. pull 8791
  • Allow icon size to be changed in the node overview table. pull 8802
Bug fix
  • Remove code that may have caused an agent-side hang under a rare race condition. Remoting PR 713
  • Reduce the likelihood of thread creation errors on agents. Remoting PR 717

2.439

January 2, 2024
Bug fix
  • Avoid repeated tool downloads from misconfigured HTTP servers. JENKINS-72469
  • Fix SimpleScheduledRetentionStrategy on inbound agents. Allow suspended inbound agents to again accept tasks when they are reconnected and the configured scheduling policy is enabled. JENKINS-72370

2.438

December 25, 2023
Enhancement
  • Update the appearance of the stop button. pull 8780
  • Use a notification and Jenkins modal for 'Apply' button failures. pull 8394
Bug fix
  • Display correct time zone in build history. JENKINS-71965
  • The tunnel property on an inbound agent was inadvertently broken for JCasC usage in 2.437. It remains deprecated and usages should be deleted (regression in 2.437). pull 8793

2.437

December 19, 2023
Enhancement
  • Add telemetry for basic Java system properties describing the environment. pull 8787
  • Restyle widget panes. pull 8761
  • Rework node monitor configuration. JENKINS-72371
  • Ensure uptime is independent of system clock. JENKINS-72157
  • Show monitoring data on agent page. pull 8725
  • Deprecate all configurable options in **Launch agent by connecting it to the controller** (inbound in JCasC), as these are only useful in conjunction with the deprecated jnlpUrl mode. pull 8762
  • The jnlpUrl ${JENKINS_URL}/computer/${AGENT_NAME}/jenkinsagent.jnlp argument to the agent JAR has been deprecated. Use url ${JENKINS_URL} and name ${AGENT_NAME} instead, potentially also passing in webSocket, tunnel, and/or work directory options as needed. pull 8773
  • Developer: Allow replacing onclick attributes containing inline JS on l:task with datacallback. JENKINS-60866
  • Allow users to make side panel sticky. JENKINS-71578
Bug fix
  • Display strings consistently in the requested language when running Jenkins in a JVM with a non-english locale. JENKINS-72449
  • Fix nested job link in mobile view. JENKINS-72288
  • Do not show option to copy items when there are no items visible. JENKINS-72443

2.436

December 12, 2023
Bug fix
  • Prevent a deadlock that can occur when loading PermalinkProjectAction.Permalink. pull 8736

2.435

December 5, 2023
Enhancement
  • Accept all 2xx and 3xx status codes to validate proxy in HTTP Proxy Configuration JENKINS-72343
  • Tweak font styling to remove anti-aliasing. pull 8689
  • Make display name of HistoryWidget configurable for alternate text. pull 8740
  • Move the proxy configuration form to its own screen. pull 8693
  • Developer: A new convenience method ExtensionList.lookupFirst allows retrieval of the first implementation of an extension point. pull 8735
Bug fix
  • Fix redirect when renaming a cloud. JENKINS-71737
  • Avoid incorrect styling when deleting the first of two shell steps in a job definition. JENKINS-72196

2.434

November 28, 2023
Enhancement
  • Refine build status icons. pull 8705
  • FIPS mode now requires a minimum of 14 characters for a password. pull 8694
  • Allow configuration of disk thresholds globally and for each agent. Improve warning when disk space is too low. Ensure agents are taken offline when disk space is low. JENKINS-72009
  • Fail fast when attempting to load a broken plugin that contains the Jenkins test harness in production. pull 8714
  • Add support for Unix domain sockets. pull 442 (packaging)

2.433

November 21, 2023
Enhancement
  • Deactivate the administrative monitor when all previously offline agents are again online. JENKINS-72159
  • Prepare node monitors to work with configuration as code. JENKINS-64816
  • Introduce an API for build visualization plugins to serve alternative build console views and an API for plugins to produce links to the build console. JENKINS-71715

2.432

November 14, 2023
The Windows container images of this release switch from a windowsservercore-1809 Temurin base image to a windowsservercore-ltsc2019 Microsoft base image. Note also that a proper set of tags is now published and they include "ltsc2019" instead of only "2019".
Enhancement
  • Stop recommending JNLP URL in agent launch instructions. pull 8639
  • Removed deprecated and unused class UserProperties. pull 8679
Bug fix
  • Some agent-related objects could be kept in memory after being disconnected and removed from the computer list. pull 8640

2.431

November 7, 2023
The Windows container image of this release is using Java 17 by default like the Linux images.
Enhancement
  • Remove build timeline widget from the build history pages of views, jobs, and agents. JENKINS-60866
  • More consistently report errors launching outbound agents. pull 8675
  • Warn users at 12 months prior to end of Java support and again at 3 months prior to end of Java support. JENKINS-72252
  • Add support for Unix Domain Sockets. Upgrade Jetty from 10.0.17 to 10.0.18. JENKINS-72266

2.430

October 31, 2023
Bug fix
  • Fix drag and drop handles for existing repeatables (regression in 2.335). JENKINS-72189
  • Refer to the correct option in the security configuration help text. JENKINS-72222
  • Restore security configuration help text and remove obsolete help text. pull 8630
Enhancement
  • Turkish localization fixes for build, login, and user management pages. pull 8651pull 8631
  • Fix a minor memory leak in a Remoting log statement. Add forward proxy support for WebSocket. Support custom certificate options for WebSocket. pull 8643

2.429

October 24, 2023
Enhancement
  • Prevent trimming HMAC codes (using HAMCConfidentialKey) when running in FIPS mode only. pull 8612
Bug fix
  • Restore printing output from println and similar methods for the groovy CLI command (regression in 2.427). JENKINS-72181
  • Show the description of boolean build parameter values on the Parameters view (regression in 2.179). JENKINS-72179

2.428

October 17, 2023
Security
Major enhancement
  • Add missing *_fr.properties in win32errors and hudson, lib, and Jenkins resources. Translate hudson/Messages.properties, hudson/model/Messages.properties, and jenkins/model/Messages.properties into French. pull 8594pull 8595pull 8578pull 8577
Enhancement
Bug fix
  • Fix multibranch Pipeline Add source and other uses that mix inputs and buttons (regression in 2.422). JENKINS-72170
  • Allow clouds to be reordered. This was previously possible, but disappeared when the cloud management was moved to a separate page (regression in 2.403). JENKINS-72020

2.427

October 10, 2023
Bug fix
  • Fix agent allocation due to label issue detected by vSphere Cloud plugin (regression in 2.421). JENKINS-71937
  • Show form validation results for form elements that are initially hidden. (regression in 2.355). JENKINS-71252
  • Remove previous form validation errors when the form validation is updated with new content. (regression in 2.355). JENKINS-71252
Enhancement
  • Disable anonymous usage statistics when run in FIPS mode. pull 8483JEP-237
  • Developer: HudsonPrivateSecurityRealm objects are now serializable. JENKINS-72114
  • Developer: Add extension point to notify about in-process scripting events. JENKINS-41516
  • Developer: Optionally support a FIPS140 compliant algorithm in the Jenkins' own user database. JENKINS-71971pull 8393JEP-237

2.426

October 3, 2023
Major enhancement
Enhancement
  • Automate the display of an administrative monitor when approaching Java end of life (EOL) dates. pull 8526
  • Optimized project deletion. pull 8528
  • Stop shipping net.sf.kxml:kxml2 because Jenkins no longer depends on it. pull 8503
  • Developer: introduce FIPS property for JEP-237 Jenkins Enhancement Proposal 237
Bug fix
  • Reduce high memory usage from XStream2.AssociatedConverterImpl (regression in 2.405). JENKINS-72067
  • Developer: Added setters for View#filterExecutor and View#filterQueue. Fix missing help sections for view filter executor and queue fields. pull 8511

2.425

September 26, 2023
Enhancement
  • Allow alternate values for "Build with Parameters" and the "Build" button on the parameters page. JENKINS-71866
  • Small speculative optimization in build loading. pull 8494
  • The minimum required Remoting version has been increased to 4.13 (released on March 4, 2022). pull 8484
  • Developer: Provide programmatic deletion support for LogRecorder. pull 8489
Bug fix
  • Prevent log spam when using the Jenkins security database and users signup. pull 8474
  • Show a confirmation popup when triggering l:task action from context menu. JENKINS-71880
  • Restore context menus of model links in build history views and in administrative monitors. (regression in 2.402). JENKINS-71890
  • Hide the delete button from the only repeatable element in configuration forms when at least one element is expected (regression in 2.344). JENKINS-72018
  • Do not create a large number of threads when making numerous HTTP requests. JENKINS-72016

2.424

September 20, 2023
Security

2.423

September 12, 2023
Enhancement
  • Move node monitoring option to app bar. pull 8381
  • Developer: make branding an extension via SimplePageDecorator. pull 8462
Bug fix

2.422

September 5, 2023
Major bug fix
  • Prevent incorrect readResolve implementations from breaking agent label parsing. pull 8448
Enhancement
  • Update several buttons and menus to replace YahooUI in more locations. pull 8418
  • List plugins in deterministic order to improve diagnosability of plugin linkage errors. JENKINS-71950
  • Add telemetry collecting basic information about the security configuration. pull 8440
  • Update Turkish localization for the new job page. pull 8446
  • Upgrade to Winstone 6.13 to include Jetty 10.0.16. Winstone 6.13 release notesJetty 10.0.16 changelog
  • Developer: Initialize default view slightly earlier in the initialization process. pull 8413

2.421

August 29, 2023
Major enhancement
Enhancement
  • Add appearance system configuration page. pull 8403
  • Optimize performance of label parsing. pull 8395
Bug fix
  • Fix invalid CSS which caused some buttons to become invisible on hover. JENKINS-71479
  • Message no longer appears twice when the agentLog option is used. JENKINS-38520

2.420

August 22, 2023
Enhancement
  • Move plugins page title into sidebar so that plugins app bar is at the top of the page. pull 8376
  • Remove eval call in hudsonbehavior.js. JENKINS-71514
  • Update Turkish localizations for the job configuration page. pull 8368
  • Refresh link design. pull 8375
  • Display a notice when plugin updates are available or when there are no plugins installed. pull 8208
  • Update the design of the content blocks. pull 8363
  • Remove the unnecessary hashelp class additions from hudsonbehaviour.js. pull 8355
  • Deprecate findAncestor and findAncestorClass in hudsonbehaviour.js. pull 8357
Bug fix
  • Hide administrative monitors icons/popup in the header of Manage Jenkins, as they're shown directly on the page. JENKINS-71848
  • The plain text console log will still be printed even if some console annotations are corrupt. JENKINS-61452
  • Fix link to job in the message informing administrators of trigger computations that run for an unusually long time. JENKINS-71833

2.419

August 14, 2023
Enhancement
  • Remove the addition of the 'has-help' class from hudson-behaviour.js. pull 8355
  • Display a notice when there are plugins installed or updates available. pull 8208
  • Update the design of the content blocks. pull 8363
  • Deprecate findAncestor and findAncestorClass in hudson-behaviour.js. pull 8357
Bug fix
  • Use standard size node icon even with long node names. pull 8089

2.418

August 8, 2023
Bug fix
  • New login page breaks login theme plugin. JENKINS-71238
  • Fix "Manage Jenkins" context menu (regression in 2.415). JENKINS-71744
  • Fix mistranslation of Japanese message in mailing list reference. pull 8324

2.417

August 1, 2023
Enhancement
  • Small optimization in computer list. pull 8299
  • Remove the treeview option for artifactList. JENKINS-71054
  • Remove a workaround that was only necessary for OpenJDK 11.0.16 and earlier. pull 8193
  • Use new jenkins-button styling for 'expandableTextbox' button. pull 8180
  • Log agent usage by job. pull 8283
  • Make tab panes accessible via keyboard. JENKINS-71496
  • Remove System V initialization scripts from RPM based installers. The System V initialization scripts were replaced in March 2022 with systemd initialization. RPM users with a custom log directory no longer have a logrotate(8) configuration out-of-the-box. pull 409 (packaging)Linux install packages migrated from System V init to systemd
  • Add allow-same-origin to the sandbox ContentSecurityPolicy directive of workspace and artifact browsers if the Resource Root URL feature is not used. Allow requests to resources like stylesheets and images, even if a reverse proxy prohibits cross-site requests. JENKINS-71366
Bug fix
  • Add the X-Content-Type-Options HTTP header to the response from the agent listener. Silence security scanners that incorrectly report an issue when the HTTP header is missing. JENKINS-71186
  • Only disable the plugin manager "install" button if no plugins are selected (regression in 2.414). JENKINS-71698

2.416

July 26, 2023
Security

2.415

July 18, 2023
Major enhancement
  • Replace browser confirm with modal dialogs in many places. JENKINS-71438
  • Developer: API for alert, confirm, prompt, modal and form dialogs JENKINS-71438
Enhancement
  • Add last build status to job page. pull 8129
  • Remove the rebuild plugin from the setup wizard plugin selection. pull 8258
  • Remove long deprecated hudson.util.IOUtils#DIR_SEPARATOR, hudson.util.IOUtils#DIR_SEPARATOR_WINDOWS, hudson.util.IOUtils#DIR_SEPARATOR_UNIX, hudson.util.IOUtils#LINE_SEPARATOR, hudson.util.IOUtils#LINE_SEPARATOR_WINDOWS, and hudson.util.IOUtils#LINE_SEPARATOR_UNIX which are available from org.apache.commons.io.IOUtils. pull 7641
Bug fix
  • Estimate project duration accurately in more cases (regression in 2.407). pull 8233

2.414

July 11, 2023
Major enhancement
  • Allow cancelling the quiet down mode of a safe restart with an optional custom message for safe restarts (with new default message). Use a less dangerous color for the safeRestart banner. Allow setting the full prepareShutdown message instead of only the reason. Show a hint on the "Jenkins Unavailable" page about safe restarts. JENKINS-70059
Enhancement
  • Move the 'Update' and 'Install' buttons to the app bar. pull 8025
  • Improve CSP compatibility by uninlining javascript code. JENKINS-71034
  • Make the style of the legacy API token revoke button consistent with other buttons. pull 8210

2.413

July 4, 2023
Enhancement
  • Update appearance of buttons for password and secretTextarea matching 'jenkins-button's. pull 8179
  • Display a notice in the log manager page when no logs are available. pull 8186
Bug fix
  • Restore missing build history for external jobs (regression in 2.409). JENKINS-71553

2.412

June 27, 2023
Enhancement
  • Improve CSP compatibility. JENKINS-71042
  • Add or update MIME types for JavaScript files, JavaScript module files, AV1 Image File (AVIF) files, Web Open Font Format (WOFF) files, and WebAssembly files. Winstone 6.12 release notes
  • Improve CSP compatibility by removing inline JS event handlers. JENKINS-71040
  • Use CSS variables for logger colours. pull 8164

2.411

June 20, 2023
Enhancement
  • Update the Log Recorders interface. pull 8087
  • Add Japanese translation of Apply. pull 8140
  • Switch the doublelaunch checker to a regular administrative monitor. pull 8127
Bug fix
  • Remove animations on login page causing high CPU usage in some cases. JENKINS-71246

2.410

June 13, 2023
Enhancement
  • Improve sign in/register screens appearance on mobile. pull 7995
  • Developer: plugins can now contribute widgets for Computer, ComputerSet, View, Job. pull 7932
Bug fix
  • Allow user deletion from the trash can icon (regression in 2.405). JENKINS-71429
  • Fix a bug when searching for matching form elements (regression in 2.406). JENKINS-71383

2.409

June 6, 2023
Enhancement
  • Use jenkins-button for repeatable buttons. pull 7717
  • Add support for jakarta.inject annotations. pull 8065
Bug fix
  • Do not show Fedora 38 as an end of life operating system before actual end of life in 2024. JENKINS-71394
  • Hide the arrow next to the restart checkbox if the environment doesn't support it. pull 8076
  • Use correct update center proxy configuration hyperlink in error messages. JENKINS-71244

2.408

June 6, 2023
Jenkins 2.408 was not packaged or delivered. All changes planned for 2.408 are included in 2.409.
Bug fix
  • Jenkins 2.408 was not placed in the artifact repository or on the download site.

2.407

May 29, 2023
Enhancement
  • Warn administrators when their Linux operating system is approaching end of life. pull 7913
  • Announce early end of life for Red Hat Enterprise Linux 7 and its derivatives (like CentOS Linux 7, Scientific Linux 7, and Oracle Linux 7). pull 7913
  • Minor footer appearance tweaks. pull 7989
  • Developer: Make Cloud#reconfigure method public. pull 8053
Bug fix
  • Reduce the circumstances under which recent old builds will be loaded when starting new builds. pull 7998

2.406

May 23, 2023
Enhancement
  • Replace disconnect and system info symbols for agents. pull 8015
  • Developer: Expose UserSeedChangeListener extension point. pull 7997
  • Developer: do not call SaveableListener.fireOnChange anymore when reloading an AbstractItem. pull 7984
  • Developer: Support searches for matching form elements without the use of the Prototype JavaScript framework. pull 8008
  • Developer: Added a utility HttpServletFilter to the API. pull 7892
Bug fix
  • Prefix the name of input elements of ListView to prevent form submission issues when an Item (job) is named elements. JENKINS-71200

2.405

May 16, 2023
Enhancement
  • Adjust form label padding. pull 7962
  • Use dialogs to delete computers, views, clouds, users and logrecorders. JENKINS-13545
  • Improve class loading behavior looking up special formatters for XML configuration files. pull 7976
  • Upgrade from Guice 5 to 6. pull 7990Guice 6.0.0 release notes
  • Developer: Queue items elements are now formalized using jenkins.model.queue.QueueItem. pull 7926
Bug fix
  • Restore support for ECharts API plugin (regression in 2.404). JENKINS-71236
  • Make "Skip to content" link visible through keyboard navigation. pull 7956
  • Fix support of clouds without a config.jelly file. pull 7972

2.404

May 9, 2023
Major enhancement
  • Revamp the sign-in and register pages. Add support for browser-native themes like darkmode. pull 7872
Enhancement
  • Make title sticky in legend. JENKINS-71177
  • Move plugins refresh button to app bar. pull 7770
  • Add a user experimental flag to run Jenkins without Prototype.js. Plugin authors should enable this flag and fix any issues that result from the removal of Prototype.js. In the future Prototype.js will be removed from Jenkins core. pull 7948
Bug fix
  • Fix the writing of emojis to XML (regression in 2.403). JENKINS-71182
  • Allow parameter positions to be reordered in job definitions (regression in 2.402). JENKINS-71089

2.403

May 2, 2023
Enhancement
  • Remove support for WebSocket agents when running inside Jetty 9. pull 7101
  • Align source code text and line numbers in views that render source code with the Prism plugin. JENKINS-70805
  • Rework clouds management into multiple pages to better scale to a large numbers of clouds. Users of EC2 Plugin should update it to version 2.0.7 or newer for compatibility. JENKINS-70729
  • Developer: The experimental projectViewNested view has been removed without replacement. JENKINS-70927
Bug fix
  • Show full width filter field for builds on pages less than 970 pixels wide. JENKINS-71115
  • Do not write NUL values to XML files. A technically illegal #x0 (NUL) could be written to Jenkins XML files but could no longer be read. Now the write will fail as well (regression in 2.398). JENKINS-71139
  • Fix the warning icon in the workspaces temporary directory message. JENKINS-71160
  • Do not display a list of page sections on the System page breadcrumb. JENKINS-71152
  • Add padding to the right side of the full width side panel. JENKINS-70115

2.402

April 25, 2023
Enhancement
Bug fix
  • Restore conditional rendering of headers in some pages and remove non-functional drag handle from some headers (regression in 2.335). JENKINS-71089

2.401

April 17, 2023
Enhancement
  • Add updates count badge to Updates sidebar item. pull 7084
  • Simplify loading of JavaScript and CSS. Users of OWASP DependencyTrack must upgrade to 4.3.1 or later, and users of ServiceNow CI/CD must upgrade to 2.1 or later. pull 7827
  • Upgrade Spring Framework from 5.3.26 to 5.3.27. Spring Framework 5.3.27 release notes
Bug fix
  • Properly iterate over class names in heterogeneous lists (regression in 2.400). pull 7845

2.400

April 11, 2023
Security
Bug fix
  • Fix radio buttons in repeated blocks in configuration forms (regression in 2.391). JENKINS-70988
  • Fix null pointer exception on the "Manage Jenkins" page when HTTP/2 is enabled. JENKINS-70630

2.399

April 4, 2023
Enhancement
  • Sign WAR file and Windows installer with new code signing certificate. pull 358

2.398

April 4, 2023
Enhancement
  • Use a card layout instead of a table for the dashboard on mobile. pull 7581
  • Refresh the Build with Parameters interface. pull 7748
Bug fix

2.397

March 28, 2023
A new GPG signing key is used for the Jenkins weekly package repositories. Follow the instructions in the Linux repository signing blog post to install the new public key on your computer.
Enhancement
Bug fix

2.396

March 21, 2023
Enhancement
  • Revamp icon legend as a modal. pull 7718
  • Remove the expand-button component as it's no longer used. pull 7732
  • Refresh the design of the About Jenkins page. pull 7712
Bug fix
  • Hide the Restart Jenkins checkbox in the update center if the controller doesn't support it. JENKINS-69489
  • Restore the New Node button in computer overview for users with node creation permission. JENKINS-70820
  • Suppress some noisy stack traces from ProcessTree. pull 7681
  • Avoid a ClassCastException from TokenBasedRememberMeServices2 (not known to occur in realistic environments). pull 7724
  • SlaveRestarter implementations are now only installed on static agents. Use Djenkins.slaves.restarter.JnlpSlaveRestarterInstaller.forceInstall=true to fall back to the previous behaviour in case of any issue. pull 7693

2.395

March 14, 2023
Enhancement
  • Introduce user experimental flags. JENKINS-69853
  • The stopbuilds command did nothing if the last build of the job was already finished, even while earlier builds were running. pull 7679
  • Add copy button to Jenkins home directory. pull 7678
  • Simplify the names of the settings in Manage Jenkins. pull 7661
Bug fix
  • Adjust websocket idle timeout to 60s seconds by default to avoid "WebSocketTimeoutException: Connection Idle Timeout" issues. Idle timeout is configurable via jenkins.websocket.idleTimeout=<timeoutInSeconds>. JENKINS-69955

2.394

March 8, 2023
Security
Enhancement
  • Limit the maximum number of search results.

2.393

February 28, 2023
Bug fix
Enhancement

2.392

February 21, 2023
Enhancement

2.391

February 14, 2023
Enhancement
  • The default connection mode for the Java CLI client is now webSocket. You can specify http to continue to use the former default (for example because you are running Jenkins in a servlet container other than the recommended builtin Jetty, or because you are running an unusual reverse proxy which does not support WebSocket). You can also continue to specify ssh to use SSH transport (for example because you prefer to authenticate with a private key rather than an API token), or use a native SSH client. pull 7605
  • Upgrade bundled Winstone from 6.7 to 6.10. Add the excludeProtocols option. Improve logging during shutdown. pull 7632Winstone 6.10 changelogWinstone 6.9 changelogWinstone 6.8 changelog
Bug fix
  • Correct responsive behavior on resize of the 'About Jenkins' page. JENKINS-70191
  • Fix the behaviour of filtering in Build History Widget. JENKINS-70438
  • Fix behaviour of booleanRadio in a repeatable section. JENKINS-70139
  • Fix computer links navigation consistency. pull 7608

2.390

February 7, 2023
Enhancement
  • Running pipeline build logs can now be displayed across controller restarts without reloading in some environments. pull 7614
Bug fix
  • Update bundled Apache Mina SSHD API plugins from 2.9.1-44.v476733c11f82 to 2.9.2-50.va_0e1f42659a_a. Include fix for unsafe deserialization in SimpleGeneratorHostKeyProvider. pull 7623JENKINS-70554CVE-2022-45047
  • Do not submit empty telemetry data if an error occurred during data collection. JENKINS-70533
  • Allow WebSocket agent connections to time out after 5m if a write never succeeds. JENKINS-70531

2.389

January 31, 2023
Bug fix
  • Move set node temporarily offline/online buttons to appbar. JENKINS-70394
  • Encode cloud name in Cloud#getUrl. pull 7573
Enhancement
  • Developer: Agent log location honors system property hudson.triggers.SafeTimerTask.logsTargetDir. pull 7595
  • Developer: Introduced an API SubTask.getOwnerExecutable to be implemented in Pipeline. pull 7599

2.388

January 24, 2023
Bug fix
  • Fix the TcpSlaveAgentListenerRescheduler functionality. TcpSlaveAgentListener is automatically restarted on failure. JENKINS-70334
Enhancement

2.387

January 17, 2023
Enhancement
  • Remove the notice in the plugin manager "Updates" page for newer plugin versions that are not compatible with your current core version. Limit the display of updates to plugin versions actually being offered by the update center for your core version. JENKINS-62332
  • Add missing breadcrumb items in various locations. JENKINS-70169
Bug fix
  • Close connection on the agent if the agent's liveness ping receives no response. JENKINS-70414

2.386

January 10, 2023
Enhancement
  • Do not report implied dependencies for WMI Windows Agents plugin. JENKINS-70301
  • Developer: f:file now uses the morph tag library, all unknown attributes will be copied to the element. pull 7562

2.385

January 3, 2023
Enhancement
  • Allow HTML syntax for node descriptions. pull 6511
  • Hide values in tables showing potentially sensitive system properties and environment variables by default. pull 6843
  • Add support for badge icons in Management links. JENKINS-69339
  • Add tabs to System Information page. pull 7373
  • Add missing breadcrumb items for agents. JENKINS-70169
  • Restyle file uploads to match modern forms UI. pull 7452
  • Add missing breadcrumb items in logging views. JENKINS-70169
  • Add missing breadcrumb items in builds. JENKINS-70169
  • Add missing breadcrumb items for agents. JENKINS-70169
  • Add missing breadcrumb items in Views. JENKINS-70169
  • Add missing breadcrumb items in abstract classes. JENKINS-70169
  • Add missing breadcrumb items in User page. JENKINS-70169
  • Add missing breadcrumb items in system information page. JENKINS-70169
  • Update the design of the 'Advanced' button. pull 7173
  • Upgrade XStream from 1.4.19 to 1.4.20. This maintenance release addresses two security vulnerabilities that can cause a denial of service by raising a stack overflow in affected applications. It also provides new converters for Optional and Atomic types. pull 7548XStream 1.4.20 changelogXStream CVE-2022-40151XStream CVE-2022-41966
Bug fix
  • Revert "Label 'Dismiss' buttons red." that was introduced in 2.378. JENKINS-70128
  • Do not prompt the user that changes may not have been saved after apply has been clicked. JENKINS-70112
  • Remove negative letter spacing to improve legibility in some languages and fonts. pull 7475
  • Align table headers with columns. JENKINS-70117

2.384

December 26, 2022
Enhancement
  • Align Build Executor Status collapsed content with build queue design pattern. JENKINS-70121
  • Remove support for log rotation via SIGALRM. The command-line argument --daemon has been removed. pull 7256
Bug fix

2.383

December 20, 2022
Enhancement
  • Add search bar for top level settings in Manage Jenkins. pull 7314
  • Robustness improvement regarding build number collisions. JENKINS-23152
  • Allow plugins to generate symbol markup from Java code. JENKINS-68805
Bug fix
  • Prevent Angry Jenkins when checking a non http(s) based update center URL. JENKINS-70240
  • Improve robustness of class loading on agents. pull 7526
  • Delaying initialization of cryptography needed for TCP inbound agents unless and until such an agent is connected. JENKINS-70206

2.382

December 12, 2022
Enhancement
  • Upgrade Guice from 5.0.1 to 5.1.0. Guice 5.1.0 contains eight fixes and improvements. Guice 5.1.0 Upgrade Guide
  • Add telemetry related to distributed builds. JENKINS-70199
  • Provide native Java 11 HTTP client versions of FormValidation#URLCheck methods. pull 7508
Bug fix

2.381

December 4, 2022
Bug fix

2.380

November 29, 2022
Major enhancement
  • Update appearance and framework for tooltips. pull 6408
Enhancement
  • Upgrade Spring Security from 5.7.5 to 5.8.0. Spring Security 5.8.0 includes 71 fixes and improvements. Spring Security 5.8.0
  • Developer: better error logging for unexpected problems in Computer.threadPoolForRemoting. pull 7284
Bug fix
  • Delete .disabled files when uninstalling a plugin. JENKINS-68194

2.379

November 22, 2022
Enhancement
  • Jenkins no longer bundles a patched version of the deprecated Commons HttpClient 3.x library for use by plugins. Plugins should be migrated to the native Java 11 HTTP client or updated to depend on the legacy Commons HttpClient 3.x API plugin. Jenkins patched HttpClient libraryCommons HttpClient 3.x
  • Set default file size rotation of AsyncPeriodicWork / AsyncAperiodicWork task logs. JENKINS-64151
  • Remove the deprecated WMI Windows Agents plugin from the setup wizard. pull 7414
  • Remove the deprecated Multijob plugin from the setup wizard. pull 7413
  • Add the URL of a plugin to the 'systemInfo' view. pull 7367
  • Add a "copy to clipboard" button to controller and agent thread dump pages. Remove the side panel from controller thread dumps. pull 7368
  • Developer: Introduce a high level HTTP client API. pull 7398
  • Upgrade Spring Framework from 5.3.23 to 5.3.24. Spring Framework 5.3.24 includes 33 fixes and improvements. Spring Framework 5.3.24
Bug fix
  • Fix the animation of the popup dialog in the admin monitor. JENKINS-70036
  • Memory leak when repeatedly connecting WebSocket agents. JENKINS-70103
  • Wait for 10 seconds before attempting to reconnect a WebSocket agent regardless of whether or not the controller is responding. Pull request 603
  • Fix a race condition affecting the launch of inbound agents. pull 7378

2.378

November 14, 2022
Enhancement
  • Label 'Dismiss' buttons red. pull 7364
  • Replace 'Changes' view icon with a symbol. pull 7229
  • Update 'Manage Nodes' page to use app bar and remove sidebar from 'New Node' page. pull 7352
  • Add telemetry for activation of permissions that are not enabled by default. JENKINS-70044
  • The minimum required Remoting version has been increased to 4.7 (released on February 16, 2021). pull 7340
Bug fix
  • Fix overlapping buttons in administrative monitors. pull 7366
  • Fix consoleview bouncing when new entries appear. JENKINS-69587
  • Fix error on profile page if the gravatar plugin is installed. JENKINS-70023
  • Reduce size of the focus state (regression from 2.366). JENKINS-69517

2.377

November 8, 2022
Enhancement
  • Remove deprecated and unused class UnbufferedBase64InputStream. pull 7335
  • Developer: Allow detached plugin location to be overridden. pull 7303
  • Upgrade Spring Security from 5.7.4 to 5.7.5. Spring Security 5.7.5 includes fixes for two authorization mapping issues affecting the scopes in spring-security-oauth2-client and org.springframework.security.web.access.intercept.AuthorizationFilter. Spring Security Release 5.7.5CVE-2022-31690CVE-2022-31692

2.376

October 31, 2022
Enhancement
  • Avoid unnecessary configuration save when reloading configuration from disk. pull 7305
  • Update ANTLR2 grammars and code to ANTLR4. JENKINS-68652
  • Update submit buttons to use .jenkins-button classes. pull 7203
Bug fix
  • Use inbound as the preferred symbol rather than jnlp for inbound agents in JCasC. pull 7171
  • Prevent deadlock on WebSocket agents. pull 7309

2.375

October 25, 2022
Major bug fix
  • Prevent a stack overflow when loading a queue (regression in 2.361). JENKINS-69850
Major enhancement
Enhancement
  • Suppress log messages from periodically running background tasks, such as "Periodic background build discarder". pull 7281
  • Update design of Manage Users page. pull 7197
  • Align the default value of the HTTP keep-alive timeout in Winstone with that of the upstream Jetty project by changing it from 5 seconds to 30 seconds. Remove unused --ajp13Port, --ajp13ListenAddress, --handlerCountMax, and --handlerCountMaxIdle options. JENKINS-69509Align HTTP keep-alive with Jetty default
  • Update bundled Script Security Plugin from 1172.v35f6a_0b_8207e to 1189.vb_a_b_7c8fd5fde. Update bundled Pipeline: API Plugin from 1144.v61c3180fa_03f to 1164.v760c223ddb_32. Update bundled Pipeline: Supporting APIs Plugin from 813.vb_d7c3d2984a_0 to 839.v35e2736cfd5c. Update bundled SCM API Plugin from 602.v6a_81757a_31d2 to 608.vfa_f971c5a_a_e9. 2022-10-19 Security Advisory2022-10-19 Security Advisory
  • Developer: Improve JNLP Port Unreachable error message with host value. pull 7282
  • Upgrade Spring Security from 5.7.3 to 5.7.4. Spring Security 5.7.4 includes dependency upgrades and minor fixes. Spring Security Release 5.7.4
Bug fix

2.374

October 17, 2022
Enhancement
  • Clarify safe restart won't wait for Pipeline jobs. pull 7091
  • Allow form checker to check more than one thing at a time. pull 6951
  • Replace the old Jenkins table layout in the slow trigger administrative monitor with the new Jenkins table layout. JENKINS-69714
  • Add documentation for the --paramsFromStdIn and --version command-line options. pull 7246
  • Developer: Add support for the app-bar component in the side panel. pull 7051
Bug fix
  • Fix sorting of British currency in tables. pull 7250

2.373

October 11, 2022
Enhancement
Bug fix
  • Ensure that temporary network partitions do not cancel the WebSocket ping thread (regression in 2.363). pull 7195

2.372

October 3, 2022
Enhancement
  • Improve the error message when running the controller on an unsupported Java version. pull 7185
  • Add a "Reset to default" button to reset update site url to default. JENKINS-69032
  • Modernize update center check button. pull 7183
  • Modernize session termination button. pull 7182
  • Improve performance when killing processes at the end of a build on Windows. JENKINS-67681
  • Upgrade the bundled Instance Identity plugin from 3.1 to 116.vf8f487400980. pull 7175
  • Introduce a new interface TriggeredItem. pull 7131

2.371

September 26, 2022
Bug fix
  • Support staging of releases (regression in 2.361). pull 7138
  • An exception is no longer thrown when stopping a stuck build on Windows on Java 17. JENKINS-69647

2.370

September 21, 2022
Security

2.369

September 20, 2022
Enhancement
Major bug fix
  • Fix broken UI on Configure Global Security form when plugins with active security warnings are installed (regression in 2.368). JENKINS-69627
Bug fix
  • Table columns get wider or smaller depending on the sort selection. JENKINS-67864
  • Improve build progress animation when refreshing parts of the history/executors widget. JENKINS-68627
  • Fix a race condition that causes file descriptor leaks when cloud agents are created. JENKINS-69534
  • Trigger form validation events after editing a CodeMirror formatted text area. JENKINS-15604

2.368

September 12, 2022
Enhancement
  • Show recommended actions (e.g., to update affected plugins) in security warnings popup. pull 7046
Bug fix

2.367

September 6, 2022
Enhancement
  • Add sidebar to plugin manager, increase search bar size. pull 6783
  • Add support for Apple's touch bar icons. pull 6768
  • Minor changes to empty state arrow icon and header user profile icon. pull 7052
  • Removed: The signed jenkins-parent-${JENKINS_VERSION}-src.zip source archives have been removed from Artifactory for future releases. Users who wish to download source archives for offline consumption are encouraged to do so via GitHub. pull 7061ArtifactoryGitHub source code download
  • Provide more information about the agent connection when it fails with EOFException. pull 7053
  • Display email form validation errors near the data entry field in the setup form. JENKINS-68952
  • Developer: Enable ProjectNamingStrategy to check the full name of a new item. JENKINS-68602
Bug fix
  • Fix autosizing of CodeMirror textbox. JENKINS-69359
  • Fix bouncing build number element on mouse hover. JENKINS-69145
  • Properly reset attributes of cached symbols. JENKINS-68805
  • The dropdown chevron on the build executor queue is no longer misplaced, if the widget is refreshed. JENKINS-69114

2.366

August 29, 2022
Bug fix
  • Fix searchBar is null issue in setup wizard and when using custom Jenkins headers. JENKINS-69250
  • Fix a potential FileAlreadyExistsException error on startup on systems with slow I/O. JENKINS-67624
  • Add focus state in radio buttons. JENKINS-69398
Enhancement

2.365

August 23, 2022
Bug fix
  • Fix the resize behavior of Execute Shell build steps. JENKINS-69320
  • Allow agent processes to access the changed inbound agent connection URL (regression in 2.364). JENKINS-69370
  • Restore focus state for checkboxes (regression in 2.361). JENKINS-69276
Enhancement

2.364

August 15, 2022
Enhancement

2.363

August 8, 2022
Security
Enhancement
Bug fix
  • Fix an error when rebuilding jobs triggered by polling (regression in 2.358). JENKINS-69210
  • Version select input is out of style with other drop down select input JENKINS-69240
  • Retain the position of the project configuration SCM checkbox when it is selected. JENKINS-68957
  • Add a space between repeating chunk items. JENKINS-69230

2.362

August 1, 2022
Enhancement
Bug fix
  • Improve performance of a previous fix for java.lang.OutOfMemoryError: unable to create new native thread on agents. JENKINS-65873
  • Fix sorting by timestamp list of installed plugins in plugin manager. JENKINS-68750
  • Use correct plugin identifier when plugin id includes '-plugin' more than once. JENKINS-68801
  • Do not lead to other pages when users press enter key in the filter box of dropdown lists. JENKINS-68851

2.361

July 26, 2022
Enhancement
  • Remove 'Workspace' and 'Recent Changes' project summary buttons pull 6918
  • Tabs now appear above their respective sections, not at the top of the page. pull 6873
  • Keyboard shortcut added to focus global search bar (CMD + K/CTRL + K). pull 6893
  • Remove onclick and disabled attributes from f:toggleSwitch. JENKINS-60866
  • Remove support for Flash-based cross-domain (XDR) transaction support in YUI 2: Connection Manager. JENKINS-68994
  • Blocked upstream projects in the queue block downstream projects when the option "Block build when upstream project is building" is enabled for the downstream project. Blocked downstream projects in the queue block upstream projects when the option "Block build when downstream project is building" is enabled for the upstream project. JENKINS-68780
Bug fix
  • Update center checkboxes keep focus state after they have been clicked. JENKINS-68788
  • Change state of plugin manager "select all" checkbox when it is clicked. JENKINS-69110
  • Fix build number cutoff in build history widget. JENKINS-68390
  • Retain the search pattern and results across collapsing and reopening the dropdown list. JENKINS-68732

2.360

July 19, 2022
Enhancement
  • Remove the "New View" sidebar link. pull 6703
  • Rework "Updates" table checkbox selection controls. pull 6806
  • Add breadcrumbs to "Manage Jenkins" and children of it. Developers should ensure they use relative links for navigating between pages if they are a child of "Manage Jenkins". pull 6126
  • Upgrade Spring Framework from 5.3.21 to 5.3.22. Spring Framework 5.3.22 includes 45 fixes and improvements. pull 6844Spring Framework 5.3.22 changelog
Bug fix
  • Do not include links on bread crumb elements that do not define a hyperlink destination. JENKINS-68986
  • Make context menu shadow darker than before. JENKINS-68985
  • Make progress bar easy to see. JENKINS-68672

2.359

July 11, 2022
Major enhancement
Bug fix
  • Do not drop scale on sidebar symbols when the link text is longer than a line. JENKINS-68816
  • Remove the margin from the changelog url. JENKINS-68960
  • Don't display the job creation button to a user without Job/Create permission. JENKINS-68208
Enhancement
  • Developer: Support Java 11 in hudson.slaves.Channels#newJVM. pull 6723

2.358

July 6, 2022
Enhancement
Bug fix

2.357

June 27, 2022
Major enhancement
Enhancement
  • The install-plugins.sh script has been removed from the Docker containers after 18 months as a deprecated script. Manage plugin versions in containers with the plugin installation manager tool. The plugin installation manager tool is available in the image as jenkins-plugin-cli. Plugin installation manager toolpull 1380
  • The instance-identity module has been converted to a detached plugin. JENKINS-55582
  • Update the minimum required Remoting version to 4.2.1. pull 6671
  • Update bundled JUnit plugin from 1.47 to 1119.1121.vc43d0fc45561 for security advisory. 2022-06-22 security advisorypull 6582
  • Upgrade Spring Security from 5.7.1 to 5.7.2. Spring project spring-security 5.7.2 release notespull 6674
  • Bump spring-framework-bom from 5.3.20 to 5.3.21. Spring framework BOM 5.3.21 release notespull 6674
  • Upgrade Java Native Access (JNA) from 5.11.0 to 5.12.0. JNA 5.12.0 changelogpull 6707
  • Allow plugin definition file (plugins.txt) to be generated from contents of the plugins directory. Upgrade plugin installation manager tool from 2.12.6 to 2.12.7. Plugin installation manager tool 2.12.7 changelog
  • Update bundled Display URL API plugin from 2.3.5 to 2.3.6. pull 6678
  • Update bundled Pipeline API plugin from 2.42 to 1144.v61c3180fa_03f. pull 6678
  • Update bundled Plugin Utilities API plugin from 1.5.0 to 2.16.0. pull 6678
  • Update bundled Checks API plugin from 1.1.1 to 1.7.4. pull 6678
  • Update bundled ECharts API plugin from 4.9.0-2 to 5.3.2-1. pull 6678
  • Update bundled SnakeYAML API plugin from 1.27.0 to 1.29.1. pull 6678
  • Update bundled JQuery3 API plugin from 3.5.1-2 to 3.6.0-2. pull 6678
  • Update bundled Font Awesome API plugin from 5.15.1-1 to 6.0.0-1. pull 6678
  • Update bundled SCM API plugin from 2.6.5 to 602.v6a_81757a_31d2. pull 6678
  • Update bundled Structs plugin from 1.23 to 308.v852b473a2b8c. pull 6678
  • Replace bundled Bootstrap 4 API plugin 4.5.3-1 with Bootstrap 5 API plugin 5.1.3-6. pull 6678
  • Replace bundled Popper.js API plugin 1.16.0-7 with Popper.js 2 API plugin 2.11.2-1. pull 6678
  • Add bundled Pipeline Supporting APIs plugin 813.vb_d7c3d2984a_0. pull 6678
Bug fix
  • Fix radio buttons selection offset. JENKINS-68799
  • Plugins selected for update cannot be unselected once the update has started. JENKINS-68730
  • Fix raster image build status icons no longer displaying when running Jenkins with a non-empty context path due to a malformed URL. JENKINS-68639
  • Show all log messages when an inbound agent fails to connect (regression in 2.310). JENKINS-68785
  • Fix 'unavailable plugin' messages in plugin manager. pull 6656
  • Ignore duplicate log recorders keyed by same name. JENKINS-68752
  • Tags and other sortable items are now displayed in the alphabetical order if the name contains more than one dot. pull 6627
  • Add sidepanel links on the error page displayed when a user incorrectly updates their password. pull 6661

2.356

June 22, 2022
Security

2.355

June 13, 2022
Enhancement

2.354

June 7, 2022
Bug fix
Enhancement
  • Developer: Optional property can now have inline help. pull 6615

2.353

June 7, 2022
This release build failed due to packaging changes. Installers, native packages, and jenkins.war were not published.
Bug fix
  • Jenkins 2.353 was not placed in the artifact repository or on the download site.

2.352

June 7, 2022
This release build failed due to packaging changes. Installers, native packages, and jenkins.war were not published.
Bug fix
  • Jenkins 2.352 was not placed in the artifact repository or on the download site.

2.351

June 7, 2022
This release build failed due to packaging changes. Installers, native packages, and jenkins.war were not published.
Bug fix
  • Jenkins 2.351 was not placed in the artifact repository or on the download site.

2.350

June 1, 2022
Enhancement
Bug fix
  • Keep the Save and Apply buttons in front of menus (regression in 2.337). JENKINS-68640
  • Restore the frame color of the build progress bar of the executor widget. pull 6607
  • Fix websocket reconnection in edge cases. JENKINS-68542
  • Remove superfluous spacing on job configuration page. pull 6579
  • Fix class attribute for Jenkins Symbols using <l:icon ... />. JENKINS-68630
  • Provide supporting infrastructure to enable Pipeline: Groovy to work around a metaspace memory leak (JDK-8231454) for users running Pipeline jobs on Java 11. pull 6597JENKINS-63766JDK-8231454 metaspace leak
  • Fix a runtime error when viewing the build time trend on Java 17. JENKINS-68215

2.349

May 23, 2022
Enhancement
Bug fix
  • Job name no longer separates randomly in the table on Firefox. JENKINS-68205

2.348

May 17, 2022
Enhancement
  • Announce Java 8 end of life for weekly line as June 21 2022 pull 6566
  • Use native Java Platform functionality rather than Ant to load classes. The old behavior can be restored by setting -Dhudson.ClassicPluginStrategy.useAntClassLoader=true. pull 6571
  • Upgrade Spring Framework from 5.3.19 to 5.3.20. Spring Framework 5.3.20 includes 14 fixes and improvements. In addition, this releases include fixes for 2 vulnerabilities. pull 6565Spring Framework 5.3.20 changelogCVE-2022-22970CVE-2022-22971
  • Remove Java Web Start support for launching inbound agents, along with the GUI mode, the platform-specific agent installers, and the JAR signature. pull 6543Java Web Start
  • Suppress some uninteresting stack traces related to closed agent channels. pull 6555
  • Winstone 5.25 - Update Jetty from 9.4.45.v20220203 to 9.4.46.v20220331. pull 6558JENKINS-68200Winstone 5.25 changelogJetty 9.4.46 changelog
  • Remove the ability for plugins to specify a minimum Java version. The minimum Java version of a plugin is always the same as the minimum Java version of the plugin's minimum core version. JENKINS-20679
  • Allow setting an "id" and style attribute for l:icon in combination with symbols. JENKINS-68381
  • Developer: New series of colours and new range of semantic colours added. pull 6538Design Library
Bug fix
  • Display icons searched without an icon size CSS value (regression in 2.341). JENKINS-68296
  • Use a space between the icon and the text in the build executor status view instead of an underline. JENKINS-68430

2.347

May 10, 2022
Enhancement
  • Use new style checkboxes for plugin manager. pull 6527
  • Add syntax highlighting support to description at the user configuration page. pull 6551
  • Allow extra CSS classes with <l:icon>. JENKINS-68286
Bug fix
  • Fix the position of the help button when it is not directly attached to an object (regression in 2.320). JENKINS-68042
  • Fix indistinguishable build scheduling icon when the job is already in-queue (regression in 2.321). JENKINS-68303
  • Correct encoding for several localized strings. JENKINS-68537

2.346

May 1, 2022
Enhancement
  • Search input clear button now respects user's theme. pull 6521
Bug fix
  • Restore functionality of credentials popup in SSH Build Agents (regression in 2.344). JENKINS-68338
  • Wait for the computation to finish when triggering a new build while the build graph is being recomputed. This guarantees that recently updated build triggers are executed. JENKINS-67237

2.345

April 25, 2022
Enhancement
Bug fix
  • Plugin Manager 'Installed' tab filter now resets when clicking search clear button (regression in 2.325). JENKINS-68291
  • Make bottom border visible in configure page (regression in 2.335). JENKINS-68031

2.344

April 18, 2022
Enhancement
  • Modernise log recorder pages. JENKINS-68284
  • Allow setting a user's primary view via configuration as code. JENKINS-61985
  • Add a dropdown menu to the build trigger if it is instantiated by a user. pull 6276
  • Upgrade bundled Jackson 2 API plugin from 2.12.0 to 2.13.2.20220328-273.v11d70a_b_a_1a_52. JENKINS-68276pull 6480Jackson 2 API plugin changelogs
  • Upgrade Spring Framework from 5.3.18 (released on March 31, 2022) to 5.3.19 (released on April 13, 2022). pull 6474Spring Framework 5.3.19 changelog
  • Use modern form inputs in Plugin Manager, login form, and setup wizard. pull 6442
  • Remove warning that recommends use of the Authorize project plugin. JENKINS-24513
  • Add a "copy to clipboard" button to the script console output. pull 6455
  • Align shutdown banner with other top banners, align executor starvation icon with other build widget icons, and add a side panel to the plugin uninstallation view. pull 6457
  • Improve the display of help text for agent launch methods. pull 6464
  • Remove the html.jelly template in favor of the more feature-rich layout.jelly template. pull 6468
Bug fix
  • Allow plugins to be disabled even when dependent plugins are disabled (regression in 2.325). JENKINS-68277
  • Fix dropdown chevrons not separating links and overflowing (regression in 2.340). JENKINS-68129
  • Fix third party weather icons in the table view (regression in 2.341). JENKINS-68270
  • Clicking the build progress bar again takes the user to the console output (regression in 2.340). JENKINS-68103
  • Correct icon resolution for remote icons (regression in 2.335). JENKINS-67849
  • Allow filtering updates in plugin manager by plugin ID (regression in 2.320). JENKINS-68260
  • Move plugin manager search bar back to middle (regression in 2.325). JENKINS-67933
  • Do not print a stack trace when archiveArtifact does not find a file. JENKINS-51913
  • Hide "No builds" when there is a pending build. JENKINS-67962

2.343

April 12, 2022
Major bug fix
  • Avoid a deadlock between agent class loading and logging. JENKINS-68122
  • Run downstream jobs (regression in 2.341). JENKINS-67237
Enhancement
Bug fix
  • Preserve load statistics data for label expressions. JENKINS-68055
  • Fix the position of icon and text (regression in 2.335). JENKINS-67846
  • Stop builds in the order they are provided from the CLI. pull 6456
  • Hide textarea preview when the field is read only. JENKINS-68188

2.342

April 4, 2022
Enhancement
Bug fix
  • Extend the medium length load statistics to cover 2 days instead of 1. Sometimes the data for the time period was not displayed correctly (regression in 2.204). JENKINS-64299

2.341

March 29, 2022
Enhancement
  • Developers can now use custom symbols in their plugins (link to Symbols docs) JENKINS-68137
  • Hide "Delete build '#'" button if "Keep this build forever" is selected. pull 6403
  • Use new color in trend graph. JENKINS-65928
  • Add more Korean translations. pull 6394
  • Add Traditional Chinese translation property files. pull 6386
  • Make "View build information" pages readonly for users who don't have permission. JENKINS-67967
Bug fix
  • When triggering a new build while the build graph is currently being re-computed, jenkins waits for the re-computation to finish. This guarantees that recently updated build triggers are executed. JENKINS-67237

2.340

March 22, 2022
Enhancement
Bug fix

2.339

March 15, 2022
Enhancement
Bug fix
  • Remove unnecessary log spam when starting Jenkins under systemd on Debian 11 (regression in 2.333 and 2.332.1). JENKINS-67995
  • Prefer --httpPort from JENKINS_ARGS over HTTP_PORT when the two differ. JENKINS-68007pull 296 (packaging)
  • Improve appearance of the changeset box (regression in 2.335). pull 6343
  • Prevent multiline letters from being cut off on the changeset view tab. pull 6344
  • Skip corrupted fingerprint files. JENKINS-67602

2.338

March 8, 2022
Enhancement
  • Use modern icons at the workspace view. pull 6229
  • Add Brazilian Portuguese translation property files. pull 6319
  • Remove the Java Native Runtime (JNR) library from Jenkins core. pull 6323Java Native Runtime project
  • Developer: Add a --debug option to the translation tool to help in troubleshooting. Improve the readability of the translation tool command-line interface (CLI). pull 6317
  • Developer: Upgrade the Guava library from 31.0.1 (released September 27, 2021) to 31.1 (released February 28, 2022). pull 6322Guava 31.1 changelog
Bug fix
  • Stop overemphasizing console logs (regression in 2.335). pull 6342
  • Support focus state on checkboxes (regression in 2.335). JENKINS-67965
  • Place icons at the same height as their associated text (regression in 2.335). JENKINS-67858
  • Replace the "unavailable ionicon" icon by a smaller "x". pull 6291
  • Show only one console box when viewing the build log (regression in 2.335 and 2.226). pull 6338
  • Allow agent reconnects on Java 11 and websocket. Prevent infinite loop in case of a closed SSL connection. Upgrade from Remoting 4.12 to 4.13. pull 6329JENKINS-66446JENKINS-67928Remoting 4.13 changelog
  • Ensure inbound agent restart logic is applied. JENKINS-66446
  • Display log entries with missing logger names in the log viewer. pull 6310
  • Honor MSI installer parameter values for PORT and INSTALLDIR. pull 287 (packaging)

2.337

February 28, 2022
Enhancement
Bug fix
  • Persist changes made to boolean radio controls (regression in 2.336). pull 6311
  • Update bundled Display URL API plugin to prevent issues starting the mailer plugin for offline installations. JENKINS-67885
  • Keep colors when interacting with ionicons as link icon. pull 6296

2.336

February 21, 2022
Bug fix
  • Restore missing computer icon in the "System Information" view of an agent (regression in 2.335). pull 6289
  • Place text correctly on boolean radio controls (regression in 2.335). JENKINS-67847
  • Don't add leading slash to foreign icons (regression in 2.335). JENKINS-67823
  • Don't show build status on jobs that are not yet built (regression in 2.321). JENKINS-67797
  • Use icon of the correct size in list of agents with a specific label (regression in 2.335). JENKINS-67837
  • Don't prepend icon when it's already there. Resolves missing icons in some cases (regression in 2.335). JENKINS-67828
  • Restore missing help icon (regression in 2.335). pull 6280

2.335

February 15, 2022
Major enhancement
Enhancement
  • Switch Linux installers from System V init to systemd. JENKINS-41218
  • Winstone 5.22 - Update Jetty from 9.4.43.v20210629 to 9.4.45.v20220203. Append to log file rather than truncating it (Winstone PR-200). Write log file and access logs in UTF-8 encoding rather than default encoding (Winstone PR-200). pull 6262JENKINS-66379Winstone 5.22 changelogJetty 9.4.45 changelogWinstone PR-200
  • Update "Manage Jenkins" icons and controls. The plugins icon now shows how many updates are available. pull 6273
  • Replace the computer-flash GIF icon with the hourglass icon. JENKINS-67742
  • Remove support for RoleChecker#check(RoleSensitive) calls which were added again in Jenkins 2.319. All remoting Callable implementations need to perform an actual role check as documented. pull 5901Remoting callables documentation
  • Several icons across Jenkins have been updated - the build icon, the delete icon, the settings icon, the about icon and the plugin icon. pull 6186
  • Use modern table design for "Recorded Fingerprints" and "Legacy API Tokens" tables. pull 6247
  • Minor form and spacing changes. pull 6259
  • Update table styling and spacing with small table UI tweaks. pull 6248
  • Startup completion notification is available with systemd(1). pull 6228
  • Update the Korean internationalization for build icon descriptions. pull 6241
  • Extend startup notification timeout as each initialization milestone is attained. pull 6237
Bug fix
  • Update remoting from 4.11.2 to 4.12 to allow Java web start agents to connect (regression in 2.318). pull 5983JENKINS-67000Remoting 4.12 changelog
  • Overwrite grey balls icon with the modern "not built" status. JENKINS-67753
  • Link the log recorder configure button to the associated log recorder (regression in 2.322). pull 6245
  • Render the question mark on the new help button only once so that it is not shown twice, even while using different themes. pull 6233
  • Truncate long build names again (regression in 2.332). JENKINS-67689
  • Return zero from RPM init script on successful stop. JENKINS-31656
  • Do not print Java version message from Debian installer when correct Java version is detected. JENKINS-55696
  • Restart systemd service when the controller exits unexpectedly. JENKINS-56219
  • Restart the Jenkins service after plugin updates on Debian 11 (bullseye). JENKINS-65809
  • Do not fail startup with timeout on systems with slow DNS resolution. Rely on the Jenkins process to check for port availability rather than using a separate shell function. JENKINS-67404
  • Correctly report startup result on Amazon Linux 2 installed with the rpm package. JENKINS-67487

2.334

February 9, 2022
Security
Bug fix

2.333

January 31, 2022
Enhancement
Bug fix
  • Launch only one agent to satisfy cloud agent requests that use label expressions. JENKINS-67635
  • Run cleanup before terminating the controller process due to a Unix TERM signal. pull 6230
  • Correctly render expandable text boxes into multiple lines (regression in 2.197 and 2.176.4). JENKINS-67627
  • Keep the same height when dragging and dropping a component (regression in 2.277). JENKINS-67496
  • Show correct feature name in tooltips of help links (regression in 2.179). JENKINS-67662
  • Support group names with spaces in the deb package. JENKINS-56911pull 268 (packaging)
  • Remove requirement for daemon in deb packages. pull 261 (packaging)
  • Remove requirement for daemonize in RPM packages. pull 248 (packaging)

2.332

January 24, 2022
Bug fix
  • Restore the location of the build progress bar (regression in 2.321). pull 6199

2.331

January 21, 2022
Bug fix
  • Increase width of job configuration form on wide screens. JENKINS-67198
Enhancement

2.330

January 12, 2022
Security

2.329

January 8, 2022
Bug fix
  • Fix ClassNotFoundException: io.jenkins.cli.shaded.org.w3c.dom.Node when using JAXB. JENKINS-67470
  • Fix vertical icon alignment for build status in medium (M) and small (S) icon sizes. JENKINS-67515
Enhancement
  • Developer: The javax.annotation.Generated, javax.annotation.ManagedBean, javax.annotation.PostConstruct, javax.annotation.PreDestroy, javax.annotation.Priority, javax.annotation.Resource, javax.annotation.Resources, javax.annotation.security.DeclareRoles, javax.annotation.security.DenyAll, javax.annotation.security.PermitAll, javax.annotation.security.RolesAllowed, javax.annotation.security.RunAs, javax.annotation.sql.DataSourceDefinition, and javax.annotation.sql.DataSourceDefinitions annotations have been deprecated in favor of the equivalent classes in the jakarta.annotation package. Plugin developers should migrate to the Jakarta Annotations version of each of the above annotations. pull 6161

2.328

January 3, 2022
Enhancement
  • Use SVG icons for agent context menu and executor status. pull 6146
  • Modernise the "About Jenkins" page. Update the table and tab design to use normal cased text. pull 6055
Bug fix
  • Ensure that loggers exist before setting their log levels. In rare cases, setting the log level of a logger may have had no effect. pull 6143

2.327

December 27, 2021
Enhancement

2.326

December 20, 2021
Major enhancement
  • The agent-to-controller security subsystem is now always enabled. The admin-customizable allowlists for callables and file paths have been removed. The ability to access some files on the controller from agents has been removed. Some plugins are incompatible with this change and may need to be updated. pull 5885JENKINS-67173the issue tracker
Enhancement
Major bug fix
  • - Restore support for symbolic links in the Jenkins home directory (regression in 2.325). JENKINS-67372

2.325

December 14, 2021
Enhancement
  • Modernise the appearance of the plugin manager. pull 5916
  • More reliably estimate plugin download progress. pull 6038
  • Developer: Add FilePath#validateAntFileMask(String, boolean) overload for convenience. pull 6033
  • Developer: The option -Dhudson.ClassicPluginStrategy.useAntClassLoader=false allows experiments with plugin-first class loading alternatives. pull 5970
Bug fix
  • Newly created items are again automatically made accessible to their creators to fix a regression in the matrix-auth plugin (regression in 2.324). JENKINS-21224
  • - Fix a resource leak when shutting down Jenkins. pull 6034
  • - Fix a resource leak when a plugin fails to load. pull 6030
  • Filtering now hides unavailable updates on "Updates" tab in Plugin Manager. JENKINS-65084
  • An agent-to-controller security measure failed to persist configuration. pull 5888
  • Custom log records with large record parameters no longer interfere with garbage collection. pull 6018

2.324

December 6, 2021
Enhancement
Bug fix

2.323

November 30, 2021
Enhancement
  • Add configuration-as-code support for managing log recorders. JENKINS-61278
  • Add path to form elements giving stable selectors for UI testing. pull 5926
  • Developer: New extension point Header as an interface that provides capabilities to render a specific header and a default implementation of that, named JenkinsHeader that is enabled by default. pull 5909JEP-234: Customizable Jenkins header
Bug fix

2.322

November 23, 2021
Enhancement
  • Issue a warning to the system log when using agent-to-controller file manipulation idioms considered for deprecation, and collect telemetry about this as well. pull 5890
  • Add descriptions of built-in administrative alerts to the global configuration alert selection page. pull 5937
  • Modernise System Info and Log Recorder pages. pull 5925
  • Developer: Register UberClassLoader as parallel-capable. pull 5931
Bug fix
  • Jenkins startup could hang due to a deadlock in class loading. JENKINS-67188
  • Display full user name, rather than id, in securityRealm page when using the built-in security realm (regression since 2.243). pull 5925
  • Display the "Configure System" icon in the drop down menu. JENKINS-67033

2.321

November 16, 2021
Enhancement
Bug fix
  • Maven tool configuration works again (regression in 2.320). JENKINS-67109
  • Show ongoing first build in build history (regression in 2.314). JENKINS-66969
  • Fix filtering in update tab of plugin manager (regression in 2.320). pull 5908
  • Permit additional safe types in agent to controller access control (regression in 2.320). JENKINS-67105

2.320

November 9, 2021
Major enhancement
  • Upgrade the Guava library from 11.0.1 (released on January 9, 2012) to 31.0.1 (released on September 27, 2021). Plugins have already been prepared to support the new version of Guava; use the Plugin Manager to upgrade all plugins before and after upgrading Jenkins. pull 5707JENKINS-36779JEP-233Guava web siteGuava 31.0.1 changelog
Enhancement
Bug fix
  • Prevent LinkageError during class loading (regression in 2.309). JENKINS-66993
  • Do not attempt to canonicalize tar entries when untaring, as the result may be unexpected for symlinks. JENKINS-67063
  • Fix form submission for file access rules of agent to controller security subsystem (regression in 2.111). pull 5881JENKINS-67061Upgrade guide - Agent to controller path filter security fixes
  • Avoid false positives in plugin search (installed tab). pull 5870
  • Fix missing hyperlink in build history (regression in 2.314). JENKINS-67028
  • Add space between icon and project name (or build number) in all links to builds. pull 5887
  • Add space between icon and project name in upstream & downstream section of project page. JENKINS-66749
  • Replace outdated URLs with working redirects. JENKINS-67032
  • An exception thrown by a RestartListener no longer leaves Jenkins in a zombie-like state. JENKINS-67002
  • Display the time zone of the user when an administrator updates a user account. JENKINS-66845

2.319

November 4, 2021
Security
Major enhancement
Enhancement
  • Always allow configuring agent-to-controller security subsystem.

2.318

October 26, 2021
Enhancement
  • Add XStream2 constructor matching super. JENKINS-66955
  • Remove deprecated, unsafe classes previously copied from Apache Ant. Docker Slaves plugin is incompatible with this change. JENKINS-66930
  • ExecutorListener may now be implemented as a static extension. JENKINS-66947
  • Update tooltips to be consistent across Jenkins. pull 5763

2.317

October 19, 2021
Enhancement
Bug fix

2.316

October 11, 2021
Enhancement
Bug fix
  • Developer: Fix XStream2 support of unmarshalling implicit collections. pull 5757

2.315

October 6, 2021
Security
Enhancement

2.314

September 28, 2021
Enhancement

2.313

September 21, 2021
Enhancement
  • Allow a plugin to dynamically insert a JAR file into its classpath. JENKINS-66563
  • Remove the --daemon argument from Jenkins command line arguments. Replace Akuma library from Jenkins core with simpler implementations using ProcessTree capabilities pull 5561
Bug fix
  • Allow Jenkins to start when the JCasC configuration defines view-related permissions (regression in 2.302). JENKINS-66470
  • Correction of Label expression including a "implies" relationship without spaces around. JENKINS-66613
  • WebSocket connections now work when the Jenkins controller is running Java 11 and using self-terminated TLS. JENKINS-61212

2.312

September 14, 2021
Enhancement
  • Update executable war from 1.45 to 2.0 pull 5706
Bug fix
  • Replace the old icons with the new SVG icons in the job trend page. JENKINS-65928

2.311

September 9, 2021
Bug fix
  • Fix wrong parameter type for Text Parameter when triggering a build via the buildWithParameters API call. pull 5704
  • The checkbox labeled "Enable Agent → Controller Access Control" in the form "Configure Global Security" would always start out as disabled. Submitting the form without checking it would then cause a configuration change (regression in 2.307). pull 5694
Enhancement
  • Graphs now scale correctly on high resolution screens. pull 5697
  • Load classes from plugins in parallel for faster startup on multicore machines. JENKINS-23784
  • Internal: Experimental support for URLClassLoader can be enabled by setting hudson.ClassicPluginStrategy.useAntClassLoader=false. pull 5698

2.310

September 7, 2021
This release build failed while release uploads were blocked. Installers, native packages, and jenkins.war were not published.
Bug fix
  • Jenkins 2.310 was not placed in the artifact repository or on the download site.

2.309

August 30, 2021
Bug fix
  • Fix missing settings/cog icon in Plugin Manager. Fix incorrect folder icon showing in projects (regression in 2.307). pull 5690
Enhancement

2.308

August 24, 2021
Enhancement
  • Use SVGs over PNGs for the sidebar when possible. Breadcrumb bar/logo/menu items are now correctly aligned on the left together. Move old war/images folder to webapp so they can be used in frontend - the SVGs are now in the webapp/images/svgs folder. pull 5663
  • Update appearance for feed bar and description button to be modern and consistent. pull 5664
  • When the buildWithParameter API is called, if the requests with the same parameters in the queue are merged, the http response code of the request uses a more appropriate 303(see other) instead of 201(created). JENKINS-66105
  • Warn about use of master in a label expression when that's no longer in use. pull 5674
  • Developer: Bump spring-security-bom from 5.5.1 to 5.5.2. pull 5672Spring project spring-security 5.5.2 release notes
Bug fix

2.307

August 17, 2021
The default Docker images for Jenkins 2.307 ('2.307', 'latest', 'alpine', 'slim', ...) use Java 11 unless specifically tagged with the jdk8 string. See the Docker images use Java 11 by default blog post for more details.
Major enhancement
  • Replace the term "master" with "controller" (for the main Jenkins application) or "built-in node" in user interface strings and documentation as appropriate. pull 5425
  • Add migration code to change the node name (e.g. NODE_NAME environment variable) and label of the built-in node only after explicit migration by an administrator. New installations get the new node and label immediately. If a job definition, Pipeline definition, or tool installer reference must be tied to the built-in node, it should use the label "built-in". Built-In Node Name and Label Migration
  • Add the system property jenkins.model.Jenkins.nodeNameAndSelfLabelOverride to specify a different node name and label for the built-in node (e.g. for Configuration as Code use cases) than the one otherwise determined. This will not affect other uses of the node name, such as the URL to the built-in node (now /computer/(built-in)/). pull 5425
Bug fix
  • GDSL file in jenkins-core library no longer reports an IllegalStateException when used in IntelliJ IDEA. pull 5662
Enhancement

2.306

August 10, 2021
Bug fix
  • Provide working "Help About" links for Jenkins CLI, Jenkins core, and Jenkins war. JENKINS-64666
Enhancement
  • Developer: AntClassloader will now ignore files that are part of the classpath but not zip files when scanning for resources. It used to throw an exception. pull 5650

2.305

August 3, 2021
Bug fix
Enhancement
  • Ability to disable Java 11 administrative monitor with a system property. JENKINS-66177
  • Developer: Make AntClassLoader multi-release JAR aware when it deals with java.util.jar.JarFile. pull 5635

2.304

July 27, 2021
Bug fix
  • Fix an issue unzipping archives in a corner case when entries have the same path prefix as the target location. JENKINS-66094
Enhancement
  • Avoid polluting the log when usage statistics can not be sent. JENKINS-66139
  • Bump matrix-auth from 2.6.7 to 2.6.8. pull 5630
  • Bump bundled Ant from 1.10.10 to 1.10.11. pull 5620
  • Remove support for native JNR (Java Native Runtime) chmod(2) and stat(2) implementations as opposed to NIO (Java non-blocking I/O) via the hudson.Util.useNativeChmodAndMode system property. This system property no longer has any effect. pull 5606
  • Developer: Allow consumers of XmlFile to disable fsync(2). pull 5599
  • Internal: Terminology cleanup to fix build time trend's distributed builds. Only show the agent column when the controller has agents defined. pull 5625

2.303

July 20, 2021
Enhancement

2.302

July 13, 2021
Enhancement
  • Optimize access control checks affecting (at least) Pipeline node steps. pull 5586
  • Developer: The hudson.util.SubClassGenerator and experimental hudson.model.TreeView class have been removed without replacement. pull 5566pull 5603
  • Internal: Upgrade from Remoting 4.9 to Remoting 4.10 with bugfixes and dependency updates. pull 5607Remoting 4.10 changelog

2.301

July 6, 2021
Major bug fix
  • Fix a regression in 2.298 where some plugins (including Azure Storage) could not correctly parse streaming XML output. pull 5604
Enhancement

2.300

June 30, 2021
Security

2.299

June 22, 2021
Enhancement

2.298

June 15, 2021
Enhancement
  • Document REST methods to mark an (agent) node temporarily offline and related tasks. pull 5556
  • Add X-Frame-Options header to AJAX responses. pull 5555

2.297

June 8, 2021
Major enhancement
Bug fix
  • Fix incorrect process termination issues when running on macOS. JENKINS-65195
  • Add check to prevent out of bounds memory access error on macOS. JENKINS-64347
  • A race condition in class loading could result in a LinkageError. JENKINS-65766
  • Do not change fonts when artifacts are as shown as a tree. JENKINS-65751
Enhancement
  • Bump sshd-core from 2.5.1 to 2.7.0 in Jenkins CLI. pull 5547

2.296

June 1, 2021
Major bug fix
  • Fix regressions in forms submissions from unwanted form validation in any browser (regression in 2.289). JENKINS-65585
Enhancement
Bug fix
  • A specific and rarely encountered internal error now again correctly shows details about the cause (regression in 2.292). pull 5537
  • Improve contrast for the checkbox in the login page. pull 5536
  • Jenkins redirects users to the previous page after login even if they were able to view it while not logged in (regression in 2.266). JENKINS-64991

2.295

May 25, 2021
No notable changes in this release.

2.294

May 25, 2021
This release build does not include a Windows installer due to an infrastructure issue. Other installers and native packages are available for use.
Major bug fix
  • Fix SSH command line interface (CLI) authentication (regression in 2.284). JENKINS-65273
  • Fix NoSuchMethodError when using plugins that rely on bridge methods for compatibility (regression in 2.278). JENKINS-65605
Enhancement

2.293

May 12, 2021
Major bug fix
  • Allow builds to complete when using fingerprints to track items associated with the build. Fix a regression where fingerprint facets were not removable (regression in 2.292). JENKINS-65611

2.292

May 11, 2021
Enhancement
  • Update Stapler from 1.263 to 1532.vfcf95addcb5f to improve performance when encoding unicode characters in JSON API. pull 5422Stapler 1527.ve41b3ce15c05 changelogStapler 1532.vfcf95addcb5f changelog
  • Display Pipeline builds among user build history and remove incorrect warning about view build history. JENKINS-59412
  • Stop bundling the External Monitor Job Type, LDAP, and PAM Authentication plugins. Jenkins will no longer automatically install the External Monitor Job Type, LDAP, or PAM Authentication plugins on startup if a plugin depending on Jenkins 1.467 or earlier is discovered. If you use such a plugin that also relies on the functionality provided by the External Monitor Job Type, LDAP, or PAM Authentication plugin and manage plugins outside Jenkins' plugin manager, you will now need to ensure that a recent release of the External Monitor Job Type, LDAP, or PAM Authentication plugin is installed. Jenkins will attempt to load such plugins but may fail at any time during startup or afterwards with ClassNotFoundException or similar. pull 5445External Monitor Job Type pluginLDAP pluginPAM Authentication plugin
  • Internal: Update Stapler from 1.263 to 1532.vfcf95addcb5f to remove Guava dependency. pull 5422Stapler 1527.ve41b3ce15c05 changelogStapler 1532.vfcf95addcb5f changelog
Bug fix

2.291

May 4, 2021
Enhancement
  • Remove JEP-200 compatibility workarounds for releases published before February 2018 of the following plugins: Maven Integration, Job DSL, Monitoring, Git Client, Pipeline: Supporting APIs, OWASP Dependency-Check. pull 5454Plugin versions with a fixJEP-200
  • Stop sending HTTP response headers related to the remoting-based CLI (removed in 2.165). pull 5452
Bug fix
  • Improve performance for standard input of the Jenkins CLI, for example with the install-plugin command. JENKINS-64294
  • Wrap the build name in the build results list if it is too long. JENKINS-65190

2.290

April 28, 2021
Enhancement
Bug fix
  • Fix an issue archiving files greater than 4 GiB in size when creating ZIP64 archives. JENKINS-52356

2.289

April 20, 2021
Major bug fix
  • Ensure that file parameters correctly overwrite previous files (regression in 2.278). JENKINS-65327
Bug fix
  • Stop using deprecated untrusted submit events on modern browsers for compatibility with future Firefox releases. JENKINS-53462
Enhancement

2.288

April 11, 2021
Enhancement
Bug fix
  • Fix load statistics graph links to include correct graph duration (regression in 2.264). JENKINS-65336
  • Honor the current folder when creating new views with the "New View" link. JENKINS-56934

2.287

April 7, 2021
Security
Enhancement

2.286

March 30, 2021
Security
Major bug fix
  • Fix disabled dropdown items to appear disabled (regression in 2.264). JENKINS-65021
Enhancement

2.285

March 23, 2021
Enhancement
Bug fix
  • Fix NoClassDefFoundError exception while executing ProcessTree.get(). JENKINS-62006
  • Sort available plugins by name when popularity is equal. pull 5359

2.284

March 16, 2021
Major bug fix
  • Gear, clipboard, and user icons are transparent again (regression in 2.283). pull 5354
Enhancement
  • Stop bundling the Ant and Javadoc plugins. Jenkins will no longer automatically install the Ant and Javadoc plugins on startup if a plugin depending on Jenkins 1.430 or earlier is discovered. If you use such a plugin that also relies on the functionality provided by the Ant or Javadoc plugin (e.g., the RAD Builder and manage plugins outside the Jenkins plugin manager, you will now need to ensure that a recent release of the Ant or Javadoc plugin is installed. Jenkins will attempt to load such plugins but may fail at any time during startup or afterwards with ClassNotFoundException or similar. pull 5338Ant pluginJavadoc pluginRAD Builder plugin
  • Update Jenkins CLI to SSHD Core from 1.7.0 to 2.6.0. pull 5206
  • Add Japanese translations for Dashboard, Views, Rename. pull 5350

2.283

March 9, 2021
Major bug fix
  • Fix help buttons in the draggable section (regression in 2.264). JENKINS-64972
Major enhancement
Bug fix
  • Accept negative numbers in number input controls (regression in 2.274). pull 5341
  • Prevent Jenkins queue deadlock when cancelling tasks under certain conditions. JENKINS-64931
  • Do not render full error responses in case of internal errors when validating fields in configuration forms. JENKINS-65017
  • Lower verbosity of a Queue.save() error message. pull 5326
Enhancement
  • Add indicator for security-related entries in the global administrative monitors configuration. pull 5078
  • Add Japanese translations for New Job screen. pull 5334

2.282

March 2, 2021
Major bug fix
Major enhancement
Enhancement
  • Do not force plugin upgrades of recently detached plugins. pull 5311
  • Upgrade from Remoting 4.6 to Remoting 4.7 with bugfixes and dependency updates. pull 5292Remoting 4.7 changelog
  • Remove the hardcoded JKS key store so that other key stores can be used, like BCFKS from the FIPS version of Bouncy Castle. pull 5266
Bug fix
  • Improve reconnection behavior for inbound TCP agents. JENKINS-64510
  • Internal: Ensure that Jenkins#setViews() updates the configuration only when all views are successfully set. pull 5301

2.281

February 23, 2021
Enhancement
  • Improve button focus states. pull 5291
  • Remove some workarounds for IE < 11. pull 5280
  • Developer: Relax ParameterDefinition and subclass constructor signatures to allow optional attributes like description to be defined in setters. pull 5275
Major bug fix
  • Developer: Revert symbol-annotation bump (regression in 2.280). pull 5293

2.280

February 16, 2021
Security
Major bug fix
  • Fix plugin search over multiple update sites (regression in 2.270). JENKINS-64840
Bug fix
  • Show available plugin updates by reloading update center data on upgrade/downgrade. JENKINS-41727
Enhancement

2.279

February 9, 2021
Major bug fix
  • Fix Internet Explorer 11 rendering of the Available plugins tab (regression in 2.270). JENKINS-64805
  • Include 'plugin-id' and 'plugin-version' data attributes in the Available plugins tab (regression in 2.270). JENKINS-64775
Enhancement

2.278

February 2, 2021
Enhancement
Bug fix
  • Restore, as deprecated, the old constructor based on acegisecurity Authentication parameter in order to keep backward compatibility. JENKINS-64746

2.277

January 26, 2021
Enhancement
Bug fix
  • Fix drag & drop for form changes (regression in 2.264). JENKINS-64291
  • Fix server-side form validation that broke client-side form validation (regression in 2.270). JENKINS-64429

2.276

January 19, 2021
Security
Major bug fix
Enhancement
Bug fix
  • Restricted methods FilePath#zip(OutputStream, DirScanner, String, boolean) and VirtualFile#zip(OutputStream, String, String, boolean, boolean) have a new parameter String prefix. pull 5187JENKINS-64621JENKINS-61473

2.275

January 13, 2021
Security
Enhancement

2.274

January 5, 2021
Enhancement
Bug fix
  • Prevent user input of 'e' or 'E' as 'positive-number', 'non-negative-number', or 'number'. JENKINS-64439

2.273

December 29, 2020
Major bug fix
  • Fix plugin manager buttons to correctly reposition themselves instead of being stuck under certain conditions (regression in 2.270). JENKINS-64504
Enhancement
  • Make the root source paths of GroovyHookScript customizable with jenkins.util.groovy.GroovyHookScript.ROOT_PATH. JENKINS-63833
  • Hide collapse icon in sidepanel widgets if they cannot be collapsed. JENKINS-64483
  • Update stapler to 1.262 to fix a number of IllegalReflectiveAccessWarnings when running on Java 11. pull 5111Stapler 1.262 changelog

2.272

December 22, 2020
Major bug fix
  • Prevent NullPointerException in Plugin Manager when using an update center without support for plugin categories (regression in 2.270). JENKINS-64445
Bug fix
  • Fix race condition on authentication filters registration. JENKINS-64465
Enhancement
  • Dropped support for deprecated system properties: hudson.model.Hudson.logStartupPerformance, hudson.model.Hudson.initLogLevel, hudson.model.Hudson.parallelLoad, hudson.model.Hudson.killAfterLoad and hudson.model.Hudson.workspaceDirName. Please use jenkins.model.Jenkins.-prefixed SystemProperties. pull 4962
  • Remove support for queue.txt format (replaced by XML in 2009). pull 5123
  • Update Eclipse Jetty from 9.4.33.v20201020 to 9.4.35.v20201120 for bug fixes and enhancements. pull 5122Winstone 5.13 changelogJetty 9.4.34 changelogJetty 9.4.35 changelog
  • Remove administrative monitor offering to migrate $JENKINS_HOME on a ZFS filesystem. pull 5047
  • Update the bundled XStream library from 1.4.14 to 1.4.15. pull 5115XStream 1.4.15 changelog

2.271

December 15, 2020
Enhancement
  • Stop bundling CVS plugin. Jenkins will no longer automatically install CVS plugin on startup if a plugin depending on Jenkins (then Hudson) 1.340 or earlier is discovered. If you use a plugin that relies on the functionality provided by CVS plugin and manage plugins outside the Jenkins plugin manager, you will now need to ensure yourself that a recent release of CVS plugin is installed. Jenkins will attempt to load such plugins but may fail at any time during startup or afterwards with ClassNotFoundException or similar. pull 5102
  • The page variable divBasedFormLayout is globally available, not only within . JENKINS-64403
  • Remove unused jquery dependencies. pull 5107
Bug fix
  • Don't tell users to signup if they can't. JENKINS-64426
  • Correct Freestyle font-size for descriptions. JENKINS-64332
  • FieldUtils now silently fails to set public final fields again. JENKINS-64390

2.270

December 8, 2020
Major enhancement
  • Massive performance enhancement to available plugins page of Plugin Manager. Exact matches of plugin name are moved to the top. JENKINS-64196
Bug fix
  • Fix incorrect striping of rows on available page of Plugin Manager. JENKINS-63684
  • Ensure that help text expands correctly for GitHub organization folders (regression in 2.264). JENKINS-64373
  • Replace slave with agent in Brazilian and Turkish localization of Agent to Controller security. JENKINS-62347
Enhancement
  • Add Traditional Chinese translation for description of built-in environment variables that are available to shell scripts. JENKINS-64329
  • Use correct unicode in Spanish translation and other fixes. JENKINS-64330
  • Developer: Update localizer plugin to allow threaded builds and localization from XML as well as properties. JENKINS-41729

2.269

December 1, 2020
Bug fix
Enhancement
  • Reduce page load time by loading the administrative monitors popup on demand. Allow keyboard navigation even when there are active administrative monitors. pull 5063
  • Improve pipeline startup performance with faster comparison method. Add equals and hashCode to ParameterDefinition implementations. Equals works strictly for the same classes to preventing issues with extended classes. pull 5014
  • Remove an unused FileSystemProvisioner framework. pull 5048
  • Developer: Update Node.js version to latest LTS (14.15.1). pull 5087
  • Internal: iconset library inlined into Jenkins core, developers using this should remove the dependency. pull 5072
  • Internal: Remove JOnAS application server support. pull 5076

2.268

November 24, 2020
Major bug fix
  • Fix drag and drop with environment filter (regression in 2.264). JENKINS-64252
Enhancement

2.267

November 17, 2020
Enhancement
  • Add the ability to specify a reason for quieting down Jenkins ("Prepare for shutdown"). JENKINS-1877
  • Show security and non-security notifications in separate categories with their associated icons. JENKINS-63977

2.266

November 10, 2020
This release replaces several key components. The Acegi security library used for authentication has been replaced by Spring Security (JEP-227). A fork of the XStream library used to read and write XML files has been replaced by the upstream version of XStream (JEP-228). Refer to the Spring and XStream updates (breaking changes!) blog post for more details.
Major bug fix
  • Fix hidden page elements from radio blocks appearing when they should not. JENKINS-64040
Bug fix
Enhancement
  • Make the Maven Configuration of Global Tools compatible with configuration as code plugin. JENKINS-62446
  • Minor English cleanup for resource root URL setting. JENKINS-41891
  • Developer: Remove the deprecated zeroclipboard UI component and the unused dependency on ZeroClipboard. pull 5042
  • Developer: Remove obsolete support for live class reloading with JRebel. JENKINS-64037
  • Internal: Modernize the hashing function of ConsistentHash. JENKINS-60563
Major enhancement

2.265

November 3, 2020
Enhancement
  • Improve performance of authorisation strategies when the authentication realm is case insensitive. JENKINS-64039
  • French translation for the token paragraph in user configuration and the root breadcrumb ("Dashboard"). pull 5009
  • Developer: Deprecate UnbufferedBase64InputStream. pull 5039
  • Developer: Added better parsing overloads to XMLUtils. pull 5026
  • Internal: Remove inline resources for LoadStatistics. JENKINS-60866
Bug fix
  • Fix file handle leak when viewing corrupted build logs. JENKINS-62985
  • Fix redirects when renaming jobs with spaces or non-latin characters. JENKINS-63899
  • Internal: Correct the scope of the restriction on TokenUuidAndPlainValue. pull 5041

2.264

October 27, 2020
Major enhancement
  • Change Jenkins configuration UI from tables to divs for layout in forms. JENKINS-56109
Enhancement
Bug fix
  • Cleanup "esclave" references and fix terminology for jobs in the French localization. pull 4985
  • Change the standard URL for obtaining the Inbound Agent configuration file from ${agent_url}/slave-agent.jnlp to ${agent_url}/jenkins-agent.jnlp. The old name is obsolete and will be removed at a future time. JENKINS-35452
  • Prevent the Build History Widget from crashing when users have Discover permissions without Read for folders. JENKINS-63868

2.263

October 20, 2020
Major bug fix
Enhancement
  • Remove TFS Plugin suggestion from Setup Wizard. pull 5016
  • Optimize memory allocations in TcpAgentListener, LogRotator and RunList. pull 5011pull 5012
  • Add missing French localization for the login page, setup wizard and the main page. pull 4995pull 4996pull 4997
  • Clarify the list separator in file excludes fields. JENKINS-49523
Bug fix
  • Do not use null value for aria-hidden HTML attributes. pull 4919
  • Prevent resource leak in the File Fingerprint Storage implementation. pull 4992

2.262

October 15, 2020
Major bug fix
  • Stop showing JavaScript in the footer (regression in 2.261). JENKINS-63798
  • Restore reporting of ClassNotFoundException stacktraces in AntClassLoader and ClassicPluginStrategy due to the regressions for some agent types (regression in 2.261). JENKINS-63937
Enhancement
  • Developer: Update ArtifactArchiver to no longer consult with environment variables injected by EnvironmentContributingAction added during the build, including ArtifactManager ones. pull 4933

2.261

October 13, 2020
Major bug fix
  • Fix docker build agent provisioning (regression in 2.259-260). JENKINS-63828
  • Fix extensions footer location (regression in 2.230). JENKINS-63798
Enhancement
Major enhancement
Bug fix
  • Replace "slave" reference with "agent" in Traditional Chinese translation. JENKINS-62347
  • Use 'Agent to controller' to describe agent access control system rather than 'agent to master'. JENKINS-63905
  • Hide description panel in sidebar if historyWidget.descriptionLimit is 0. pull 4978

2.260

October 6, 2020
Major bug fix
  • Fix docker build agent provisioning (regression in 2.259). JENKINS-63828
Enhancement
  • Improve the scripting capacity related to the API Token system. Provide a way to configure a fixed/default API Token for admin during installation phase. JENKINS-57484
  • Allow users with the Jenkins.MANAGE permission to restart and safe restart Jenkins. JENKINS-63795
  • Disable autocomplete of username on login form. pull 4952
  • Internal: Update bundled version of Apache Ant from 1.10.8 to 1.10.9. pull 4958

2.259

September 29, 2020
Major bug fix
  • Show display names in change list again (regression in 2.243). JENKINS-63712
Enhancement
  • Update the bundled version of Script Security Plugin from 1.73 to 1.75. pull 4947
  • Update the bundled version of Display URL API plugin from 2.0 to 2.3.1. pull 4948
  • Developer: Cloud implementations are given more context about ongoing planned nodes. Add CloudState to be passed to Cloud#provision and Cloud#canProvision methods. pull 4922
  • Developer: Provide WebAppMain#getDefaultRingBufferSize method for use by telemetry. JENKINS-50669
  • Developer: Improve the combobox component to support default value and readonly mode. pull 4939

2.258

September 22, 2020
Major bug fix
  • Migrate the view status filter from views in previous Jenkins releases (regression in 2.240). JENKINS-62661
Enhancement
  • Improve the layout and clarity of the page displayed when jobs are not yet created. JENKINS-63592
  • Update the bundled Mailer plugin from 1.21 to 1.32.1. pull 4938
  • Developer: A SimpleBuildStep or SimpleBuildWrapper can now choose not to require a workspace context (working directory and launcher). JENKINS-46175
  • Developer: PluginServletFilter is now final, making it impossible for plugins to mistakenly define their own. JENKINS-63682
Bug fix
  • Prevent radio buttons from moving when they are clicked. JENKINS-63332

2.257

September 15, 2020
The Windows MSI package has not been released due to limitations in Windows product version numbers. As a workaround, please download jenkins.war manually and replace it in JENKINS_HOME.
Enhancement
  • Name the first breadcrumb "Dashboard" for clarity. JENKINS-60972
  • Developer: New static utility method Result#combine(Result,Result) to get the worst of two (nullable) build results. JENKINS-43889
Bug fix
  • Make sure Environments are always torn down in AbstractBuild. JENKINS-43889

2.256

September 8, 2020
The Windows MSI package has not been released due to limitations in Windows product version numbers. As a workaround, please download jenkins.war manually and replace it in JENKINS_HOME.
Bug fix
  • Avoid warning on logs about Anonymous Class in hudson.FilePath. JENKINS-63563

2.255

August 31, 2020
Bug fix
  • Developer: Ignore flaky UpdateCenter2Test.install test. pull 4916

2.254

August 25, 2020
Major bug fix
  • Stop pre-formatting agent logs to prevent deadlocks (regression in 2.231). JENKINS-63458
Major enhancement
  • Graduate Overall/SystemRead permission to general availability (GA) status. pull 4909JEP-224
Enhancement
  • Set Cross-Origin-Opener-Policy to same-origin. pull 4910
  • Avoid losing work in progress by using a new browser tab to open the plugin link in a configuration screen’s inline help. JENKINS-63429
  • Developer: Remove the unused description attribute from f:dropdownList. JENKINS-63220

2.253

August 18, 2020
Major enhancement
  • Major update of the Alpine-based Jenkins Docker image. Jenkins Docker image for Alpine now uses Alpine 3.12 and AdoptOpenJDK 8u262. LTS upgrade guide
Major bug fix
  • Fix button that copies API token to clipboard (regression in 2.238). JENKINS-63274
  • Fix a deadlock in agent logging. JENKINS-63082
Bug fix
  • Fix Cmd + Enter not running the script in the Script Console on a Mac (regression in 2.248). JENKINS-63342
  • Fix backspace key sometimes did not delete text from the Script Console on a Mac (regression in 2.248). JENKINS-63342
  • Fix regular expression validator UI location (regression in 2.244). JENKINS-63308
  • Make alert colors consistent with 'Manage Jenkins' alert colors. JENKINS-63330
  • Developer: Make unavailable plugin background themeable. JENKINS-63331
  • Internal: Remove some text messages from Jenkins core which had already been moved to the LDAP and PAM Authentication plugins. Be sure to upgrade to LDAP 1.22 or newer and PAM Authentication 1.5 or newer. pull 4866
Enhancement
  • Add Japanese translations for user configuration screen. pull 4904
  • Prevent concurrent build deletion. JENKINS-61687
  • Developer: Expose fingerprint range set serialization methods for plugins. pull 4888
  • Internal: Remove deprecated and unused ProcessTreeKiller class. pull 4874
  • Internal: Exclude JUnit and Hamcrest libraries from the jenkins.war bundle. JENKINS-63269

2.252

August 12, 2020
Security

2.251

August 4, 2020
Major bug fix
  • Restore wrapping tabs into multiple lines instead of overflowing (regression in 2.248). JENKINS-63180
Bug fix
  • Show build time data in the Build Time Trend Page (regression in 2.245). JENKINS-63232
  • Normalize widget colors to be consistent with the new color palette. Fixes bread crumbs flash in Dark Theme
  • Empty installed plugins table text is readable again (regression in 2.249). JENKINS-63276
  • Replace text references to slave with agent in Japanese documentation and messages. JENKINS-63166
  • Prevent JavaScript error when registering validators in some cases. JENKINS-42228
  • Do not block rendering of Manage Jenkins while waiting for update center data. pull 4881
Enhancement
  • Developer: Allow migration of fingerprints from local storage to external storage. JENKINS-62757

2.250

July 28, 2020
Bug fix
  • Internal: Fix UsageStatisticsTest failure in java.vendor vs. java.vm.vendor. pull 4879

2.249

July 24, 2020
The Windows MSI package has not been released yet due to an unexpected release infrastructure issue. As a workaround, please download jenkins.war manually and replace it in JENKINS_HOME.
Major bug fix
  • Do not throw exceptions when building environment for certain build steps (regression in 2.248). In particular, the Powershell step from the Powershell plugin was affected. JENKINS-63168
Enhancement
  • Align the Plugin Manager table headers. pull 4858
Bug fix
  • Fix an issue where the header of certain elements such as the authorization matrix would have wrong styles. pull 4861

2.248

July 21, 2020
The Windows MSI package has not been released yet due to an unexpected release infrastructure issue. As a workaround, please download jenkins.war manually and replace it in JENKINS_HOME.
Major enhancement
Enhancement
Bug fix
  • Fix IllegalArgumentException: Method not found error caused by misbehaviour in Util.isOverridden() (regression in 2.241). JENKINS-62723
  • Avoid a stack trace when an older version of glibc was used by an agent. pull 4830
  • Remove the fallback Jenkins URL from the JNLP launch file so that WebSocket agents can be connected over Java Web Start. JENKINS-63014
  • Fix the default domain name in Windows service serviceaccount configurations. JENKINS-12660Windows Service Wrapper 2.7.0 changelog

2.247

July 21, 2020
This release build was not properly signed on the release infrastructure. Distribution of jenkins.war has been suspended and it is not recommended for use. Installers and native packages were not published.
No notable changes in this release.

2.246

July 21, 2020
This release build was not properly signed on the release infrastructure. Distribution of jenkins.war has been suspended and it is not recommended for use. Installers and native packages were not published.
No notable changes in this release.

2.245

July 15, 2020
The Windows MSI package has not been released yet due to an unexpected release infrastructure issue. As a workaround, please download jenkins.war manually and replace it in JENKINS_HOME.
Security

2.244

July 7, 2020
Enhancement
  • Clean up more workspace related directories, e.g. @libs from Pipeline libraries. JENKINS-41805
  • Update Italian localization. pull 4810
  • Internal: JavaScript refactoring in preparation for form layout modernization. JENKINS-56109
  • Developer: Extend the DownloadService.Downloadable API to make it easier to work with default IDs. JENKINS-62572
  • Developer: Introduce an API to check ParameterDefinition validity. JENKINS-62889
  • Developer: Make WorkspaceList.COMBINATOR accessible to plugins. JENKINS-41805

2.243

June 30, 2020
Enhancement
  • Update the styles for the links on the management page. pull 4782
  • Restyle and improve accessibility for the RSS feed bar. JENKINS-62750
  • Winstone 5.10: Add --httpsRedirectHttp option that activates automatic HTTP request redirects to HTTPs. pull 4811
  • Winstone 5.10: Update Jetty from 9.4.27.v20200227 to 9.4.30.v20200611. pull 48119.4.28.v20200408 changelog9.4.29.v20200521 changelog9.4.30.v20200611 changelog
  • Developer: Allow f:repeatableHeteroProperty to pick up field attribute from enclosing f:entry. pull 4807
  • Developer: Switch to id from fullName in User.toString(). JENKINS-62688
  • Developer: auto-completion for labels is now available via LabelExpression.autoComplete(). Deprecate hudson.model.AbstractProject.LabelValidator in favour of jenkins.model.labels.LabelValidator. but the old version also has a new checkItem() method to allow it to validate non-Project items. Deprecate hudson.model.AbstractProject.DescriptorImpl.validateLabelExpression() in favour of LabelExpression.validate() (which takes any kind of Item object instead of only AbstractProjects). Aggregates all warnings and errors reported by LabelValidator (old and new). JENKINS-26097
Bug fix
  • Winstone 5.10: Fix --httpKeepAliveTimeout option which had no effect (regression in 2.224). JENKINS-61823
  • Shutdown gracefully when SCM triggers are configured. JENKINS-62695

2.242

June 23, 2020
Major bug fix
  • Do not log exceptions when browsing to the plugin manager while private source plugins are installed (regression in 2.240). JENKINS-62622
Enhancement
Bug fix

2.241

June 16, 2020
Major bug fix
  • Restore colors on the Job configuration page, help page, and other controls (regression in 2.239). pull 4781
Enhancement
  • Convert arrow icons from images to CSS. JENKINS-62496
  • Restyle side panel widgets to have a more modern look & feel. JENKINS-62175
  • Developer: Plugins can now more easily add support for using build steps in pipelines with access to the appropriate environment variables (such as from tools/environment blocks or steps like withEnv). The fingerprint and archiveArtifacts pipeline steps will no longer apply any environment substitution. JENKINS-29144

2.240

June 8, 2020
Enhancement
  • Make RSS field and agent disconnected images transparent for dark theme. pull 4772
  • Show in plugin manager when newer releases of plugins exist but aren't being offered due to unsatisfied requirements. JENKINS-62332
  • Add support for Dark Theme in the login screen. JENKINS-62515pull 4763Dark Theme repository
  • Update bundled Script Security Plugin from 1.71 to 1.73. pull 4769
  • Internal: Remove inline resources for non-standard showDetails. JENKINS-60866
Bug fix
  • Restore background colors on new item and job config pages. pull 4771
  • Fix buttons lingering for a bit after closing modal (regression in 2.233). pull 4770
  • Display correct time in the Build History Widget when a custom timezone is set in the user profile. JENKINS-61972

2.239

June 3, 2020
Major enhancement
Bug fix
  • Fix markup previews for disabled textareas shown to users with extended read permission. JENKINS-62433
  • Prevent side panel shrinking in specific resolutions (~1000px), regression in 2.238. pull 4755
Enhancement
  • Make the CLI link in Manage Jenkins visible to users with Overall/SystemRead permission. pull 4739
  • Improve accessibility by adding aria-labels for username and password fields in login forms. JENKINS-62421
  • Implement the read-only mode in Expandable Text Box configuration form elements. JENKINS-62434
  • Performance: Reduce number of calls and iterations through the list of jobs when displaying List Views. JENKINS-20052
  • Remove Subversion Plugin from suggested plugins in the setup wizard. JENKINS-62477
  • Fingerprints browser: Move fingerprint link into existing fingerprint artifact text. JENKINS-62470
  • Allow users with Overall/Manage permission to configure Node Monitoring. JENKINS-62264
  • Internal: Print stack trace from the originating thread if SlaveComputer#_connect fails. pull 4754
  • Developer: Add source maps for CSS and JavaScript. JENKINS-62473

2.238

May 25, 2020
Major bug fix
  • Fix a deadlock involving custom loggers during agent startup (regression in 2.231). JENKINS-62181
Enhancement
  • Support Bearer tokens in Jenkins-CLI -auth parameter. pull 4673
  • Add system read support for 'Node Monitoring Configuration' and configuring clouds. JENKINS-61206
  • Add Agent/ExtendedRead support for viewing agent configuration, system information, and logs. JENKINS-61206
  • Fix a thread safety issue in Computer#getLogDir. pull 4730
  • Revamp the sidebar task list with improved aesthetics and accessibility. JENKINS-61973
  • Allow users with Overall/Manage permissions to reload configuration from disk. JENKINS-61458
  • Developer: Add support for the permissions attribute to task.jelly. JENKINS-61206
  • Developer: Add hasAnyPermissions API to Functions to allow it to be called by views. JENKINS-61206
  • Developer: Add non-deprecated Jenkins core library dependencies to the BOM. pull 4702

2.237

May 18, 2020
Major bug fix
  • Prevent telemetry warnings about missing javax.annotation classes when running with Java 11 (regression in 2.231). JENKINS-61920
Bug fix
  • Prevent Old Data Monitor from failing plugin loading in the case of class field unmarshalling issues. JENKINS-62231
  • Ensure that UserLanguages telemetry initializer always runs after extensions are augmented. JENKINS-60118
  • Developer: Ensure that job/folder creation routines properly check the requested name for invalid characters. JENKINS-61956
Enhancement

2.236

May 11, 2020
Major bug fix
  • Make plugin manager work on Internet Explorer 11 again (regression in 2.231). JENKINS-62163
Enhancement
  • Security hardening: Always round-trip password form control values in an encrypted form, even if not backed by an encrypted Secret field. In case of problems, this can be disabled by setting the system property hudson.util.Secret.AUTO_ENCRYPT_PASSWORD_CONTROL to false on startup. JENKINS-61808
  • Security hardening: Always use a placeholder value for password form control values in item related configuration forms when the user is missing Item/Configure permission, even if not backed by an encrypted Secret field. In case of problems, this can be disabled by setting the system property hudson.util.Secret.BLANK_NONSECRET_PASSWORD_FIELDS_WITHOUT_ITEM_CONFIGURE to false. JENKINS-61808
  • Developer: Make the SystemProperties API available to plugins so that their properties could be managed by a standard engine. pull 4707JavadocJenkins Features Controlled with System Properties

2.235

May 4, 2020
Major bug fix
  • Prevent a form validation "404 Not Found" error when the resource root URL configuration points at a previously configured resource root URL (regression in 2.205). JENKINS-62133
  • Make Breadcrumbs displayed after notification alerts clickable again. JENKINS-62065
Enhancement
  • Allow system read to view more admin monitors. JENKINS-61208
  • Limit the number of exceptions thrown by some operations such as recursive directory deletion. Previously, in rare cases, exceptions thrown when failing to delete large directories could consume significant amounts of memory. JENKINS-61841
  • Indicate which component provides an URL that is always available without authentication in the global security configuration. pull 4668
  • Developer: Add nogrid option to layout.jelly tag to allow suppressing the bootstrap 3 grid. See bootstrap4-api-plugin for details. JENKINS-61326
  • Developer: Update javax.mail to jakarta.mail 1.6.5. pull 4660
  • Internal: Remove inline resources from ReverseProxySetupMonitor view. Add a specific warning when the Jenkins Root URL does not contain the contextPath. JENKINS-60866
  • Internal: Remove inline resources from LogRecorder views. Align the column headers of bigtables to the left JENKINS-60866
Bug fix
  • Fix a classloading issue while executing ProcessTree.get(). JENKINS-62006
  • Developer: Make it possible to look up extension implementations from more than one specific extension point at a time. JENKINS-62056

2.234

April 27, 2020
Major bug fix
  • Fix sort order in "Available" tab of the plugin manager (regression in 2.233). pull 4675
  • Fix a regression where the dropdown of the autocomplete widget would not be rendered correctly (regression in 2.233). JENKINS-62001
Enhancement
  • Restyle the help icon. pull 4663
  • Allow users with system read permission to view the system logs. JENKINS-61207
  • Reword "Continue as admin" button of the plugin setup wizard. JENKINS-46669
  • The default number of executors for an agent created programmatically (or as-code) is now 1 rather than 2. pull 4677
  • Session hijacking protection hardening. JENKINS-61738
  • Developer: Remove unused deprecated HudsonExceptionNote. pull 4667
Bug fix
  • Distinguish between defined (*****) and undefined (N/A) password on read-only configuration forms for users with Overall/SystemRead or Item/ExtendedRead permissions. JENKINS-61812

2.233

April 20, 2020
Enhancement
  • Allow linking to plugin manager URLs with pre-filled filter field. Link labels in the plugin manager to pre-filtered lists. pull 4591
  • Add system read support to admin monitors. JENKINS-61208
  • Allow users with system read permission to view the global tool configuration. pull 4519
  • Sort plugins by popularity on the "Available" plugin manager tab if the update site provides popularity data. pull 4588
  • Restyle buttons. Add support for large buttons, hyperlinks styled as buttons and icon-only buttons. JENKINS-61840
Bug fix
  • Forward Groovy view permission errors to login. Some views showed an error screen instead of forwarding to the login form when necessary permissions were missing. JENKINS-61905

2.232

April 16, 2020
NOTE: This is the first Jenkins weekly release delivered by the core release automation project. Some Jenkins Weekly distributables may not be accessible from the Jenkins Downloads page. In such case please see the package links on our mirrors in the Releases section.
Bug fix
  • Fix input field hints for tools like the git plugin that search the PATH for their executable (regression in 2.205 and 2.222.1). JENKINS-61711
Enhancement

2.231

April 14, 2020
Enhancement
  • Add section headers to context menu of Manage Jenkins. pull 4586
  • Improve the view shown when there are no jobs. pull 4633
  • Configuration as code plugin support for configuring user timezones. pull 4557
  • By default suppress log message about a missing optional extension. pull 4617
  • Don't show all available plugins by default; use search field to find plugins. pull 4580
  • Allow use of multiple space-separated filter terms in plugin manager. pull 4580
  • Allow users with system read permission to view the Manage Plugins configuration. JENKINS-61203
  • Add support for serving file parameter values from the resource root URL, if set. pull 4614
  • Set httpOnly header on cookie for iconSize storage. pull 4609
  • Developer: Switch bug detection annotations from JSR-305 to SpotBugs / net.jcp equivalents. pull 4604
  • Developer: Upgrade commons-codec to 1.14. pull 4636
Bug fix
  • Fix spacing between error messages in Setup Wizard (regression in 2.217). JENKINS-61660
  • Ensure that log messages are not missing numeric parameters when log entries are created on an agent. In particular, fix logs collected by the Support Core plugin. pull 4621
  • Ensure that encoded console annotations are stripped from system logger messages. pull 4632
  • Update crypto-util from 1.1 to 1.5 to fix the license link in Jenkins Web UI. pull 4631

2.230

April 6, 2020
Enhancement
  • Improve styling of alert banners to be more visually appealing and to better match existing user interface components. Alerts now fully cover the navigation bar while they are displayed instead of covering only a portion of the navigation bar. JENKINS-61478
  • Do not show disabled permissions in permission errors when checking for any of several permissions. JENKINS-61467
  • Allow hyperlinks to be used when displaying causes of blockage related to labels rather than individual nodes. pull 4616
  • Add option to configure follow symlinks when archiving artifacts. JENKINS-5597
  • Prepare for Shutdown management link is now accessible to users with Overall/Manage permission in addition to the usual Overall/Administer. JENKINS-61453
  • Update footer styles. JENKINS-61496
  • Allow configuration-as-code plugin to disable admin monitors. JENKINS-56937
Bug fix
  • Update Groovy Init hooks to run after all job configurations are adapted. JENKINS-61694
  • Fix class cast exception in fingerprint cleanup thread. JENKINS-61479

2.229

March 29, 2020
Major bug fix
  • Use the saved global build discarder configuration on restart. Jenkins 2.221 through 2.228 ignore the saved global build discarder configuration when they restart. JENKINS-61688
  • Fix proxy form validation when a password is set (regression in 2.205). JENKINS-61692
Enhancement
  • Update .NET version checks to be more correct for modern .NET versions. pull 4554
  • About Jenkins management link is now accessible to users with Overall/Manage or Overall/SystemRead (as well as the usual Overal/Administer). JENKINS-61455
  • Developer: Create symlinks atomically and log warning on failure. JENKINS-56643
  • Developer: Secret and ConfidentialKey implementations can now be used from unit tests without JenkinsRule. pull 4603
Bug fix

2.228

March 25, 2020
Security
Enhancement

2.227

March 22, 2020
Enhancement
  • System Information management link is now accessible to users with Overall/Manage, showing only plugins and memory usage information. JENKINS-61456
  • Limit max width of Manage Jenkins entries on very large screens. pull 4582
  • Usage Statistics in Global Configuration is now configurable by users with Overall/Manage permission (as well as the usual Overal/Administer). JENKINS-61457
  • Make HTTP DELETE based item deletion behave more like an API, recommend it over POST /doDelete. JENKINS-61308
  • Increase scroll speed of context menus. pull 4592
  • List plugins that failed to load on the Installed tab of the plugin manager. pull 4589
  • Highlight in the plugin manager when plugins are looking for new maintainers ("Adopt this plugin"). pull 4584
  • Developer: Add Javadoc for management link category definitions. pull 4578
  • Internal: Permit core building using newer JDK than version 8. JENKINS-61105

2.226

March 15, 2020
Major bug fix
  • Fix drag & drop for previously saved steps in the job configuration form (regression in 2.217). JENKINS-61429
Major enhancement
  • Organize entries on the Manage Jenkins page into categories and show them in a grid. pull 4546
Enhancement
  • Remove the unnecessary "monitor[s]" text next to the bell for a cleaner UI. Change the colors of the notifications next to the bell to make them more noticeable. JENKINS-61224
  • Allow usage statistics to be configured with the configuration-as-code plugin. JENKINS-54662
  • Allow ssh authorized keys to be configured with the configuration-as-code plugin. pull 4563ssh-cli-auth 1.8 changelog
  • Use modern system fonts provided by the browser when possible. Changes font size for body copy and headings to improve consistency and legibility. JENKINS-60921
  • Update bundled Script Security Plugin from 1.70 to 1.71. pull 4561Script security plugin 1.70 changelogSECURITY-1754 sandbox bypass vulnerability
  • Show in plugin manager table when there are security issues in a currently installed plugin. pull 4553
  • Add French translation for 'New View'. JENKINS-61424
  • Add ManagementLink#getCategory() for entries on Manage Jenkins to be grouped into category. See the ManagementLink.Category enum for supported return values. pull 4546
  • Developer: Make h.checkAnyPermission and <l:layout permissions="…"> work on objects that aren't AccessControlled. JENKINS-61465
  • Document nullability of newInstanceFromRadioList() methods and callers. pull 4543
  • Internal: Remove inline resources from restart views. JENKINS-60866
Bug fix
  • Fix support of the default attribute in the Jelly enum form control. JENKINS-61385

2.225

March 9, 2020
Major bug fix
  • Don't lose SCM configuration when saving job (regression in 2.224). JENKINS-61398

2.224

March 8, 2020
WARNING: This release introduces a critical regression when saving jobs. See JENKINS-61398. Please avoid updating to this version.
Major bug fix
Enhancement
  • Show plugin release date in plugin manager. pull 4535
  • Suppress error stack traces for non-administrator users as core capability. JENKINS-60410
  • Indicate when security issues would be addressed by an update in plugin manager. JENKINS-61166
  • Show plugin categories as labels in the plugin manager instead of grouping them into different table sections. pull 4534
  • Update the Version Number library from 1.6 to 1.7 to remove transient dependencies on FindBugs annotations. JENKINS-61279
Bug fix
  • Prevent unhandled JSONException in DescriptorList#newInstanceFromRadioList() and ExtensionDescriptorList#newInstanceFromRadioList(). JENKINS-61345
  • Update size of the search box properly when screen is resized. JENKINS-61300
  • Remove grey bar below the textarea form elements for read only users. JENKINS-61284
  • Prevent NullPointerException when hitting "Check Now" against a custom update center without tool installer metadata. JENKINS-60788
  • Fix blank page on configure clouds page if no cloud plugin installed. JENKINS-61285
  • Update the descriptorRadioList form elements to honor DescriptorVisibilityFilter extension points. JENKINS-51495

2.223

March 1, 2020
Major enhancement
  • Remove 'auto refresh' feature, including now obsolete auto refresh telemetry capability. pull 4503
Enhancement
  • Allow users with system read permission to view the global security configuration page. JENKINS-61205
  • Allow users with system read permission to view the About Jenkins page. JENKINS-61201
  • Users with extended read permission now get a more read-only looking UI. JENKINS-61202
  • Allow FingerprintFacet to block the deletion of fingerprint. JENKINS-28379
  • Internal: Remove unused class StringConverter2. pull 4468
  • Internal: Remove unused internal class Memoizer - use ConcurrentHashMap. pull 4470
  • Developer: Listen on loopback interface by default in debug mode. pull 4515
Bug fix

2.222

February 23, 2020
Major enhancement
  • Revamp the layout and icons of the header bar and breadcrumbs. Instances with plugins that depend on details of the Jenkins layout (e.g. Simple Theme Plugin) may experience UI/layout problems. A new experimental header color scheme can be enabled by setting the jenkins.ui.refresh system property to true. JENKINS-60920
  • Introduce a new experimental UI that can be enabled by setting the jenkins.ui.refresh system property to true. Currently it includes a new header color scheme, more changes to be added as a part of the UI/UX revamp. pull 4463JENKINS-60920JEP-223Jenkins UX SIG
  • Add a new experimental Overall/Manage permission which allows a user to configure parts of the global Jenkins configuration without having the Overall/Administer permission. This is an experimental feature, disabled by default, that can be enabled by setting the jenkins.security.ManagePermission system property to true. pull 4501JENKINS-60266JEP-223
  • Add a new experimental Overall/SystemRead permission, which gives (almost) full read access to the Jenkins instance. The permission is disabled by default, install the Extended Read Permission plugin to activate it. pull 4506JENKINS-12548JEP-224Extended Read Permission plugin
Enhancement
  • Deprecate the Overall/RunScripts, Overall/UploadPlugins, and Overall/ConfigureUpdateCenter permissions. Permissions were announced as dangerous and disabled by default in major authorization plugins in 2017. Custom authorization strategy implementations that grant Overall/Administer without implying one or more of these three permissions will no longer work as expected. Configurations that grant any of these permissions to users without Overall/Administer will no longer work as expected. pull 4365JENKINS-60266JEP-2232017-04-10 security advisory for Matrix Authorization plugin2017-04-10 security advisory for Role-Based Authorization plugin
  • Remove the ability to have CSRF protection disabled. Instances upgrading from older versions of Jenkins will have CSRF protection enabled and the default issuer set if they currently have it disabled. pull 4509
  • Order Admin Monitors in Global Configuration page. JENKINS-60966
  • Add memory usage monitor to system information page. pull 4499
  • Improve performance when loading tied jobs. pull 4497
  • Add french translation for concurrent build help. pull 4505
  • Developer: Add new checkAnyPermission, hasAnyPermission methods that allow access if a user has one of the supplied permissions. pull 4506JENKINS-12548JEP-224
  • Developer: Add a new f:possibleReadOnlyField jelly tag, wraps fields in an if readonly check and then outputs the result as text if the authenticated user only has read access. N/A is added if the field is empty. pull 4506JENKINS-12548JEP-224
  • Developer: Add a new l:hasAdministerOrManage jelly tag, hides the body of the tag if the user doesn't have Overall/Administer or Overall/Manage. pull 4506JENKINS-12548JEP-224
  • Developer: Allow plugins to force an update of an UpdateSite. JENKINS-61046
Bug fix
  • Fix issue with too many open files error when using resource domain. JENKINS-61121

2.221

February 19, 2020
Globally configured build discarders are available for the first time with this release. Jenkins will now execute the configured per-project build discarder periodically even if no build is currently finishing. Globally configured build discarders may delete old builds if a project has been configured with a more aggressive build discarder configuration since the last build was run.
Major enhancement
  • Add globally configured build discarders that delete old builds not marked as "keep forever" even if there is no, or a less aggressive, per-project build discarder configured, executed periodically and after a build finishes. pull 4368
Major bug fix
  • Jenkins will by default execute the configured per-project build discarder periodically even if no build is currently finishing. This may delete old builds of projects that got a more aggressive build discarder configuration since the last build was run. pull 4368
Bug fix
  • Dynamically loading certain plugins could result in permission errors. JENKINS-61071
Enhancement
  • Update bundled Script Security Plugin from 1.68 to 1.70. pull 4490
  • Do not show disabled permissions in permission errors. pull 4482
  • Developer: Use correct alert box name in Javadoc description. pull 4493
  • Developer: Introduce filtering overload to getAllItems(), allItems() and getItems(). pull 4469
  • Developer: Add new extension point BackgroundBuildDiscarderStrategy to allow more flexible build discarding strategies for the global build discarder configuration. pull 4368
  • Developer: Add findsecbugs plugin to spotbugs build plugin. pull 4381
  • Internal: Remove inline resources from HudsonPrivateSecurityRealm views. JENKINS-60866
  • Internal: Changed exception presented when AtomicFileWriter fails to write to file. pull 3989

2.220

February 9, 2020
This release includes an incompatible change which impacts users of the Self-Organizing Swarm Modules plugin. Users of this plugin should upgrade it and its CLI client to the version 3.18 or above.
Major bug fix
Major enhancement
  • Remove network discovery services (UDP and DNS). Users of the Self-Organizing Swarm Modules plugin should update the plugin and its CLI client to 3.18. JENKINS-60913Self-Organizing Swarm Modules Plugin 3.18 changelog
  • Extends the current milestones so plugins can update jobs and configuration during Jenkins initialization. Adds initialization milestones: SYSTEM_CONFIG_LOADED, SYSTEM_CONFIG_ADAPTED, JOB_CONFIG_ADAPTED. JENKINS-51856
Enhancement
  • Export the plugin compatibility flag in Update Site REST API. pull 4385
  • Suggest Jenkins Configuration as Code plugin in the installation wizard. pull 4410
  • Do not record the user creating an agent in some circumstances. JENKINS-21837
  • Avoid logging node monitoring exceptions caused by node deletion. JENKINS-54496
  • Improve RSS feed titles. JENKINS-60848
  • Display build duration as tooltip to build date/time in the job's build history. pull 4453
  • Improve performance of List Views when listing items. pull 4462
  • Improve performance of artifact archiving when using jenkins.model.StandardArtifactManager.disableTrafficCompression=true. JENKINS-60907
Bug fix
  • Prevent creation of duplicated SetupWizard singleton instances on Jenkins startup. JENKINS-60867
  • Fix IndexOutOfBounds exception in ChoiceParameterDefinition.getDefaultParameterValue. JENKINS-60721
  • Update Plugin manager pages to show icons while Jenkins is restarting. JENKINS-59486

2.219

January 29, 2020
Security
Enhancement
  • Security hardening related to Stapler routing.
  • Security hardening: Set X-Content-Type-Options to nosniff in REST API responses.

2.218

January 27, 2020
Major bug fix
Bug fix
Enhancement
  • Add the boolean disabled flag to applicable jobs' REST API output for classic project types like Freestyle, Maven, or Multi-configuration (Matrix). pull 4436
  • Internal: Winstone 5.7: Change the Jetty thread pool name to "Jetty (winstone)" pull 4452JENKINS-60821Winstone 5.7 release notes

2.217

January 23, 2020
Major bug fix
  • Fix localized versions to no longer report can't parse argument number: changelog.url (regression in 2.214). JENKINS-60822
  • Jenkins 2.212+ failed to load certain injected fields such as used by the Bitbucket Server Integration plugin. JENKINS-60816
Major enhancement
  • Add experimental WebSocket support. JEP-222blog post
  • Internal: frontend toolchain upgraded to use webpack. Enabled babel to transpile certain JS modules. JENKINS-60734
Enhancement
Bug fix
  • Prevent inaccurate warnings about missing classes on Java 11 triggered by JavaMelody when Monitoring Plugin is installed. JENKINS-60725
  • Fix java version check for AdoptOpenJDK 11. JENKINS-60678

2.216

January 22, 2020
NOTE: This release build failed. Release bits were not deployed.
Bug fix
  • Build failed. Release bits were not deployed.

2.215

January 19, 2020
Bug fix
  • If the Jenkins root URL has been configured by scripts prior to running the setup wizard, skip the location configuration panel even if selecting the option to skip creation of an admin user. JENKINS-60750
  • Prevent the RSS feed in Computer page from returning an error 404 JENKINS-60577
  • Include details in the system log when a build rotation fails. JENKINS-60716

2.214

January 11, 2020
Major enhancement
  • Remove old, deprecated, unsupported agent protocols Inbound TCP Agent Protocol/1, Inbound TCP Agent Protocol/2, and Inbound TCP Agent Protocol/3. Update Remoting from 3.36 to 3.40 to remove unsupported protocols and minor maintenance improvements. JENKINS-60381Remoting 3.40 release notes
  • Remove Enable Security checkbox in the Global Security configuration. JENKINS-40228
Enhancement
  • Clarify that build history does not include pipeline stages. JENKINS-59412
  • The environment variable WORKSPACE_TMP may now be used from (non-Pipeline) builds to access a temporary directory associated with the build workspace. JENKINS-60634
  • Internal: Add a method in EnvVars that extends TreeMap.putAll() functionality by filtering out the null values. JENKINS-59220
  • Internal: Allow usage of DescriptorVisibilityFilter to filter View properties on UI. JENKINS-60579
Bug fix
  • Fix null pointer exception in Agent API when the agent is offline (e.g. retrieving agent version or OS description). JENKINS-42658
  • Fix JavaScript error in Plugin Manager when optional dependency metadata cannot be retrieved. Improve wording in Plugin Manager UI. JENKINS-56152
  • Fix minor localization issues (escaping, incomplete entries, etc.). pull 4420
  • Fix typos & spelling in Javadoc and WebUI. pull 4418

2.213

January 6, 2020
Major bug fix
  • Fix plugin class resource loading failures for plugins which include library JARs. At least the Script Security, Active Directory and Maven Integration plugins are known to be affected. (regression in 2.212) JENKINS-60641JENKINS-60644JENKINS-60648

2.212

January 5, 2020
WARNING: This release introduces a critical regression, see JENKINS-60644. Please avoid updating to this version.
Bug fix
  • Prevent Jenkins page rendering from being blocked when the update center data parsing is in progress. JENKINS-60625
  • Return error when invalid string is passed as a Run status CLI argument. pull 4212
  • Fix an edge case of loading optional dependencies that cause Jenkins to blow up on startup. pull 4393pull 4417JENKINS-60449
Enhancement
  • Developer: Introduce new AntClassLoader.getUrl() method to prevent code duplication. pull 4254

2.211

January 2, 2020
Enhancement
  • Make the queue/cancelItem REST API return meaningful result codes instead of a Error 404. JENKINS-60326
  • Remove unused commons-codec dependency from Jenkins CLI. JENKINS-60326

2.210

December 22, 2019
Major bug fix
  • Resolve AtomicInteger and class-filter warnings in startup log. JENKINS-60513
  • User is no longer logged out when authenticating another user. JENKINS-59107
Bug fix

2.209

December 15, 2019
Bug fix
  • improved stop button behavior in the executors widget of the classical GUI, to avoid accidentally interrupting the wrong job. JENKINS-59656
  • Fix spotbugs reported concurrency issue using an AtomicInteger in SCMDescriptor#generation. pull 4337

2.208

December 9, 2019
Bug fix
  • Fix online example/documentation for File Access Rules. pull 4383
  • Prevent Oops when Whitelisted Commands input is empty in 'Agent to Controller Access Control'. JENKINS-60278
  • Prevent 'zombie' executors on built-in node by removing one-off executors in Computer.removeExecutor. JENKINS-57304

2.207

December 1, 2019
Enhancement
  • Update bundled Script Security Plugin to 1.68. pull 4367
Bug fix
  • Do not reload too early when Jenkins is behind a reverse proxy and is restarting. JENKINS-6798

2.206

November 24, 2019
Major enhancement
Enhancement
  • Open plugin and license links on a separate tab from Plugin Manager. JENKINS-60189
  • Set the HttpOnly flag for the page auto-refresh tokens. pull 4363
  • Developer: Use junit5 for CLI tests. pull 4220
Bug fix
  • Avoid exception when views are defined using job DSL. JENKINS-60092
  • Fix AtomicFileWriter performance issue on CephFS when creating an empty file. JENKINS-60167
  • Developer: ViewGroupMixIn#getPrimaryView() may return null, and needs to be checked by plugins depending on this version of weekly and beyond. It is an intermediate state until a default view is implemented. JENKINS-60092

2.205

November 17, 2019
Major enhancement
  • Move cloud configuration from Configure System into its own configuration form on the Manage Nodes page. pull 4339
  • Redesign password fields to prevent password auto-fill except for the login form. Reduce browsers offering to update stored passwords. Revert by setting the system property hudson.Functions.hidingPasswordFields to false. pull 3991
Enhancement
  • Show agent error status on the dashboard as mouse over text. JENKINS-6722
  • Show a tooltip with the full link name when hovering over sidebar links. JENKINS-59508
  • Reduce logging level of run completion and update center polling events from INFO to FINEST. pull 4345
  • Try to always execute flyweight tasks, such as the main builds for Pipeline or Matrix jobs, on the built-in node. pull 3983
  • Update Winstone from 5.3 to 5.4 to update Jetty from 9.4.18 to 9.4.22. full Winstone 5.4 changelogJetty 9.4.22 changelogJetty 9.4.21 changelogJetty 9.4.20 changelogJetty 9.4.19 changelog
  • Internal: Make ProxyConfiguration compatible with configuration-as-code plugin. Workaround on the configuration-as-code plugin side is no longer required. JENKINS-56553
  • Internal: Remove unused jenkins-slave.xml file template from core. Requires WMI Windows Agents plugin version 1.3.1 (Released Mar 14 2017) or newer. pull 4330
  • Internal: Remove unused remoting library from jenkins-cli.jar. pull 4350
  • Developer: Switch from maven-jenkins-dev-plugin to upstream jetty-maven-plugin. pull 4351
  • Disable HTTP TRACE to prevent security scanner complaints. The risk was significant with web browsers in 2003. Modern browsers forbid TRACE requests to prevent cross-site tracing (XST) attacks, so there is no real risk. JENKINS-60180
Bug fix
  • Fix Uninstall column sorting in the Plugin Manager Install pane. JENKINS-59665
  • Fix build history table styling. JENKINS-59631
  • Prevent faulty subtask contributors from leaving builds running forever. JENKINS-59793

2.204

November 10, 2019
Enhancement
  • Plugin manager descriptions always link to the plugins site instead of the Jenkins wiki. JENKINS-59679
  • Increase the number of datapoints recorded for multistage time series graphs such as those used for load statistics. pull 4341
  • Update Remoting from 3.35 to 3.36 to add new command line options "-help" and "-version". Remoting release notes
Bug fix
  • Prevent coding errors in canTake() and canRun() implementations in NodeProperty and QueueTaskDispatcher extensions from hanging the queue. JENKINS-59886

2.203

November 5, 2019
Major enhancement
Enhancement
  • Logging UI: Reorder sidepanel entries, add a note that "all log messages" will only include entries on level INFO and up. pull 4305
  • Update the Plugin Manager Updates tab with more information about incompatible dependencies. pull 4299
  • Build status balls on the build trend page now link to the respective build's console output. JENKINS-17459
  • Developer: Make some methods in ResourceDomainConfiguration accessible from plugins. pull 4335
Bug fix
  • Prevent permission problems when dynamically loading a plugin by making PluginManager#start() run as SYSTEM. JENKINS-59775
  • Properly handle user names containing : characters in resource root URL tokens. JENKINS-59859
  • Prevent NullPointerException when accessing the /logout without sending cookies. JENKINS-59904

2.202

October 27, 2019
Bug fix
  • Revert changes in forms submission in Jenkins classic UI with Firefox have caused a regression on forms with "file" inputs. These were made to anticipate a bugfix in Firefox which has been backed out since. (regression in 2.173) JENKINS-58296JENKINS-53462Firefox issue 1370630
Enhancement
  • Add telemetry on the use of the 'auto refresh' feature. pull 3894
  • Add java.util.concurrent.ConcurrentLinkedDeque to the JEP-200 deserialization allowlist. pull 4300
  • Developer: Introduce Run#getBuildsOverThreshold() method for getting runs above the desired execution result. pull 4259

2.201

October 20, 2019
Bug fix
  • Resource URLs failed to serve files with nontrivial names due to encoding problems. JENKINS-59849
  • Fix presentation when localized headers span multiple lines in the setup wizard. JENKINS-59800

2.200

October 14, 2019
Major enhancement
  • Add an option for a Resource Root URL through which Jenkins will serve user-generated static resources like workspace files or archived artifacts without the need for Content-Security-Policy headers. JENKINS-41891
  • Remove the ability to download update center metadata using the user's browser (deprecated since 2015). Jenkins will no longer inform about available updates without a connection to update sites. We recommend the use of a local mirror of our update sites, or a self-hosted update center like Juseppe in these situations. pull 3970
Bug fix
  • Fix style of administrative monitors showing informational messages in the popup. JENKINS-59684
  • Add a missing "pressed" style for the Create Item button. JENKINS-34226
  • Fix labels to Atom feed links. JENKINS-48375
Enhancement

2.199

October 6, 2019
Major enhancement
  • Prevent calls to Jenkins#save persisting data before we have finished loading the in-memory model. This prevents possible corruption of the main Jenkins configuration. JENKINS-58993
Bug fix
  • Increase client-side keep-alive ping frequency on the HTTP-based CLI to prevent timeouts. JENKINS-59267
  • Developer: ProcessTree#killAll no longer fails with NPE if proc argument is null. pull 4232
  • Internal: hudson.util.ProcessTree.OSProcess#getEnvironmentVariables returned null when an error occurred even though it shouldn't. JENKINS-59580
Enhancement
  • Reduce default soft-kill timeout from two minutes to five seconds so that builds that spawned other processes can finish more quickly. JENKINS-59152
  • Stop bundling Maven Plugin and Subversion Plugin with Jenkins. In very rare cases, this could result in problems when attempting to install plugins compatible with Jenkins before 1.310. The Jenkins project is currently not publishing any such plugins. pull 4242
  • Remove plugins bundled only to promote their use, as they are not needed for compatibility with old plugins. Since Jenkins 2.0, the concept of plugins installed by default is replaced with the setup wizard. pull 4040
  • Update bundled version of Script Security Plugin to 1.65. pull 4245

2.198

September 29, 2019
Enhancement
  • Remove 100 character length limitation of build description in build history widget. JENKINS-19760JENKINS-31209
  • Update the minimum required Remoting client version to 3.14 to simplify the implementation. pull 4208
  • Use different computer icon for temporary offline state. JENKINS-59283
  • Robustness: Do not allow users to resubmit requests using POST on URLs requiring a form submission, as that will fail anyway. JENKINS-59514
  • Better diagnostics in a failure message from Computer.getLogDir. pull 4226
  • Update bundled versions of Ant, PAM Authentication, Mailer, and Script Security plugins for the rare cases they're installed from bundled versions. pull 4230
  • Update commons-compress from 1.10 to 1.19. pull 4221changelog
  • Update jfreechart from 1.0.9 to 1.0.19 to pick-up recent improvements and bugfixes. pull 4229changelog
  • Developer: Add TcpSlaveAgentListener#getAdvertisedHost(). pull 4227
Bug fix
  • The lastCompletedBuild permalink was not being cached in the …/builds/permalinks file. JENKINS-56809

2.197

September 25, 2019
Security

2.196

September 22, 2019
Enhancement
Bug fix
  • Fix malformed XML in Atom and RSS 2.0 feeds. (regression in 2.194) JENKINS-59231
  • URLs of some projects with emojis in their name were inaccessible. JENKINS-59406

2.195

September 16, 2019
Bug fix
  • The setup wizard sometimes was removed improperly, and Jenkins would only show a blank screen. JENKINS-59017

2.194

September 8, 2019
Bug fix
  • Fix missing absolute URL in the RSS / Atom feeds. (regression in 2.190) JENKINS-59167
Enhancement

2.193

September 1, 2019
Major bug fix
  • Downgrade Remoting from 3.34 to 3.33 due to problems involving tunneled connections. (regression in 2.191) JENKINS-59094
  • Jenkins UI broke when a slow trigger administrative warning would be shown. (regression in 2.189). JENKINS-58938

2.192

August 28, 2019
Security

2.191

August 25, 2019
Enhancement

2.190

August 18, 2019
Bug fix
  • Add support of emojis and other non-UTF-8 characters in job names. 🎉 JENKINS-23349
  • RSS and Atom feeds did not contain all necessary metadata. (regression in 2.186) JENKINS-58595
Enhancement
  • Expose real environment variables from an agent on the UI. JENKINS-54772
  • Use SHA-256 instead of MD5 for generating crumbs/CSRF tokens. JENKINS-58734
  • Truncate long build names on the UI to prevent alignment issues. JENKINS-58157
  • Developer: AbstractItem#renameTo now checks #isNameEditable before renaming. JENKINS-58571

2.189

August 7, 2019
Bug fix
  • A file handle leak in $JENKINS_HOME/jobs/*/builds/permalinks could prevent jobs from being deleted on Windows. (regression in 2.185) JENKINS-58733
  • Remove extra whitespace output from /scriptText endpoint. (regression in 2.186) JENKINS-58548
  • The install-plugin CLI command allowed files that aren't plugins to be installed, potentially breaking some functionality. JENKINS-29065
Enhancement
  • Add a warning when cron trigger spends a long time in its execution. JENKINS-54854
  • Batch up plugin installations in setup wizard to improve performance. pull 4124
  • Stop using the name argument in the install-plugin CLI command. pull 4123
  • Update versions of some detached plugins. These are typically installed when upgrading Jenkins from much older releases, or when implied dependencies are not specified for manually managed plugins. pull 4125
  • Internal: Add support running JMH benchmarks for Jenkins core. pull 4135
  • Internal: Update Jenkins Test Harness from 2.49 to 2.54 to add support for JMH benchmarks. pull 4135changelog
  • Internal: Omit WEB-INF/lib/jquery-detached-1.2.jar from jenkins.war. pull 4120

2.188

August 7, 2019
This release failed. No artifact or Git tag exists.
No notable changes in this release.

2.187

July 21, 2019
Enhancement
  • The default interval for node monitors (e.g. free disk space) can now be changed by setting the system property hudson.node_monitors.AbstractNodeMonitorDescriptor.periodMinutes. pull 4105Jenkins features controlled by system properties
  • Robustness: Do not fail to render views when AdministrativeMonitor#isActivated fails. pull 4114
  • Internal: Update slf4j version from 1.7.25 to 1.7.26. pull 4118

2.186

July 17, 2019
Security
Major bug fix
  • Remove Trilead SSH dependencies from the Jenkins core. These dependencies caused SSH build agent connection issues in 2.185. JENKINS-58483
Enhancement

2.185

July 14, 2019
Major enhancement
  • Jenkins no longer creates symbolic links inside project or build directories. The Build Symlink plugin may be installed to restore this functionality if desired. URLs such as /job/…/lastStableBuild/ are not affected, only tools which directly access the $JENKINS_HOME filesystem. JENKINS-37862
  • Remove Trilead SSH library from Jenkins core and make it available in a new detached plugin. JENKINS-43610
Bug fix
  • Do not throw exception when testing proxy configuration. (regression in 2.168) JENKINS-57383
  • Prevent occasional IllegalStateException on Jenkins restart and invalidate the user session. JENKINS-55945
  • Avoid duplicate screenResolution cookie for views. pull 4103
  • Due to a mixture of old and new “detached” plugins, under certain circumstances it was possible to have two versions of an extension point used by the command launcher option for agents. JENKINS-58362
  • Developer: Plugin Compatibility Tester did not skip bundled plugin installation even if a *.jpl file exists. JENKINS-58362
Enhancement
  • Add a warning to the Installed tab of the plugin manager alerting administrators to possible problems from disabling detached plugins, which became possible as of 2.181. pull 4098
  • Remove unnecessary delay during cloud agent provisioning if the agent is available very quickly. JENKINS-24752
  • Update commons-codec library from 1.9 to 1.12. pull 4052changelog

2.184

July 7, 2019
Enhancement
  • Remove obsolete session cookies when logging out, preventing errors related to headers being too large. JENKINS-25046
  • Add telemetry trial related to missing classes when running on Java 11. JENKINS-57223
  • Developer: Clean up constructors of AbstractCloudSlave. pull 4086
Bug fix
  • Fix performance issue when using "Remember me". (regression in 2.160) JENKINS-56243

2.183

June 30, 2019
Enhancement
  • Add support for IPv6 addresses in the Jenkins URL configuration. JENKINS-58041
  • Update args4j from 2.0.31 to 2.33. JENKINS-57959
  • Developer: Allow plugins to provide onBlur() handlers for CodeMirror textarea controls. JENKINS-58240
  • Developer: Make WindowsUtil available to plugins. pull 4038
  • Internal: update maven-war-plugin from 3.0.0 to 3.2.3. JENKINS-47127

2.182

June 23, 2019
Bug fix
  • When deleting directories, remove the read-only flag on Windows. JENKINS-57855
Enhancement

2.181

June 16, 2019
Bug fix
  • The plugin manager UI no longer prevents disabling a plugin when other plugins only have optional dependencies to it. JENKINS-33843
  • A thread pool used to wait for external processes to complete could leak class loaders. JENKINS-57725
Enhancement
  • Robustness: Exceptions thrown while scheduling jobs in the queue could prevent other jobs from being scheduled. JENKINS-57805
  • Replace some exception stack traces related to agent channels with simpler messages. JENKINS-57993
  • Update JNA from 4.5.2 to 5.3.1 to fix issue with shared library loading on AIX when using OpenJDK. JENKINS-57515
  • Developer: Update ant dependency from 1.9.2 to 1.9.14. pull 4053
  • Internal: Switch from FindBugs to SpotBugs for static analysis. pull 4062
  • Internal: Mark hudson.model.UpdateSite#isDue as synchronized. JENKINS-57466

2.180

June 9, 2019
Major bug fix
  • Remoting reverted to 3.29 because JNLP agents failed to connect cloud agents in certain situations. (regression in 2.176) JENKINS-57759JENKINS-57713
Enhancement
  • Improve Configuration-as-Code compatibility of ListView. JENKINS-57121

2.179

May 26, 2019
Enhancement
  • Detached plugin handling changes in 2.178 could cause problems for some custom Jenkins home packaging schemes that use improper filenames. These cases are now at least warned about, and in some cases transparently handled. JENKINS-55582
  • Change the presentation of boolean (checkbox) options for most options on configuration forms. JENKINS-55787
  • Developer: Make the XMLUtils class with utility methods related to safe XML processing available to plugins. pull 4032

2.178

May 20, 2019
Bug fix
  • Update jmDNS from 3.4.0-jenkins-3 to 3.5.5 to prevent unnecessary DNS Multicast error messages. JENKINS-25369
  • Update WinP from 1.27 to 1.28 to fix problems with a missing DLL and flickering console window in the Windows graceful process shutdown logic. JENKINS-57477full changelog
  • Make sure detached plugins (plugins whose functionality used to be part of Jenkins itself) are installed upon Jenkins startup when needed as implied dependencies of other plugins which were already present. This simplifies compatibility for specialized installation scenarios not using the update center, such as when Jenkins is run from a Docker image prepackaged with some plugins. JENKINS-57528
Enhancement
  • Bring the bundled version of the Script Security plugin up to date with recent security advisories, in the unlikely case it is indeed installed from the WAR rather than the update center. pull 4000

2.177

May 12, 2019
Enhancement
Bug fix
  • Restore Chinese localized resources used by the setup wizard. (regression in 2.176) JENKINS-57412
  • Robustness: Do not put agent offline for runtime exceptions in ComputerListener#onOnline(). JENKINS-57111
  • Do not record fingerprints for files not included in archived artifacts due to exclude filter. JENKINS-41696

2.176

May 5, 2019
Major enhancement
  • Some plugins would fail in 2.175 with an error related to serialization of FilePaths. This is now downgraded to a warning. Plugin updates should still be applied to correct the underlying mistake. JENKINS-57244
Enhancement
Bug fix
  • NodeListener#onCreated was called when Jenkins#addNode or Nodes#addNode actually replaced an existing node. JENKINS-57273

2.175

April 28, 2019
Enhancement
  • Update status icon of a build when the build is finished JENKINS-16750
  • The Plugin Manager now provides easier selection for applicable plugin updates with options to select "All", "Compatible" or "None". The selection of "Compatible" plugins (previously "All") has been fixed to exclude all that contain any compatibility warnings. JENKINS-56477
  • Remove misleading references to Java Web Start and JNLP from GUI surrounding inbound Jenkins agents. pull 3998
  • Re-enable Stapler request dispatching telemetry. pull 3999
  • Ensure that Remoting objects are being serialized only through Remoting channels. Certain classes which were never designed for persistence in XML will no longer be serialized to disk: FilePath, [Stream]TaskListener, and ProcessTree. JENKINS-47896
  • Developer: Make ${port} be honored by mvn -f war hudson-dev:run. pull 3984
Bug fix
  • Fix some errors seen in the Linux agent installers. JENKINS-57071
  • Make Debian/Ubuntu launcher script work with Java 11. JENKINS-57096

2.174

April 21, 2019
Bug fix
  • Renaming an agent retained old agent configuration, causing it to re-appear on restart. JENKINS-56403
Enhancement

2.173

April 14, 2019
Major enhancement
Enhancement
  • Adjust stream flushing behavior for code running remotely on agents for better performance. This may lead to loss of messages for plugins which print to a build log from the agent machine but do not flush their output. Use -Dhudson.util.StreamTaskListener.AUTO_FLUSH=true to restore the previous behavior for freestyle builds. Note that Pipeline builds always expect remote flush. pull 3961
  • Add a button to copy new API tokens to the clipboard. JENKINS-56733
  • Developer: Update Stapler from 1.256 to 1.257 to add support for loading localized webapp resources from any plugin. Add jenkins.PluginLocaleDrivenResourceProvider interface for plugins to participate in localized resource lookup. JEP-216full changelog
  • Developer: SystemProperties may now be used from agent-side code. See SystemProperties#allowOnAgent. pull 3961
  • Developer: Add LineTransformationOutputStream#Delegating for convenience. pull 3959
  • Developer: hudson.util.ssh.SFTPClient was removed. Use com.trilead.ssh2.jenkins.SFTPClient from the Trilead SSH library instead. JENKINS-56166
  • Internal: Update commons-beanutils from 1.8.3 to 1.9.3. pull 3948
Bug fix
  • Make form submit buttons on the Jenkins classic UI compatible with potentially upcoming Firefox bug fix. JENKINS-53462Firefox bug 1370630
  • Do not offer a workspace lease to a new build if it is already in use by a (Pipeline) build running across an agent reconnection. JENKINS-50504
  • Remove Mailer related localized strings from core. Make sure you use Mailer Plugin 1.23. JENKINS-55292
  • Properly flush output from the Maven console annotator. JENKINS-56995

2.172

April 10, 2019
Security

2.171

April 7, 2019
Enhancement
  • Expose the minimum supported version of remoting to allow future releases to reject incompatible agent connections. JENKINS-50095
  • Developer: Add Jelly UI component f:secretTextarea for multi-line secrets analogous to f:password for single-line. pull 3967Storing Secrets in Jenkins
  • Developer: Deprecated Run.getLogFile(), as it is not compatible with JEP-210. pull 3963
Bug fix
  • The setup wizard did not properly escape passwords, resulting in errors with certain special characters. JENKINS-56856
  • Revert accidental change to hashCode computation of jenkins.util.TreeString in 2.168. pull 3930

2.170

March 31, 2019
Major enhancement
  • Remove misleading nonStoredPasswordParam symbol for password parameter definitions, since it's actually stored encrypted. JENKINS-56776
Bug fix
  • Corrupted console notes could cause an uninformative NegativeArraySizeException to be thrown from ConsoleNote#readFrom and build log display to be broken. JENKINS-45661

2.169

March 24, 2019
Enhancement
Bug fix
  • Fix highlighting of table entries when using checkboxes on the Legacy API Token usage page. pull 3932

2.168

March 10, 2019
Enhancement
  • Mobile friendly layout of the login, loading and restart screens. JENKINS-56398
  • Inform administrators about potentially unsafe permissions setup involving builds running as the virtual SYSTEM user. JENKINS-24513
  • Developer: StringParameterValue.getValue() now returns a String avoiding an unnecessary cast. pull 3146
Bug fix
  • Workspace and artifacts browsing did not work on Windows Server 2016 with Microsoft Docker. (regression in 2.154) JENKINS-56114

2.167

March 3, 2019
Bug fix
  • Actually show spinner when select tries to load an async request. JENKINS-42443
Enhancement
  • Add a log message to build logs when builds run with the virtual SYSTEM authentication. pull 3908

2.166

February 25, 2019
Enhancement
  • Add support for turning off a log recorder in the logger configuration. JENKINS-56200
  • Replace Trilead-SSH implementation of SSH key loader in CLI with Apache Mina. JENKINS-56167
  • Developer: Update Localizer library from 1.24 to 1.26 allowing plugins to override the lookup for localized resource files. pull 3896JEP-216full changelog
  • Internal: Update Jenkins Test Harness from 2.46 to 2.47. pull 3912
Bug fix
  • Prevent NullPointerException when discarding unreadable fingerprint data. JENKINS-43218
  • Avoid deserialization errors with EnvVars in rare circumstances by adding a stable serialVersionUID. JENKINS-56161

2.165

February 17, 2019
Major enhancement
Enhancement
  • Developer: Some public classes and methods which were already deprecated as specific to Remoting mode of the CLI have been removed, though those likely to be used by plugins have been retained for compatibility. pull 3838
  • Internal: Replace Trilead SSH implementation of base64 with the JDK implementation. JENKINS-43780

2.164

February 10, 2019
Enhancement
  • Make the plugin manager robust against Java version specification format mismatches while comparing versions (esp. after Java JEP 223). JENKINS-55980
  • Reduce the performance impact of the SECURITY-904 fix when downloading artifacts or workspaces as ZIP file. JENKINS-55050
  • Update Remoting from 3.28 to 3.29 to add a missing log call for severe protocol failures. JENKINS-55976full changelog
  • Jenkins now uses the standard update center by default when running with Java 11. JENKINS-55085
  • Update Executable WAR from 1.44 to 1.45 to allow running Jenkins with Java 11 without setting the --enable-future-java flag or corresponding system property. JENKINS-52285full changelog
  • Developer: Improve discovery and readability of WebClient most popular options. JENKINS-53511
Bug fix
  • Update SSHD Module from 2.5 to 2.6 to apply a proper Apache Mina idle timeout value when a custom value was set using the org.jenkinsci.main.modules.sshd.SSHD.idle-timeout system property. JENKINS-55978full changelog
  • Suppress error message when first viewing the agent-to-controller security configuration page. JENKINS-55936
  • Fix log message when the built-in node runs out of disk space and is taken offline. JENKINS-55738

2.163

February 3, 2019
Major enhancement
  • Support running Jenkins WARs on Java 11 without downloading JAXB JARs. A new JAXB plugin is marked as a detached one when running with Java 11 or higher. JENKINS-55681pull 3711plugin page
Enhancement
  • Report names of items being deleted in confirmation dialogs. JENKINS-55848
  • Replaced text references to slave with agent in various log entries and built-in help pages JENKINS-51320
  • Improve diagnostics of missing Old Data Administrative Monitor. pull 3240related issue
Bug fix

2.162

January 27, 2019
Major bug fix
  • Jenkins did not use the configured proxy credentials for authentication unless they were saved since Jenkins was started. (regression in 2.152) JENKINS-54903
Enhancement
  • The list-jobs no longer lists items recursively when listing a specific folder. JENKINS-48220
  • Replace deprecated Warnings and Checkstyle plugins with Warnings Next Generation Plugin in installation wizard. pull 3857
  • Do not print a warning about a changed workspace location on every startup when using the system property jenkins.model.Jenkins.workspacesDir. JENKINS-53284
  • Internal: Optimization in the method to read a remote file as text. pull 3862
  • Internal: Add smoke-test JUnit category. To only run these tests, mvn -P smoke-test. JENKINS-53935

2.161

January 20, 2019
Enhancement
  • Update Windows Service Wrapper from 2.1.2 to 2.2.0 and Windows Agent Installer from 1.9.3 to 1.10.0 to support disabling, renaming and archiving service logs. pull 3854Windows Service Wrapper changelogWindows Agent Installer Module changelog
  • Update Executable WAR from 1.41 to 1.44, allowing use of JENKINS_ENABLE_FUTURE_JAVA environment variable as an alternative to the --enable-future-java CLI switch. pull 3847
  • Developer: Add SecurityListener#userCreated API to inform about user account creation in the Jenkins user database security realm. pull 3825
  • Developer: Deprecate ParserConfigurator. pull 3852
  • Internal: Update frontend-maven-plugin from 1.4 to 1.6. pull 3830
Bug fix
  • Overhaul file deletion related code to be more reliable. JENKINS-55016JENKINS-55448JENKINS-55450
  • Improve robustness of console annotators such as the Timestamper plugin in conjunction with certain Pipeline steps such as git on an agent with an old agent.jar. JENKINS-55257

2.160

January 16, 2019
Security
Enhancement
  • Invalidate sessions and CLI authentication caches when changing the user password in the Jenkins user database.

2.159

January 14, 2019
Major bug fix
  • Fixed issue that prevented Jenkins from deleting files in many cases. (regression in 2.157) JENKINS-55448

2.158

January 13, 2019
Enhancement
  • Add support for plugins declaring a minimum Java version in manifest, showing warnings and refusing to load plugins with unsatisfied dependencies. Plugins should use the plugin POM 3.31 or newer to make use of this. JENKINS-55048

2.157

January 6, 2019
Enhancement
Bug fix
  • Restarting and Loading pages did not get CSS resources from the correct URL when using a context path. JENKINS-55062

2.156

December 17, 2018
Bug fix
  • User account creation by administrators did not show error messages when it failed. (regression in 2.129) JENKINS-52869
  • Fix java.lang.IllegalStateException that could occur in rare cases on Jenkins startup. JENKINS-55197JENKINS-55070
  • Attempt to prevent NoClassDefFoundError: javax/servlet/ServletException under some conditions on agents. JENKINS-26677
Enhancement

2.155

December 9, 2018
Major enhancement
Enhancement
Bug fix
  • Unix process manager and Agent Java Web Start UI now check the current Java version based on java.specification.version. JENKINS-55076

2.154

December 5, 2018
Security

2.153

November 25, 2018
Enhancement
  • Add support for the ed25519 key algorithm in Jenkins CLI. JENKINS-45318
  • Do not show the Launch agent from browser button (Java Web Start) if Jenkins is running on Java 11. JENKINS-52282
Bug fix
  • Do not hide newer releases of plugins from secondary update sites. JENKINS-45235
  • Check hudson.PluginManager.checkUpdateAttempts system property instead of hudson.PluginManager.CHECK_UPDATE_ATTEMPTS. JENKINS-54731JENKINS-54459

2.152

November 19, 2018
Bug fix
  • Revert compatibility fix for future releases of Firefox due to regressions it caused since 2.148. JENKINS-54261JENKINS-54333JENKINS-54570
  • Do not cache CSS/JS resource files for console annotations like Timestamper Plugin across Jenkins restarts. JENKINS-38719
  • In some cases, HTTP proxies with authentication did not work for HTTPS URLs. JENKINS-48775
Enhancement
  • Improve robustness when checking for updates. Add hudson.PluginManager.checkUpdateSleepTimeMillis and hudson.PluginManager.CHECK_UPDATE_ATTEMPTS system properties to adapt to unreliable networks. JENKINS-54459Jenkins features controlled by system properties
  • Add support for killing child processes on AIX. JENKINS-16867
  • Only select compatible plugin updates when clicking Select All below the list. JENKINS-20155
  • Internal: Upgrade the Maven Jenkins Dev plugin from 9.4.5.v20170502 to 9.4.12.v20180830 to align it with the Jetty version. JENKINS-54599
  • Internal: Update Jenkins Test Harness from 2.36 to 2.41.1 to allow running tests with JDK11. JENKINS-53863changelog
  • Internal: Introduce a new submodule for JDK8-only tests so that it is possible to run tests against codebase removed from JDK11. JENKINS-53716

2.151

November 11, 2018
Enhancement
  • Add a new CLI command disable-plugin to disable one ore more installed plugins and optionally restart Jenkins. JENKINS-27177
  • Add new category Languages to the plugin wizard, which automatically installs available localization plugins based on browser language. pull 3626
  • Update Windows Agent Installer from 1.9.2 to 1.9.3 to reduce remote class loading when not actually using Windows. pull 3723Windows Agent Installer changelog
Bug fix
  • Avoid Premature EOF error when using the shutdown CLI command. JENKINS-49196
  • Prevent Stream is closed error in case a CLI command finishes before the input is entirely read. JENKINS-54310

2.150

November 4, 2018
No notable changes in this release.

2.149

October 28, 2018
Enhancement
  • Do not submit telemetry if there's no relevant data. JENKINS-54137
  • Use per-trial correlation IDs for telemetry submissions. JENKINS-54136
Bug fix
  • Fix concurrency bug that caused requests to hang since 2.147. JENKINS-54135
  • When using elastic agents (clouds), agent JVMs could be incorrectly relaunched and never terminated. pull 3701

2.148

October 21, 2018
Bug fix

2.147

October 14, 2018
Major enhancement
Enhancement

2.146

October 10, 2018
Security
Major enhancement
Enhancement

2.145

October 7, 2018
Major enhancement
Bug fix
  • Prevent NullPointerException on restart with an undefined update site URL. JENKINS-31448
  • Fix problems with update center metadata signature check on Java 11. JENKINS-53710
  • The initial visibility of nested groups of radio buttons did not accurately reflect the current values. JENKINS-48516
  • Developer: ConsoleAnnotatorFactory mishandled its type parameter, effectively forcing all implementations to use Object or raw types. pull 3662
Enhancement
  • New JENKINS_USER_ID and JENKINS_API_TOKEN environment variables can be used to configure the CLI authentication. JENKINS-53792
  • Minor improvements to reduce minimum memory footprint for Jenkins, especially around update center & plugin metadata. pull 3654
  • Developer: Add overridable Queue.Task#getAffinityKey() to allow consistent hashing for Pipeline builds in the future. JENKINS-36547
  • Internal: Update META-INF/services generator from 1.4 to 1.8 to fix compilation on JDK 10+. JENKINS-52024META-INF/services generator
  • Internal: Update Parent POM to 1.49 to make the build flow compatible with Java 11. Parent POM changelog

2.144

September 30, 2018
Enhancement
  • Update jnr-posix to 3.0.45 to prevent Illegal Reflective access warnings when running with Java 11. JENKINS-46725
  • Update Unix process management logic to support Process Tree termination when running with Java 11. JENKINS-46523
  • Developer: Introduce getPlatform() and setPlatform() methods in hudson.EnvVars. JENKINS-53721
  • Developer: Introduce new hudson.Util#fixNull(value, defaultValue) method. pull 3656
Bug fix
  • Update Remoting from 3.26 to 3.27 to eliminate a potential deadlock. full changelogJENKINS-53569
  • Prevent process termination failure when ProcessKiller extension fails with NoClassDefFoundError. JENKINS-53593
  • Remove unreliable action caching in views so that plugins installed after Jenkins startup can contribute to the UI. JENKINS-53353

2.143

September 25, 2018
Major bug fix
  • Hyperlinks in build logs for builds run using Jenkins 2.138 or older were not displayed correctly in newer versions of Jenkins. As a side effect of this fix, build logs created with Jenkins between 2.139 and 2.142 (inclusive) will lose the hyperlink metadata. JENKINS-53729
Enhancement
  • Update Groovy from 2.4.11 to 2.4.12 to pick up fixes towards Java 11 support. JENKINS-52019Groovy 2.4.12 changelog
  • Add extensibility mechanism for anonymous usage statistics with initial implementation collecting information about applied security fix escape hatches. JEP-214
  • Developer: Add Telemetry extension point. JEP-214
  • Developer: Update PowerMock and Mockito to versions compatible with Java 11. JENKINS-53693
  • Internal: Update sezpoz from 1.12 to 1.13 to enable building plugins with JDK 11. JENKINS-52024
Bug fix
  • Fix a thread safety issue when creating multiple nodes in parallel. JENKINS-53401
  • Internal: Incorrect API signatures on some classes performing custom deserialization. JENKINS-53608

2.142

September 20, 2018
Bug fix
  • Improve robustness when search items don't specify a display name. JENKINS-50795
  • Certain kinds of errors in build console display were being suppressed and ANSI escape sequences displayed instead. pull 3612
  • Further improvements to not show scroll bar prematurely on long build display names in the sidepanel builds widget. pull 3601
Enhancement
  • Developer: Make HashedToken and ApiTokenStore Serializable. JENKINS-53561

2.141

September 2, 2018
Major bug fix
Enhancement
  • Update Remoting from 3.25 to 3.26 to remove some unhelpful warnings. JENKINS-42533JENKINS-52945
  • Wait up to two minutes for process termination before killing it (typically when aborting a build). JENKINS-17116
  • Reduce logging level of restart and shutdown related notifications from SEVERE to INFO. JENKINS-53282

2.140

August 26, 2018
Bug fix
  • A configured quiet period was interpreted as milliseconds, instead of seconds. (regression in 2.82) JENKINS-48770
2.139 was not properly released, so only the corresponding Git commits exist.
Enhancement
  • Allow use of the console command with Job/Read permission. JENKINS-52181
  • Upgrade libpam4j from 1.8 to 1.11. JENKINS-53055
  • Developer: Add support for the @PostConstruct lifecycle method annotation. JENKINS-52818
  • Developer: Add interface PersistentDescriptor that allows implementing Descriptors to skip explicit calls to load(). JENKINS-52818
Bug fix
  • CLI command enable-plugin -restart will no longer restart Jenkins if no plugins were actually enabled. JENKINS-52950
  • Nested f:repeatable/f:repeatableProperty form elements inherited minimum when they shouldn't. JENKINS-37599
  • Build logs were not displayed correctly when they contained hyperlinks whose link text contains newline characters. JENKINS-53016

2.138

August 15, 2018
Security
Enhancement

2.137

August 12, 2018
Bug fix
  • Do not show scroll bar prematurely on long build display names in the sidepanel builds widget. pull 3576
Enhancement
  • Developer: Downgrade errors about plugin dependency version mismatches to warnings when Maven snapshot versions are involved. Typically only relevant for developers, especially when using incrementals. JENKINS-52665
  • Internal: Update parent POM. Jenkins now requires Maven 3.5.4 or newer to build. pull 3567

2.136

August 5, 2018
Enhancement
  • Add a new CLI command enable-plugin to enable one or more installed plugins and optionally restart Jenkins. JENKINS-52822
  • Update JNA from 4.2.1 to 4.5.2 to add support for s390x, update GNU C minimal requirement to 2.7 on Unix platforms. JENKINS-52771
  • Developer: Add EnvironmentVariablesNodeProperty#getEnv() for better Configuration-as-Code support. JENKINS-52794
Bug fix
  • Some types of builds, like pipelines, would sometimes run concurrently even when that was disabled. JENKINS-41127
  • Legacy API token monitoring did not work correctly for users with id null. JENKINS-52441
  • Launcher.ProcStarter.stdout(TaskListener) did not properly send its argument over a Remoting channel to an agent. JENKINS-52729

2.135

July 29, 2018
Enhancement
  • Some deserialization rejections are now logged on WARNING log level, instead of only on FINER. JENKINS-51666
  • Prevent warnings about deserialization of hudson.model.ParametersDefinitionProperty$1. JENKINS-50457
  • Developer: Make Jenkins#getInstallState and Jenkins#setInstallState(…) available to plugins. JENKINS-52718

2.134

July 22, 2018
Enhancement

2.133

July 18, 2018
Security

2.132

July 15, 2018
Enhancement
  • Don't log warnings when SHA-256 checksums are provided (but SHA-512 are not) for plugin downloads. pull 3546
  • Allow java.time.Ser for use in XStream (XML serialization) and Remoting (agent communication). JENKINS-52534
Bug fix
  • Don't fail to archive artifacts when attributes cannot be preserved, instead log a message and proceed without preserving attributes (regression in 2.120). JENKINS-52325

2.131

July 8, 2018
Enhancement
  • Add support for Zip files larger than 4 GB (Zip64). JENKINS-52356
  • Developer: Remove hudson.FilePath#copyFromRemotely(URL) Beta API. JENKINS-52417

2.130

July 1, 2018
Major enhancement
  • Check SHA-512 or SHA-256 checksums of update site and tool installer metadata and core and plugin downloads if the update site provides them. pull 3356
Bug fix
  • Improve API token metadata to be able to distinguish between API tokens created today, and whose creation date is unknown (legacy API tokens). JENKINS-52161
  • Update Remoting from 3.22 to 3.23 to skip TCP Agent Listener port availability check when the -tunnel option is set (regression in Remoting 3.22 and Jenkins 2.129). JENKINS-52204
  • Instances of some item types could not be renamed (regression in 2.110). JENKINS-52164
Enhancement
  • Robustness: Don't break queue processing when the configured queue sorter throws exceptions. JENKINS-52159
  • Update instance identity module from 2.1 to 2.2 to improve Java 11 compatibility. JENKINS-51965full changelog

2.129

June 24, 2018
Major enhancement
Bug fix
  • Dynamically loaded plugins now have any PeriodicWork/AperiodicWork extensions scheduled. JENKINS-28683
Enhancement

2.128

June 18, 2018
Major enhancement
  • Redesigned login, signup, and Jenkins is (re)starting pages. Existing page decorators like Simple Theme Plugin will no longer work with these redesigned pages. JENKINS-50447announcement blog post
  • The deprecated Jenkins CLI Protocol versions 1 and 2, and Java Web Start Agent Protocol versions 1, 2, and 3 have been disabled. If you still use these protocols (e.g. remoting-based CLI, or old agent.jars on agents), you need to re-enable these protocols after upgrade, or upgrade the clients. The same recommendations as in The 2.121.x upgrade guide for remoting changes apply here. JENKINS-48480
Enhancement
Bug fix
  • Developer API: Prevent NullPointerException in SlaveComputer#setChannel(Channel,OutputStream,Channel.Listener) with null OutputStream. JENKINS-51955
  • Developer API: StreamTaskListener#getCharset() now returns the default charset when it is not configured. JENKINS-51971

2.127

June 11, 2018
Major enhancement
  • Optional extensions are now loaded without requiring to restart Jenkins after installing an optional dependency. JENKINS-50336
Enhancement
  • Update Remoting from 3.20 to 3.21 to apply logging enhancements and better no_proxy support. JENKINS-51223JENKINS-50965JENKINS-51551Remoting 3.21 changelog
  • Add modification timestamp to files in directory browser views such as archived artifacts and workspaces. JENKINS-20998
  • Improve diagnostics of corrupted plugin archives during plugin dynamic loading. JENKINS-51608
  • Update Executable WAR from 1.39 to 1.40 to allow running Jenkins with incompatible (too new) Java versions by setting the --enable-future-java flag. JENKINS-51155Executable WAR 1.40 changelog
  • Developer: PermissionGroups now expose their IDs to Java API. JENKINS-51598
  • Developer: ComputerLauncher implementations can now set channels with a custom CommandTransport implementation. JENKINS-51541
  • Developer/Internal: Remove use of a Guava method deleted in later versions, which could cause problems for plugins running functional tests. JENKINS-51779
Bug fix
  • Have the setup wizard propose a root URL ending with a slash as is necessary. JENKINS-51660
  • Fix a potential deadlock between queue maintenance and asynchronous execution. JENKINS-46248
  • Security hardening: Prevent files in tar archives from being written to a path outside the destination directory. JENKINS-51777
  • If using the Artifact Manager on S3 plugin with the (non-default) option to delete artifacts, they were not deleted when the entire build was deleted. JENKINS-51819
  • Prevent Enter resulting in a broken presentation of the setup wizard. JENKINS-51816

2.126

June 3, 2018
Enhancement
  • Robustness: A buggy ComputerListener#onConfigurationChange implementation should not block Jenkins startup. JENKINS-50217
  • Diagnostics: Log stack traces in JEP-200 rejection messages when jenkins.security.ClassFilterImpl logging level is FINE or above. JENKINS-51355
  • Developer: Make various form validation related attributes in Jelly form taglib explicitly available. pull 3470
Bug fix
  • Copying Run parameters did not work as expected as RunParameterDefinition#copyWithDefaultValue called the wrong constructor. JENKINS-51650
  • Actions created from a TransientActionFactory that got attached to an item in the queue are no longer persisted, which could previously lead to duplicate actions shown for builds. JENKINS-51584
  • Do not attempt to disconnect offline computers for not responding. JENKINS-20272
  • Restore implied dependency on JDK Tool Plugin from Apache HttpComponents Client 4 API Plugin to fix dependency problems. JENKINS-51483
  • Fix behaviour of Advanced button when a section element is nested inside. JENKINS-14632
  • Do not duplicate caller stack trace when FilePath#act fails. JENKINS-51082

2.125

May 27, 2018
Enhancement
  • Export path to agent file system root directory in remote API. pull 3206
  • Do not remove workspaces for projects with builds in progress. JENKINS-27329

2.124

May 21, 2018
Major bug fix
  • Fix release process issue that resulted in 2.123 not being properly released. pull 3452

2.123

May 21, 2018
A Maven issue prevented 2.123 from being properly released. Use 2.124 instead.
Enhancement
Bug fix
  • Prevent unhandled ClassCastException when loading fingerprints from corrupted files. JENKINS-51179

2.122

May 14, 2018
Enhancement

2.121

May 9, 2018
Security

2.120

May 6, 2018
Major enhancement
  • The Job/Build permission no longer implies the Job/Cancel permission. The latter needs to be granted explicitly to users who previously got it via this relationship. JENKINS-14713
Major bug fix
Enhancement
  • Allow additional administrative monitors to be dismissed directly from their warning messages. pull 3416
  • Make fingerprint logs less verbose. JENKINS-50412
  • Internal: Add support for incremental Maven releases. JEP-305
  • Internal: Further simplify storage of the Jenkins setup wizard’s installation state. pull 3405
  • Developer: Extend ClassFilterImpl#isLocationWhitelisted Maven-oriented exclusions to plugin under test during Gradle builds. JENKINS-51062
Bug fix
  • Be more lenient when validating the root URL (regression in 2.119). JENKINS-51064
  • Archiving artifacts now preserves file permissions and last modification time. JENKINS-13128
  • Don't extract files from plugin archives to outside their destination directory. JENKINS-32778

2.119

April 25, 2018
Enhancement
  • Ensure as much as possible that the Jenkins root URL is defined by adding a new setup wizard page and an administrative monitor. JENKINS-31661
  • Default Crumb Issuer proxy compatibility can be enabled on first startup by setting the system property jenkins.model.Jenkins.crumbIssuerProxyCompatibility to true on startup. JENKINS-50767Jenkins features controlled by system properties
  • Remove the options to define custom Build Record Root Directory and Workspace Root Directory on the Configure System form to prevent unexpected failures during runtime. Instead, these locations can now be customized using system properties on startup. JENKINS-50164Jenkins features controlled by system properties
  • Allow java.util.EnumMap and org.jruby.RubyNil for use in XStream (XML serialization) and Remoting (agent communication). JENKINS-50939JENKINS-50616
  • Developer: Add a new overload for HttpResponses#errorJSON. pull 3082

2.118

April 18, 2018
Enhancement
Bug fix
  • Update WinP from 1.25 to 1.26 to fix loading of WinP libraries on Windows inside Weblogic web container. JENKINS-48347full changelog
Major enhancement
  • Developer: JEP-202: Extend VirtualFile API to streamline external artifact storage. API additions are marked beta and may change at any time. JEP-202pull 3302

2.117

April 15, 2018
Enhancement
Bug fix
  • Don't log null pointer exceptions on some forms with validation button (regression in 2.116). JENKINS-50748
  • Make the logic for adding nodes atomic, so that if a newly added node fails to be persisted it will not exist in a partly-initialized state. JENKINS-50599

2.116

April 11, 2018
Security

2.115

April 8, 2018
Enhancement
  • Sort nodes matching labels on UI. JENKINS-25910
  • Internal: Run threadPoolForRemoting threads in the context of the SYSTEM user to be consistent with executor threads. JENKINS-50296
  • Developer: Add new overloads for HttpResponses#errorJSON. pull 3379

2.114

April 1, 2018
Enhancement
  • Introduce hudson.triggers.SafeTimerTask.logsTargetDir system property to write logs usually written to $JENKINS_HOME/logs to another location. JENKINS-50291
  • Update Executable War from 1.38 to 1.39 to remove an irrelevant warning on Jenkins startup. JENKINS-50439
  • Internal: Minimize visibility of readResolve methods. pull 2567
Bug fix
  • Make Cancel Shutdown link in side panel work without requiring the page to be reloaded. JENKINS-44402
  • Prevent f:combobox input fields from breaking customized form submission handlers. JENKINS-21613
  • Fix a race condition in the Setup Wizard that could lead to it being skipped on the first startup when groovy scripts or init scripts are pre-installed. JENKINS-49401

2.113

March 25, 2018
Major enhancement
  • Update Remoting from 3.18 to 3.19 so that Jenkins core can always deserialize exceptions even if they're not permitted. To benefit from this improvement, Remoting needs to be updated on the agent side as well. JENKINS-50237JENKINS-49618full changelog
Bug fix
  • JEP-200: Allow org.apache.tools.ant.Location deserialization to prevent exception when listing agent files in non-existent directory or invalid filter. JENKINS-50237
  • Prevent some cases of linkage errors relating to Servlet classes when code is run on an agent. JENKINS-46386
  • Allow users without Overall/Read access to use the who-am-i and logout commands. JENKINS-50324
Enhancement
  • Show more entries in the search results dropdown and search results page. JENKINS-47020

2.112

March 18, 2018
Major enhancement
Enhancement
  • Allow use of lists of options as provided by the Pipeline snippet generator for choice parameters. JENKINS-26143
  • Use case-insensitive autocompletion for item selection dialogs if the current user prefers case-insensitive search. JENKINS-38812
  • Better autocompletion for loggers supporting multiple tokens and proposing useful parent loggers. pull 3345
  • Internal: Move "Submit" button localization from various forms to the button control. pull 3319
Bug fix
  • Restore serialVersionUID of AbstractTaskListener (regression in 2.91). JENKINS-50124

2.111

March 11, 2018
Enhancement
  • Pipeline builds could not be started if the Authorize Project plugin was configured to associate the build with a user to whom the authorization strategy was configured to deny Agent/Build permission on the built-in node. JENKINS-46652
  • Reduce memory footprint of jenkins.model.lazy.AbstractLazyLoadRunMap#search in descending order. JENKINS-50056
  • Update Executable War from 1.37 to 1.38 to show an error when an attempt is made to run Jenkins on Java 9. JENKINS-49737full changelog
  • Developer: Introduce hudson.util.TextFile#linesStream for file stream processing with proper error propagation. pull 3211pull 3340
  • Internal: Choose more mnemonic artifactIds for modules not consumed externally. pull 3311
Major bug fix
  • Display estimated remaining time again for Pipeline jobs (regression in 2.92). JENKINS-48821
Bug fix
  • Revert update of PrototypeJS in 2.110 due to regression. JENKINS-49968
  • Do not show an error message when renaming an item before changing the name. JENKINS-49906
  • Improve robustness in case a build with parameters was stored with a null list of parameters. JENKINS-39495
  • Setup wizard did not properly display form validation errors in "Create First Admin User" form. JENKINS-45387
  • Prevent FileNotFoundException in hudson.Util#loadFile in case of race condition. JENKINS-49971
  • Ignore misplaced config.xml file directly in users/ directory. JENKINS-32599

2.110

March 5, 2018
Major enhancement
  • It is no longer possible to rename jobs from their configuration page. Jobs now have a link in the side panel titled "Rename" that links to a page specifically dedicated to renaming jobs. JENKINS-22936
  • Developer: Subclasses of AbstractItem can implement AbstractItem#isNameEditable and return true to get automatic support for renames. Subclasses are also able to dynamically validate renames by implementing AbstractItem#checkRename. JENKINS-22936
Enhancement
  • Show the "Add" button in lists of tool installations also on the top. JENKINS-43581
  • Add ConcurrentLinkedQueue to white-listed classes for use in XStream (XML serialization) and Remoting (agent communication). JENKINS-49788
  • Issue warnings to the system log when attempts are made to use classes with unpredictable names and serial forms (such as anonymous classes) in Remoting or XStream (de)serialization. JENKINS-49795
  • Developer: Add support for also showing the "Add" button on top for lib/form/repeatable Jelly controls when the enableTopButton attribute is set to true. pull 2926
  • Internal: Upgrade PrototypeJS 1.7.0 to 1.7.3. JENKINS-49319PrototypeJS blog/changelog
  • Internal: Improve the implementation of Util#createTempDir. pull 3226
Bug fix
  • Make JEP-200 serialization allowlist more reliable on old versions of Tomcat 8. JENKINS-49543
  • Clean up the build.xml files of parameterized projects that contained unnecessary serialized data. JENKINS-49795
  • Upgrade Winstone from 4.1.0 to 4.1.2 to prevent User session memory leak by setting the default idle session eviction timeout to 30 minutes. JENKINS-49596full changelog
  • Make proxy views work inside folders. JENKINS-49642
  • Prevent NullPointerException in AbstractProject#checkout when the agent disconnects during a build. JENKINS-29470
  • Internal: Make Apply buttons localizable. pull 3287

2.109

February 25, 2018
Enhancement
  • Periodically persist the build queue so it can be restored on abnormal process termination. JENKINS-30909
  • Add agent symbol for a permanent agent in Structs Plugin based configuration. JENKINS-49661
  • Match more date formats for sortable tables. pull 3125
Bug fix
  • Prevent NullPointerException when saving a parameterized job without parameters defined. JENKINS-46638
  • Don't link to a non-existing user profile from the build log of a build started by an anonymous user. JENKINS-48467

2.108

February 18, 2018
Enhancement
  • Always show the built-in node in the executors widget, even when it is offline. JENKINS-34712
  • archiveArtifacts in a Pipeline failed to throw a normal exception when there were no matches. JENKINS-47142
  • Update Apache Mina SSHD Core from 1.6.0 to 1.7.0 in CLI client. JENKINS-49565changelog
  • Extensibility: Allow SecurityRealm and AuthorizationStrategy implementations to be hidden on Configure Global Security form using DescriptorVisibilityFilter. JENKINS-49044
Bug fix
  • Don't show input validation errors in optional numeric form fields (regression in 2.105). JENKINS-49387JENKINS-49520
  • Fix translation of 'sign up' in Dutch, used to be 'sign in'. JENKINS-49498

2.107

February 14, 2018
Security
Enhancement

2.106

February 11, 2018
Enhancement
  • Update Remoting library from 3.16 to 3.17 to improve diagnostic logging for channel read/write events and JEP-200 related class filtering. JENKINS-27035JENKINS-49027full changelog
  • Integrate SSHD module 2.4 which updates Apache Mina SSHD Core from 1.6.0 to 1.7.0. pull 3278SSHD module changelog
  • Internal/API: Add DataBoundConstructor to LegacySecurityRealm to facilitate reflective instantiation in Jenkins-related tools and frameworks. pull 3279

2.105

February 4, 2018
Enhancement
  • When Jenkins fails to load plugins, show failures that users need to take action on separate from those due to other plugins failing to load. pull 3256
  • Upgrade Executable War from 1.36 to 1.37 to allow supplying jenkins.war command-line arguments via standard input using the --paramsFromStdIn parameter. pull 3223documentation
  • Jenkins now creates XML 1.1 files to be more accepting of unusual contents. JENKINS-48463
  • Developer: Introduce ACL#lambda convenience method. pull 3260Javadoc
Bug fix
  • Form validation for number of executors now properly shows validation errors and user-friendly message on form submission. JENKINS-47793
  • Ensure that threads for background tasks cannot be created with a custom classloader to prevent possible Groovy memory leaks. JENKINS-49206
  • Upgrade Executable War from 1.36 to 1.37 to prevent multiple copies of winstone-*.jar in the temp folder from using up disk space needlessly. JENKINS-22088
  • Update to task reactor version 1.5 to prevent hanging of Jenkins on startup/reload when an initialization task throws an unhandled exception. JENKINS-48725full changelog

2.104

January 28, 2018
Enhancement
  • Permit additional safe Java platform types for use in XStream (XML serialization) and Remoting (agent communication). pull 3251pull 3252pull 3253JENKINS-49070JENKINS-49071
  • Remove support for unbounded number of SCM polling threads. Previously, the default was infinite and could be set to between 10 and 100. Existing installations with unbounded SCM polling threads will now use the default of 10, and it is no longer possible to use a value outside of this range. pull 3258
  • Define a minimum required version of the Remoting library (agent communication) and print warnings when an older version is connecting. pull 3250
  • Improve robustness in case of faulty SCM#guessBrowser implementations. pull 3267
  • Improve error message when failing to read some files to actually mention the file name. JENKINS-49060JENKINS-49112
Bug fix
  • Restore Manage Jenkins submenu in the context menu accessible from the breadcrumb (regression in 2.103). JENKINS-49129
  • Fix MalformedInputException or UnmappableCharacterException when reading the log file after finishing a build (regression in 2.102). JENKINS-49112
  • Jenkins 2.102 and later could fail to start or run properly when loaded inside certain containers, including old versions of Tomcat. JENKINS-49147
  • Don't attempt to export information about arbitrary offline causes as part of the /computer/(name)/api output, which could result in errors. JENKINS-24452

2.103

January 21, 2018
JEP-200: "Switch Remoting/XStream denylist to an allowlist" has been integrated into 2.102. This change implies a HIGH RISK of regressions in plugins. See this blogpost for list of plugins known to be affected, with instructions how to resolve possible problems.
Enhancement
  • Permit additional safe types for use in XStream (XML serialization) and Remoting (agent communication). JENKINS-48946JENKINS-49000JENKINS-49025
  • Re-style the Manage Jenkins page, including administrative monitors. JENKINS-43786blog post
  • Make Blue Ocean work on Wildfly by excluding its outdated Jackson implementation from the Jenkins class path. JENKINS-48957
  • Developer: Improve detection of current plugin's or test's classes for exclusion from JEP-200 filtering. pull 3237
Bug fix
  • Do not downgrade detached plugins when upgrading Jenkins while its previous version was not properly recorded. JENKINS-48899
  • Restore file permissions granted to group and other for file created by Jenkins (regression in 2.93). JENKINS-48407
  • Fix a race condition in Initializer implementations creating Items that resulted in their deletion. JENKINS-47406
  • A ClassCastException or NoSuchMethodException could under certain circumstances mask the actual error when loading erroneous data from an XML file. JENKINS-49054
  • Properly add apostrophes to several localized strings that were missing them before. pull 3203

2.102

January 14, 2018
JEP-200: "Switch Remoting/XStream denylist to an allowlist " has been integrated to this release. This change implies a HIGH RISK of regressions in plugins. See this blogpost for list of plugins known to be affected, with instructions how to resolve possible problems.
Major enhancement
Enhancement
Bug fix
  • AtomicFileWriter was not fully atomic. Now it uses a FileChannel internally and forces a disk sync when committing. JENKINS-34855

2.101

January 7, 2018
Enhancement
Bug fix
  • Fix HTTP 404 error when clicking on New View sidebar link from another view. JENKINS-48447

2.100

January 3, 2018
Major bug fix

2.99

December 31, 2017
The release introduced a serious regression (JENKINS-48761). We recommend upgrading to 2.100 or updating Remoting on agents to 3.15.
Major bug fix
  • Updating Jenkins jobs and views by XML left fields at their old value if not defined in the new XML. JENKINS-21017

2.98

December 24, 2017
The release introduced a serious regression (JENKINS-48761). We recommend upgrading to 2.100 or updating Remoting on agents to 3.15.
Major enhancement
Bug fix
Enhancement
  • Developer: Jenkins#getInstance() is now deprecated as its semantics have been a source of confusion for some time. Use #get() in typical cases and Jenkins#getInstanceOrNull() in rare cases (see Javadoc). JENKINS-48638

2.97

December 19, 2017
Major bug fix
  • Fix regression in 2.96 that caused a downgrade of Script Security when upgrading Jenkins. JENKINS-48604

2.96

December 17, 2017
A bug introduced in Jenkins 2.96 will downgrade Script Security Plugin to version 2.18.1, possibly resulting in cascading failures to load other plugins (and reintroducing security issues). We recommend updating Script Security Plugin to its newest release and immediately restarting Jenkins to resolve this issue.
Major bug fix
  • Make sure detached plugins (plugins whose functionality used to be part of Jenkins itself) are installed when upgrading Jenkins past the version at which the plugin was detached. JENKINS-48365
Enhancement
  • Do not require CSRF crumb to be provided when the request is authenticated using API token. JENKINS-22474
  • Improve robustness and error handling of various file operations by switching to NIO. JENKINS-47324JENKINS-48405
  • Improve Chinese translation. pull 3176
  • Developer: Capture more authentication-related events in SecurityListener. JENKINS-27027
  • Developer: Deprecate hudson.util.Service in favor of Java's ServiceLoader. pull 3191
  • Developer: Introduce Cause.UserIdCause(String) constructor, which allows creating causes for specified users without switching the user context. pull 3162
Bug fix
  • Update Stapler from 1.253 to 1.254 to make the form that shows up when a URL requiring POST is accessed using a different HTTP verb work with CSRF protection enabled. JENKINS-34254Stapler changelog
  • Fix a performance regression in Jenkins 2.86 due to lock contention in ExtensionList. JENKINS-48505
  • Trigger SecurityListener#loggedIn events on programmatic login during self-registration when using HudsonPrivateSecurityRealm. JENKINS-48383

2.95

December 14, 2017
Security

2.94

December 11, 2017
Enhancement
  • Export assignedLabels for agents and labelExpression for applicable job types in remote API. JENKINS-25286
  • Optimization: Don't consult the authorization strategy about whether the internal SYSTEM pseudo-user has a given permission. JENKINS-20474
  • Update SSHD Module 2.0 to 2.3 to fire authentication events in SecurityListeners when a user connects using SSH. changelog
Bug fix
  • The setup wizard is now resumed upon restart if it hasn't been completed yet, instead of showing the regular login screen (regression in 2.81). JENKINS-47439

2.93

December 3, 2017
Enhancement
  • Use Java NIO to read and write Unix file permissions by default. The previous behavior can be restored by setting the Java system property hudson.Util.useNativeChmodAndMode to true. JENKINS-36088Jenkins features controlled by system properties
  • Better handling of certain unreproducible XML file load/save errors. pull 3167
  • Improve user lookup performance, for example from Git changelog calculation. JENKINS-47429
  • Reduce memory usage when scheduling pipelines on big clusters. JENKINS-48348
  • Use atomic file moves if available on the underlying file system from AtomicFileWriter. JENKINS-34855
  • Developer: Add ItemGroup#allItems and similar default methods to ItemGroup. pull 3148
  • Developer: Add default implementations of deprecated methods to BuildableItem and Item so they don't need to be implemented. pull 3142
  • Internal: Add documentation and convenience methods for the User.CanonicalIdResolver extension point. pull 3140
Bug fix
  • Prevent setup wizard from hanging when the two provided passwords differ, instead show a validation error. JENKINS-48080

2.92

November 26, 2017
Enhancement
  • Revert internal change that broke assumption in ruby-runtime in 2.91, impacting plugins based on it. JENKINS-48116
  • Improve UI performance with long list of running builds by caching the estimated duration. JENKINS-48350
  • Cache permission names, allowing Jenkins to recover faster after "stop-the-world" Java GC pauses. JENKINS-48349
  • Developer: Add AccessControlled#hasPermission(Authentication, Permission) for convenience. pull 3149
Bug fix
  • Prevent potential NullPointerException when migrating the default "All View" name for a "My Views" user property. JENKINS-48157

2.91

November 19, 2017
Major enhancement
  • Use Java NIO library instead of native code to create and detect symbolic links and Windows junctions to improve compatibility and robustness. JENKINS-36088JENKINS-39179
Bug fix
  • Prevent concurrent installation of Maven on the same node to prevent problems. JENKINS-34138
Enhancement
  • Developer: Deprecate the ambiguous User#getUser(String) in favor of the User#getById() or the new User#getOrCreateByIdOrFullName() methods. JENKINS-47718
  • Developer: Implement default methods in TaskListener and BuildListener interfaces so they don't have to be implemented in subclasses. pull 3122

2.90

November 12, 2017
Major bug fix
  • Recover from legacy user configuration folders with $ characters that are not part of hex escape sequences. (regression in 2.89) JENKINS-47909
  • Fix Download from java.sun.com installation method for JDK for downloads requiring an Oracle login after change to the Oracle site (again). JENKINS-47448
Enhancement
Bug fix
  • Fix icon for Manage Jenkins link in the sidebar of the Global Tool Configuration form. pull 3139
  • Prevent caching of captcha on the login form. JENKINS-43852
  • Ensure that the authenticated group is not added twice to the authorities for a user. JENKINS-47768

2.89

November 8, 2017
Security

2.88

November 5, 2017
Enhancement
  • Add sidebar link to create new view. JENKINS-6290
  • Improve robustness of the /user/(username)/configure page when a UserProperty is missing its descriptor. JENKINS-45977
  • Improve Russian localization. pull 3113pull 3115

2.87

October 29, 2017
Enhancement
  • Stapler library upgraded from 1.252 to 1.253 with Servlet 3.1 support, improved Blue Ocean performance and changes of interest to plugin developers. JENKINS-37062Stapler changelog
  • Commons Codec library upgraded from 1.8 to 1.9. pull 3033
  • Agents JVM must be 1.8+ and a clear message is shown in connection logs if it is not. JENKINS-44851
  • Major improvement to Italian localization. pull 3075
  • Improvements to Chinese localization. pull 3104pull 3105
  • Retrieving the list of installed plugins now consumes much less memory. JENKINS-47713
  • Internal: Move metadata about plugins split from core into a resource file. pull 3110
  • Developer: Add ExtensionList#lookupSingleton convenience method. pull 3021
Bug fix
  • When the Jenkins root URL was not configured, the login CLI command did not work.
  • Allow users with Job/Cancel permission to abort pipeline builds from the builds history widget. pull 3101
  • Jobs no longer disappear from NestedView lists after renaming. JENKINS-25276

2.86

October 22, 2017
Major enhancement
Enhancement
  • Add link to recursive cc.xml output on build history page. JENKINS-36282
  • Developer: Add an empty default implementation for previously abstract methods of SecurityListener. pull 3077
  • Developer: Deprecate hudson.util.Memoizer and replace its usage in core. pull 3091
Major bug fix
  • Fix Download from java.sun.com installation method for JDK for downloads requiring an Oracle login after change to the Oracle site. JENKINS-47448
Bug fix
  • Secret threw ArrayIndexOutOfBoundsException trying to decrypt {}. JENKINS-47500
  • Race conditions in agents going offline could result in an exception when picking a workspace for a build. JENKINS-47455
  • Prevent duplicated elements with incorrect URL when using the search on Dashboard View plugin based views. JENKINS-35459
  • StackOverflowError thrown under some conditions when using Pipeline on 2.85. JENKINS-47517
  • Prevent NullPointerException updating a folder with a primary view specified in Folders plugin 6.2.0. JENKINS-47416
  • Developer: Slave.JnlpJar.getURL did not work in some modes when core had a snapshot dependency on the Remoting library. pull 3069

2.85

October 15, 2017
Enhancement
  • Upgrade Remoting from 3.12 to 3.13. JENKINS-47132JENKINS-38711full changelog
  • Restart agent communication related threads on both controller and agents when encountering an unhandled exception, if possible, to improve stability. JENKINS-38711
  • Improve performance by not querying queue dispatchers from the UI. JENKINS-20046
  • Use node display name when printing "built on" message in the build log. JENKINS-47168
  • Enable cc.xml to export jobs in folders recursively when accessed with a query parameter named recursive. JENKINS-36282
  • Add new administrative monitor warning users about disabled CSRF protection. JENKINS-47372
  • Developer: Make Xstream2#addCriticalField available for use in plugins. pull 3066
Bug fix
  • In rare configurations, agents tried to load unloadable classes from the controller, resulting in ClassNotFoundException: javax.servlet.ServletContextListener on agents. JENKINS-46386
  • Jenkins did not correctly show parts of pipeline builds in side panel widgets if the current view is configured to filter their content. JENKINS-46759

2.84

October 11, 2017
Security

2.83

October 8, 2017
Bug fix
  • Fix potential HTTP 414 error in form validation of long Batch/Shell tool installer scripts. JENKINS-47058
  • Fix link from build cause or page header to user profile in case of unusual user names. JENKINS-32623
  • Properly display agent launch arguments when using nested launch methods. JENKINS-47056

2.82

October 1, 2017
Major bug fix
  • favicon.ico and other binary resource files were broken since 2.79 because they were incorrectly filtered during the build. JENKINS-47127
  • Developer: Fix TimeDuration time unit handling and its incorrect usage. TimeDuration uses milliseconds as the default unit. It was supposed to parse sec or secs suffix to interpret the number as seconds, but that never worked. JENKINS-44052
Bug fix
  • Don't log warning when an anonymous user sends an invalid crumb, usually just an expired session. JENKINS-40344
  • Developer: Create a copy of a list of parameters in ParametersAction constructor before storing them to improve robustness when the caller reuses that list. JENKINS-45472

2.81

September 27, 2017
Security
  • Jenkins 2.80 did not initialize the setup wizard on new installations, causing various security options including authentication and authorization to be turned off by default, granting anonymous administrator access. security advisorynotificationJENKINS-47139

2.80

September 24, 2017
Enhancement
  • Improve error reporting when failing to archive artifacts. pull 2976
  • Developer: Deprecate hudson.util.TimeUnit2 and replace with java.util.concurrent.TimeUnit. pull 2892
Bug fix
  • Save the current Jenkins version whenever saving the Jenkins object, e.g. when saving the global security configuration. Plugins may rely on this information for data migration that would be triggered unnecessarily. JENKINS-42577
  • Prevent possible NullPointerException when removing an item from a list view due to a race condition. JENKINS-23411
  • Avoid a possible server-side timeout on long-running CLI commands using plain HTTP mode by sending periodic pings from the client. JENKINS-46659
  • Renaming or moving a folder failed to properly move build directories of its children when using custom build directory, resulting of loss of their builds. JENKINS-44657

2.79

September 17, 2017
Major bug fix
Enhancement
  • Add description of nodes to their remote API. JENKINS-42854
  • Internal: Require Java 8u101 to build Jenkins, as that's the minimum required to run it since 2.77. pull 3015
Bug fix
  • Disconnect node on ping timeout instead of leaving the channel half open. JENKINS-46680

2.78

September 10, 2017
Enhancement
  • Moved Jenkins agent runtime to agent.jar file name, and deprecate (but still support) use of legacy slave.jar. Introduce the AGENTJAR_URL environment variable as replacement for SLAVEJAR_URL. JENKINS-35451
  • Internal: Implement DescriptorByNameOwner using Java 8 interface default method. Make Computer a DescriptorByNameOwner allowing its use as @AncestorInPath. pull 3009
Bug fix
  • Accept Basic authentication headers case-insensitively. JENKINS-44663

2.77

September 3, 2017
Enhancement
  • Default the built-in Jenkins Update Center URL to https://updates.jenkins.io instead of obsolete HTTP endpoint. This requires a JRE compatible with Let's Encrypt, e.g. Oracle JRE 8u101. pull 2996
  • Internal: Avoid code duplication using default methods. pull 2999
Bug fix
  • Fix problem with auto upgrade when using custom JENKINS_HOME on Windows. JENKINS-13153
  • Administrative monitor did not detect when Tomcat's URL escaping does not permit forward slashes. JENKINS-31068
  • Fix broken UI for users with Discover permission when renaming a job. JENKINS-41637

2.76

August 27, 2017
Major enhancement
Enhancement
  • Major update of the Bulgarian translation. pull 2983
  • Internal: Allow EnvironmentContributingAction to support Run in addition to AbstractProject. JENKINS-29537
  • Internal: Updated parent POM; Jenkins core now requires Maven 3.3.9 or newer to build. pull 2985

2.75

August 20, 2017
Enhancement
Bug fix
  • Button to validate proxy configuration in Manage Plugins now works correctly with NTLM authorization. JENKINS-46288

2.74

August 15, 2017
Major enhancement
Major bug fix
  • Stapler 1.252: Prevent file handle leak in LargeText#GzipAwareSession. JENKINS-45903
  • Prevent core or plugin code from mistakenly attempting to serialize jobs, builds, and users except in their intended top-level XML file positions, preventing a class of serious deserialization-related errors. JENKINS-45892
Bug fix
  • Stapler 1.252: Restore ability to attach views to interfaces (regression in Jenkins 2.46). JENKINS-43715
  • Prevent caching of the item categories list by the browser to prevent stale data. JENKINS-43848
  • Show display name of the current view in window title. pull 2969
  • Include culprits in XML and JSON API again (regression in 2.60). JENKINS-46082
  • Improve robustness of the reverse build trigger ("Build after other projects are built"). JENKINS-45909
Enhancement
  • Improve Polish localization. pull 2974
  • Log name of the executor thread that died to improve diagnosability. JENKINS-42376
  • Update Agent Installer module to 1.6 for minor fixes and enhancements. pull 2965changelog
  • Internal: Cleanup of Maven dependencies in Jenkins core, allowing plugins depending on this version or later to build without “upper bound” dependency warnings on recent Maven HPI Plugin releases. pull 2956

2.73

August 6, 2017
Enhancement
  • Avoid unnecessary locking to improve performance related to actions. JENKINS-45244
  • Improve performance when reading the console text of a build. JENKINS-45915
  • Add Polish translations for setup wizard. pull 2952
Bug fix
  • Reliably close build log file when using chained BuildListeners. JENKINS-45057JENKINS-43199
  • Modify the JNLPLauncher configuration page to work around regression in Docker Plugin (regression in 2.72). JENKINS-45895

2.72

July 30, 2017
Enhancement
  • Enable Remoting work directories by default for newly created agents launched via JNLP (Java Web Start Launcher). JENKINS-44112feature documentation
  • Always follow redirects for downloading update center metadata, so misbehaving plugins cannot break it. JENKINS-38185
  • Minor optimization to queue maintenance routines and printing of console notes, mainly for the benefit of Pipeline node blocks. JENKINS-45553
Bug fix

2.71

July 23, 2017
Enhancement
Bug fix
  • Prevent NullPointerException in Jenkins#getRootURL() while the instance is not fully loaded yet. JENKINS-34914
  • Contributions to the PATH environment variable could result in malformed values on agents on a platform different from the controller's. JENKINS-14807
  • JNLP for launching agents now requests Java 8. JENKINS-45679
  • Prevent NullPointerException when a previous completed build is missing for upstream culprits check. JENKINS-45516
  • Correctly show or suppress warnings about undefined parameters based on hudson.model.ParametersAction.keepUndefinedParameters system property. JENKINS-45519
  • Internal: Delete obsolete SECURITY-144-compat exclusion that can break tests. JENKINS-25625

2.70

July 16, 2017
Bug fix

2.69

July 9, 2017
Major enhancement
Enhancement
  • SSHD Module 2.0: Enable aes192ctr and aes256ctr ciphers if JVM supports unlimited-strength encryption. JENKINS-39738

2.68

July 2, 2017
Major enhancement
Enhancement
  • The reload-configuration CLI command now waits until the reload is finished, and returns an error code if the reload failed. JENKINS-45256
Bug fix

2.67

June 25, 2017
Enhancement
  • Enable simpler syntax for upstream build trigger in pipelines. JENKINS-34464
  • Remove the "JNLP" protocol references from the TCP Agent Listener log messages. JENKINS-44103
Bug fix
  • Internal: Update Annotation Indexer to 1.12 to work around JRE bug in tests. JDK-8182744

2.66

June 18, 2017
Bug fix
  • When starting the jenkins.war directly, properly check for Java 8 as minimum instead of Java 7 before proceeding. JENKINS-44764
  • Fix resource loading in plugins using the PluginFirstClassLoader, e.g. loading Groovy classes from plugin resources. JENKINS-44898
  • Prevent possible NullPointerException when listing remote directories using the FilePath#list() and FilePath#listDirectories() APIs. JENKINS-44942
Enhancement

2.65

June 11, 2017
Bug fix
  • Prevent NullPointerException when calling restart CLI command (regression in 2.57). JENKINS-44769
Major bug fix

2.64

June 4, 2017
Enhancement
  • Moved agent port and protocol configuration out of "security" (authentication and authorization) block in Configure Global Security. JENKINS-4478
  • Add section headers for Markup Formatter and CSRF Protection in Configure Global Security form to make these options more obvious. pull 2900
  • Use one-column layout for REST API documentation (.../api URLs). JENKINS-44563
  • Plugin Development: Jenkins now no longer publishes a war-for-test artifact. Plugins using this or a later version of Jenkins as baseline need to use plugin parent POM 2.30 or later. JENKINS-24064
Bug fix
  • Update jnr-posix from 3.0.1 to 3.0.41 to pick up improvements and fixes in the POSIX platforms support. pull 2904
  • Jenkins failed to perform some cleanup tasks, including saving the build queue, if stopped via REST /exit, CLI shutdown, or when restarting from Install as Windows Service. JENKINS-44589
  • Don't check whether disabled administrative monitors are active or not on the Manage Jenkins page. JENKINS-44608
  • Do not submit form when pressing Enter in the plugin manager's filter field. JENKINS-44523

2.63

May 28, 2017
No notable changes in this release.

2.62

May 21, 2017
Enhancement
  • Fixed Pipeline compatibility for a number of CLI commands (delete-builds, list-changes, console, set-build-description, and set-build-display-name), as well as some issues affecting error reporting in other commands when used with Pipeline. JENKINS-30785JENKINS-41527
  • If you have the Authorize Project plugin installed and configured, its configuration will now be treated as final with respect to the behavior of Job/Build checks from Build other projects and Build after other projects are built. Formerly, if a Per-project configurable Build Authorization was enabled globally but some projects did not specify an Authorization, the two aforementioned checks would automatically fall back to checking as anonymous (typically denying build permission). To restore the former behavior, explicitly configure a Project default Build Authorization to be Run as anonymous. Note that this will affect all build-scoped permission checks, including for example Agent/Build. JENKINS-22949
  • Internal API: Tasks.getAuthenticationOf now honors authentication contributed by QueueItemAuthenticatorProvider extensions. pull 2880
  • Update WinP from 1.24 to 1.25 to improve performance and diagnostics of issues like JENKINS-30782. full changelog
Bug fix
  • Fix for NullPointerException while initiating some SSH connections (regression in 2.59). JENKINS-44120
  • Prevent StackOverflowError in log recorder when Winstone-Jetty debug logging is enabled. (regression in 2.61) JENKINS-44330corresponding Jetty issue

2.61

May 14, 2017
Major enhancement
Bug fix
Enhancement
  • Update the Mailer plugin version installed when updating from very old Jenkins releases to include the fix for SECURITY-372, the SSH Build Agents plugin for SECURITY-161, and the Script Security plugin for SECURITY-258. SECURITY-372SECURITY-161SECURITY-258
  • Freestyle projects may now list Pipeline jobs as downstream and trigger them, without needing to use the Parameterized Trigger plugin or reverse triggers ("Build after other projects are built"). JENKINS-28113
  • Internal: Define enabling/disabling in ParameterizedJob rather than AbstractProject. JENKINS-27299
  • Internal: Offer default methods on ParameterizedJob to have less boilerplate code. pull 2864

2.60

May 10, 2017
Enhancement
  • Update to Windows Service Wrapper 2.1.0 to support new features: download command with authentication, flag for startup failure on download error, Delayed Automatic Start mode. JENKINS-43737
  • Windows services: Add system property that allows disabling WinSW automatic upgrade on agents. JENKINS-43603more information
  • Internal: Generalize the changelog API to support non-AbstractBuild run types. JENKINS-24141
Bug fix
  • Windows services: Restore compatibility of the WindowsSlaveInstaller#generateSlaveXml() method (regression in 2.50, no known external usages). JENKINS-42745
  • Windows services: Prevent fatal file descriptor leak when agent service installer fails to read data from the service startup.log. JENKINS-43930
  • Use full display name for runs in RSS feed to restore the project name there (regression in 2.59). JENKINS-44117

2.59

May 7, 2017
Major bug fix
Enhancement
  • Prevent Internet Explorer from caching AJAX requests using Cache-Control header. JENKINS-43929
Bug fix
  • Properly fail with error when updating view with CLI using input of a different view type. JENKINS-42728
  • Fix AccessDeniedException in "Build after other projects are built" when user has Discover permission but not Read. JENKINS-42707
  • Properly log failure due to empty archive in Pipeline. JENKINS-38005
  • Prevent rare NullPointerException if an admin user is created in the setup wizard after first disabling CSRF protection. JENKINS-44010

2.58

April 30, 2017
Enhancement
  • Use build display names in RSS feed titles. pull 2845
  • Update the Trilead SSH library to get support of new Mac, Key, and Key Exchange Algorithms. JENKINS-33021JENKINS-26379JENKINS-31549
  • Migrate legacy users only once per restart to improve performance of the user retrieval logic. JENKINS-43936
  • Internal: Pick up the latest release of version-number library. JENKINS-43733
  • Internal: Refactor ProcessTree.Windows logic to propagate errors. JENKINS-43825

2.57

April 26, 2017
Security

2.56

April 23, 2017
Bug fix
  • Plugins did not expect InvalidPathException to be thrown in file-related methods, so wrap them in IOException to restore behavior (regression in 2.55). JENKINS-43531
  • Remove links in stack traces to the stacktrace.jenkins-ci.org service that has been shut down. JENKINS-42861
  • If an exception is thrown while rendering an HTTP response, just log the stack trace on the server side, without trying to send an error page to the client. JENKINS-21695
  • Prevent NullPointerException when a non-existent default view is specified in Configure System. JENKINS-42717
  • Deleting jobs with running builds could result in NullPointerException (regression in 2.55). JENKINS-43653

2.55

April 15, 2017
Major bug fix
  • Packaging: Debian package now requires Java 8. (causes regression since 2.54). JENKINS-43495
Enhancement
  • Added fine-grain logging of FullDuplexHttpService to diagnose issues when establishing an HTTP Duplex connection. pull 2481
  • Internal API: SSH CLI client authenticator 1.3. Expose PublicKeySignatureWriter to plugins. pull 2840
Bug fix
  • Update LibZFS from 0.5 to 0.8 to fix compatibility issues with ZFS filesystem and illumos distributions. JENKINS-41932
  • Before deleting jobs, try to abort the running builds. Error will be thrown instead of the job deletion if its builds cannot be aborted. JENKINS-35160
  • Ensure that Cloud.PROVISION is properly initialized during the configuration loading. JENKINS-43279
  • Fix log message formatting when migrating AllView names due to JENKINS-38606". JENKINS-43611
  • Setup wizard gets into bad state when failures like network issues happen. JENKINS-41778
  • Catch and log RuntimeException in Computer#setNode() when updating the Computer list. JENKINS-42043
  • SSH CLI client authenticator 1.4. Add missing SSH Public Key field validation in user configuration. JENKINS-16337

2.54

April 9, 2017
Major enhancement
Enhancement
Bug fix
  • Introduce status indicator for skipped download job. JENKINS-40848
  • Properly handle saving system configuration when disabling all, or all but one, administrative monitors. JENKINS-42852
  • When validating a cron expression, consider the specified time zone. JENKINS-43228

2.53

April 2, 2017
Major bug fix
Enhancement
  • GC Performance: Avoid using FileInputStream and FileOutputStream in the core codebase. JDK-8080225JENKINS-42934
  • Internal API: Add support of a new full screen mode in layout.jelly. JENKINS-34670
Bug fix
  • Packaging: Do not invoke recursive chown in JENKINS_HOME during the RPM post-install step unless owned by a different user. JENKINS-23273

2.52

March 26, 2017
Bug fix
Enhancement
  • Update German localization. pull 2777
  • Remove localizations with very low coverage: Albanian, Basque, Belarusian, Bengali, Esperanto, Galician, Georgian, Gujarati, Hindi, Icelandic, Indonesian, Irish, Kannada, Macedonian, Marathi, Mongolian, Occitan, Punjabi, Sinhala, Tamil, Telugu, Thai. pull 2813

2.51

March 19, 2017
Major bug fix
  • Restore WMI Windows Agents Plugin 1.2 compatibility by restoring windows-service/jenkins.xml, regression in 2.50. JENKINS-42724
Enhancement
  • SSHD 1.10: Move SSH server port configuration to security options page. pull 2796
  • Update Russian localization. pull 2798
  • Update French localization. JENKINS-42627
  • Internal API: Add the ability for ItemListener to veto copy operations. JENKINS-34691
  • Internal API: Save Jenkins after calling setSecurityRealm or setAuthorizationStrategy. pull 2790
  • Internal API: Annotate PermissionGroup#owner @Nonnull. pull 2805
Bug fix
  • Internal: Make sure system threads run as SYSTEM. JENKINS-42556
  • Internal API: Make Run#compareTo work across jobs. JENKINS-42319

2.50

March 11, 2017
Enhancement
  • Allow searching by build parameter values in the Build History widget. JENKINS-40718
  • Searching in the Build History widget takes into account user preferences (case sensitivity by default). pull 2683
  • When creating temporary files, use the jenkins prefix instead of the old hudson one. pull 2778
  • Windows services: Enable Runaway Process Killer by default in new agent and controller installations. JENKINS-39231
  • Windows services: Enable auto-upgrade of Remoting on newly installed agents if they are connected by HTTPS. JENKINS-39237
  • Windows services: Add support of shared directories mapping in Windows agent services. Shared Directory Mapper documentation
  • Windows services: Change the default Agent service display name prefix to Jenkins agent %ID%. JENKINS-42468
  • Select controls in Jenkins Web UI now show the spinner icon while waiting for the list of possible options during AJAX. requests. JENKINS-42443
  • Improve plugin access performance in the default PluginManager implementation. JENKINS-42585
  • Internal API: Allow providing a custom task name in Run/Schedule UI via the AlternativeUiTextProvider extension. JENKINS-34522
Bug fix
  • Fix relative links in the SCM polling administrative monitor. pull 2780
  • Update Remoting from 3.5 to 3.7 in order to prevent file descriptor leaks on agents in the case of multiple connection attempts. full changelog
  • Windows services: Prevent agent connection reset issues when WinSW gets terminated due to the system shutdown. JENKINS-22692
  • Windows services: Integrate various stability and performance fixes in Windows Service Wrapper from 1.18 to 2.0.2. There are many fixes around configuration options and process termination. full changelog
  • Prevent file descriptor leaks when Windows Service installer fails to read data from the service startup log. JENKINS-42670
  • Search results page did not correctly encode query parameters. JENKINS-42390
Major enhancement

2.49

March 5, 2017
Bug fix
  • Do not attempt to find the next occurrence of an impossible date such as June 31st in validation of trigger schedules. JENKINS-41864
  • Remove invalid translations in Slovene. JENKINS-41756

2.48

February 26, 2017
Enhancement
  • Upgrade Apache Commons Collections to version 3.2.2. Note: Jenkins has been using a denylist to prevent exploiting the serialization vulnerability in 3.2.1 since before 3.2.2 was released. JENKINS-31598
  • Use redirect URLs on jenkins.io instead of linking to wiki pages directly, allowing future reorganization of documentation without breaking links in Jenkins. pull 2756
  • Developer: Allow referencing radio buttons in f:validateButton validation methods. pull 2734
Bug fix
  • Fix performance issue in deduplication of lists of tool installers. JENKINS-42141
  • Use of the remote API to create items in views (/view/…/createItem) didn't actually add items to views since Jenkins 2.22. JENKINS-41128
  • Do not display a warning when an SCM trigger has no schedules (either to disable SCM post-commit hooks, or to enable them without polling). JENKINS-42194

2.47

February 19, 2017
Bug fix
  • Update Groovy to 2.4.8 to address memory leak issue. Do not use this version if you are running Pipeline builds unless you also update Pipeline: Groovy to 2.28 or higher. JENKINS-33358JENKINS-42189
  • Windows service restart did not retain build queue. JENKINS-32820
  • Exceptions during Jenkins cleanup step should not block restart. JENKINS-42164
  • Remoting 3.5: Remoting clients now accept lowercase (HTTP 2) headers sent by reverse proxies. JENKINS-40710
  • Remoting 3.5: Stability improvements. JENKINS-41513JENKINS-41852
  • Developer: Snapshot builds of plugins that had dependencies on other snapshot builds were not having their version numbers compared correctly. JENKINS-41899
Enhancement
  • Upgrade Remoting to version 3.5. full changelog
  • Remoting 3.5: Add option to specify the Remoting protocol to use on the client. JENKINS-41730

What's new in 2.46 (2017/02/13)

What's new in 2.45 (2017/02/06)

What's new in 2.44 (2017/02/01)

What's new in 2.43 (2017/01/29)

What's new in 2.42 (2017/01/22)

What's new in 2.41 (2017/01/15)

What's new in 2.40 (2017/01/08)

What's new in 2.39 (2017/01/02)

What's new in 2.38 (2016/12/25)

What's new in 2.37 (2016/12/18)

What's new in 2.36 (2016/12/11)

What's new in 2.35 (2016/12/04)

What's new in 2.34 (2016/11/27)

What's new in 2.33 (2016/11/20)

What's new in 2.32 (2016/11/16)

What's new in 2.31 (2016/11/13)

What's new in 2.30 (2016/11/07)

What's new in 2.29 (2016/11/06)

Warning! This release is not recommended for use due to issue 39555 and issue 39414. We are working on the out-of-order release (discussion).

What's new in 2.28 (2016/10/30)

What's new in 2.27 (2016/10/23)

What's new in 2.26 (2016/10/17)

What's new in 2.25 (2016/10/09)

What's new in 2.24 (2016/10/02)

What's new in 2.23 (2016/09/18)

What's new in 2.22 (2016/09/11)

What's new in 2.21 (2016/09/04)

What's new in 2.20 (2016/08/28)

What's new in 2.19 (2016/08/21)

What's new in 2.18 (2016/08/15)

What's new in 2.17 (2016/08/05)

What's new in 2.16 (2016/07/31)

What's new in 2.15 (2016/07/24)

What's new in 2.14 (2016/07/17)

What's new in 2.13 (2016/07/10)

What's new in 2.12 (2016/07/05)

What's new in 2.11 (2016/06/26)

What's new in 2.10 (2016/06/19)

What's new in 2.9 (2016/06/13)

What's new in 2.8 (2016/06/05)

What's new in 2.7 (2016/05/29)

What's new in 2.6 (2016/05/22)

What's new in 2.5 (2016/05/16)

What's new in 2.4 (2016/05/15)

What's new in 2.3 (2016/05/11)

What's new in 2.2 (2016/05/08)

What's new in 2.1 (2016/05/01)

What's new in 2.0 (2016/04/20)

More detailed information about the new features in Jenkins 2.0 on the overview page.

What's new in 1.656 (2016/04/03)

What's new in 1.655 (2016/03/27)

What's new in 1.654 (2016/03/21)

What's new in 1.653 (2016/03/13)

What's new in 1.652 (2016/03/06)

What's new in 1.651 (2016/02/28)

What's new in 1.650 (2016/02/24)

What's new in 1.649 (2016/02/21)

What's new in 1.648 (2016/02/17)

What's new in 1.647 (2016/02/04)

What's new in 1.646 (2016/01/25)

What's new in 1.645 (2016/01/18)

What's new in 1.644 (2016/01/10)

What's new in 1.643 (2015/12/20)

What's new in 1.642 (2015/12/13)

What's new in 1.641 (2015/12/09)

What's new in 1.640 (2015/12/07)

What's new in 1.639 (2015/11/29)

What's new in 1.638 (2015/11/11)

What's new in 1.637 (2015/11/08)

What's new in 1.636 (2015/11/01)

What's new in 1.635 (2015/10/25)

What's new in 1.634 (2015/10/18)

What's new in 1.633 (2015/10/11)

What's new in 1.632 (2015/10/05)

What's new in 1.631 (2015/09/27)

What's new in 1.630 (2015/09/20)

What's new in 1.629 (2015/09/15)

What's new in 1.628 (2015/09/06)

What's new in 1.627 (2015/08/30)

What's new in 1.626 (2015/08/23)

What's new in 1.625 (2015/08/17)

What's new in 1.624 (2015/08/09)

What's new in 1.623 (2015/08/02)

No notable changes in this release.

What's new in 1.622 (2015/07/27)

What's new in 1.621 (2015/07/19)

What's new in 1.620 (2015/07/12)

What's new in 1.619 (2015/07/05)

What's new in 1.618 (2015/06/29)

What's new in 1.617 (2015/06/07)

What's new in 1.616 (2015/05/31)

What's new in 1.615 (2015/05/25)

What's new in 1.614 (2015/05/17)

What's new in 1.613 (2015/05/10)

What's new in 1.612 (2015/05/03)

What's new in 1.611 (2015/04/26)

What's new in 1.610 (2015/04/19)

What's new in 1.609 (2015/04/12)

What's new in 1.608 (2015/04/05)

What's new in 1.607 (2015/03/30)

What's new in 1.606 (2015/03/23)

What's new in 1.605 (2015/03/16)

What's new in 1.604 (2015/03/15)

What's new in 1.602 (2015/03/08)

What's new in 1.601 (2015/03/03)

What's new in 1.600 (2015/02/28)

What's new in 1.599 (2015/02/16)

What's new in 1.598 (2015/01/25)

What's new in 1.597 (2015/01/19)

What's new in 1.596 (2015/01/04)

What's new in 1.595 (2014/12/21)

What's new in 1.594 (2014/12/14)

What's new in 1.593 (2014/12/07)

What's new in 1.592 (2014/11/30)

What's new in 1.591 (2014/11/25)

What's new in 1.590 (2014/11/16)

What's new in 1.589 (2014/11/09)

What's new in 1.588 (2014/11/02)

What's new in 1.587 (2014/10/29)

What's new in 1.586 (2014/10/26)

What's new in 1.585 (2014/10/19)

What's new in 1.584 (2014/10/12)

What's new in 1.583 (2014/10/01)

What's new in 1.582 (2014/09/28)

What's new in 1.581 (2014/09/21)

What's new in 1.580 (2014/09/14)

What's new in 1.579 (2014/09/06)

What's new in 1.578 (2014/08/31)

What's new in 1.577 (2014/08/24)

What's new in 1.576 (2014/08/18)

What's new in 1.575 (2014/08/10)

What's new in 1.574 (2014/07/27)

What's new in 1.573 (2014/07/20)

What's new in 1.572 (2014/07/13)

What's new in 1.571 (2014/07/07)

What's new in 1.570 (2014/06/29)

What's new in 1.569 (2014/06/23)

What's new in 1.568 (2014/06/15)

What's new in 1.567 (2014/06/09)

What's new in 1.566 (2014/06/01)

What's new in 1.565 (2014/05/26)

What's new in 1.564 (2014/05/19)

What's new in 1.563 (2014/05/11)

What's new in 1.562 (2014/05/03)

What's new in 1.561 (2014/04/27)

What's new in 1.560 (2014/04/20)

What's new in 1.559 (2014/04/13)

What's new in 1.558 (2014/04/06)

What's new in 1.557 (2014/03/31)

What's new in 1.556 (2014/03/23)

What's new in 1.555 (2014/03/16)

What's new in 1.554 (2014/03/09)

What's new in 1.553 (2014/03/02)

What's new in 1.552 (2014/02/24)

What's new in 1.551 (2014/02/14)

What's new in 1.550 (2014/02/09)

What's new in 1.549 (2014/01/25)

What's new in 1.548 (2014/01/20)

What's new in 1.547 (2014/01/12)

What's new in 1.546 (2014/01/06)

What's new in 1.545 (2013/12/31)

What's new in 1.544 (2013/12/15)

What's new in 1.543 (2013/12/10)

What's new in 1.542 (2013/12/02)

What's new in 1.541 (2013/11/24)

What's new in 1.540 (2013/11/17)

What's new in 1.539 (2013/11/11)

What's new in 1.538 (2013/11/03)

What's new in 1.537 (2013/10/27)

What's new in 1.536 (2013/10/20)

What's new in 1.535 (2013/10/14)

What's new in 1.534 (2013/10/07)

What's new in 1.533 (2013/09/29)

What's new in 1.532 (2013/09/23)

What's new in 1.531 (2013/09/16)

What's new in 1.530 (2013/09/09)

What's new in 1.529 (2013/08/26)

What's new in 1.528 (2013/08/18)

What's new in 1.527 (2013/08/12)

What's new in 1.526 (2013/08/05)

What's new in 1.525 (2013/07/29)

Same as 1.524; botched release.

What's new in 1.524 (2013/07/23)

What's new in 1.523 (2013/07/14)

What's new in 1.522 (2013/07/06)

What's new in 1.521 (2013/07/02)

What's new in 1.520 (2013/06/25)

What's new in 1.519 (2013/06/17)

What's new in 1.518 (2013/06/11)

What's new in 1.517 (2013/06/02)

What's new in 1.516 (2013/05/27)

What's new in 1.515 (2013/05/18)

What's new in 1.514 (2013/05/01)