Today we are announcing the availability of the first alpha version of ksh-2020.0.0. This is the first release of ksh after the most recent stable release, ksh93u+, which was released seven years ago. It is based on the ksh93v- release, which was the last version of ksh released by AT&T AST development team. It represents an attempt to keep ksh relevant and make it easier for vendors to deal with customer issues.
Release tarballs can be downloaded from GitHub[1]. Since we started working in 2017 we have kept our focus on stability and backward compatibility. Here are the highlights for this release:
* This is based on the ksh93v- code base but with some features removed or disabled. For example, new builtins that were not present in the ksh93u+ release have been (temporarily) removed. Support for JSON added after ksh93u+ is currently disabled due to serious bugs in the implementation.
* Build system has been changed to make it easier and faster to build.
* The AST Vmalloc subsystem has been removed and replaced by the system malloc (which makes it possible to use tools like Valgrind and ASAN).
* Almost all the AST locale subsystem has been replaced by the system locale support.
* Support for non-POSIX operating systems and EBCDIC has been removed.
* Hundreds of new tests have been added to improve test coverage. Including tests of interactive behavior (using the expect utility).
* Coverity defect rate has been brought from above 2 to zero (almost). See
https://scan.coverity.com/projects/ksh?tab=overview
* Downstream patches from different vendors were merged upstream.
* All of the bugs found through ASAN were fixed with the exception of a few memory leaks.
* Lots of bugs identified by cppcheck, oclint, clang-analyzer and gcc were fixed.
* The code has been reformatted to have a consistent style via clang-tidy and clang-format.
I request everyone to keep their feedback constructive. Next release may follow as early as next month in response to feedback on this release.
Thanks!
[1]
https://github.com/att/ast/releases/tag/2020.0.0-alpha1
--
--
Siteshwar Vashisht