
V0100 1-jan-1991
First release, it was a long time ago
031 1-apr-2003 
Initial distributed release

V0320 1-jun-2003
1. Added open/close/add/remove command in interactive mode
2. Fixed a bug in all_display modes when asking for record-offset.
   The previous version crashed the second time this procedure was called
3. Updated the display_all mode to make it more readable
4. Fixed a filesize error in display files.
5. Added support for user definable keys. See the help for more info

V0321 1-jul-2003
1. Added support for logical symbols and & (and) and | (or) operator
2. Enhanced parsing of expressions
3. Fixed stackdump on help function in screen mode

V0330 1-sep-2003
1. Added support for fields that contain links to other files
2. Enhanced parsing of expressions
3. Support for user textlibrary for description records.
4. New functions (%(B)LOC, F$(F)TYPE, F$(F)EXISTS, F$CHECKSUM
5. Support for while/endwhile in scripts

  Known problem: While it is possible to "GOTO" into or out of a 
  while/endwhile structure, this is not supported , and will be disallowed
  in a next version.
V0340 1-oct-2003
1. Added  IF()THEN/ELSE/ENDIF,
          FOR K=BEG,END[,INTERVAL]/ENDFOR
          REPEAT/UNTIL
          CALL,SUBROUTINE,ENDSUBROUTINE
          LEAVE
2. Fixed GOTO problem
3. Added functions F$ENUMERATE
                   F$GETDVI with some fields
                   F$FILE to get file information about the open file.
                   F$FIELD to get field information
                   F$TRNLNM
                   F$ENUMERATE to list all descriptor entries
                   F$DATE 
                   F$RANDOM

4. Added parameters for @ and call
5. Added local symbols, see help in dix/help.
6. Added new symbol type "date"

V0350 1-mar-2004
1. Added commands  LOOP/TESTLOOP/ENDLOOP
                   CYCLE
                   ENTRY 
                   declaration statements (REAL/LOG/CHARACTER/DATE/INTEGER)
2. Added functions F$ENVIRONMENT 
                   F$FAO
                   LOGICAL
3. Changed the maximum stringlength from 255 to 65535
4. Fixed some bugs in output handling
5. Added UNIX wildcard matches
6. Added define/key for interactive mode and startup
   Changed the keydefinitions for screen mode to define/skey
7. Added display of VFC data from the file mode, and include /display qualifier
8. Added strict mode for explicit declaration
9. Added screen-mode display in interactive mode (SMG)

V0351 1-jun-2004
1. Added a show version command
2. Updated the show file /all command.
3. Added the oneline command to interactive mode
4. Restored the /MUTI_FILE functionality
5. Added function(s) F$INSV,F$EXTZV,F$EXTV
6. Fixed a bug when changing length of fields in screen mode
    Data was not correctly copied.
7. Fixed a bug when changing length of fields in interactive mode
    Record length was not adapted for idx/rel (not fixed) files.

V0400 13-sep-2004
1. Added user defined types. See help about user defined types.
   This allowes the user to define his own datatypes.
2. Added function NOT, ODD, EVEN
3. Fixed bug in label accessibility. Sometimes lables could not
   be found, while they should have been found.
4. Fixed bug in interactive mode. When depositing text all text was 
   uppercased.
5. Added /UPPERCASE and /LOWERCASE to descriptor entries
6. Added the reference to fields from non-current file/descriptions
    e.g. filetag\descriptiontag\fieldname
7. Added unsigned qualifier for examine in raw mode

V0410 8-jul-2005
1. Added the /LIMIT qualifier to stop a repeat sequence
2. Added the POINTER statement to allow pointer in records
   See the help about pointer_syntax
3. Added support for IEEE reals. We now accept the real types
   REAL_F,REAL_G,REAL_D,REAL_H,REAL_S,REAL_T,REAL_X
   REAL*nn are accepted as aliases, with different policies for
   the different platforms (see the help). 
4. Added the SET REAL FORMAT, and SET REAL SIZE command to
   allow the real symbols in any (supported) precision.
5. Changed the EXIT command to do the exit dependend on data.
6. Leave the text on screen after EXIT (screen mode).
7. Better support for VFC files. In screen mode the screen will display
   two displays (one for the data and one for the VFC data).
8. The /EQ,/LT,/LE,/GE,/GT,/RECORD are now position dependend
   So you can now open mulitple files, each with their own record specification.
9. Added the /locking qualifier . See the help
10. Major rewrite for the RMS library
11. Added /CSV in file mode, This allows you to generate a CSV 
   (comma separated values) file for import to excell
12. Fixed a bug for the RBITS value. This conversion did not function 
    correctly when you specified field=+value (addition of one bit).


  Since I no longer have access to an IA64 machine, I cannot compile the
  newer versions. I successfully compiled the 4.0 version to IA64, so it should
  be possible to build dix0410 and later on IA64, if you have the fortran compiler.

V0411 13-sep-2005
1. Added set process/name= command and the F$environment("PRCNAM")
V0412 28-oct-2005
1. Added f$add, f$sub, f$mul and F$divide
2. Added recall statement in the interactive mode

V0420 16-nov-2005
1. Added contional statements #IF,#ELSE,#ELSEIF,#ENDIF in descriptions
2. Fixed a bug in delete/symbol
3. Allow symbols to start with an _
4. Added #MESSAGE in descriptions
6. Enhanced the find options (record search)
7. Added the set file/[no]modify in interactive mode
8. Added the /relative qualifier for the position in the descriptions
  I have access to an IA64 machine now, so the kit now again includes
  the IA64 objects and binaries
V0421 1-jan-2006
1. Added the %Recordnumber() function
2. Fixed a bug in the create record when no description available
3. Fixed a bug in the control code for exit with modified data
4. Added show release_notes command
V0430 21-jan-2006
1. Greatly enhanced the record search. You can now search in (fields of)
   multiple records with a lot of compare options. See the help about
   record_seaches.
2. In the interactive mode , the FIND and SEARCH commands have be changed.
   THe FIND now searches data in the record, the SEARCH records in the file.
3. Added the SHOW SEARCH, SET SEARCH and the EDIT SEARCH commands.
4. Added the set integer size 8 on alpha and ia64 (sorry not on vax)
   This allows symbols with 64 bit integers and all operations on them.
   Fields with 64 bit integers have always been supported.
5. Enhanced the CSV in dump/file.
6. Included a DUMP command in interactive mode (including a CSV qualifiers)
7. There was a problem with the make-file. The procedure used an undefined 
   symbol SAY. This problem is solved.
8. There was a link problem with older (pre 7.3 Alpha) versions of VMS.
   DIX used the routines OTS$CVT_T_S (concert text to bin for REAL*4 IEEE)
   and OTS$CVT_T_T (convert text to bin for REAL*8(IEEE). I replaced 
   these routines, and this problem should no longer occur.
V0500 1-may-2006
1. Enhanced the wrap. Sometimes DIX would wrap output lines when not necessary.
2. Enhanced qualifiers for the DUMP command.
3. Changed the record header for dump/file to a one line display containing
   recordlength,recordnumber,vfc_record size and RFA. The output to symbols 
   is still separated.
4. Fixed some integer*8 problems
5. Added the FILECOUNT() function.
6. Enhanced the values for /FIELD and /SELECT to optionally include a
   filenamemask and descriptionmask
7. Changed the name of the BINASC key (TAB) to NEXT_WINDOW.
8. Fixed a small problem with the /next_record search qualifier.
9. Added the /FORMAT qualifier and the SET/SHOW format command, to allow
   the display of unprintable data in character strings.
10. Fixed a bug in the raw screen display with scrolling. If the data contained
     more than one screen, the display went wrong.
11. Inluded the MOUSE-usage on a decwindows-terminal, and menu_key in screenmode.
12. Included the context for a key definition. This allow you to define
     keys with different meaning in different screens. 
13. Added funtions BTEST, IBSET and IBCLR (bit manipulation)
14. There was a problem with hex input for character fields, that has been solved
15. Fixed some (non-)alignment problems on VAX
16. Fixed the (signed) display of bytes and words. They were converted as unsigned data
17. Included the DEMO mode
18. Added the RFA of the current record to the header in screen mode (thanks to Hein)
19. Fixed an error when doing screen_print and leaving the filename empty.
20. Added binary and octal display in all modes
21. Added support for previous record for an indexed and a relative file
22. Changed the key PF1-H to PF4-H and v.v.
23. Changed the search order for .des files, first currentdir, then filedir
     then userlib and finally systemlib
24. Added fieldnames for dates (none, expired etc). If you have your own descriptions
    with date types, make sure you add the [0=none] to the description line
25. Added new datatype deltatime
26. Added symbol substitution for verbs. 
27. Added the f$mode and the f$radix function
28. Added the decimal symbol type and the [u]decimal datatype.
29. The set strict command is now per level. Each @file can set its own.
30. Added the f$verify function.
31. Removed the "onelinecommand" from interactive mode, but added a
    /command=("command1","command2",..) qualifier.
v0510 8-jun-2006
1. Added the #IFDEF function for conditional expansion of descriptions
2. Fixed a problem with "fixed" symbols. If you explicitly declare a
   symbol with a type, DIX did not always forbid you to change the type.
3. Added the /FAST qualifier for the search commands. If you use this
   qualifier, DIX will bypass RMS, and it may be faster. See the help
    dix/help record_search/fast
4. Allow /record on indexed files, together with the /key, you now can
   read record "n" on key "key"
5. Allow search selection on record_length with lt,le,eq,ge,gt and range.
6. Included a /rfa= qualifier to select a specific record.
   the previous /rfa qualifier is replaced with the /mark. See the help
V9999
Known restrictions.
1.
 When using GOSUB, the RETURN statement must be at the same syntax level
 as the entry point. This is NOT checked, and violation will result in
 strange behaviour. This problem does not exist with the CALL statement.
 Example
  IF (exp) THEN
    Statement
    WHILE (expr)
      Statement
      GOSUB test
    ENDWHILE
  test:           -
    Statement     |
  ENDIF           | Gosub/return block runs into an endif
 statement        | Not supported
 RETURN           -

  IF (exp) THEN
    Statement
    WHILE (expr)
      Statement
      GOSUB test
    ENDWHILE
   goto lab1	 Do not runinto, since RETURN will be unexpected
  test:           -
    statement     | Gosub/return block at the same syntax level
    Statement     | This is supported
    RETURN        _ 
 lab1:
  ENDIF           

2. For the not-native real values 
    a.REAL_S, REAL_T and REAL_H on VAX
    b.REAL_H                    on Alpha/IA64
    c.REAL_F, REAL_G and REAL_D on IA64

   Conversions are done via tranformations to the other equivalent types

    a. REAL_S via REAL_F, REAL_T via REAL_G, REAL_X via REAL_H on VAX
    b. REAL_H via REAL_X on Alpha/IA64
    c. REAL_F via REAL_S, REAL_G and REAL_D via REAL_X on IA64

   Since not all types have exactly the same range, some data will convert
   to overflow on one platform, and not on the other. This will only happen
   on data near the edge of the range, and should not make a difference
   for normal values.
