What is new and noteworthy
You can find what is new and noteworthy of different releases of IBM Dependency Based Build (DBB).
- Version 1.0.10 - March, 2022
- Version 1.0.9 - June, 2020
- Version 1.0.8 - March, 2020
- Version 1.0.7 - December, 2019
- Version 1.0.6 - September, 2019
- Version 1.0.5 - June, 2019
- Version 1.0.4 - March, 2019
- Version 1.0.3 - December, 2018
- Version 1.0.2 - September, 2018
- Version 1.0.1 - June, 2018
Version 1.0.10
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.0.10 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.0.9
Important notice
Upgrade considerations
The previously known Build Manager is renamed to shared daemon in this release and the path name is updated accordingly. If the you have customized the startdaemon.sh
script, you need to change lib/server
to lib/sdaemon
or migrate your changes to the new startdaemon.sh
script. For more information about configuration, see DBB daemon files.
New features
-
Personal daemon now available in addition to the existing shared daemon
The DBB daemon is a tool that can be used to improve performance on IBM z Systems Development and Test Environment (ZD&T), or whenever Java startup time needs to be reduced. Compared with the existing shared daemon (previously known as Build Manager), which can be used by multiple users, users can now start and use their own personal daemon for their own use. For more information, see Using the personal daemon.
Version 1.0.8
Important notice
Upgrade considerations
As DBB has updated its logging from Log4j to Log4j2, take the following two items into consideration when you migrate to DBB V1.0.8:
-
The format of the configuration properties file has changed. You can refer to the sample file
log4j2.properties
in theconf
directory. You should merge your changes in the oldlog4j.properties
file with the newlog4j2.properties
file. For more information about the new properties format, see Logging Services in the Apache Lg4j 2 documentation. -
The system property that is used to point to the properties file has changed. In previous releases,
log4j.configuration
system property defined the Log4j configuration file. In DBB V1.0.8, the system property has now changed tolog4j.configurationFile
to find the Log4j2 configuration file. If you have any Jenkins builds or scripts that use the former property, change those to use the new property and point to a Log4j2 properties file.
New features
-
File tagging support for the CopyToHFS command for Non-ASCII and UTF-8 encoded files
DBB V1.0.7 introduced the ability to tag ASCII or UTF-8 encoded USS files that were copied from data sets. DBB V1.0.8 expands this capability to be able to correctly tag any USS file copied from a data set with any valid IBM z/OS encoding.
This function is a requirement when data set source files with a different encoding than the default IBM-1047 are imported to Git. For more information, see DBB configuration properties in How to organize the build script.
-
New copy mode of the CopyToHFS command that preserves ASA carriage control characters
The default
CopyMode.TEXT
for the CopyToHFS command automatically converts ASA carriage control characters in SYSPRINT files generated by IBM compilers to EBCDIC equivalents during the copy operation. This results in the ASA carriage control characters not appearing in USS as they do when residing in data sets.Now with DBB V1.0.8, you can use the new
CopyMode.ASA_TEXT
to preserve the ASA carriage control characters so that they appear in the copied USS file the same way as they do in data sets. For more information, see CopyToHFS in What DBB APIs issue z/OS commands. -
Support to register the CopyToPDS command as a build step in the build report
You can generate a build report in HTML with DBB to show the build steps that were applied to each source file. The build steps are recorded automatically in the build report each time an MVSExec, TSOExec, ISPFExec, or JCLExec command is executed on a source file. Another common build step is copying the JCL file that is required to execute the built binary.
Now with DBB V1.0.8, you can indicate that a CopyToPDS command should contribute to the build report. You can specify that for CopyToPDS the build report displays not just source and destination but also the deployment type so that data sets can be correctly handled by an automated deployment manager like UrbanCode Deploy. For more information, see Setting CopyToRecord build report attributes in How to create and access a DBB build report.
Updated samples
- zAppBuild is now available in a stand-alone repository - zAppBuild is the generic build solution for building z/OS applications that use Apache Groovy build scripts and IBM Dependency Based Build (DBB) APIs. It was introduced as part of the DBB V1.0.5 release. Now it is available as a stand-alone repository in the public GitHub at https://github.com/IBM/dbb-zappbuild. Putting zAppBuild in a stand-alone repository allows for easier acceptance of future enhancements and maintenance as more users adopt zAppBuild as part of their DevOps transformation.
Version 1.0.7
New features
- New ZOA Utilities functions - You can now submit and retrieve JCL jobs, execute operator commands and search system concatenations like LINKLIST, PARMLIB and PROCLIB from USS shell commands, Java processes or Python scripts. For more information see the Z Open Automation Utilities Knowledge Center website.
- File tagging support for CopyToHFS command - Data set members copied to USS as ASCII or UTF-8 encoded files are now tagged as such and will be rendered correctly by supporting z/OS editors and tools. For more information about USS file tagging, see File tagging in Enhanced ASCII.
New and updated samples
The following sample has been added and/or updated to the samples that are shipped with the DBB server. They are available for download from the IBM Dependency Based Build page at MainFrame DEV. They are also available at the GitHub DBB Community Repository.
- Git ISPF Client now supports DBB User Build
Version 1.0.6
New features
-
Introducing Z Open Automation Utilities (ZOA Utilities) - DBB now ships with an underlying runtime to support executing automation tasks on z/OS via Java, Python, and Shell commands. With ZOA Utilities, you can run traditional MVS commands, such as
IEBCOPY
,IDCAMS
, andIKJEFT01
as well as perform a number of data set operations in the scripting language of your choice. For more information, see Z Open Automation Utilities documentation. -
Support of customized database schema - You can use the SQL scripts in
wlp/usr/servers/dbb/DDL
to create the schema and tables that are used by the DBB server to store file metadata. Modify the schema and database name in the script as necessary. For more information, see Installing and configuring the DBB server. -
Support for Db2 for z/OS - You can switch to Db2 for z/OS from the default Derby database as the DBB server. Fore more information, see Installing and configuring the DBB server.
-
YAML files for build configurations - You can also use YAML files to configure the build just as using properties files. You can use one or more YAML files or a combination of YAML and properties files. For more information, see How to organize the build script.
-
Swagger API documentation - The DBB Web Application now provides Swagger RESTful API documentation. For more information, see Web Application REST API.
New samples
The following sample has been added to the samples that are shipped with the DBB server. They are available for download from the IBM Dependency Based Build page at MainFrame DEV. They are also available at the GitHub DBB Community Repository.
- Merge data sets sample
Version 1.0.5
New features
- Tar/gzip file support for dependencies - DBB now supports finding and copying COBOL copybooks and PL/I include files that are stored in tar files and gzip files. For more information, see the Dependency Scanning and Dependency Resolution sections in Managing dependencies.
- Non-roundtrippable characters detection by migration tool - When you migrate source files from data sets to a local Git repository with the DBB tool, the tool now automatically detects the source members that contain characters
that cannot be safely converted from
IBM-1047
toUTF-8
. For such a source member, it is copied to Git as a binary file inIBM-1047
. For more information, see Migrating data sets to Git. - Linux on IBM Z support - The DBB Web Application Liberty server is now supported on Linux on IBM Z.
New samples
The following samples are added to the samples that are shipped with the DBB server. They are also available for download from the IBM Dependency Based Build page at Mainframe DEV.
- JCL to Groovy/DBB Migration Sample
- zAppBuild - Generic z/OS Application Build Sample
- ISPF Git Client
Version 1.0.4
Important notice
Format change for temporary data set used by TSOExec and ISPFExec
TSOExec and ISPFExec use a data set with the DD allocation of CMDSCP to store a temporary script that runs the specified command. If you have used keepCommandScript(true), this data set is not deleted. DBB has changed the format for this temporary data set from RECFM(f,b) LRECL(80) to RECFM(v,b) LRECL(255). The old data set must be deleted before running a new build to prevent a conflict. The data set will be recreated with the new format.
New features
- zFS directories in DD statements - DD statements defined in MVSExec, TSOExec and ISPFExec statements can now reference zFS directories as well as Dataset names. For more information see DDStatement in z/OS command API.
- FIPS 140-2 compliance - Federal Information Processing Standard (FIPS) compliance and certification are required when working in a US government environment. For more information on how to configure the Dependency Based Build server and toolkit for FIPS compliance, see Configuring for FIPS 140-2 compliance.
- Error and warning messages now in Knowledge Center - DBB error and warning message descriptions including follow-up actions are now in the Knowledge Center at Messages in Dependency Based Build.
New samples
The following samples have been added to the samples that are shipped with the DBB server. They are available for download from the IBM Dependency Based Build page at MainFrame DEV.
- IBM SCLM Migration Sample
- Assembler HelloWorld Sample
Version 1.0.3
Important notice
Server migration
If you are upgrading to DBB V1.0.3 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 a Dependency Based Build server.
New features
- SMF record generation - DBB now provides APIs to allow you to write System Management Facility (SMF) records during a DBB build. For more details, see System Management Facility (SMF) support.
- DBB Build Manager - Initially introduced in DBB V1.0.2 as a technical preview sample, the Build Manager is now part of the DBB toolkit installation and can be used to improve the startup performance of JVM build processes. For more information on how to use the build manager, see Using the Build Manager.
New samples
The following samples have been added to the samples that are shipped with the DBB server. They are available for download from the IBM Dependency Based Build page at MainFrame DEV.
- Run zUnit Test Case sample (using JCLExec)
- SMF Record Reader sample
- IBM SCLM Migration sample - NOTE: This sample is not included in the samples that are shipped with the DBB server, but instead is available in the public DBB Community GitHub Repository.
Sample changes
Upgrade your Git version for the new encoding attribute zos-working-tree-encoding=ibm-1047
in the DBB samples
A new encoding attribute, zos-working-tree-encoding=ibm-1047
, is added in the .gitattributes file
of the DBB samples. If you encounter encoding issues on non-z/OS platforms, you must upgrade or migrate to Rocket Git 2.14.4
or later versions and remove the old working-tree-encoding=ibm-1047
attribute from the .gitattributes file.
Version 1.0.2
Important notices
Required DBB environment variables
Beginning in V1.0.2, several Dependency Based Build toolkit APIs will require the existence of two new environment variables: DBB_HOME
and DBB_CONF
in order to function correctly. For more information about environment
variables, see Installing and configuring toolkit on z/OS.
New features
- Multi-Thread build support - Executing two or more MVSExec commands at the same time often requires the ability to concurrently allocate the same DD name. This is generally not possible when running in a single JVM since all commands use the same address space. DBB now provides APIs to allow DD allocations to occur in separate address spaces during the build allowing for multi-threaded build scripts. For more information, see Multi-thread support with MVSJob in z/OS command API.
- Capturing and storing indirect dependencies - Since its release, DBB has included APIs to allow the capturing and storing of direct build dependencies such as COBOL copybooks and PL/I include files. Users can now capture and store indirect dependencies such as generated copybooks from BMS maps or statically linked programs in a load module. This allows build scripts to detect that a called program has changed so a load module needs to be rebuilt. For more information, see Indirect dependencies in Managing dependencies.
- Binary and load module copy support - The CopyToHFS and CopyToPDS commands now have binary and load module copy modes. The load module copy mode allows users to capture load module metadata such as ISPF stats and the alias when copying to zFS. This is useful when creating tar files to store in an artifact repository like Nexus or Artifactory for later deployment. For more details, see CopyToHFS and CopyToPDS in z/OS command API.
- ISPF Interactive Gateway support for TSOExec and ISPFExec - DBB now supports both the Legacy ISPF Gateway and the Interactive ISPF Gateway for communication during ISPFExec and TSOExec command execution. An advantage of using the Interactive ISPF Gateway is the ability to execute programs that are interactive, using a conversational pattern. Also TSO/E address spaces are started by using a TSO logon procedure. Sites can choose to use their existing TSO logon procedures for TSO/E address spaces started through the gateway. For more information on setting up and taking advantage of using the Interactive Gateway, see the ISPFExec and TSOExec section in z/OS command API.
- Automatic Groovy script caching - During build execution called Groovy scripts are compiled on the fly into Java classes and invoked. Though the compilation is very fast, it still takes time and if the build process builds hundreds or even thousands of source files, this can result in significant build processing times. DBB now provides Groovy APIs that will automatically load and cache called Groovy scripts. For instructions on how to use script caching, see Groovy build script caching in Build script organization.
- Build properties can reference other build properties - DBB BuildProperties values can now have references to other BuildProperties properties that are evaluated dynamically at run time. For more information, see Using properties and properties files in Build script organization.
- DBB configuration properties - Some DBB APIs require users to set configuration like properties on each declaration that are often the same for all declarations and never change during the build process. Examples of this can be seen in the RepositoryClient, ISPFExec, TSOExec etc. Users can now declare DBB configuration properties in their properties files that will automatically set those values without having to code them explicitly in their build scripts. For a list of supported configuration properties, see DBB configuration properties in Build script organization.
New samples
The following samples have been added to the samples that are shipped with the DBB server. They are available for download from the IBM Dependency Based Build page at MainFrame DEV.
- Multi-threaded Build Sample
- Publish Load Modules to Artifactory
- Indirect Dependency Support in Mortgage Application
- BuildManager : Used to keep the JVM alive between builds (Performance enhancement)
- Build Result Pruner
Version 1.0.1
Important notices
Product registration
Starting from V1.0.1, the Dependency Based Build toolkit will attempt to register itself as a feature of the purchased product that includes it. A failed registration will terminate the build process. See Product enablement in IFAPRDxx for information on how to configure DBB product enablement.
Server migration
If you are upgrading DBB 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 a Dependency Based Build server.
New features
- Submitting a JCL job - DBB now provides a
JCLExec
command to submit JCL jobs. The JCL can be located in a data set, a zFS file, or created dynamically and submitted directly from the build script. For more details, see the JCLExec command section in z/OS command API. - Better object management by defining ownership roles - Server administrators and users can now define ownership roles and permissions on DBB collections and build results. For more information, see DBB Object Ownership and Roles.
New samples
The following samples have been added to the samples that are shipped with the DBB server. They are available for download from the IBM Dependency Based Build page at MainFrame DEV.
- PL/I Helloworld
- DB2 Bind Sample in Mortgage Application