Skip to content

Version History and Changes

Andrew Bayer edited this page Feb 1, 2017 · 14 revisions

The plugin page on the Jenkins project wiki always will contain a full list of changes in releases of the Declarative Pipelines plugin, but you can find more detail on specific changes here.

Version 1.0

  • Release Date: February 1, 2017
  • Major Changes:
    • First non-beta release!

Version 0.9 (Beta 3)

  • Release Date: January 25, 2017
  • Major Changes:
    • Final beta (unless blocker bugs are discovered) - no non-blocker changes to be added between this release and 1.0.
    • Option added to run per-stage docker or dockerfile agents on the same node as specified at the top-level.
    • Default SCM checkout moved to run on the actual node even if docker or dockerfile agent is used at top-level.
    • Addition of registryUrl and registryCredentialsId options for docker and dockerfile agents using private registries.

Version 0.8 (Beta 2)

  • Release Date: January 10, 2017
  • Major Changes:
    • COMPATIBILITY BREAKING SYNTAX CHANGE: The agent section syntax has been changed to the following:
    agent {
        label "foo"
    }
    
    agent {
        docker {
           label "foo"
           image "some-image"
           args "--hi-there"
        }
    }
    
    agent {
        docker "some-image" // To run on any node without additional Docker arguments
    }
    
    agent {
        // Runs on any node, builds a Docker image from "Dockerfile" and runs the build in a container using the resulting image.
        dockerfile true
    }
    
    agent {
        dockerfile {
            // If building a Docker image from a file other than "Dockerfile" in the root of your source tree...
            filename "OtherDockerfile"
            // "label" and "args" can be used here too.
        }
    }
    
    // "agent any" and "agent none" stay the same.
    agent any
    
    agent none
    • COMPATIBILITY BREAKING SYNTAX CHANGE: The when section has been significantly changed, adding new branch, environment, and expression options. The expression option is the equivalent of the previous when syntax.
    • COMPATIBILITY BREAKING SYNTAX CHANGE: The properties section, previously known as jobProperties, has been renamed again and hopefully for the last time, to options.
    • COMPATIBILITY BREAKING SYNTAX CHANGE: The wrappers section has been removed. Its previous contents, such as timeout, retry, etc, now goes in options.
    • options also supports Declarative-specific configuration options, such as skipDefaultCheckout.
    • Internationalization of error messages! Localization contributions welcome!

Version 0.7 (Beta 1)

  • Release Date: December 13, 2016
  • Major Changes:
    • COMPATIBILITY BREAKING SYNTAX CHANGE: The jobProperties section has been renamed to properties.
    • New Jenkins CLI command for validating/linting Declarative Jenkinsfiles.

Version 0.6

  • Release Date: November 17, 2016
  • Major Changes:
    • COMPATIBILITY BREAKING SYNTAX CHANGE: The notifications section has been removed, and the postBuild section has been renamed to post, for consistency with post-stage actions. Use post for what you had been using both postBuild and notifications.
    • New dockerfile option for agent to auto-build a Dockerfile (defaults to ROOT_DIR/Dockerfile if dockerfile:true is used, otherwise uses value of dockerfile) and run the build in a container based on that image.
    • New when section for an individual stage. Takes a block of arbitrary Pipeline code, runs it, and only executes the stage's contents if that code block returns true.

Version 0.5

  • Release Date: November 2, 2016
  • Major Changes:
    • COMPATIBILITY BREAKING SYNTAX CHANGE: Steps inside a stage now need to be in a steps block. This was needed to support per-stage configuration of a number of sections, as described below.
    • New post section supported inside a stage for post-stage actions. This behaves the same as the postBuild section, but runs after a single stage.
    • New agent section supported inside a stage. This overrides the top-level agent configuration for the individual stage.
    • New tools section supported inside a stage. This allows scoping tools on a per-stage basis.
    • New environment section supported inside a stage. This allows scoping environment on a per-stage basis.
    • A new configuration option, available both in the Jenkins global configuration and in folder configurations (such as GitHub Multibranch Pipelines), for specifying a default label to use for Docker agents.
    • New wrappers section at the top-level, for wrapping the entire build in a block-scoped step, such as retry or timeout.

Version 0.4

  • Release Date: October 11, 2016
  • Major Changes:
    • New triggers, jobProperties and parameters sections at the top-level.
    • New syntax for specifying to run on any node - agent any
    • Allow function or step calls in the values of environment variables in the environment section.