GitHubContribute in GitHub: Edit online

What is new and noteworthy

You can find what is new and noteworthy of different releases of IBM Dependency Based Build (DBB) v1.1.x.

Version 1.1.4

Important notices

Build report JavaScript removal and deactivation

Beginning in DBB v1.1.4, generated build report HTML files no longer use JavaScript to render the report summary table. The DBB v1.1.4 Web Application has disabled JavaScript execution when displaying the build report HTML file. Any build report that was generated before DBB v1.1.4 appears as a blank page in the DBB v1.1.4 Web Application.

You can use the sample Build report migration utility to convert the JavaScript-based build reports that are stored in the web application to the new static build reports.

Toolkit API deprecation notice

The HTMLTransformer class that used to generate the build report HTML file has been deprecated and will be removed in DBB v2.0 and later releases. Instead, you can use the new BuildReport.generateHTML method, which generates a static HTML file. You can continue to use the HTMLTransformer class with DBB v1.1.4 if you provide all three transformer templates (which are displayed only in DBB v1.1.3 or earlier web servers) or if you set all three transformer templates to null, in which case a static build report HTML file is generated and displayed correctly on any version of the DBB web server.

New features

  • JSON Web Token single sign-on authentication
    In addition to providing HTTP basic authentication for communication between the toolkit and web application, DBB supports JSON Web Token (JWT) single sign-on authentication to provide a more modern and secure form of communication. Both the DBB toolkit and web application must be at version 1.1.4 to provide this support. For more information on setting JWT authentication, see Enabling JSON Web Token single sign-on authentication.

  • Static build report HTML file
    DBB provides APIs to create and generate a build report, which contains summary information of the build commands that are run during the build. The build report is saved as a JSON file on the local file system at the end of the build. It can also be generated as an HTML file that you can view in a web browser from a CI/CD server dashboard.
    In previous DBB releases, the build report HTML file ran JavaScript to create the summary report table. DBB v1.1.4 generates a static HTML file, as it is explained in the "Important notices".

  • APAR Fixes
    DBB v1.1.4 also includes APAR fixes. See DBB APAR PH52480 for a complete list of the fixed APARs.

Version 1.1.3

Important notice

Groovy upgrade

IBM Dependency Based Build now includes Groovy version 4.0. This upgrade contains compatibility issues that may require modifications to existing scripts. See IBM Dependency Based Build runs with Groovy 4.0 for more information.

New feature

  • Apache Groovy 4.0
    DBB v1.1.3 has upgraded the Apache Groovy installation that is included in the DBB Toolkit from Groovy 2.4.12 to Groovy 4.0. As stated in the Important notice above, this upgrade required some changes to the DBB sample scripts. You must update your local copies of the DBB Community Samples to v1.1.3 and DBB zAppBuild to v2.4.0. See Release notes for Groovy 4.0 for more information about Groovy 4.0.

Version 1.1.2

Important notice

Toolkit API deprecation notice

With the introduction of the new SearchPathDependencyResolver and SearchPathImpactFinder classes (described below in New features), the existing DependencyResolver and ImpactResolver and their supporting classes are deprecated and will be removed in a later release. You should update your build scripts to use the new classes instead.

New features

  • DBB Web Application User Interface
    The DBB Web Application is used to store metadata produced during the build process. DBB produces two types of build metadata:

    • Dependency information captured as logical files and stored in collections. This information is used for the impact analysis of changed files.
    • Build results organized in Build Groups, which provide a place to store the return codes, error messages, and file attachments produced by a build.

    Prior releases of DBB provided a simple read-only web view of the build metadata. Beginning in DBB v1.1.2, a new modern web view is available. It provides better organization, sort capabilities and the ability to delete obsolete data. For more information, see Managing DBB collections and build results with the DBB web view

  • Introducing the SearchPathDependencyResolver and SearchPathImpactFinder classes
    Similar in function to the old DependencyResolver and ImpactResolver classes, these new classes are easier to configure and use, and more flexible because they provide support for wildcards and file extensions in file paths. As the names suggest, the key feature of the new classes is the dependency search path, which is a simple formatted Java or Groovy string used to locate logical files on the local build zFS system.

// Create a dependency search path which searches '/u/build/repo' and sub-directories for files with a '.cpy' file extension 
String searchPath = "search:/u/build/repo?path=**/*.cpy"

For more information about creating a dependency search path as well as using the SearchPathDependencyResolver and SearchPathImpactFinder classes, see How to manage build dependencies.

Version 1.1.1

Important notices

Server migration

If you are upgrading to DBB V1.1.1 from a previous release, you must merge the configuration from the old server into the new server configuration, and migrate the database before starting the new server. For detailed instructions, see Migrating the DBB server.

