We are pleased to announce the 1.08 release of GNU bc and the 1.5.0 release of GNU dc (bundled as part of the bc tarball).
GNU bc and dc are arbitrary precision calculators. GNU bc uses a more traditional algebraic notation, and somewhat C-like function definitions; the behavior is largely specified by POSIX.2. GNU dc uses so-called "reverse-Polish notation (RPN) and macro recursion; there is no formal specification, but it should be compatible with traditional implementations of dc. This release can be downloaded from https://ftp.gnu.org/gnu/bc/bc-1.08.0.tar.gz (442 KiB) or https://ftp.gnu.org/gnu/bc/bc-1.08.0.tar.xz (319 KiB) and all of the usual mirrors thereof. Changes in bc from 1.07.1 to 1.08.0. Streamlined the build process; should now be better behaved for those doing cross-compilation builds. Made some minor improvements to the documentation. Changes in dc 1.4.1 to 1.5.0. Added support for GNU readline (--with-readline) and BSD libedit (--with-libedit) Provided for compile-time disabling of the `!' command for sandboxed environments (./configure --disable-dc-bang-shell). The ill-designed 'a' command is now deprecated. New --max-recursion=$depth command-line option, to facilitate testing (especially fuzzing) without run-away memory consumption. More consistent behavior for error handling --- if an error message is emitted about the arguments passed on the top-of-stack, then the stack should always be left unchanged. Changed the internal representation of arrays (should perform better for most access patterns on large arrays). Made some minor improvements to the documentation. Bug fixes. Much other internal code re-organization and clean-up1