As far as the developers know, there are no problems that you will encounter when updating to A-Shell 6.4, assuming that your starting point is A-Shell 5.0 or later. If you are updating from a 4.x version of A-Shell, please contact MicroSabio to make sure you have the relevant documentation.
Compatibility
A-Shell 6.4 is fully compatible with A-Shell 6.0, which in turn was highly compatible with version 5. No file or program conversions or other modifications are required for the update. All BASIC source code and compiled RUN code is upward compatible, as are all command line switches and CMD/DO files. Of course, if you have a critical production environment, you should probably set up a parallel test run just to make absolutely sure; see Parallel Testing below.
One area of potential concern would be in complex GUI operations, particularly XTREE, where the interface complexity of the control and the vast number of enhancements to it increase the possibility of a subtle differences. But as of the 6.4 release date, there are no known compatibility problems upgrading from 5.0 to 6.0, or from 6.0 to 6.2 or 6.4—or directly from 5.x to 6.4 and skipping any intermediate versions.
Note that updating over the top of an existing version will preserve all existing INI and most other configuration files. Any files that are replaced will be backed up in a subdirectory called BACKUP, in case you need to retrieve or compare them.
If updating from a 4.x version of A-Shell, please consult the release notes for compatibility details. In particular, search for "decimal PPNs", which were introduced in A-Shell 5.0, causing certain known issues with certain known subroutines that manipulate PPNs using 1 byte binary variables.
Recompilation is not necessary but is recommended, as improvements to the compiler may pick up errors that were missed earlier.
Programs that worked under 6.0 may be compiled under 6.4 and will still run under 6.0. Programs using language runtime features introduced in 6.4 will obviously be not backwards compatible. They may launch, but will abort with illegal instruction errors when they encounter a feature that didn’t previously exist.
The qflock.sys and jobtbl.sys files remain compatible from 5.0 thru 6.4. In fact, different versions can run simultaneously, sharing the jobtbl and queue.
Parallel Testing
The best and safest parallel test is one that is totally separate from the production system. Just make a copy of your entire A-Shell directory tree (e.g., /vm to /vm62), install A-Shell 6.4 into the new directory tree, and run some parallel tests. Another approach would be to install A-Shell 6.4 into a new directory tree, but point the data devices and QUEUE in the MIAME.INI to the original devices and QUEUE, so that your earlier copies of A-Shell are accessing the same data and job table. Note that the one DEVICE location which you may not want to share is DSK0:[1,4], since although earlier versions of LITs are compatible with 6.4, the reverse may not be fully true for some LITs.
For example, assume these excerpts from the MIAME.INI in your original, production copy of A-Shell:
DEVICE=DSK0 c:\vm\miame\dsk0\
DEVICE=DSK1 c:\vm\miame\dsk1\
...
QUEUE=100,DISK:c:\vm\miame\qflock.sys
In the new copy, which we'll say you installed in c:\vm62, you would use the following:
DEVICE=DSK0:[1,4] c:\vm62\miame\dsk0\001004\ ; separate new DSK0:[1,4]
DEVICE=DSK0 c:\vm\miame\dsk0\ ; share rest of DSK0:
DEVICE=DSK1 c:\vm\miame\dsk1\ ; and DSK1:
...
QUEUE=100,DISK:c:\vm\miame\qflock.sys ; and the QFLOCK (and JOBTBL)
Once you've completed your tests, you can complete the upgrade by performing a normal update installation of 6.4 over the top of the existing old A-Shell directory tree.