Release date: 2020-09-03
- Fix: Prevent Pipeline builds from resuming after being aborted while starting (fix also requires Pipeline: Groovy plugin version 2.83 or newer) (JENKINS-46961)
- Fix: Make background of "Keep this build forever" button transparent to improve appearance when using Dark Theme plugin (PR 166)
- Internal: Fix flaky test (
WorkflowRunRestartTest.resumeDisabled
) (PR 160) - Internal: Update minimum required Jenkins version to 2.176.4, update parent POM, update dependencies, and update CI build configuration (PR 163, PR 165)
Release date: 2020-04-26
- Fix: The Pipeline console view did not work correctly in Internet Explorer 11 due to use of unsupported JavaScript functions. (JENKINS-62025)
Release date: 2020-03-26
- Fix: Refactor locking in
WorkflowRun
to prevent deadlock, which could cause Jenkins to hang forever in some cases. (JENKINS-61604) - Fix: Remove "Custom" prefix on the console output page. This text was used for debugging and was not intended to be added to the plugin. (PR 156)
- Internal: Use
Boolean.equals
when comparingBoolean
objects instead of==
. Previous usage of==
appears to have been safe in practice, so this is only a refactoring. (PR 154)
Release date: 2020-03-10
- Fix: Show branch names for parallel branches in truncated build logs when the parallel branch began before the current truncation point of the log. (JENKINS-60862)
- Fix: Remove polling baselines for Pipelines jobs immediately when an SCM is checked out in a build with polling and changelogs disabled. Previously, Jenkins needed to be restarted for the changes to polling to take effect. (JENKINS-61415)
- Internal: Add ignored test case for JENKINS-60724. (JENKINS-60724)
- Internal: Update parent POM and jenkins-test-harness dependency. (PR 149
Release date: 2019-11-04
- Fix: Call
FlowExecutionListener.onCompleted
onFlowExecutionListener
extensions directly after callingRunListener.onCompleted
onRunListener
extensions (earlier than previously), so thatFlowExecutionLister.onCompleted
is called before the build log has been closed. (PR 143) - Developer: Add a new method
WorkflowRun.getSCMs
to obtain the list of SCMs used in a Pipeline build. (PR 141) - Internal: Migrate Wiki content to GitHub. (PR 144)
Release date: 2019-09-10
- JENKINS-59083: Fix issue where Pipeline builds were considered to be in progress even after they had completed in some cases.
- Internal: Refactor some tests to make them more consistent (PR 139)
Release date: 2019-08-21
- JENKINS-52189:
Call
FlowExecutionListener.onCreated
method added in Pipeline: API Plugin 2.36 when a Pipeline execution is created but before it starts executing. - Internal: Clean up internal logic using newer and non-deprecated Java and Jenkins core APIs, fix compiler warnings, etc. (PR 132, PR 134, PR 135, PR 136)
Release date: 2019-06-27
- JENKINS-46076:
Modify
WorkflowRun.isLogUpdated
so that it does not return false while a Pipeline build is in the process of completing in some cases. Fixes some issues whereJenkinsRule.waitForMessage
worked inconsistently in tests. - Add internationalization support for the "Pipeline Steps" sidebar link in Pipeline builds. (PR 128)
Release date: 2019-03-08
- Internal: Update tests and test-scope dependencies so that the plugin can build with all tests passing on Java 11. (PR 124, PR 126)
- Internal: Clean up internal logic using newer Jenkins core APIs. (PR 123)
Release date: 2018-12-12
- JENKINS-54304: Prefix log output with the name of the parallel branch that produced it in the console view of the classic UI whenever log output transitions from one branch to another.
Release date: 2018-12-06
- JENKINS-54904: Make the links that show and hide steps in the console view of Pipeline jobs work correctly in Firefox.
- Avoid using deprecated APIs (PR #103)
Release date: 2018-11-09
WARNING: Although issues have been fixed since 2.28, this version may carry extra risk and is not fully backwards compatible with 2.25 or older; consider waiting a few days to update in critical environments.
- JENKINS-54128:
Change the implementation of
WorkflowRun#getLogFile
to avoid creating a new temporary file each time the method is called. - Fix: Do not call
WorkflowRun#getLogFile
when an error occurs while opening the log file for a Pipeline to avoid logging an additional stack trace.
Release date: 2018-11-06
WARNING: Although issues have been fixed since 2.27, this version may carry extra risk and is not fully backwards compatible with 2.25 or older; consider waiting a few days to update in critical environments.
- Bugfix: avoid reading entire log to a buffer when fetching console text, avoiding potential OutOfMemoryException with large logs
- Bugfix: log console text cut off after 10k lines (LargeText.MAX_LINES_READ) and won't show additional content
- Avoid using deprecated APIs (PR #109)
Release date: 2018-11-01
WARNING: Although major issues have been fixed since 2.26, this version carries extra risk and is not fully backwards compatible with 2.25 or older; consider waiting a few days to update in critical environments.
- JENKINS-54073: Buffer remote log output to fix logging-related performance issues
Release date: 2018-10-12
WARNING: This version carries extra risk and is not fully backwards compatible; consider waiting a few days to update in critical environments. Update Pipeline Groovy Plugin to 2.58+ along with this update.
-
JEP-210: redesigned log storage system for Pipeline builds. This update involves a new log file format. Older releases will be able to display the whole-build log in a somewhat degraded fashion in the classic, though not Blue Ocean, UI. You are advised to also update Pipeline Groovy Plugin to 2.58.
-
JENKINS-45693: support for
TaskListenerDecorator
API. -
Chinese localizations have been migrated to the Localization: Chinese (Simplified) Plugin.
Major reported issues:
- Claimed excessive CPU usage on loaded systems (JENKINS-54073). Recommend installing the Support Core Plugin and/or being prepared to offer thread dumps correlated with
top
output. - Loss of timestamps (JENKINS-54081) and some forms of console colorization (JENKINS-54133) when running builds on agents.
Release date: 2018-10-04
- JEP-210: redesigned log storage system for Pipeline builds. This update involves a new log file format. Older releases will be able to display the whole-build log in a somewhat degraded fashion in the classic, though not Blue Ocean, UI. You are advised to also update Pipeline Groovy Plugin to 2.58-beta-1.
- JENKINS-45693:
support for
TaskListenerDecorator
API.
Release date: 2018-09-05
- Fix: Prevent builds from resuming in some cases despite their execution having completed (JENKINS-50199)
Release date: 2018-08-07
IMPORTANT: also upgrade the Pipeline Nodes and Processes Plugin to v2.20+ along with this upgrade, to avoid potential log encoding issues.
- JEP-206 Use UTF-8 for all Pipeline build logs
Release date: 2018-07-10
- Reduce addition thread contention bottlenecks around the
WorkflowJob.getSettablePromise
andWorkflowJob.getExecutionPromise
methods- Usually only important in specific edge cases such as highly parallel builds with lots of build trigger steps
- Chinese Translations (thanks, community contributor Suren!)
Release date: 2018-06-28
- Reduce thread contention bottlenecks (especially with highly parallel Pipelines) - some introduced with fixes in 2.18-2.21 (JENKINS-51377)
Release date: 2018-05-02
- We strongly encourage applying this fix, and encourage installing it at the same time as Pipeline Groovy (workflow-cps plugin) v2.50 or later due to related fixes
- Fix:
NullPointerException
when saving modifying build descriptions and saving (JENKINS-50888) - Major Fix: Builds that failed in specific ways would mysteriously resume (JENKINS-50199)
- Fix: Runs showing as still running or incomplete when they failed to load key data ("FlowNodes")
- Fix: Restore protection against double
onLoad
calls to builds - Fix various issues around lazy loading of executions
- Fix variety of synchronization issues where race conditions could occur
Release date: 2018-04-20
- Bugfix: Fix a regression from lazy-loading FlowExecutions that prevented jobs from showing as Replayable and caused a few other small issues (JENKINS-50784)
- Improvement: Remove unnecessary starts/stops of triggers (thanks to community contributor Scott Herbert)
Release date: 2018-04-13
- Bugfix:
StackOverflowException
when resuming a large paused Pipeline (JENKINS-38383, also incidentally fixes JENKINS-50350)
Release date: 2018-04-08
WARNING Build Format Not Back-Compatible - trying to load WorkflowRuns with 2.17 or earlier will show a 'double onLoad error'
- Major bugfix / improvements: numerous fixes & improvements to
make Pipeline persistence & resume more robust (across all
Durability Settings)
- These do not have individual JIRAs because they were spinoffs from testing other work, discovered with fuzzing-like approaches
- Many of these bugs would result in irreproducible errors that may have been reported - link any related JIRAs here: (TBD)
- Improves error-handling logic
- Improvement: Lazy-Load FlowExecution For Completed Pipelines -
Avoids Loading FlowNodes If Not Needed
(JENKINS-45585)
- Improves performance significantly when plugins/operations load many Pipeline builds (weather column, etc) just to check the Result
- Makes an especially large difference for Performance-Optimized Pipelines with many steps
- This makes the 'completed' field persistent for Pipeline Runs and will trigger a one-time re-save for legacy builds
- Back-compatibility Issue: the presence of the 'completed'
field will introduce errors about double onLoad calls when
downgrading to version 2.17. This can be fixed (to allow for
loading in earlier versions) by searching for all build.xml
files containing the following strings and removing those
lines:
<completed>true</completed>
<completed>false</completed>
- Bugfix: Fix one case where running Pipelines would not reflect an updated Resume Disabled status on the job
- Part of Bugfix: Error "NullPointerException in
SandboxContinuable.run0" after restart in Performance-Optimized
Durability Setting
(JENKINS-50407)
- Remainder of bugfix is in Pipeline Groovy Plugin, version 2.47
- Part of Major Bugfix: Error "NullPointerException in CPS VM
thread at WorkflowRun$GraphL.onNewHead" as result of a race
condition
(JENKINS-49686)
- The other part of the bugfix is in the Pipeline Groovy Plugin - version 2.47
- NullPointerException can be thrown due to null triggers list (JENKINS-49170).
- Bugfix / Improvement: Users can use Simple Theme Plugin to hide extra pipeline logging, because the 'pipeline-annotated' is now included (JENKINS-41845)
- Part of Major Bugfix: Failed pipelines resume and won't die even
when marked to not resume, and show resume failures
(JENKINS-50199)
- The other part of the bugfix is in the Pipeline Groovy Plugin - version 2.47
- Update text: fix use of "slave" rather than "agent" for build computers - thank to Github user acrewdson for the contribution.
Release date: 2018-01-22
- Major Feature: Support Durability Settings for a Pipeline
(JENKINS-47300)
- Allows user to greatly reduce IO needs of pipeline and improve performance
- This plugin consumes the setting and will reduce IO under the right settings
- Add property & UX for user to configure the Durability Setting
- Major Feature: Add property and UI for user to mark a Pipeline as do-not-resume-at-restart (JENKINS-33761)
- Requires Jenkins 2.62
Release date: 2017-12-04
- Feature: label ThreadNames with something meaningful (i.e. for copyLogs) for better diagnosability
- Feature: Add Chinese Translation (thanks LinuxSuRen!)
- Fix JENKINS-46945 - now follow convention of setting Run duration after fireCompleted triggers evaluate
- Fix: Add missing ABORT permission to WorkflowJob (JENKINS-43834)
- Cleanup: Avoid adding PipelineTriggersJobProperty property unless a trigger is defined, and remove redundant Queue task overrides
- Cleanup: Remove redundant calls in obtaining build Environment (JENKINS-29537)
Release date: 2017-10-13
- JENKINS-46934 - Fix hangs due to build rotation
- JENKINS-46082 - List culprits (SCM committers) responsible for triggering a build and export this to API
- JENKINS-45043 - Fix "changes.title" showing up in the view for Pipeline changes.
- JENKINS-45460 - fix adding triggers after migration from 2.3 or earlier.
Release date: 2017-08-02
- Added a
FlowCopier
forcheckouts
Release date: 2017-08-01
- Catch Exceptions thrown upon loading the execution and null the execution, as a defense against JENKINS-44548
Release date: 2017-06-19
Requires Jenkins core 2.62+.
-
Japanese translation.
-
Internal code simplifications enabled by newer core dependency.
Release date: 2017-08-02
- Added a
FlowCopier
forcheckouts
Release date: 2017-06-19
-
JENKINS-43055 Supporting a new API
FlowExecutionListener
. -
Print a message about a build’s authentication, like a freestyle build would.
-
Defend against exceptions thrown by
Trigger
implementations.
Release date: 2017-05-16
Requires Jenkins core 2.60+. (This is expected to be the basis of the next LTS line.)
- JENKINS-24141 / JENKINS-26100 Support for more standard SCM idioms in Pipeline, such as a culprits list.
Release date: 2017-08-02
- Added a
FlowCopier
forcheckouts
Release date: 2017-06-20
Same changes as in 2.12.1 but compatible with older versions of Jenkins.
Release date: 2017-05-12
- JENKINS-27299 Support for disabling Pipeline jobs.
- JENKINS-34716 Support
for
polling
REST endpoint on Pipeline jobs. - JENKINS-43396 Include
global node properties in environment outside any
node
block. - Minor memory leak when builds are being rapidly created and then deleted.
Release date: 2017-02-10
- JENKINS-40255 SCM list for a job now considers the last successful build if the last completed was a failure.
- JENKINS-33721 Sidepanel option to terminate or kill a build.
- JENKINS-41276 Fixed initialization of causes for build aborts.
- API needed for JENKINS-40521.
Release date: 2016-11-10
- JENKINS-35098 Work around performance problem in Jenkins 1.x cores.
- Improved exception reporting from
Job.logRotate
.
Release date: 2016-10-24
- JENKINS-38454 Since 2.4, plugins like GitHub Integration Plugin providing triggers which relied on undocumented assumptions may not have worked in Pipeline jobs.
Release date: 2016-09-23
- JENKINS-28222
parallel
branch labels were getting dropped after the end of a block inside the branch. - JENKINS-30910 Including build parameters as environment variables, which also fixes JENKINS-28447.
- Log file collection could block system threads under unreproducible conditions, leading to apparent hangs.
Release date: 2016-08-26
- JENKINS-37477
Fixed documentation and Snippet Generator for
pipelineTriggers
from 2.4. - Fixing cleanup of serious bugs in build setup.
- JENKINS-37664 Behave more gracefully in an as-yet-undiagnosed race condition affecting step logs which formerly caused an irrecoverable hang with 100% CPU.
Release date: 2016-08-08
- Indicating in the build log when a restart occurred.
- Generalized fix for JENKINS-34281 which may fix an unreproducible issue possibly involving the stage view, Jenkins restarts, and access control.
NullPointerException
under unknown conditions, probably following a hard kill.- Make
JENKINS-29922
integration (simplified
properties
step syntax) work in Jenkins 1 as well as 2.
Release date: 2016-07-28
- JENKINS-34547
Converted concurrency setting to a job property, allowing it to be
defined in a multibranch
Jenkinsfile
via theproperties
step. - JENKINS-34005 Converted triggers to a job property for the same reason. (Note that multibranch projects do not need an SCM trigger since branch indexing automatically triggers builds by default.)
- Robustness improvement in case an SCM plugin is disabled.
Release date: 2016-06-16
- Infrastructure for JENKINS-26130.
Release date: 2016-05-20
- JENKINS-34450 Work around a core bug causing deadlocks under some conditions when interrupting builds.
- When using CloudBees Jenkins Enterprise checkpoints, clear stashes whenever discarding build artifacts.
Release date: 2016-04-12
- Programmatic interruptions of a build such as
Executor.interrupt(Result)
were discarding the build status.
Release date: 2016-04-05
- First release under per-plugin versioning scheme. See 1.x changelog for earlier releases.
- JENKINS-31162 Support New Item categorization in Jenkins 2.x.