Version I.0 - Initial Release                       March 1985

Programs:
BUGOUT          - FORTRAN debugging program and documentation aid
   CALLS
   COMMON
   TRACER
CAPITAL         - capitalize text files
CCLEAN          - clean up COMMON blocks in FORTRAN sources
CURFIT          - least-squares curve fit
DOUBLE          - display two files side by side
FLS             - batch FORTRAN compile and link
FORTLIST        - produce nice FORTRAN listing
FORTVMS         - convert from FORTRAN to carriage return records
FS              - batch FORTRAN compile
MERLIB          - lots of nifty subprograms
STRIP72         - remove all characters past column 72 and trailing blanks
STUB            - generate dummy subprogram stubs and prologues
UNTAB           - replace tab characters with spaces
VMSFORT         - convert from carriage return to FORTRAN records






Version I.1                                                May 1985

Modifications:
BUGOUT          - minor bug fixed in arguments with subscripts
FORTLIST        - INCLUDE feature added
MERLIB          - expanded

New Programs:             
CHANGE          - change one text string to another without editor






Version II.0                                              September 1985

Modifications:
BUGOUT          - several rarely-encountered bugs fixed
MERLIB          - expanded

New Programs:
BUGOUT
   VARIABLE     - check proper variable usage, plus map
CHECK72         - check to see if there are any characters past column 72
EIGHTY/UNEIGHTY - convert listing files to/from 80 columns
INCLUDER        - replace INCLUDE statements with the file
NAMEIO          - transportable NAMELIST replacement
SNAMEIO         - transportable NAMELIST replacement(improved)






Version II.1                                               December 1985

Modifications:
NAMEIO/SNAMEIO - bugs related to too many COMMONs fixed
               - last line had been ignored
               - array initialization improved
               - E FORMAT input fixed
BUGOUT
   TRACER      - INCLUDE statement added to list of specification statements
   COMMON      - do not process any routine whose name starts in 'QQ'
   VARIABLE    - do not process any routine whose name starts in 'QQ'
               - data dictionary added
               - type and size of variables checked across subroutines
MERLIB         - expanded, minor bug fixed in GETOKE, bug fixed in GETXY

New Documents:
PROGRAM.STD    - suggested FORTRAN 77 programming standards.
LIFECYC.TXT    - an interesting discussion of the life cycle of software
                 development efforts.






Version II.2                                              February 1986

Modifications:
MERLIB         - new routines.
               - minor bug fixed in SEARCH.

S/NAMEIO       - efficiency improvements.
FORTLIST       - /NODELETE option added.


New Programs:
REORDER        - reorder the subprograms in a FORTRAN source code in an
                 order specified by the user.  Optionally, alphabetizes
                 the subprograms.
SPLIT          - split a FORTRAN source code into a bunch of files with
                 one subprogram each (e.g., to build a TLB).






Version II.3                                             June 1986

Modifications:
BUGOUT
    VARIABLE   - fixed a bug with variably dimensioned arrays.
                 increased number of subprograms to 400.
    CALLS      - fixed bug in CALL map for large number of subroutines;
                 improved efficiency slightly.
    TRACER     - fixed bug in labeled STOP or RETURN statements.
    VERIFY     - a new program has been added to verify that all COMMON
                 blocks in a subprogram are actually used.
    (all)      - read multiple lines from options file.

UNTAB          - added qualifiers to set tab stops.
CCLEAN         - removed trailing spaces on output lines.
                 doubled number of continuations permitted.
                 fixed shifting of comment cards within a specification.
MERLIB         - new routines added.

Deletions:
CURFIT         - this program was deleted because it was merged with DISSPLA,
                  which is licensed software.






Version II.4                                          September 1986

Modifications:
BUGOUT        - the two programs which made up the preprocessor step, and
                 the three programs which made up the postprocessor step
                 have been combined.  Some minor bugs were fixed, flexibility
                 was improved, and efficiency greatly improved.
Note!!!! The old versions of the BUGOUT programs and '.COM' files are still
included on this release, but will be deleted on the next release.

SNAMEIO       - now produces only 19 continuation lines in the BLOCK DATA
                 for the variable names.
Note!!!! NAMEIO will no longer be supported during the next release as SNAMEIO
is more efficient and flexible.

MERLIB        - new routines.






Version III.0                                           March 1987

Deletions:

NAMEIO        - this package is no longer maintained.  The package previously
                 called SNAMEIO has been renamed NAMEIO.  The access to
                 the NAMESTUF.FOR file was made READONLY.  Bug fixed in
                 counting of continuation lines.
OLDBUGOUT     - the old BUGOUT programs and .COM files have been removed
                 as the new BUGOUT is more powerful and efficient.

Modifications:

MERLIB        - cleaned up, documentation updated, miscellaneous small bugs
                 fixed.  New routines.
BUGOUT        - error in handling of blank cards and entry statements fixed.
                 error in categorization of some statements fixed.
              - modified to check CALL statements for MERLIB routines