New features

  • The DBB Web Application can now be installed into a Red Hat OpenShift Container Platform (OCP) cluster through an operator
    Red Hat® OpenShift® is an enterprise-ready Kubernetes container platform with full-stack automated operations to manage hybrid cloud and multicloud deployments. It is optimized to improve developer productivity and promote innovation. DBB v1.1.1 provides the DBB Web Application Server as a certified container package as well as a Container Application Software for Enterprises (CASE) bundle for deploying the DBB operator to an OpenShift Container Platform such as Red Hat OpenShift on IBM Cloud. The DBB operator uses a DBB Server Custom Resource Definition to define and deploy the DBB Web Application Server container in OCP. For more information, see Defining and deploying a DBB server container and Installing the DBB Operator (CASE) bundle.

  • Support for "report only" mode when running DBB z/OS command APIs
    IBM Dependency Based Build (DBB) provides APIs to create and generate a build report that contains summary information of the DBB z/OS commands executed during the build. Each z/OS command adds a build report record automatically to the build report when it is run. Beginning in DBB v1.1.1, you can turn on "report only" mode. This mode disables the actual execution of the z/OS command while allowing the automatic generation of the build report record to occur as if the command ran successfully. This allows for the creation of a build preview without having to run a real build. To turn on "report only" mode, add the DBB configuration property dbb.command.reportOnly and set the value to true. DBB z/OS commands that support "report only" mode are CreatePDS, CopyToHFS, CopyToPDS, MVSExec, ISPFExec, TSOExec, and JCLExec.

  • The DBB source code scanner can now identify programs with IBM MQ call statements
    In addition to identifying build dependencies like COBOL COPYBOOKs and PL/I INCLUDE files in program source files, the default dependency scanner can also identify if a program contains EXEC CICS, EXEC SQL, or EXEC DLI statements. These statements are surfaced as flags (isCICS, isSQL, and isDLI) in the program logical file created by the scanner. This information is useful when determining whether additional compile options or DD statements are needed when building programs that contain these statements. Beginning in DBB v1.1.1, the scanner can also identify IBM MQ calls because like CICS, SQL and DLI programs, MQ programs also often require additional compile options, DD statements, or both. The new logical file flag is isMQ.

Version 1.1.0

Important notices

DBB Web Application and Toolkit communication SSL protocol upgrade

The Secure Socket Layer (SSL) protocol used by the DBB Toolkit to communicate with the DBB Web Application for releases DBB v1.0.0 - v1.0.9 used the basic version of Transport Layer Security (TLS). Beginning with DBB v1.1.0, the SSL protocol has been upgraded to use TLSv1.2. If both the DBB toolkit and the DBB Web Application are at the same release version, then no further actions are required. But if the DBB Toolkit is at v1.1.0 and the DBB Web Application Server is at v1.0.x, then they will not be able to communicate with each other unless the DBB v1.0.x Web Application Liberty server configuration is modified to accept TLSv1.2 protocol communication messages. To do so, in the Liberty server server.xml file, find the <ssl> element:

<ssl id="defaultSSLConfig"
     sslProtocol="TLS"
     keyStoreRef="defaultKeyStore"/>

Update it to sslProtocol="TLSv1.2" as follows:

<ssl id="defaultSSLConfig" 
     sslProtocol="TLSv1.2"
     keyStoreRef="defaultKeyStore"/>

This will enable a DBB v1.1.0 Toolkit to communicate with a DBB v1.0.x Web Application.

Dependency Scanner Transfer Control Statement capturing turned off

In DBB v1.0.5, the Dependency Source Code Scanner was enhanced to collect some Transfer Control Statements, mostly in the form of COBOL static link calls. This was done as part of an investigation to support of the automatic compilation and execution of a COBOL program's related IDz zUnit Test program. However, another mechanism for the automatic compilation and executing IDz zUnit Test programs has been implemented, details of which can be found in Integration with z/OS Automated Unit Testing Framework (zUnit) below, so capturing Transfer Control Statements has been turned off in DBB v1.1.0 since they are not used. Recognizing that you might have found an alternative use for the capturing of Transfer Control Statements, you can turn capturing back on by adding the following build property to any loaded DBB property file:

dbb.DependencyScanner.controlTransfers = true

New features

  • DBB Web Application now available as a Red Hat OpenShift Container Platform (OCP) cluster
    Red Hat® OpenShift® is an enterprise-ready Kubernetes container platform with full-stack automated operations to manage hybrid cloud and multicloud deployments. It is optimized to improve developer productivity and promote innovation. DBB v1.1 provides the DBB Web Application Server as a container package as well as a Container Application Software for Enterprises (CASE) bundle for deploying the DBB container to an OpenShift Container Platform such as Red Hat OpenShift on IBM Cloud. For more information on how to deploy the DBB Web Application on an OpenShift Container Platform, see Installing and configuring the DBB Container Packaging (CASE) bundle.

  • Integration with z/OS Automated Unit Testing Framework (zUnit)
    IBM Developer for z/OS (IDz) v14.2.1 introduced the IBM z/OS Dynamic Test Runner for zUnit, which greatly increases the zUnit test capabilities provided by IDz including the capability to record and playback z/OS applications. This allows for the easy capture of test data and the ability to run zUnit tests in a batch environment with no middleware configured. DBB v1.1 provides the capability to execute zUnit tests as part of a CI/CD pipeline by providing a zUnit Test Configuration Dependency Scanner, which will automatically create dependency relationships between the z/OS source program, test program and playback data file. For more information, see Scanning zUnit test configuration file dependencies in How to manage build dependencies.

  • Introducing new simplified Dependency Resolution and Impact Analysis APIs
    Build dependency resolution and impact analysis are key features of IBM Dependency Based Build. In previous releases, the ability to locate a program's referenced COBOL copybooks, PL/I include files and Assembler Macros in the Git source repository and automatically copy them to data sets prior to compiling the program has been supported by the DBB DependencyResolver class. Additionally, the capability to identify which programs need to be rebuilt due to a changed build dependency source file has been supported by the ImpactResolver class. Though powerful, these classes turned out to be difficult for users to understand and hard to configure. Therefore, DBB v1.1 introduces two alternative and much simpler methods as part of the LogicalFile class to perform both of these tasks. For more information, see How to manage build dependencies.