ODPI-C 2.2.1 has been tagged for release.
Oracle Database Programming Interface for C (ODPI-C) is an open source library of C code that simplifies the use of common Oracle Call Interface (OCI) features for Oracle Database drivers and user applications. The ODPI-C project is open source and maintained by Oracle Corp.
ODPI-C is used as a data access layer in drivers for Node.js, Python, Ruby, Go, Rust, Haskell and more.
Changes in ODPI-C 2.2 from 2.1 include:
Open statements and LOBs are tracked and automatically closed when the related connection is closed; this eliminates the need for users of the driver to do so and removes the error "DPI-1054: connection cannot be closed when open statements or LOBs exist".
Errors during implicit rollback at connection close are ignored - but if an error does occur, ensure the connection is dropped from the connection pool. This reduces app errors in cases like where a DBA has killed a session.
A new, optional, way of including the source code in your projects: embed/dpi.c was added. This simply includes all other source files. You can reliably link with just dpi.c and not have to update your projects if, and when, new ODPI-C versions have new source files.
Many stability fixes, code improvements, new tests, and documentation updates.
See the release notes for all changes.
In my opinion, the stability fixes justify upgrading immediately.
The eagle-eyed will note that today is a 2.2.1 release but we actually tagged 2.2.0 a few weeks ago. ODPI-C 2.2.0 was tagged solely to give an identifiable base for node-oracledb 2.2 to use. However Anthony had some ODPI-C fixes queued up in areas of code not used by node-oracledb, hence today's "official" ODPI-C 2.2.1 announcement.
Home page: oracle.github.io/odpi
Release Notes: oracle.github.io/odpi/doc/releasenotes.html
Report issues and discuss: github.com/oracle/odpi/issues
Installation Instructions: oracle.github.io/odpi/doc/installation.html.