diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..71b25de5fe
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,39 @@
+# Handle line endings automatically for files detected as text
+# and leave all files detected as binary untouched.
+* text=auto
+
+#
+# The above will handle all files NOT found below
+#
+# These files are text and should be normalized (Convert crlf => lf)
+*.css text
+*.groovy text
+*.htm text
+*.html text
+*.java text
+*.js text
+*.json text
+*.jelly text
+*.jellytag text
+*.less text
+*.properties text
+*.rb text
+*.sh text
+*.txt text
+*.xml text
+
+# These files are binary and should be left untouched
+# (binary is a macro for -text -diff)
+*.class binary
+*.gz binary
+*.tgz binary
+*.ear binary
+*.gif binary
+*.hpi binary
+*.ico binary
+*.jar binary
+*.jpg binary
+*.jpeg binary
+*.png binary
+*.war binary
+*.zip binary
diff --git a/.gitignore b/.gitignore
index edb353a62a..60ba89065c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,10 @@ build
# vim
*~
+*.swp
+
+# ctags
+tags
# OS X
.DS_Store
diff --git a/.mvn/jvm.config b/.mvn/jvm.config
new file mode 100644
index 0000000000..e93a5b43ee
--- /dev/null
+++ b/.mvn/jvm.config
@@ -0,0 +1 @@
+-Xmx800m
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7bd3f7a8f7..7a2d5e0c53 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,3 +1,3 @@
# Contributing to Jenkins
-For information on contributing to Jenkins, check out the https://wiki.jenkins-ci.org/display/JENKINS/contributing and https://wiki.jenkins-ci.org/display/JENKINS/Extend+Jenkins wiki pages over at the official https://wiki.jenkins-ci.org . They will help you get started with contributing to Jenkins.
+For information on contributing to Jenkins, check out the https://wiki.jenkins-ci.org/display/JENKINS/Beginners+Guide+to+Contributing and https://wiki.jenkins-ci.org/display/JENKINS/Extend+Jenkins wiki pages over at the official https://wiki.jenkins-ci.org . They will help you get started with contributing to Jenkins.
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000000..5fdd562b8c
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,78 @@
+#!/usr/bin/env groovy
+
+/*
+ * This Jenkinsfile is intended to run on https://ci.jenkins-ci.org and may fail anywhere else.
+ * It makes assumptions about plugins being installed, labels mapping to nodes that can build what is needed, etc.
+ *
+ * The required labels are "java" and "docker" - "java" would be any node that can run Java builds. It doesn't need
+ * to have Java installed, but some setups may have nodes that shouldn't have heavier builds running on them, so we
+ * make this explicit. "docker" would be any node with docker installed.
+ */
+
+// TEST FLAG - to make it easier to turn on/off unit tests for speeding up access to later stuff.
+def runTests = true
+
+// Only keep the 10 most recent builds.
+properties([[$class: 'jenkins.model.BuildDiscarderProperty', strategy: [$class: 'LogRotator',
+ numToKeepStr: '50',
+ artifactNumToKeepStr: '20']]])
+
+node('java') {
+ timestamps {
+ // First stage is actually checking out the source. Since we're using Multibranch
+ // currently, we can use "checkout scm".
+ stage('Checkout') {
+ checkout scm
+ }
+
+ // Now run the actual build.
+ stage("Build / Test") {
+ timeout(time: 180, unit: 'MINUTES') {
+ // See below for what this method does - we're passing an arbitrary environment
+ // variable to it so that JAVA_OPTS and MAVEN_OPTS are set correctly.
+ withMavenEnv(["JAVA_OPTS=-Xmx1536m -Xms512m -XX:MaxPermSize=1024m",
+ "MAVEN_OPTS=-Xmx1536m -Xms512m -XX:MaxPermSize=1024m"]) {
+ // Actually run Maven!
+ // The -Dmaven.repo.local=${pwd()}/.repository means that Maven will create a
+ // .repository directory at the root of the build (which it gets from the
+ // pwd() Workflow call) and use that for the local Maven repository.
+ sh "mvn -Pdebug -U clean install ${runTests ? '-Dmaven.test.failure.ignore=true' : '-DskipTests'} -V -B -Dmaven.repo.local=${pwd()}/.repository"
+ }
+ }
+ }
+
+
+ // Once we've built, archive the artifacts and the test results.
+ stage('Archive Artifacts / Test Results') {
+ archiveArtifacts artifacts: '**/target/*.jar, **/target/*.war, **/target/*.hpi',
+ fingerprint: true
+ if (runTests) {
+ junit healthScaleFactor: 20.0, testResults: '**/target/surefire-reports/*.xml'
+ }
+ }
+ }
+}
+
+// This method sets up the Maven and JDK tools, puts them in the environment along
+// with whatever other arbitrary environment variables we passed in, and runs the
+// body we passed in within that environment.
+void withMavenEnv(List envVars = [], def body) {
+ // The names here are currently hardcoded for my test environment. This needs
+ // to be made more flexible.
+ // Using the "tool" Workflow call automatically installs those tools on the
+ // node.
+ String mvntool = tool name: "mvn", type: 'hudson.tasks.Maven$MavenInstallation'
+ String jdktool = tool name: "jdk8", type: 'hudson.model.JDK'
+
+ // Set JAVA_HOME, MAVEN_HOME and special PATH variables for the tools we're
+ // using.
+ List mvnEnv = ["PATH+MVN=${mvntool}/bin", "PATH+JDK=${jdktool}/bin", "JAVA_HOME=${jdktool}", "MAVEN_HOME=${mvntool}"]
+
+ // Add any additional environment variables.
+ mvnEnv.addAll(envVars)
+
+ // Invoke the body closure we're passed within the environment we've created.
+ withEnv(mvnEnv) {
+ body.call()
+ }
+}
diff --git a/README.md b/README.md
index 4ecfdb2c37..501778372d 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,32 @@
[![][ButlerImage]][website]
# About
-In a nutshell, Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 1000 plugins to support building and testing virtually any project.
+In a nutshell, Jenkins is the leading open-source automation server.
+Built with Java, it provides over 1000 plugins to support automating virtually anything,
+so that humans can actually spend their time doing things machines cannot.
+
+# What to Use Jenkins for and When to Use It
+
+Use Jenkins to automate your development workflow so you can focus on work that matters most. Jenkins is commonly used for:
+
+- Building projects
+- Running tests to detect bugs and other issues as soon as they are introduced
+- Static code analysis
+- Deployment
+
+Execute repetitive tasks, save time, and optimize your development process with Jenkins.
# Downloads
Non-source downloads such as WAR files and several Linux packages can be found on our [Mirrors].
# Source
-Our latest and greatest source of Jenkins CI can be found on [GitHub]. Fork us!
+Our latest and greatest source of Jenkins can be found on [GitHub]. Fork us!
# Contributing to Jenkins
Follow [contributing](CONTRIBUTING.md) file.
# News and Website
-All information about Jenkins CI can be found on our [website]. Follow us on Twitter [@jenkinsci].
+All information about Jenkins can be found on our [website]. Follow us on Twitter [@jenkinsci].
# License
Jenkins is **licensed** under the **[MIT License]**. The terms of the license are as follows:
@@ -40,12 +53,12 @@ Jenkins is **licensed** under the **[MIT License]**. The terms of the license ar
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-[ButlerImage]: http://jenkins-ci.org/sites/default/files/jenkins_logo.png
+[ButlerImage]: https://jenkins.io/sites/default/files/jenkins_logo.png
[MIT License]: https://github.com/jenkinsci/jenkins/raw/master/LICENSE.txt
[Mirrors]: http://mirrors.jenkins-ci.org
[GitHub]: https://github.com/jenkinsci/jenkins
-[website]: http://jenkins-ci.org
-[@jenkinsci]: http://twitter.com/jenkinsci
+[website]: https://jenkins.io/
+[@jenkinsci]: https://twitter.com/jenkinsci
[Contributing]: https://wiki.jenkins-ci.org/display/JENKINS/contributing
[Extend Jenkins]: https://wiki.jenkins-ci.org/display/JENKINS/Extend+Jenkins
[wiki]: https://wiki.jenkins-ci.org
diff --git a/changelog.html b/changelog.html
index aa9b438a98..4b8502c6fd 100644
--- a/changelog.html
+++ b/changelog.html
@@ -20,30 +20,31 @@ Some tips:
Changelog
-
+
-
+
Legend:
- major enhancement enhancement
- major bug fix bug fix
+ major enhancement enhancement
+ major bug fix bug fix
xxxxx
+
Help other Jenkins users by letting the community know which releases you've used,
and whether they had any significant issues.
Legend:
- = I use it on my production site without major issues.
- = I don't recommend it.
- = I tried it but rolled back to a previous version.
View ratings below, and click one of the icons next to your version to provide your input.
+ Several badges were missing in builds flagged as KeepBuildForever.
+ (issue 40281, regression in 2.34)
+
+ Retain cause of blockage if the Queue task cannot be taken due to the decision of
+ QueueTaskDispatcher extension, NodeProperty and other extensions.
+ (issue 38514)
+
+ Internal API: Restrict usage of core localization message classes in plugins.
+ These message classes are not guaranteed to be binary compatible.
+ (pull 2656)
+
+ Improve performance of Action retrieval methods.
+ It speeds up core and plugin logic operating with Actionable objects like items, folders, nodes, etc.
+ (issue 38867)
+
+ Update the SSHD module from 1.7 to 1.8.
+ The change disables obsolete Ciphers: AES128CBC, TripleDESCBC, and BlowfishCBC.
+ (issue 39805)
+
+ WinP 1.24: Native class now tries loading DLLs from the temporary location.
+ (issue 20913)
+
+ WinP 1.24: WinP sometimes kills wrong processes when using killRecursive.
+ It was likely impacting process termination on Windows agents.
+ (WinP Issue #22)
+
+ Reduce size of Jenkins WAR file by not storing identical copies of remoting.jar/slave.jar there.
+ (pull 2633)
+
+ Prevent early deallocation of process references by Garbage Collector when starting a remote process.
+ It was sometimes causing build failures with messages like FATAL: Invalid object ID 184 iuota=187 and java.lang.Exception: Object was recently deallocated.
+ (issue 23271)
+
+ Make handling of internalization resource bundle names compliant with W3C standards.
+ (issue 39034)
+
+ Redirect to login page in the case of authorisation error when checking connectivity to the Update Center.
+ (issue 39741)
+
+ Remove the obsolete hudson.showWindowsServiceInstallLink property from the slave-agent.jnlp file.
+ It was causing harmless security warnings in Java web start.
+ (issue 39883)
+
+ Performance: Improve responsiveness of Jenkins web UI on mobile devices.
+ (issue 39172, continuation of the patch in 2.28)
+
+ It was not possible to connect Jenkins agents via Java Web Start due to the issue in Remoting 3.0.
+ Upgraded to Remoting 3.1 with a fix.
+ (issue 39596, regression in 2.26)
+
+ Prevent NullPointerException when rendering CauseOfInterruption.UserInterruption
+ in build summary pages for non-existent users.
+ (issue 38721 and
+ issue 37282,
+ regression in 2.14)
+
+ Reduce logging level when the localization resource is missing ResourceBundleUtil#getBundle().
+ (issue 39604)
+
+ ExtensionList.removeAll was not unimplemented in Jenkins extension management API.
+ It was causing issues during dynamic loading of GitHub and BitBucket branch source plugins on the same instance.
+ (issue 39520)
+
+ Remoting 3.1: hudson.remoting.Engine (mostly Java Web Start) was failing to establish connection
+ if one of the URLs in urls parameter was malformed.
+ (issue 39617)
+
+ Remoting 3.1: Add method for dumping diagnostics across all the channels (e.g. in the Support Core Plugin).
+ (issue 39150)
+
+ Remoting 3.1: Improve the caller/callee correlation diagnostics in thread dumps.
+ (issue 39543)
+
+ Remoting 3.1: Add the org.jenkinsci.remoting.nio.NioChannelHub.disabled flag
+ for disabling NIO, mostly for debugging purposes.
+ (issue 39290)
+
+ Remoting 3.1: Add extra logging to help diagnosing IOHub concurrent thread number spikes.
+ (issue 38692)
+
+ Remoting 3.1: When a proxy fails, report what caused the channel to go down.
+ (issue 39289)
+
+ Adjust incompatible Actionable initialization changes made for issue 39404).
+ It caused massive regressions in plugins like Jenkins Pipeline.
+ (issue 39555, regression in 2.29)
+
+ Integration of Stapler 1.246 caused regressions in plugins depending on Ruby Runtime Plugin.
+ Upgraded to Stapler 1.248 with a fix.
+ (issue 39414, regression in 2.28)
+
+ Custom remoting enable/disable settings were not properly persisted on the disk and then reloaded.
+ If the option has been configured in Jenkins starting from 2.16, a reconfiguration may be required.
+ (issue 39465)
+
+ 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).
+
+
+
+ Performance: Optimize log retrieval logic for large log files.
+ (issue 39535)
+
+ Integration of Stapler 1.246 caused regressions in plugins depending on Ruby Runtime Plugin.
+ Upgraded to Stapler 1.247 with a partial fix.
+ (issue 39414, partial fix)
+
+ Jenkins startup does not fail if one of
+
+ ComputerListeners throws exception in the onOnline() handler.
+ (issue 38487)
+
+ Queue: Do not consider pending tasks from the internal scheduling logic when looking for duplicate tasks.
+ It was causing race conditions in Jenkins Pipeline.
+ (issue 39454)
+
+ Internal: Modify the Actionable API to provide methods to assist with manipulation of persisted actions.
+ (issue 39404)
+
+ Internal: Jelly attribute documentation now supports the since tag.
+ (Stapler pull #84)
+
+ Performance: Improve responsiveness of Jenkins web UI on mobile devices.
+ (issue 39172)
+
+ Print warnings if none of Tool Installers can be used during the tool installation.
+ (issue 26940)
+
+ Update the minimal required versions of the detached Maven Project plugin from 2.7.1 to 2.14.
+ Changelog is available here.
+ (pull 2606)
+
+ Update the minimal required versions of the detached JUnit plugin from 1.2-beta-4 to 1.6.
+ Changelog is available here.
+ (pull 2606))
+
+ Relax requirements of the JNLP connection receiver, which was rejections connections from agents not using
+ JNLPComputerLauncher (e.g. from Slave Setup, vSphere Cloud and other plugins).
+ No the connection is accepted from launchers implementing other proxying and filtering Launcher implementations.
+ Particular plugins may require setting up the
+ jenkins.slaves.DefaultJnlpSlaveReceiver.disableStrictVerification system property in the master JVM to allow connecting agents.
+ (issue 39232, regression in 2.28)
+
+ Prevent resource leak in hudson.XmlFile#readRaw() in the case of encoding issues.
+ (issue 39363)
+
+ Prevented endless loop in LargeText.BufferSession.skip(), which was causing hanging of Pipeline jobs in corner cases.
+ (issue 37664)
+
+ Internal: Upgrade Stapler library from 1.243 to 1.246 with fixes required for the Blue Ocean project.
+ More details are coming soon.
+ Raw changes are listed here.
+ (pull 2593)
+
+ Internal: Start defining APIs that are for the master JVM only.
+ (issue 38370)
+
+ Internal: Update Guice dependency from 4.0-beta to 4.0.
+ This change required upgrade of detached plugins (see above).
+ (pull 2568)
+
+ Internal: Make the code more compatible with Java 9 requirements and allow its editing in newest NetBeans versions
+ with NB bug 268452.
+ (pull 2595)
+
+ Internal: Icon handling API for items.
+ Deprecate TopLevelItemDescriptor#getIconFilePathPattern() and switch to IconSpec.
+ (issue 38960)
+
+ Allow CommandInterpreter build steps to set a build result as Unstable via the return code.
+ Shell and Batch build steps now support this feature.
+ (issue 23786)
+
+ Performance: Update XStream driver to improve performance of XML serilization/deserialization.
+ (pull 2561)
+
+ Harden checks of prohibited names in user creation logic.
+ Untrimmed spaces and different letter cases are being checked now.
+ (issue 35967)
+
+ Performance: Fix the performance of file compress/uncompress operations over the remoting channel.
+ (issue 38640,
+ issue 38814)
+
+ Restore automatic line wrapping in Build Step text boxes with syntax highlighting.
+ (issue 27367)
+
+ Properly remove disabled Administrative Monitors from the extension list.
+ (issue 38678)
+
+ Remoting 2.62.2: Improve connection stability by turning on Socket Keep-alive by default.
+ Keep-alive can be disabled via the -noKeepAlive option.
+ (issue 38539)
+
+ Remoting 2.62.2: Prevent NullPointerException in Engine#connect()
+ when host or port parameters are null or empty.
+ (issue 37539)
+
+ Node build history page was hammering the performance of the Jenkins instance by spawning parallel heavy requests.
+ Now the information is being loaded sequentially.
+ (issue 23244)
+
+ Cleanup spelling in CLI help and error messages.
+ (issue 38650)
+
+ Properly handle quotes and other special symbols in item names during form validation.
+ (issue 31871)
+
+ Internal: Invoke hpi:record-core-location during the build in order to enabled coordinated run accross repositories.
+ (pull 1894)
+
+ Internal: Bulk cleanup of @since definitions in Javadoc.
+ (pull 2578)
+
+ Ensure exception stacktrace is shown when there's a FormException.
+ (pull 2555)
+
+ Add new jenkins.model.Jenkins.slaveAgentPortEnforce system property, which prevents slave agent port modification via Jenkins Web UI and form submissions.
+ (PR #2545)
+
+ Ask for confirmation before canceling/aborting runs.
+ (issue 30565)
+
+ Add newline after the text in userContent/readme.txt.
+ (PR #2532)
+
+ Fixed the missing icon in the System Script console.
+ (issue 37814)
+
+ Print warnings to system logs and administrative monitors
+ when Jenkins initializarion does not reach the final milestone.
+ (issue 37874,
+ diagnostics for issue-37759)
+
+ Developer API: UpdateSite#getJsonSignatureValidator() can be now
+ overriden and used in plugins.
+ (PR #2532)
+
+ Make Cloud.PROVISION permission independent from Jenkins.ADMINISTER.
+ (issue 37616)
+
+ Allow the use of custom JSON signature validator for Update Site metadata signature checks.
+ (issue 36537)
+
+ Do not process null CRON specifications in build triggers.
+ (issue 36748, enhances fix in 2.15)
+
+ Setup wizard now checks if the restart is supported on the system before displaying the restart button.
+ (issue 33374)
+
+ Test Windows junctions before Java 7 symlink in symbolic link checks.
+ (issue 29956)
+
+ Fixed background color in the ComboBoxList element in order to make options visible.
+ (issue 37549)
+
+ Fixed editing default view description with automatic refresh.
+ System message is not being displayed instead of the view description.
+ (issue 37360)
+
+ Fixed process tree management logic on Solaris with 64-bit JVMs.
+ (issue 37559)
+
+ Prevent File descriptor leaks when reading plugin manifests.
+ It causes failures during the upgrade of detached plugins on Windows.
+ (issue 37332, regression in 2.16)
+
+ Prevent resource leaks in AntClassLoader being used in the core.
+ (issue 37561)
+
+ Fix the wrong message about empty field in the case duplicate item name in the New Item dialog.
+ (issue 34532)
+
+ Allow invoking Upgrade Wizard when Jenkins starts up.
+ It can be done by placing an empty jenkins.install.InstallUtil.lastExecVersion file
+ in JENKINS_HOME.
+ (issue 37438)
+
+ Replace repetitious "website" and "dependencies" text in the Setup Wizard by icons.
+ (issue 37523)
+
+ Expose Job name to system logs when Jenkins fails to create a new build with IllegalStateException.
+ (issue 33549)
+
+ Downgrade Queue#maintain() message for dead executors during task mapping
+ from INFO to FINE.
+ (PR #2510)
+
+ Better diagnostics and robustness against old ChangeLogAnnotator API usage in plugins.
+ Enhances JENKINS-23365 fix in 1.569.
+ (issue 36757)
+
+ Prevent open file leak when the agent channel onClose() listener writes to the already closed log.
+ (issue 37098)
+
+ Stop A/B testing of the remoting JNLP3 protocol due to the known issues.
+ The protocol can be enabled manually via the jenkins.slaves.JnlpSlaveAgentProtocol3.enabled
+ system property.
+ (issue 37315)
+
+ When checking Update Center, append ?uctest parameter to HTTP and HTTPS URLs only.
+ (issue 37189)
+
+ Incorrect formatting of messages in the Upate Center and Setup Wizard.
+ (issue 36757)
+
+ Massive cleanup of issues reported by FindBugs.
+ User-visible issues - wrong log message formatting bugs in the Update Center and user creation logic.
+ (issue 36717,
+ PR #2459)
+
+ Remoting 2.61: JNLP Slave connection issue with JNLP3-connect
+ when the generated encrypted cookie contains a newline symbols.
+ (issue 37140)
+
+ Fix plugin dependency resolution. Jenkins will now refuse to load plugins with unsatisfied dependencies, which resulted in difficult to diagnose problems. This may result in errors on startup if your instance has an invalid plugin configuration., check the Jenkins log for details.
+ (issue 21486)
+
+ Decouple bouncycastle libraries from Jenkins into bouncycastle-api plugin.
+ (issue 36923)
+
+ Upgrade to instance-identity module 2.1.
+ (issue 36922)
+
+ Hide the Java Web Start launcher when the TCP agent port is disabled.
+ (issue 36996)
+
+ Allow admins to control the enabled agent protocols on their instance from the global security settings screen.
+ (issue 37032)
+
+ Make sure that the All view is created.
+ (issue 36908)
+
+ Remove trailing space from Hudson.DisplayName in Spanish, which resulted in problems with Blue Ocean.
+ (issue 36940)
+
+ Tell browsers not to cache or try to autocomplete forms in Jenkins to prevent problems due to invalid data in form submissions.
+ From now on, only select form fields (e.g. job name) will offer autocompletion.
+ (issue 18435)
+
+ Add a cache for user information to fix performance regression due to SECURITY-243.
+ (issue 35493)
+
+ Prevent null pointer exceptions when not entering a cron spec for a trigger.
+ (issue 36748)
+
+ Defend against some fatal startup errors.
+ (issue 36666)
+
+ Use the icon specified by the computer implementation on its overview page.
+ (issue 36775)
+
+ Internal: Extract the CLI command offline-node from core.
+ (issue 34468)
+
+ Prevent stack overflow when using classes with complex generic type arguments
+ (e.g. hudson.model.Run or hudson.model.Job).
+ Regression in Groovy 2.4,
+ see GROOVY-7826 for more info.
+ (issue 34751)
+
+ Do not invoke PingFailureAnalyzer for agent=>master ping failures.
+ (issue 35190)
+
+ Adapt the Setup Wizard GUI to provide a similar user experience when upgrading Jenkins.
+ (issue 33663)
+
+
+ Improve extensibility of the Setup Wizard GUI:
+ InstallState and InstallStateFilter extension points.
+ (PR 2281 as supplimentary change for
+ issue 33663)
+
+ Improve User Experience in the New Item form. Submit button is always visible.
+ (issue 34244)
+
+ Do not throw exceptions if Jenkins.getInstance() returns null instance.
+ It was causing failures on Jenkins agents in the case of unexpected API usage by agents.
+ (issue 34857, regression in 2.4)
+
+ Replace jenkins.model.Jenkins.disableExceptionOnNullInstance by
+ jenkins.model.Jenkins.enableExceptionOnNullInstance to address the
+ behavior change.
+ (issue 34857)
+
+ Add a hudson.model.UpdateCenter.defaultUpdateSiteId system property,
+ which allows specifying an alternate default Update Site ID.
+ (issue 34674)
+
+ Allow setting of properties from context.xml and web.xml
+ in addition to setting system properties from the command line.
+ (issue 34755)
+
+ Remove the historical initialization of CVS changelog parser for jobs without explicit SCM definition.
+ Warning! This change may potentially cause a regression if a Jenkins plugin depends on this default behavior and injects changelogs without SCM.
+ (issue 4610)
+
+ Add the JOB_BASE_NAME environment variable to builds (job name without path).
+ (issue 25164)
+
+ Allow overriding Jenkins UpdateCenter by a custom implementation.
+ (issue 34733)
+
+ Allow overriding Jenkins PluginManager by a custom implementation.
+ (issue 34681)
+
+ Installation Wizard: Allow altering the list of suggested plugins from update sites.
+ (issue 34833)
+
+ Prevent hanging of the Installation Wizard if the default Update Site ID cannot be resolved.
+ In such case an error message will be displayed.
+ (issue 34675)
+
+ Prevent hanging of the Installation Wizard if the internet check is skipped for the default update site.
+ (issue 34705)
+
+ Do not fail with error when enabling a plugin, which has been already enabled.
+ It prevents errors in the new Installation Wizard, which installs plugins in parallel.
+ (issue 34710)
+
+ Plugin Manager was building incorrect list of bundled plugins for nested dependencies.
+ (issue 34748)
+
+ Prevent fatal failure of the updates check PeriodicWork if update site certificate is missing.
+ (issue 34745)
+
+ Pick up missing Downloadable items on restart if all update centers are up to date.
+ (issue 32886)
+
+ Allow starting non-AbstractProject (e.g. Pipeline) jobs from CLI.
+ (issue 28071)
+
+ Disable JSESSIONID in URLs when running in the JBoss web container.
+ It prevents Error 404 due to invalid links starting from Jenkins 1.556.
+ More info: WFLY-4782
+ (issue 34675)
+
+ Prevent RSS ID collisions for items with same name in different folders.
+ (issue 34767)
+
+ Prevent NoSuchMethodException in loginLink.jelly
+ when attempting to start a job using REST API.
+ (issue 31618)
+
+ Make ToolInstallers to follow HTTP 30x redirects.
+ (issue 23507)
+
+ Prevent NullPointerException in the parameter definition job property
+ if it gets initialized incorrectly.
+ (issue 34370)
+
+ Bundle Font Awesome and Google Fonts: Roboto dependencies
+ to prevent failures in the offline mode.
+ (issue 34628)
+
+ Internal: CLI commands disconnect-node and reload-configuration were extracted from the core to CLI.
+ (issue 34328 and
+ issue 31900)
+
+ Internal: Support latest source version to avoid compile time warnings with JDK7.
+ annotation-indexer and
+ sezpoz have been updated to 1.11.
+ (issue 32978)
+
+ Developer API: Switch Jenkins.getInstance() to @Nonnull.
+ (new system property)
+ (pull 2297)
+
+ Remoting, scalability: Ensure that the unexporter cleans up whatever it can each GC sweep.
+ (issue 34213)
+
+ Remoting: Force class load on UserRequest to prevent deadlocks on Windows nodes agents in the case of multiple classloaders.
+ (Controlled by hudson.remoting.RemoteClassLoader.force)
+ (issue 19445)
+
+ More detailed information about the new features in Jenkins 2.0 on the overview page.
+
+
+
+
+ New password-protected setup wizard shown on first run to guide users through installation of popular plugins and setting up an admin user.
+ (issue 30749,
+ issue 9598)
+
+ Plugin bundling overhaul: Bundled plugins are only installed if necessary when upgrading, all plugins can be uninstalled.
+ (issue 20617)
+
+ Redesigned job configuration form makes it easier to understand the option hierarchy, and to navigate the form.
+ (issue 32357)
+
+ Richer 'Create Item' form with job icons and job categories (once a threshold of three categories has been reached).
+ (issue 31162)
+
+
+ Upgrade wizard encourages installation of Pipeline related plugins when upgrading from 1.x.
+ (issue 33662)
+
+ Jenkins now requires Servlet 3.1. Upgraded embedded Winstone-Jetty to Jetty 9 accordingly.
+ This removes AJP support when using the embedded Winstone-Jetty container.
+ (issue 23378)
+
+ Bundled Groovy updated from 1.8.9 to 2.4.6.
+ (issue 21249)
+
+ Added option to prohibit anonymous access to security realm "Logged in users can do anything", enable by default.
+ (issue 30749)
+
+ Renamed 'slave' to 'agent' on the UI.
+ (issue 27268)
+
+ Improvements to inline documentation of numerous form fields in Jenkins global and job configuration.
+ (issue 33364)
+
+ Change default CSRF protection crumb name to Jenkins-Crumb for nginx compatibility.
+ (issue 12875)
+
+
+ Enforce correct icon size in list view.
+ (issue 33799)
+
+ CLI: Fixed NPE when non-existent run is requested.
+ (issue 33942)
+
+
+ Improve logging and error message when JNLP is already in use.
+ (issue 33453)
+
+ NullPointerException from BuildTrigger$DescriptorImpl.doCheck when using Build other projects in Promotion process of a CloudBees template, and perhaps other circumstances.
+ (issue 32525)
+
+ Improved the Build Other Projects help message.
+ (issue 32134)
+
+ Move periodic task log files from JENKINS_HOME/*.log to JENKINS_HOME/logs/tasks/*.log and rotate them periodically rather than overwrite every execution.
+ (issue 33068)
+
+ Fix documentation of proxy configuration.
+ (pull 2060)
+
+ Allow changing the directory used for the extraction of plugin archives via the --pluginroot CLI option (also controllable via the hudson.PluginManager.workDir system property / context parameter. Also document the --webroot CLI parameter in java -jar jenkins.war --help
+ (issue 32765)
+
+ Added support of default values in the enum.jelly form element.
+ (PR 1926)
+
+ Bytecode Compatibility Transformer computes the common super class without loading classes.
+ Fixes the ClassCircularityError exception in Ruby Runtime Plugin.
+ (issue 31019)
+
+ Extended Choice parameter definitions could not be saved since 1.637.
+ (issue 31458)
+
+ Display expected CRON run times even if a warning occurs.
+ (issue 29059)
+
+ Rework the online-node command implementation, no functional changes.
+ (issue 31776)
+
+ Revert trigger optimizations made in 1.621 by PR 1617.
+ (issue 30745)
+
+ Delegate CLI's delete-node command to the overridable Computer.doDoDelete() method.
+ Fixes the issue in OpenStack and JClouds plugins.
+ (issue 31098, regression in 1.618)
+
+ Prevent autocorrect of username on mobile devices in login forms.
+ (PR 1531)
+
+ Describe the built-in JDK as "(System)".
+ (issue 755)
+
+ Update JNA library to 4.2.1 in order to integrate fixes for linux-ppc64 and linux-arm platforms.
+ (issue 15792)
+
@@ -167,7 +1848,7 @@ Upcoming changes
Since 1.598 overrides of Descriptor.getId were not correctly handled by form binding, breaking at least the CloudBees Templates plugin.
(issue 26781)
- Reverted in 1.611. Archiving of large artifacts. Tar implementation cannot handle files having a size >8GB.
+ Reverted in 1.611, reimplemented in 1.627. Archiving of large artifacts. Tar implementation cannot handle files having a size >8GB.
(issue 10629)
The queue state was not updated between scheduling builds.
@@ -1073,7 +2754,7 @@ Upcoming changes
- Memory exhausion in remoting channel since 1.560.
+ Memory exhaustion in remoting channel since 1.560.
(issue 22734)
Configurable size for log buffer.
@@ -1217,7 +2898,7 @@ Upcoming changes
Fixed NoSuchMethodException when destroying processes using JDK1.8.
(issue 21341)
- Avoid irrelevant job queing while node is offline.
+ Avoid irrelevant job queuing while node is offline.
(issue 21394)
Debian package now creates 'jenkins' group
@@ -1500,1199 +3181,9 @@ Upcoming changes
When clicking Apply results in an exception (error page), show it, rather than creating an empty dialog.
(issue 20772)
- Fixed two file descriptor leaks.
- (issue 14336)
-
- RuntimeException if you try to save a config with a choice parameter that has no choices.
- (issue 18434)
-
- 1.534 made ZIP downloads of artifacts work again, but missing a base directory inside the ZIP.
- (issue 19947)
-
- Stapler error saving certain kinds of configuration.
- (issue 18629)
-
- Upgrade Trilead SSH client library to version that does not cause connection loss when
- there is a lot of logging on the build slave and the performance improvements in
- ssh-slaves 0.27+ are enabled (
- issue 18836,
- issue 18879,
- issue 19619)
-
- Upgrade bundled iplugin versions: ssh-slaves to 1.4, ssh-credentials to 1.5.3 and
- credentials to 1.8.3
- (issue 19945)
-
- Executor threads are now created only on demand.
-
- Since 1.520, Jenkins requires Java 6 or later, breaking Maven builds set to use JDK 5. Now falls back to JVM of slave agent but sets compile/test flags to use defined JDK.
- (issue 18403)
-
- Since 1.517, Maven projects using Maven 2 could not build projects using extensions depending on Apache Commons Codec.
- (issue 18178)
-
- Test harness was packing copies of Maven into plugin archives under some conditions.
- (issue 18918)
-
- Provided maven settings.xml in maven builder is lost.
- (issue 15976)
-
- Exception when running polling with a Maven installation not defined on master.
- (issue 18898)
-
- Since 1.477 GET on /view/…/config.xml included a spurious wrapper element.
- (issue 17302)
-
- Clearer display of log messages: chronological order, and coloration of repeated vs. fresh metadata (date, log level, log source).
-
- Fixed a regression that broke some plugins' form validation
- (issue 18776)
-
- People View does Not Populate if JQuery plugin enabled.
- (issue 18641)
-
- Test history was not shown if suite name was part of the test name.
- (issue 15380)
-
- Added a new extension point to monitor the flow of stuff in the queue.
-
- Added a new extension point to monitor the provisioning of nodes from clouds.
- (pull request 819)
-
- Possible to create a custom AbstractDiskSpaceMonitor.
-
- Executors running the builds can be now a subject of access control.
- (issue 18285)
-
- Core started relying on Java 1.6 as per the agreement in the dev list.
- If you have a serious objection against it, please let us know
- before we really start relying on 1.6 features.
-
- Some actions confirmed by dialog were not working when CSRF crumbs were enabled.
- (issue 17977)
- (issue 18032)
-
- CLI list-jobs command should list all nested jobs.
- (pull request 793)
-
- Provide a mechanism to differentiate between node properties that are applicable
- to the master node only and node properties that can be applied to all nodes
- (issue 18381)
-
- Maven module links in the module list page are broken.
- (issue 17713)
-
- 100% CPU pegging in Deflator.deflateBytes
- (issue 14362)
-
- JNLP slave installers can now work transparently with secured Jenkins.
- (SECURITY-54 / despite the ticket marker, this is not a security vulnerability)
-
- "Discard old build records" behavior is now pluggable, allowing plugins to define custom logic.
-