What’s New in COBOL
|
This content was generated with the assistance of AI and should be verified against the official documentation before being relied on in production. The reference material consulted while preparing these pages is listed in the section bibliography. |
This page is written against ISO/IEC 1989:2023 (edition 3, January 2023; an upcoming 4th edition is in ballot), against
IBM Enterprise COBOL for z/OS 6.5 (generally available 13 June 2025, PTFs through September 2026) on z/OS 3.2, and
against GnuCOBOL 3.2 (28 July 2023, the latest release). The release facts were checked against the vendors' pages on
2026-10-20, the GnuCOBOL statements marked "tried" were compiled with cobc -x -Wall and run on that date, and the items
that could not be read in full are worded without naming a release. z/OS items are labelled "z/OS; not run here".
The page answers three questions: what does each edition of the language add (and where in this guide is it taught), what do the compilers I will actually use support today, and which statements in the book this guide consulted have been overtaken. It is a map; the detail is on the page each row links to. For the history before 2002 see History and Standards; for the compilers and dialects see Compilers and Dialects.
The standard
The standard is ISO/IEC 1989. Edition 3 was published in 2023 and replaced the 2014 edition; the 2014 and 2002 editions are withdrawn. A 4th edition is in preparation and is mentioned here only as upcoming: no feature of it is described, and no date is given because the ISO catalogue page could not be read when this page was checked. The standard itself is sold by ISO and INCITS, so the details below are taken from INCITS announcements and from the IBM and GnuCOBOL documentation.
What COBOL 2002 added
| Addition | Where it is taught |
|---|---|
Object orientation (classes, methods, interfaces) |
|
Free-format source |
|
User-defined functions |
|
Boolean, national, binary and floating-point data types; Unicode support |
USAGE and Numeric Representation, National, UTF-8 and Code Pages |
Exception handling |
|
The compiler-directing facility ( |
|
Recursion ( |
|
The |
|
Record locking |
|
Report Writer, back in the standard |
What COBOL 2014 added
| Addition | Where it is taught |
|---|---|
Dynamic-capacity tables ( |
|
Dynamic-length items ( |
|
Function pointers |
|
IEEE 754 floating point |
|
Rounding modes (the |
|
Locale support |
What COBOL 2023 added
| Addition | Where it is taught |
|---|---|
Asynchronous messaging ( |
Named here only; neither Enterprise COBOL 6.5 nor GnuCOBOL 3.2 implements it. |
Boolean |
|
63-character words |
|
Timed |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The 2023 additions are the ones compilers have implemented least. A feature in the standard is not a feature in your compiler; the support table in Compilers and Dialects is the quick check, and the GnuCOBOL results further down this page show it for several 2023 items.
IBM Enterprise COBOL for z/OS 6.3, 6.4 and 6.5
Enterprise COBOL 6.x is the mainframe compiler used by every z/OS page. Each release adds language and tooling features (the 6.5 list below is from IBM’s "What’s new" page, checked 2026-10-20; the 6.3 and 6.4 lists could not be re-read from the IBM page on that date and come from the issue notes behind this guide, so check IBM’s release notes for them).
6.3
| New in 6.3 | Where it is taught |
|---|---|
|
|
|
|
|
|
|
|
|
|
The |
|
The |
Legacy Features and Migration, Debugging and Troubleshooting |
6.4
| New in 6.4 | Where it is taught |
|---|---|
Java interoperability without OO COBOL; AMODE 31 and 64 interoperability |
|
|
|
|
|
|
|
|
6.5 (generally available 13 June 2025)
IBM’s "What’s new in Enterprise COBOL for z/OS 6.5" page lists these base items: user-defined type support, index-name
qualification and high-low qualification (the :: form), VSAMDB support, a new SMARTBIN suboption, the ULENGTH
function enhancement, the JSON GENERATE COUNT BYTE-LENGTH enhancement, changes to ARCH and TUNE, OMITTED class test
and OPTIONAL parameter changes, and improved DLL naming for non-OO COBOL and Java interoperability.
| New in 6.5 | Where it is taught |
|---|---|
|
|
|
|
|
Compiling, Linking and Language Environment, Performance and Compiler Options |
The |
|
|
|
|
|
Simpler non-OO Java interoperability |
The 6.5 PTFs listed by IBM, with the month of each:
| When | PTF | What it adds |
|---|---|---|
January 2026 |
PH69556 |
UTF-8 enhancements, including numeric moves with UTF-8 data. See National, UTF-8 and Code Pages. |
March 2026 |
PH70635 |
New suboptions for |
July 2026 |
PH72005 |
z/OS UNIX enhancements, covered with |
September 2026 |
PH73209 |
Strong types ( |
September 2026 |
PH73031 |
The |
September 2026 |
PH73033 |
No warning when the |
September 2026 is the latest PTF month IBM lists. No 6.6 release had been announced when this page was checked. IBM publishes the documentation library for each release at Enterprise COBOL for z/OS documentation library.
GnuCOBOL 3.2 and the status of 4.0
GnuCOBOL 3.2 was released on 28 July 2023 and is still the release the project’s home page offers; the SourceForge file
area lists 3.2 and, after it, only nightly snapshots. There is no 4.0 release: version 4.0 exists as development
snapshots, so treat it as unreleased and do not recommend a distribution package named gnucobol4, which is an old
snapshot. (The 4.0 status could be confirmed only partly: the home page does not mention it, and the SourceForge
folder has no 4.0 release.)
What 3.2 adds according to the project’s 3.2 release notes, together with the result of trying some of it:
| New or changed in 3.2 | Tried on 3.2.0 | Where it is taught |
|---|---|---|
|
|
|
|
|
|
|
Accepted with no warning, including a 49-character data name (the 2023 limit is 63). |
|
|
Compiles with |
|
Boolean |
|
|
The GCOS dialect, new |
Not tried here; see Compilers and Dialects. |
|
|
Not tried here. |
|
|
Not tried here. |
|
Experimental UTF-8 and |
Marked experimental by the compiler ( |
Compatibility changes to know when upgrading from 3.1: the FUNCTION RANDOM algorithm changed (sequences differ from
older releases and from IBM’s), and the sizes used for BY VALUE arguments changed on 64-bit platforms. For packaging:
Homebrew’s gnucobol is 3.2, and Debian trixie ships gnucobol3 3.2 (bookworm ships 3.1.2). The HTML Programmer’s Guide
on the GnuCOBOL site is still the 3.1-RC1 edition; the 3.2 edition is the PDF on the project’s guides page.
The program used for the "tried" column
IDENTIFICATION DIVISION.
PROGRAM-ID. WN1.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 BOOK-TITLE PIC X(8) VALUE "Ulysses".
01 PASS-COUNT PIC 9 VALUE 0.
01 LOAN-COUNT-FOR-THE-CURRENT-CIRCULATION-RUN PIC 99 VALUE 7.
PROCEDURE DIVISION.
MAIN-PARA.
DISPLAY "HEX-OF : " FUNCTION HEX-OF(BOOK-TITLE)
DISPLAY "BIT-OF : " FUNCTION BIT-OF("A")
PERFORM UNTIL EXIT
ADD 1 TO PASS-COUNT
DISPLAY "PASS " PASS-COUNT
IF PASS-COUNT = 2
EXIT PERFORM
END-IF
END-PERFORM
DISPLAY "LONG NAME : "
LOAN-COUNT-FOR-THE-CURRENT-CIRCULATION-RUN
STOP RUN.
Compiled with cobc -x -Wall wn1.cob (and with -std=ibm), no warnings, it prints:
HEX-OF : 556C797373657320
BIT-OF : 01000001
PASS 1
PASS 2
LONG NAME : 07
(BOOK-TITLE has eight bytes, so the hexadecimal result includes the trailing space, 20.)
Source: GnuCOBOL 3.2 manual
The platform around the compilers
| Product | Status when this page was checked (2026-10-20) |
|---|---|
z/OS |
z/OS 3.2 is the release used on the z/OS pages (documentation at IBM z/OS 3.2.0); its landing page could not be read in full, so no more is claimed. |
Db2 for z/OS |
Db2 13 (IBM Db2 13 for z/OS documentation). |
CICS Transaction Server |
The 6.x documentation lists 6.1, 6.2 and 6.3; 6.3 is the latest listed (IBM CICS TS 6.x documentation). |
IMS |
IMS 15.6 (IBM IMS 15.6 documentation). |
Zowe |
The stable documentation covers Zowe 3.x (a 3.6.x LTS line); version 2 support ends 30 March 2027 according to those pages (Zowe overview). |
Editors |
IBM Z Open Editor supports Enterprise COBOL 6.5 (IBM Z Open Editor on the VS Code Marketplace); some features need a licence after a trial. |
Testing tools |
COBOL Check, an Open Mainframe Project tool, was archived on 28 May 2026 and is read-only. The maintained options are IBM’s zUnit (IBM Z Open Unit Test), Broadcom’s Test4z and Galasa. See Testing COBOL Programs. |
Other compilers |
IBM COBOL for Linux on x86 1.2; Rocket Visual COBOL and Enterprise Developer; Fujitsu NetCOBOL. See Compilers and Dialects. |
Where the book is outdated
Tom Taulli’s Modern Mainframe Development (O’Reilly, 2022) was consulted for the topics it covers, and no text or code is reproduced from it. It was written in 2021 and 2022, and its statements about versions have been overtaken. Every such statement that this guide found is collected below, with the current fact, the source for it, and the page where it is explained in context.
| The book says | Current fact | Source | Where covered |
|---|---|---|---|
Enterprise COBOL V6.3 (2019) is "the latest" COBOL, and the history of the standard stops at COBOL 2002 |
Enterprise COBOL 6.5 (2025) is current, with PTFs through September 2026, and the standard was revised in 2014 and 2023. |
||
z/OS 2.4 |
z/OS 3.2. |
||
Db2 12 |
Db2 13. |
||
CICS 5.6 |
CICS TS 6.x; 6.3 is the latest listed. |
||
IMS 15 or 15.1 |
IMS 15.6. |
||
The z15 is the newest mainframe |
The z16 (2022) and the z17 (2025) followed; Enterprise COBOL 6.5 adds |
||
Zowe v1 CLI syntax, with Node 8 and Java 8 prerequisites |
Zowe 3.x (3.6.x LTS); the prerequisites and some command shapes changed. |
||
IBM’s free 180-day z/OS access |
IBM Z Xplore replaced it. |
||
OpenCobolIDE as the PC environment |
It is unmaintained: use GnuCOBOL 3.2 with VS Code. |
||
Micro Focus |
Now part of Rocket Software, which took over the application-modernization portfolio. |
See Compilers and Dialects for the vendor pages. |
|
BMC/Compuware tooling (Topaz, ISPW, Abend-AID, Jenkins plug-ins) as the sponsor’s tools |
They are named in prose only, next to IBM, Broadcom and open-source equivalents, and their demonstrations are not reproduced. |
Vendor documentation |
Book errata
Besides outdated versions, the book has errors of fact or of code in the chapters this guide consulted. The correct rule is stated here and the faulty code is never reproduced.
| Chapter | Correct rule | Where covered |
|---|---|---|
4 |
A |
REDEFINES, RENAMES and TYPEDEF, USAGE and Numeric Representation |
5 |
The statement is |
|
7 |
|
|
8 |
|
Common mistakes
-
Reading a feature’s presence in the standard as support in your compiler. Check the table in Compilers and Dialects; GnuCOBOL 3.2 rejects or only stubs several 2023 features.
-
Quoting a version from a 2022 book or blog as current. Use the table above and the vendor’s page.
-
Recommending the
gnucobol4package. It is an old snapshot, not a 4.0 release. -
Confusing a PTF with a release. The September 2026 items are PTFs to 6.5; check the PTF level of the compiler you have (see Compiling, Linking and Language Environment).