New Features and Enhancements

This article describes the new features and the functional enhancements information for Harvest SCM 14.0:
CA Harvest Software Change Manager (SCM) 14.0 provides the following new features and capabilities:
GIT Front-End for Harvest SCM
Git and Harvest can now be used simultaneously within a software development life cycle:
  • Git is a version control application that keeps track of changes in a project.
  • Harvest is a life-cycle management tool that includes process driven capabilities for managing development teams. It enforces IT governance policies and corporate compliance initiatives, streamlined workflow, audit, and standardized process management.
GIT Front-End for Harvest enables developers to focus mainly on their primary role, that is,‘development’. It decouples the life cycle management and work flow from your development activities. Developers may want to use GIT in their development activity. At times, an organization may mandate the choice of source control tool for compliance requirements, say for example: Harvest. To bridge this need, Harvest provides the Front-End with GIT interface. This unique combination (Harvest along with GIT) enables development activities and project life-cycle management capabilities, deployment, code reviews, etc. by all stake holders in a project.
REST APIs  for Developers
CA Harvest SCM REST API defines a set of functions using which the developers can send a request to Harvest server and can receive a response via the HTTP(s) protocol. This helps developers derive the benefits of REST APIs used with Harvest application for scalability, flexibility, adaptability, and extending integrations.
For more information, see Using CA Harvest SCM REST APIs.
The following REST APIs are provided with CA Harvest SCM 14.0:
  1. Create Package
  2. Approve Package/Package group
  3. Promote Package/Package group
  4. Demote Package/Package group
  5. Switch Package
  6. UDP-User Defined Program
Atomic Commit
Atomic Commit is a single check-in operation that applies a set of distinct changes all at once. It ensures that all the changes in a check-in transaction either succeeds together or fails together (i.e., Commit All or Fail all).
Atomic Commit ensures the following with every check-in operation.
  • Everything works– does not break the build during check-ins.
  • Single, irreducible change–it is either before the check-in or after the check-in, nothing in between.
  • Clear and concise–each check-in has a definitive purpose which adds clarity to the workflows. For instance,do not mix feature changes and bug fixes at one go, thus making code reviews and revert changes easier.
For more information, see Atomic Commit.
Jenkins Plugin for Harvest
Jenkins is an open-source automation tool which enables developers to reliably build, test, and deploy their software.
The newly introduced Harvest Jenkins plugin provides fundamental harvest operations for Jenkins projects:
  • Synchronize
    : Synchronizes the agent workspace with the changes done on a Harvest Project. It leverages the existing harvest processes for synchronizing changes from Harvest SCM.
  • Report
    : Reports and provides basic details of all versions checked out from harvest.
  • Trigger Build
    : It polls for changes and synchronizes automatically at a specified interval via build triggers.
For more information, see Harvest Plugin For Jenkins
Improved Delete Version
Deleting versions from a Harvest package can often get cumbersome, especially when multiple refactor operations are involved. If version is deleted, after cross project merge post refactor operations, it gives rise to a dead lock situation many times.The existing delete versions process is now improved to handle such situations. Additionally, delete versions process has been enabled at package level which offers the following benefits:
  • No multiple runs: Version dependencies within the package are automatically detected and are processed in a pre-determined order.
  • No partial deletion: Version dependencies on other package versions are thoroughly evaluated and appropriate errors are shown before starting the actual deletion process. No partial deletion is done even if a single check fails for any of the package versions.
  • Better performance: An optimized approach is used for deleting all the versions in a package (when all the checks are passed).
For more information, see Delete All Versions in a Package
AdoptOpenJDK Inclusion
AdoptOpenJDK 8 is packaged with CA Harvest SCM on Windows (32 and 64 bit) and Linux (32 bit).
License Removal
License Component is no longer required for CA Harvest SCM 14.0.
Following are certified with CA Harvest SCM 14.0:
Database Certification
CA Harvest SCM V14.0 provides support for Oracle 19c and Microsoft SQL Server 2019.
Eclipse Certification
CA Harvest SCM V14.0 provides support for Eclipse IDE versions 4.13, 4.14, and 4.15.