Skip to content
This repository has been archived by the owner on Jun 26, 2021. It is now read-only.

Release Notes: 2.x

Stanley Hillner edited this page Oct 5, 2018 · 27 revisions

2.0.0

New major release due to an a break in the SCM provider API. Providers are now initialized in a different way.

  • #31: The build step that performs the actual release build got a fix that it now can use the configured global and user settings.
  • #32: Reworked the parameter resolution for tag name patterns and the base plugin also applies this strategy now for processing step execution context data. It is now possible to use any variable reference in those parameters that is supported by maven. Format is @{...} instead of ${...}.
  • #36: Basic support for SSH-based SCM connectors. Public key authentication is supported throug the passphrase parameter. The corresponding SCM provider implementations must implement SSH support. This is the current status:
    • unleash-scm-provider-svn (2.0.0): There is currently no support for SSH-based connections!
    • unleash-scm-provider-git (2.0.0): Supports SSH-based connections in the following ways
      • On Unix-based systems SSH Agents are supported.
      • On Windows the usage of Pageant is supported.
      • If the passphrase parameter of the Mojo is set, the specified passphrase has precedence over the usage of the agent.

2.1.0

  • #22: The goals now have additional parameters which can be used to specifiy environment variable names from which the SCM credentials can be retrieved. These parameters are available for SCM username, SCM password and SCM SSH passphrase.
  • #40: Investigated the minimum required Maven version and found an incompatibility with versions below 3.2.1. Added a prerequisite to the POM which brings up an appropriate error message if the version is too old.
  • #41: Refined the SCM API check procedure and added a better error message in case the provided API and the API implemented by the provider are incompatible.
  • #42: Fixed an error that causes the build to abort under certain conditions. The problem was that the spy-plugin has been added to the wrong build section in a special case which could cause the build to run without the spy-plugin execution. Thus the release artifacts cannot be determined for installation and deployment.
  • #44: Fixed a wrong check for SNAPSHOT dependencies. The check was incorrect for multi-module projects where modules reference each other using different packaging types.
  • Smaller stability fixes

2.1.1

  • #45: Fixed wrong properties passing to the actual Maven release build.

2.1.2

  • #48: Fixed wrong artifact installation and deployment in case of multi-module projects (wrong reactor POM).

2.1.3

  • #49: Fixed failing rollback of step setDevVersion. The rollback of this step failed if this step was the actual cause of the rollback. In this case the from revision for commit reversion was missing.

2.2.0

!!CORRUPTED!! -> Please do not use this version but switch to 2.2.1

  • #52: Fixed some rollback issues of the SCM tagging implementation.
  • Upgraded CDI base library which provides DI and workflow concepts. By this update some additional workflow features have been enabled and are now usable with this plugin. The addional features are described in the Wiki of this project The Workflow:
    • try-finally: The finally-part of the workflow is guaranteed to be processed even if the try-part of the workflow fails.
    • default processing data: Assign default processing/rollback data to configured hooks when overriding the default workflow.

2.2.1

  • #53: Fixed a critical error that broke the whole SCM tagging step.

2.2.2

  • #54: Fixed a bug which caused deployment issues in certain cases when modules of multi-module projects use parents other than the reactor project.

2.2.3

  • #57: Using newer version of the artifact-spy-plugin (1.0.6) which contains a fix for project packagings that do not produce project artifacts of type file.

2.2.4

  • #58: Adapted the required Maven version from 3.2.1 to 3.2.2 due to API incompatibilities.
  • #59: Refactoring of the aether check for already deployed release artifacts. There is now a distinction between local and remote repositories and the repository ids are also logged for easier problem diagnostic.

2.3.0

  • #58: Fixed a major JDK incompatibility issue. Some JDK 1.8 API calls came in during development. These calls have now been replaced by 1.6-compatible pendants. New Requirement is Maven 3.2+ and JDK 1.7+ (required by CDI implementation Weld).

2.4.0

!!CORRUPTED!! -> Please do not use the goal perform-tycho of this version but switch to 2.4.1

  • #60: Added an option to determine the version segment that shall be increased during the automatic calculation of the next development version. Using this paramter it is possible to increment either of the major, minor or incrementatal version segment for the next snapshot. The default behavior remains unchanged which means that the lowest possible segment (the rightmost one) is adapted. This option is only available for the standard perform goal. The tycho goal won't support this behavior by now.
  • #61: It is now possible to specify additional environment variables for the actual release build.

2.4.1

  • #63: Fixed an internal dependency injection problem and implemented the version upgrade strategy for this goal.

2.4.2

  • #68: Implemented a propertyResolver that was necessary when checking inactive profiles for snapshot dependencies, plugins and plugin-dependencies. Without the property resolver snapshot dependencies were not recognized if the versions were outsourced to properties, e.g. <version>${version.xyz}</version>.

2.5.0

  • #69: Added "toolchain support" to the actual release build. This means that The invocation request of the release build now gets the toolchains.xml file passed that was specified for the original run.
  • #71: Refactored the invocation request preparation so that it uses the originally utilized settings files (user and global) instead of a temprary copy of the user settings.

2.6.0

  • #72: Added the parameter preserveFixedModuleVersions to both goals which can be used to exclude fixed (non-snapshot) versions from version upgrades as well as deployment to the remote repository.
  • #75: Fixed a NullPointerException when the default toolchains.xml file of the calling maven process is not present. Toolchain support was added in 2.5.0.
  • #76: Extension of the SSH authentication handling. The SCM provider API has been extended to be able to receive the private key as a parameter and a new parameter has been introduced for the goals: scmSshPrivateKeyEnvVar. Note that the main usage scenario for this parameter is with builds on Jenkins (Jenkins plugin 2.3.0 requires this parameter if using SSH-based authentication).

2.7.0

  • #78: Introduces a new parameter which makes the release goals configurable. Please see the parameter documentation for more information.
  • #83: A smaller fix which consistently appends a new line to the end of the POM files.
  • #89: Adds a serialization feature for the internal release metadata. Please see the goal documentation for more information.

2.7.1

  • #90: Could not handle missing user or global settings files correctly.

2.7.2

  • Added version information to the serialized release metadata. In case of multimodule projects only the reactor project's version is used.

2.7.3

  • #91: Preserving original SCM connection strings as they were specified in the POM.
  • #96: Promoting some more exception causes to help tracing issues.

2.7.4

  • #98: Fixed an issue with POM-less Eclipse Tycho build setups.

2.8.0

  • #84: Resolution and update of reactor-internal dependencies.
  • #98: Support for POM-less Maven Tycho builds.
  • #100: Added a isUnleashBuild with value true as a property as well as an environment variable to the actual release build execution.
  • #101: Replacement of properties in deployment repository URLs.
  • Some other smaller bug fixes.

2.9.0

  • #106: The deployment step now provides the possibility to add additional deployment repositories. All project artifacts are deployed to the release repository of the project as well as the repositories specified in the configuration of the plugin. This mechanism works similar as the multi-deployment-maven-plugin.

2.9.1

Attention: 2.9.0 is not available through Maven Central! Due to a failure in the release process version 2.9.0 is not publicly available. Please use 2.9.1 instead.

2.9.2

  • #107: The plugin now supports the usage of system properties to specify the additional deployment repositories. Please refer to the documentation for more information. This feature has been adopted from the multi-deployment-maven-plugin.

2.9.3

  • #109: Fixed a NullPointerException and enabled the usage of boolean system properties as release args without assigning them explicitly the value true. You can now pass -Dunleash.releaseArgs="property" instead of -Dunleash.releaseArgs="property=value". It is now also possible to pass -e, -x, --errors, --debug through the release args.