New Programs:

FILTER        - replaces ASCII characters or strings with other characters
                 or strings.  Note: this program replaces CAPITAL, CHANGE,
                 ASCII, and DEASCII which will be removed from the next
                 release as a result.
CLEANUP       - a source code cleanup program.  This program replaces the
                 functions of CCLEAN plus adding a great many more functions.
                 As a result, CCLEAN will be deleted from the next release
                 of the tools package.






Version III.1                                           April 1987

Modifications:

CHECK72       - modified to accept lists of files and wildcard inputs.
CLEANUP       - modified to check for author information file 'AUTHOR.DAT'
                in default login directory
FILTER        - modified to accept lists of files and wildcard inputs
                and outputs.
              - fixed bug in interpreting qualifiers
FORTVMS       - modified to accept lists of filespecs and wildcard inputs
MERLIB        - new routines, GETOKE modified to allow lowercase letters
STRIP72       - modified to accept lists of filespecs and wildcard inputs
UNTAB         - modified to accept lists of filespecs and wildcard inputs
VMSFORT       - modified to accept lists of filespecs and wildcard inputs

Deletions:

CAPITAL, 
CHANGE        - replaced by FILTER
CCLEAN        - replaced by CLEANUP





Version III.2                                           August 1987

Modifications:

BUGOUT        - fixed bug in VARIABLE checking
EIGHTY/UNEIGHTY - modified to not use column one.  This prevents possible
                confusion with JCL or DCL characters in that column.
CLEANUP       - fixed bug in spacing statements





Version III.3                                            December 1987

Modifications:

MERLIB        - Modified routines GETFDIR, GETFTYPE and GETFVERS to include
                the punctuation.
FILTER        - Bug fixed in string replacement section.
BUGOUT        - FORTRAN carriagecontrol replaced with LIST carriagecontrol,
                NOPRINT option added, POSTBUG modified to parameterize column
                numbers to better read the .LIS file.
              - Variable uniqueness checking added to POSTBUG.
CLEANUP       - Bug fixed in routine to process option strings.

Deletions:

MERLIB.FOR    - the file MERLIB.FOR was deleted since the full source code
                for MERLIB is kept in MERLIB.TLB, which is easier to handle.
                The few MACRO routines are still kept in MERLIB.MAR.



Version III.4                                            June 1988

Modifications:

CLEANUP       - the file CLEANIT.COM was inadvertantly omitted from the
                version III.3 release.... SINCERE apologies to anyone affected
FILTER        - added /EXACT and /LOG.  Fixed small bugs.  Minimized creation
                of new versions of file if no changes were made.  Double
                quote character now properly handled.  Modified to include
                /AT and /EVERY qualifiers for the /UNTAB option.
NAMEIO        - INCLUDE statement added.  The WRITEC routine (previously
                removed) was restored.  "CHARACTER variable*len" statement
                added.
GROK          - modified to print the length of the longest page (i.e.,
                the number of lines between form feeds).
UNTAB         - bug fixed in /AT and /EVERY.  Note: UNTAB will be deleted
                next release since FILTER now performs this function.
BUGOUT        - PREBUG: replaced routine GETSTM with call to MERLIB routine
                GETSTM; parameterized length of subprogram names.
MERLIB        - new routines added.  Cleaned up internally.  The file
                MERLIB.MAR from previous releases has been deleted.  The
                member MACRO in MERLIB.TLB now contains the macro sources.

New Programs:

SEND          - program to send a message to users (used in BATCH jobs).
FIFE          - the Friendly, Interactive FORTRAN Environment is a general-
                purpose executive for utilities written in FORTRAN (or other
                languages with compatible features).  It is user friendly,
                extensible, and efficient.  Preliminary version.




Version III.5                                            July 1988 

Revisions:

EIGHTY/UNEIGHTY - modified to quote control characters and eight bit characters
                  to prevent conflicts with transmission protocols.
BUGOUT        - Modified to call MERLIB routine PUTSTM; length of names 
                  increased to 12 characters. 
NAMEIO        - added PARAMETER statement.  Added a common block with unit
                  numbers and error flag.  Improved format of output and
                  made it more compatible with input.
CLEANUP       - added VAX D_LINES option; added checking and conversion for VAX 
                  tab/continuation format.
MERLIB        - many new routines.

Bug Fixes:

BUGOUT        - Bug fixed in POSTBUG: maximum number of references on line of 
                  .LIS file now calculated by program (hard coded before).
NAMEIO        - When arrays were dimensioned in type statements, it didn't
                  use proper index.




Version III.6                                            October 1988 

Revisions:

BUGOUT        - Modified documentation to list maximum storage limits for
                 number of subprograms, variables, common blocks, etc.
              - Increased number of COMMON blocks from 100 to 150.
              - Increased number of references to a variable/array from
                200 to 225.
              - maximum number of COMMON blocks per subprogram increased
                from 50 to 60 and PARAMETERized this number; modified to
                use only system logical unit numbers (ARTA local standard).
              - fixed to not delete all .DIC files with same name as
                 input file; fixed bug in FUNCTION handling
              - bug fixed in label checking.
