Support encrypted communication between master and JNLP slaves.
Richer 'Create Item' form with job icons and job categories (once a threshold of three categories has been reached).
Redesigned job configuration form makes it easier to understand the option hierarchy, and to navigate the form.
Plugin bundling overhaul: Bundled plugins are only installed if necessary when upgrading, all plugins can be uninstalled.
New password-protected setup wizard shown on first run to guide users through installation of popular plugins and setting up an admin user.
Developer API: Allow specifying custom AbortExceptions
Developer API: Allow putting @Initializer annotations on instance methods.
Developer API: Add WorkspaceList.tempDir(…).
Remoting: Allow disabling the remoting protocols individually. Allows working around compatibility issues like JENKINS-34121. (Controlled by PROTOCOL_CLASS_NAME.disabled)
Remoting: Allow Jenkins admins to adjust the socket timeout. (Controlled by hudson.remoting.Engine.socketTimeout)
Allow setting of properties from context.xml and web.xml in addition to setting system properties from the command line.
Allow overriding Jenkins PluginManager by a custom implementation.
Allow overriding Jenkins UpdateCenter by a custom implementation.
Add the JOB_BASE_NAME environment variable to builds (job name without path).
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.
Workaround for unpredictable Windows file locking.
Add symbol annotations on core.
Change default CSRF protection crumb name to Jenkins-Crumb for nginx compatibility.
Improvements to inline documentation of numerous form fields in Jenkins global and job configuration.
Renamed 'slave' to 'agent' on the UI.
Added option to prohibit anonymous access to security realm "Logged in users can do anything", enable by default.
Moved tools configuration from Configure Jenkins to separate dialog.
Bundled Groovy updated from 1.8.9 to 2.4.7.
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.
Upgrade wizard encourages installation of Pipeline related plugins when upgrading from 1.x.
Internal: Upgrade Groovy to 2.4.7 to finalize the fix in Jenkins 2.7.
API: Restrict external usages of jenkins.util.ResourceBundleUtil.
API: Make it easier for UpdateSites to tweak the InstallationJob.
Add a cache for user information to fix performance regression due to SECURITY-243.
Secured Jenkins installations didn't properly save the queue on shutdown.
Force ordering between GPG and jarsigner to ensure correct GPG signature.
Enable disabled dependencies during plugin installations.
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.
Plugin Manager was building incorrect list of bundled plugins for nested dependencies.
Allow starting non-AbstractProject (e.g. Pipeline) jobs from CLI.
Disable JSESSIONID in URLs when running in the JBoss web container. It prevents Error 404 due to invalid links starting from Jenkins 1.556.
Make ToolInstallers to follow HTTP 30x redirects.
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)
Remoting, scalability: Ensure that the unexporter cleans up whatever it can each GC sweep.
Honor noProxy settings from "Manage Jenkins > Manage Plugins > Advanced".
Explicitly declare compatibility of Windows build agent service with .NET Framework 4.
Prevent NullPointerException on startup after update from Jenkins 2.5.
Fix the repeatable item delete button layout in Safari. Addresses Build Steps and other such configuration items.
Installation Wizard: Do not offer creating new admin user if the security is preconfigured.
Always send usage statistics over HTTPs to the new usage.jenkins.io hostname.
Honor non-default update sites in setup wizard.
Performance: Disable AutoBrowserHolder by default to improve the changelog rendering performance.
Ensure that SCMDescriptor.newInstance overrides are honored when creating new SCM entries.
Do not allow disabled project to be triggered remotely.
Properly handle exceptions during global configuration form submissions when SCM Retry Count field is empty.
Underprivileged users were unable to use the default value of a password parameter.
Incorrect formatting of messages in the Update Center and Setup Wizard.
Make sure that the All view is created.
Remove trailing space from Hudson.DisplayName in Spanish, which resulted in problems with Blue Ocean.
Ensure that detached plugins are always at least their minimum version.
When checking Update Center, append ?uctest parameter to HTTP and HTTPS URLs only.
java.io.IOException: Failed to rename during Plugin Update