# APBS 1.4.0 (2012-07)

## Summary

We are pleased to announce the release of APBS 1.4.0. This version of APBS includes a massive rewrite to eliminate FORTRAN from the software code base to improve portability and facilitate planned optimization and parallelization activities. A more detailed list of changes is provided below. Starting with this release, we have created separate installation packages for the APBS binaries, examples, and programming documentation. This change is in response to user requests and recognition of the large size of the examples and documentation directories.

## Detailed changes

- Removed FORTRAN dependency from APBS
- Direct line by line translation of all source from contrib/pmgZ
- Functions replaced and tested incrementally to ensure code congruence
- Created new subfolder src/pmgC for translated pmg library
- Created new macros for 2d, 3d matrix access
- In src/generic/apbs/vmatrix.h
- Simulate native FORTRAN 2 and 3 dimensional arrays
- Use 1-indexed, column-major ordering
- Allowed direct 1-1 translation from FORTRAN to ensurre code congruence
- Added additional debugging and output macros to src/generic/apbs/vhal.h
- Added message, error message, assertion, warning, and abort macros
- Macro behavior modified by the –enable-debug flag for configure
- Non-error messages directed to stderr in debug, io.mc otherwise
- All error messages are directed to stdout
- In debug mode, verbose location information is provided
- Added additional flags to configure
- –with-fetk replaces FETK_INCLUDE, FETK_LIBRARY environment flags
- –with-efence enables compiling with electric fence library
- –enable-debug eliminates compiling optimization and includes line no info
- —enable-profiling adds profiling information and sets –enable-debug
- –enable-verbose-debug prints lots of function specific information