FORTLIST      - Modified to accept lowercase source code for input.  Print
                 only as many characters as needed (shortens output file).
FILTER        - /FORTRAN option of /UNTAB was added to change from DEC's
                 alternate source format into standard format.  /EXCLUDE
                 qualifier added.
              - Bug fixed in string replacement option.
FS            - Allowed version numbers and multiple qualifiers.
GROK          - Access to input files made READONLY.  More information
                 displayed.  /EXCLUDE and /OUTPUT qualifiers added.
INCLUDER      - Improved interpretation of comment cards.  Made access to
                 input files READONLY.
NAMEIO        - Modified to produce FORTRAN 77 compliant code (except for
                 the call to MERLIB routine COMPRESS).  Previously, extremely
                 large numbers of variables could result in statements with
                 more than 19 continuation cards; this was fixed. The default
                 input file type was changed to .CMN instead of .FOR, and the
                 default output filename was changed to the same as the input
                 file but with type .FOR.  Include files are now opened
                 READONLY.  ECHO option added.
MERLIB        - a number of new routines were added.  T$RAP and UNT$RAP were
                 deleted as they were replaced with other routines.

New Programs:

INSTALL.COM   - a procedure to help automate installation and update of
                 the tools package.
SMALL         - used to break big text files into small ones.
RPURGE        - do a "reverse purge".  In other words, delete all but the
                 OLDEST version of the specified file(s).

Deletions:

UNTAB         - FILTER does it... one less program to maintain.



Version III.7                                                      July 1989

Revisions:

MERLIB        - SCOLOR routine added.
FORTLIST      - Top and bottom of page labels improved.

Additions:

LADAM         - .COM file to aid maintenance of libraries.



Version III.8                                                     July 1990

New Tools:

TOUCH         - set a file's revision date.

Revisions:

MERLIB        - TRIM, ACOLOR, EDIT, CURSOR_LEFT, CURSOR_RIGHT, SAVE_CURSOR,
                 RESTORE_CURSOR, PRINT_FILE, STRPSTM routines added.
                Entire library cleaned up and recompiled.
FILTER        - added EDIT feature to string replacement (see HELP FILTER 
                 /KEYBOARD for details).
GROK          - added /TOTAL flag.
BUGOUT        - CPU time instrumentation made substantially more accurate;
                support added for VAX specific statements BYTE, UNION, MAP,
                STRUCTURE and RECORD; FORTRAN statement length increased to 
                3000 characters with up to 50 continuations.

Bug Fixes:

FORTLIST      - Bug in previous "improvement" fixed.
              - Allowed "!" comment cards.
MERLIB        - Bugs in routine GETSTM fixed - DEC tab source and 
                  "!" type comments.
                READQ fixed to pad string with spaces.
                GETFILEX had a bug in the exclusion list section.
STRIP         - increased file name to 80 characters.
GROK          - Long filenames could not be printed out.
FILTER        - new file not saved if no changes made.




Version III.9                                             November 1990

Bug Fixes:

MERLIB        - minor bug fixes to routines GETSTM, MERGE/I/R, PUTSTM, SCALE, 
                 SEARCH1, UNTAB, WILD_MATCH
              - documentation error for NAME_TO_PID fixed
              - new routines
CLEANUP       - minor bug fixed in routine GETCRD that checks for control cards 
BUGOUT        - bug fixed in VERIFY checking regarding COMMON blocks with
                 variables intialized in DATA statements
              - increased number of characters in subprogram names for TIME
                 printout
              - bug fixed : COMMON,NOVERIFY,NOVARIABLE options together
                 would produce no COMMON checking output
              - COMMON checking changed so that if an alignment error is found,
                 the size of the COMMON block is reset to the new size, thereby
                 producing fewer redundant error messages
NAMEIO        - major update fixing many of the previous problems, including
                 the poor handling of strings




Version III.10                                          November 1991

New Tools:
PAGER         - maintain paginated listings (such as MERLIB.DOC)
FPP           - the FORTRAN PreProcessor

Modifications:
BUGOUT        - Fixed bug in BATBUG.COM causing two bug pictures to be appended
                to BUGOUT.OUT
              - Modified to only append data dictionary to output file if the 
                DICTIONARY option was selected 
MERLIB        - the documentation file is now provided in a format compatible
                with PAGER.  
              - new routines.
              - GETFOR improved with quotes and robustness.
              - GETUSER now pads user name with spaces.
MAIN.FOR      - print a message if no files are selected for processing.
INSTALL.COM   - corrected to reflect new tools.
FILTER        - it is no longer possible to get into an infinite loop by
                replacing a string with itself or back and forth.
NAMEIO        - bug fixed when an indexed array element appears in input
                stream.  Efficiency improved slightly.  Quoted string handling 
                bug fixed.