============================================================================ A-Shell Release Notes Version 7.0.1757.2 (07 April 2024) ============================================================================ 1. XTREE bug fix: date sorting was using DMY format in some cases where it should have been MDY. (Introduced in 1757.0) 2. Tracing refinements: - Add ashlog messages "Suspend", "Resume", "Open Lid" and "Close Lid" for Windows to track power-related events. (Requires TRACE=INOUT). - Add "Demo mode warning" ashlog message, logged when the Demo Mode warning is displayed. ============================================================================ A-Shell Release Notes Version 7.0.1757.1 (22 March 2024) ============================================================================ 1. Stack trace bug fix: XCALL AMOS sequences were corrupting the call trace stack, resulting in "stack trace buffer corrupted" messages in the ashlog. (The problem didn't affect operations other than RUNPROF.LIT.) 2. RUNPROF.LIT 1.1(115) update - several bug fixes, varous refinements to the output format. ============================================================================ A-Shell Release Notes Version 7.0.1757.0 (21 March 2024) ============================================================================ 1. ASHMONTHCAL control enhancement: you can now set various color attributes for the control. To begin, you must first create the control with the MBF2_NOTHEME bit set (otherwise colors are controlled by the Windows theme). Then, after creating the control, set individual color attributes using the same general technique as for setting date range and day states, i.e. via a control string sent in the ctext$ parameter with the cstate parameter set to MBST_TEXTONLY: xcall AUI, AUI_CONTROL, CTLOP_CHG, ctlid, ctext$, MBST_TEXTONLY where ctext$ should set to the an attribute name string followed by a colon followed by hex representation for the blue, green and red color values, e.g. AttributeID:&hbbggrr The available attributes for which colors can be set are as follows (not case sensitive): AttributeID Description ------------------- ------------------------------------------------- SETCOLOR_BACKGROUND Background (area outside the calendars but inside the control borders) SETCOLOR_MONTHBK Background for the calendar(s) SETCOLOR_TEXT Color of the text within a month (days) SETCOLOR_TITLEBK Background of the title area SETCOLOR_TITLETEXT Title text color SETCOLOR_HDRTRAILINGTEXT Text color for the display header day and trailing day text (leading and trailing days from previous and following months) Example: ctext$ = "SETCOLOR_MONTHBK:&heecc88" xcall AUI, AUI_CONTROL, CTLOP_CHG, ctlid, ctext$, MBST_TEXTONLY 2. ASHNET2.DLL 2.5.212 update to component / dependent libraries: - ZLIB 1.3.1 (up from 1.2.11) - LIBSSH2 1.11.0 (up from 1.9.0); - OpenSSL retired; replaced with Windows native backend WinCNG 3. ASHNET.DLL 1.14.192 update - FTP2 fix for issue with servers that issue an intermediate 150 response indicating a delay for anti-virus scanning. - FTP2 XFTPF_RENAME no longer invalidates the cached directory contents (eliminating a directory reload for a slight performance improvement). - FTP2 safeguard added to block an empty string from matching all files in a wildcard delete operation. (Now returns an error.) - SFTP mitigation of SSH Terrapin Attack by adjusting the availability of of the supported SSH algorithms. 4. XCALL GET enhancement: new bit option (&h02) defined for the flags parameter to strip LF from input when preceded by a CR. (Maybe be useful when receiving character streams from Windows clients.) 5. New system parameter option SBR=GET_CRNL2CR automatically sets the &h02 flag in XCALL GET (see above). 6. XCALL SBX bug fix: close a gap in the lookup routine causing about 0.4% of the possible SBX names to fail to execute. 7. XTREE - various bug fixes ... - Changing a checkbox or radiobox cell from a numeric value to a " " was failing to remove the empty box. - Certain combinations of autofilter and either cell colors or the "P" code were resulting in a data shift in those columns on re-entering the tree. - Autofilter was conflicting with split mode, resulting in a crash on exit from the tree. - Row colors were over-riding RGBbg# colors on re-entry. - Some column widths (set by Dspwid) were getting increased during re-entry, resulting in an unnecessary horizontal scroll bar. 8. AUI bug fix: dialog sizes saved and restored by MBF2_DLGSTATE were in some cases shrinking by a few pixels each time. ============================================================================ A-Shell Release Notes Version 7.0.1756.5 (01 March 2024) ============================================================================ 1. XCALL STRIP bug fix: starting in 7.0.1754.0, it began removing all trailing characters from ASCII 1 to 32. It now removes just spaces and tabs. 2. (64 bit Linux) LOKSER-style file locking was incorrectly being limited to 32 bit offsets; it now accesses the full range up to 64 bits. As part of this fix, the LOCK traces now show the offset values in hex to make them easier to read. 3. INMEMO compatibility fix: the minimum allowed number of parameters has been reduced from 10 (established in 7.0.1754.0) to 9, recognizing that the VSPEC (10th) parameter has always been optional (defaulting to 100 rows by 132 less the starting column columns). 4. CSV2XL.SBX 2.2(294) & 2.2(295) optimization: significantly reduce memory requirements for complex and/or large spreadsheets with a lot of cells or rows with non-generic formatting. The resulting XLS/XLSX files are now slightly smaller, but more importantly require much less memory to build and to display. (In some larger files, this will make the difference between CSV2XL crashing during the generation and now working.) 5. XTREE refinement: quadruple the amount of storage area reserved for the Advanced Coldef Option 'Data'. (In response to the error "Exceeded maximum storage for xtree data...".) ============================================================================ A-Shell Release Notes Version 7.0.1756.4 (26 February 2024) ============================================================================ 1.(Windows) Bug fix: Reinstate XCALL RXTERM (which was accidentally removed from the XCALL table in 7.0.1754). ============================================================================ A-Shell Release Notes Version 7.0.1756.3 (25 February 2024) ============================================================================ 1. VUE 3.2(381) bug fix: creating a new file and then using Quit to exit was leaving a one byte file on disk. It now leaves nothing behind. 2. VUE 3.2(381) enhancement: new INI.VUE option: SAVEBAK = When set to TRUE, each SAVE operation (whether explicit or triggered by the AUTOSAVE feature) starts by copying the file being edited to the .BAK file prior to the SAVE operation. The default is FALSE (traditional behavior) in which the SAVE operation does not affect the .BAK file. 3. INIX.SBX 5.1(523) bug fix: - Edit 522 was trimming off control leading and trailing control characters from the returned value, which could be a problem if retrieving encrypted values. Edit 523 changes that to just trimming spaces and tabs. ============================================================================ A-Shell Release Notes Version 7.0.1756.2 (20 February 2024) ============================================================================ 1. (Linux/64) Bug Fix: XCALL ITC (used by SEND, JSTAT, FORCE, etc.) wasn't working properly in the A-Shell 64 bit environment. ============================================================================ A-Shell Release Notes Version 7.0.1756.1 (20 February 2024) ============================================================================ 1. Compiler bug fix (edit 1044) - With the /X:2 switch, an OPEN statement whose RECNO variable was the last variable MAPped was generating a spurious illegal variable size error. 2. (Linux) Command line switch bug fix: the -j switch was not working properly if the jobname evaluated to a 5 character string plus a trailing "%" character, i.e. -j $JACKM% 3. QUTL.LIT 3.1(135) fixes bug in the ZAP function whereby it was not accepting an explicitly typed jobname. (Selecting the job from the pick list worked as expected.) ============================================================================ A-Shell Release Notes Version 7.0.1756.0 (19 February 2024) ============================================================================ 1. MX_COMPIL enhancement: add new parameter memreq to allow routine to request an amount of memory for the compiler that is larger than the current memory partition. New syntax: xcall MIAMEX, MX_COMPIL, filename,switches{,defbuf,vcpatter,status,memreq} Where memreq, if specified, is the number of bytes (not Kilo or Mega) requested. Request only has an effect if it exceeds the amount of memory currently allocated and available to the job. 2. Language enhancement (compiler edit 1043): New statement: EXITPROGRAM exits directly from a function or procedure, regardless of how nested, to a special label $EXITPROGRAM: in the main program (or to the END if the $EXITPROGRAM label doesn't exist). Although this is effectively an unstructured GOTO, it handles the stack cleanup and provides an solution to the problem of how percolate the desire for a program exit up from a nested function to the top level. The EXITPROGRAM token can also be used in a RESUME statement in place of EXITFUNCTION, EXITPROCEDURE, or $EXIT... RESUME EXITPROGRAM {WITH_ERROR {N}} RESUME $EXITPROGRAM {WITH_ERROR {N}} ! (equivalent) 3. Bug fix: the .MONTH dot variable was always returning English month abbreviations (rather than those defined in the LDF). 4. (Windows) Technical adjustment to the ashw32.exe manifest to eliminate the spurious Windows Event Log side-by-side errors referencing conflicting architecture versions of the common controls. ============================================================================ A-Shell Release Notes Version 7.0.1755.0 (10 February 2024) ============================================================================ 1. Windows 11 Printing Refinement: A-Shell/Windows and ATE now force Windows to use the traditional print dialog rather than the newfangled Windows 11 version (which isn't well suited to our purposes). 2. XCALL MSGBOX bug fix: close a GPF loophole if 4 or more long tooltips specified. 3. XTREE bug fix: in trees with multiple editable date picker cells, in some cases the second cell edited would pick up the first cell's date. 4. EMAILX.SBX 7.0(147) refinements: - Attachment names now appear in their original case (previous were folded lower case which may have triggered some spam filters). - The RTNADDR directive and FROM parameters can now include descriptive names, for example: (in the CFG file)... RTNADDR = MicroSabio HQ or as a parameter... FROM = White House (Previously, only unadorned name@domain addresses were supported.) 5. EMAIL.SBX 7.0(148) refinement: a descriptive name included in the 'from' parameter or RTNADDR configuration file directive will now appear in the header seen by the recipient, if no explicit "From:" clause is included in the XCALL 'header' parameter. (Previously, if not specified explicitly, the recipient would see only the unadorned version of the 'from' address, e.g. name@domain.) 6. INIX.SBX 5.1(522) enhancements: - Files without [sections] supported (set 'section' parameter to ""). - Spaces and tabs are now allowed between the item key and the "=". (Value returned on read operation will be trimmed of leading/trailing spaces and tabs.) 7. APPEND.LIT 2.2(118) - remove spurious 'Invalid Command' message prior to the /? help display. 8. CREATE.LIT 1.0(103) - add /? help support. 9. DING.LIT 1.0(101) - add /? help support. 10. ISMUTL.LIT 1.4(145) - fix help display (as missing /W) 11. ABOUT.LIT 2.2(112) - minor aesthetic adjustments to the layout. 12. CSV2XL.SBX 2.2(293) - refinement to avoid splitting a quoted field on an embedded delimiter if the field also contains pairs of matching nested quotes, e.g. "Arny "Guv" Schwarz, Esq.", ... ============================================================================ A-Shell Release Notes Version 7.0.1754.3 (29 January 2024) ============================================================================ 1. Drop support for the (long deprecated, now obsolete) FTPDLX COM XCALL and redirect XCALL FTPDLX to XCALL FTP2. No compatibility issues expected although any code using the old FTPDLX should probably be updated and retested. 2. COM XCALL bug fix: string arguments passed to COM XCALLs without a trailing null were appearing to the target as if concatenated to the next variable in memory. (This wasn't a problem for FTPDLX whose parameters are naturally variable length, but could have been a problem for some ADO calls referencing fields within a structure.) 3. Tracing refinement: the INOUT trace now appends "/64" to the version traced in the launch trace for 64 bit versions, e.g. A-Shell 7.0.1754.3/64 launched on pts/0:5117 by ashell 4. INFLD/GUI click handler bug fix: On some 64 bit platforms, a FUNMAP value of -1 was getting corrupted due to a sign-extension inconsistancy, resulting in some click events (those producing negative exitcodes) being ignored. ============================================================================ A-Shell Release Notes Version 7.0.1754.2 (28 January 2024) ============================================================================ 1. COM XCALL interface adjustment to restore compatibility with XCALL ADO (broken early in 5.1). ============================================================================ A-Shell Release Notes Version 7.0.1754.1 (24 January 2024) ============================================================================ 1. XTREE bug fix: close loophole whereby the header checkbox in a T++ column, particularly in the first position, might act as if disabled until another header button was clicked. 2. XCALL STRIP / TRIM bug fix: they were both erroneously removing control characters as well as spaces (problem introduced in 1754.0). ============================================================================ A-Shell Release Notes Version 7.0.1754.0 (23 January 2024) ============================================================================ 1. New MIAME.INI directive to fine-tune XCALL tracing: NOTRACE=name1,name2,... The NOTRACE directive disables specific traces that have been more generally enabled. Initially it only supports XCALL traces, so if TRACE=XCALL (either in the MIAME.INI or at run time via the SET command or system message window), the names listed in the NOTRACE directive will still not be traced. You may have any number of NOTRACE statements, and each one can have one or more XCALL names listed, but they must be comma-delimited, with no spaces. For example: NOTRACE=TRIM,FILL,MIAMEX,STRIP 2. Internal reorganization of the XCALL dispatcher logic to achieve an approximate 20% improvement in the performance overhead. (Probably not even measurable except for routines called at high frequency, perhaps STRIP, FILL, TRIM, etc.) 3. Close several potential segmentation fault loopholes related to XCALLs without providing a sufficient number of parameters. All XCALLs with a mandatory parameter should now display an explicit error message if not satisfied. 4. (Windows) Remove the COM interface dependency on the COM license bit. ============================================================================ A-Shell Release Notes Version 7.0.1753.5 (12 January 2024) ============================================================================ 1. Bug fix: ordmap iteration with a purely numeric starting key was failing. ============================================================================ A-Shell Release Notes Version 7.0.1753.4 (12 January 2024) ============================================================================ NOTE: the 7.0.1753.3 version resource indicated 1753.9 instead of 1753.3 (due to a typo); this will lead to a confusing request in the updater to confirm that you want to downgrade. Just say yes. 1. Bug fix: Adjust XCALL EXTRAI for change in XCALL handling of F6 params (introduced in 6.5.1628). 2. Bug fix: XCALL LIBRE was returning values 512x too small (due to confusion between blocks and bytes.) ============================================================================ A-Shell Release Notes Version 7.0.1753.3 (09 January 2024) ============================================================================ 1. PDFX refinement: workaround problem with //SETBRUSH HATCH mode lines being too dark as rendered by the PDF-XChange Standard (PDFX9) driver by converting it to a solid shaded background when outputing to that printer driver. 2. DIR.LIT 3.4(175) bug fix: the page breaking with /W/P was off by one file. ============================================================================ A-Shell Release Notes Version 7.0.1753.2 (06 January 2024) ============================================================================ 1. FTP2 refinement: GET operation now manually replicates the file.ext from the hostfile parameter if the localpath parameter doesn't contain one, eliminating one obstacle to switching from FTPDLX to FTP2. (In most cases, the file.ext defaulting is handled by the FTP/SFTP service anyway, but there are scenarios, particularly with SFTP, where FTP2 was failing due to lack of an explicit file.ext in the localpath.) 2. FTPDLX bug fix: resolve "Error pinging COM subroutine FTPDLX.SBR" error. (Problem was introduced somewhere during the introduction of support for 64 bit and/or the 6.5/7.0 version transition.) 3. ZTXFER.LIT 1.4(110) refinement: /2 mode (FTP vs FTPDLX) is now the default. To force FTPDLX mode, a new /1 switch has been added. 4. ZTXFER.LIT 1.4(111) bug fix: wildcard transfers were incorrectly reverting to FTPDLX mode. (Note that due to legacy compatibility restraints, the AG_FTP command used by ZTXFER only reports success or failure and thus cannot report the number of wildcard files transfered.) 5. AG_FTP bug fix: in FTP2 mode, it was confusingly reporting wildcard transfers as if an error had occurred (due to the non-zero return status), even though it correctly listed the files transferred. ============================================================================ A-Shell Release Notes Version 7.0.1753.1 (23 December 2023) ============================================================================ 1. 64-bit date processing bug fix. (Problem only appeared on CentOS 8, but might have caused subtle problems on other platforms.) 2. 64-bit adjustment to filidx parameter used by both XTREE and MX_FILEPOS. 3. DO file enhancement -- DO.LIT/MDO.LIT 2.1(129) -- support for new $ variables: $MMDDYY{+/-##} $DDMMYY{+/-##} $YYMMDD{+/-##} Each of these evaluates to current date in the specified format, with an optional +/- days adjustment. For example, if today was December 1, 2023, then: $MMDDYY equals 120123 $MMDDYY+15 equals 121623 $DDMMYY equals 011223 $DDMMYY-1 equals 301123 $YYMMDD equals 231201 $YYMMDD+32 equals 240101 ============================================================================ A-Shell Release Notes Version 7.0.1753.0 (20 December 2023) ============================================================================ 1. Job status tracking refinement - add current SBX name to the job control block (taking the last 10 bytes from the end of the message field), allowing utilities such as JSTAT.LIT to be able to see the currently executing SBX in another job. 2. JSTAT.LIT 3.3(114) enhancement - - add the current SBX (if applicable) to the display. 3. INSTR() refinement - add new MIAME.INI directive to completely disable the possibility of a single-character pattern in INSTR(pos,subj,ptn,flags) being misinterpreted by the regular expression processor as a pre-compiled pattern: OPTIONS = NOINSTRX_PCP ; No INSTR precompiled patterns Note that the issue was previously dealt with in 1752.4 which limited the range of possible precompiled pattern numbers to just five (ASCII 1 thru 5), and also introduced the PCREX_NOT_PRECOMPILED flag. This new option is mainly a convenience for developers who have a large number of INSTR() calls with externally supplied patterns and never user precompiled patterns (at least not with INSTR()), and want to completely eliminate all possibility of confusion, without having to review or recompile all of their code. Also note that this does not affect the ability to use precompiled patterns in explicit XCALL REGEX or XCALL REGEX2 calls. (And does not interfere with the transclude feature which relies heavily on precompiled patterns.) ============================================================================ A-Shell Release Notes Version 7.0.1752.5 (13 December 2023) ============================================================================ 1. Compiler (edit 1042) refinements: - Extend the 1041 edit to treat all case variations of a variable named DATN (datn, DatN, etc.) in a MAP statement, whether scalar or array, as entirely disabling recognition of the double-arctangent function (i.e. reverting entirely to the behavior before that function was introduced). - Compiler now complains about INPUT statements targeting an array or a gridmap that are missing the CSV token. Previously a statement like: INPUT #CH, ARY() was accepted and would work, but not necessarily in the way expected, leading to tricky-to-recognize bugs. (INPUT CSV is essentially a variation of INPUT LINE, meaning that each statement consumes one line of the file, regardless of whether there were more or fewer fields than expected or if the line ends with a comma.) 2. AUI bug fix - close a loophole resulting in failure of some GUI screens involving both TABX and MBF2_DLGNOCAP controls to properly restore from the minimized state. ============================================================================ A-Shell Release Notes Version 7.0.1752.4 (08 December 2023) ============================================================================ 1. Add REGEX flag PCREX_NOT_PRECOMPILED (&h08000000) to eliminate the ambiguity when passing a single-byte pattern to INSTR() or REGEX.SBR as to whether it represents a normal pattern or a previously precompiled pattern #. 2. INSTR(spos,subject,pattern,flags) now automatically assumes PCREX_NOT_PRECOMPILED unless the pattern is a single byte whose ASCII value is between 1 and 5. (This allows up to 5 pre-compiled patterns while minimizing the likelihood of accidentally confusing a normal pattern with a precompiled one. ============================================================================ A-Shell Release Notes Version 7.0.1752.3 (05 December 2023) ============================================================================ 1. MX_GTOCT bug fix: was working only for values up to 31 bits, after which it was returning negative or other wrapped-around values. Now works up to 63 bits. ============================================================================ A-Shell Release Notes Version 7.0.1752.2 (04 December 2023) ============================================================================ 1. MX_SINK, AG_SINKFIELD / AG_UNSINKFIELD bug fix: coordinates now match the documentation. 2. MX_OSVER / AG_OSVER bug fix: was previously reporting Windows 10 and 11 as "Win8". 3. Fix bad pointer reference in the error handler for failed FTP calls. 4. Compiler refinement (edit 1041): DATN is no longer treated as a keyword (double arctangent function) if it appears in a MAP statement first. ============================================================================ A-Shell Release Notes Version 7.0.1752.1 (24 November 2023) ============================================================================ 1. TABX display bug fixes - MBST_SAVRES feature was failing to restore certain nested controls, such as children of groupboxes, MBF2_DLGNOCAP panels and nested TABX controls. - Resizing the window wasn't properly resizing all of the controls. Note that for resizing of TABX controls to work reliably, make sure to use the two-step panel switch sequence (CTLOP_CLR on the 'from' panel, then CTLOP_PANE on the 'to' panel). 2. PDFX / Email refinement: support OAUTH2 authentication in PDFX Email Method 4. Use the access token (obtained independently by your application, probably using XCALL OAUTH2) in the Email.SMTP.Password directive, preceded by the prefix "[oauth2]", for example: //PDFX,Email.SMTP.Password,[oauth2]ya29.a0AfB_byBunmfPUnJuV0XI5i... Note that this also requires ASNHET.DLL (or libashnet.so) 1.14.191; see below. 3. ASHNET.DLL (Windows) and libashnet.so (Linux) 1.14.191 updated to support OAUTH2 authentication in PDFX Email Method 4, identified by the "[oauth2]" prefix on the password (see above). The update also fixes an issue with Email attachments when the file spec contained both forward and backward slashes. ============================================================================ A-Shell Release Notes Version 7.0.1752.0 (16 November 2023) ============================================================================ 1. Remove 'Beta' from the program title. 2. Extend the FOREACH enhancement (see 1751.0 below) to GRIDMAPs to simplify iterating across a single row; especially useful with the (int;varstr;varstr) variation. Examples: DIMX $GRIDI, GRIDMAP(int;varstr;varstr) ... FOREACH $$i in $GRIDI(3,3) ! iterate across row 3 FOREACH $$i in $GRIDI(SROW,EROW) ! iterate across row #'s SROW to EROW FOREACH $$i in $GRIDI(SROW) ! iterate from row # SROW thru last row 3. ASQL bug fixes to the ODBC connector: libashodbc.dll libashodbc.so.1.6.122 - Close a loophole that was leading to memory corruption in certain FETCH sequences involving more than 32 fields: - SQLOP_GET_STMATR, SQLOP_GET_CONNATR and SQLOP_SET_CONNATR weren't working properly. ============================================================================ A-Shell Release Notes Version 7.0.1751.9 (10 November 2023) ============================================================================ 1. AUI_CONTROL CTLOP_INFO further refinement to 1751.7 (see below) : when used on a TABX control, the current panel's cmd string will be returned in the ctext parameter. (The theory here being that depending on the app, it might be easier to identify the panel by the cmd string than by the panel #.) ============================================================================ A-Shell Release Notes Version 7.0.1751.8 (08 November 2023) ============================================================================ 1. ATE SFTP refinement: TAB(-10,AG_FTP) within an SSH connection (i.e. using SFTP file transfer) now automatically adds the file.ext from the localpath to the hostpath when transferring to the host and the hostpath does not include a filename and extension. (While it's often the case with file transfers, as with file copy operations, that a destination consisting of just a directory will be automatically updated to use the source filename, that is not the case with SFTP, often leading to confusion as to why file transfers fail. This refinement hopefully smooths things over.) 2. DIR.LIT 3.4(174) enhancement: new switch /SRUDATE is like /SUDATE (sort by file update date) except sorts in reverse date order instead of ascending date order. ============================================================================ A-Shell Release Notes Version 7.0.1751.7 (07 November 2023) ============================================================================ 1. AUI_CONTROL refinement: when used on a TABX control, the CTLOP_QUERY opcode now returns the current panel # (starting from 1) in the cstatus parameter if the control is found. Previously it returned the control id. Affects only the Windows client (or ATE), not the server side. ============================================================================ A-Shell Release Notes Version 7.0.1751.6 (06 November 2023) ============================================================================ 1. TRACE.PRINT bug fix: trace output messages were being truncated at the point of a %var (auto-mapped variable) in the variable list. ============================================================================ A-Shell Release Notes Version 7.0.1751.5 (05 November 2023) ============================================================================ 1. Debian 12 ("Bookworm") version beta release. The Ubuntu 22 and Debian 12 executables are cross-compatible, but the Debian 12 uses a newer version of GCC (12 vs 11) and uses separate package repositories. 2. ISAMA internal adjustment for compatibility with GCC 12 compiler (introduced with Debian 12). No change in runtime behavior except that ISMUTL now reports version 6.11t. ============================================================================ A-Shell Release Notes Version 7.0.1751.4 (04 November 2023) ============================================================================ 1. Minor Tracker refinement for server side of ATE sessions: tab(-1,254) now resets screen tracking (in addition to forcing any queued characters to be flushed to the screen). This is mainly intended to be useful after certain unusual terminal sequences in the ATE environment which don't otherwise have clearly marked terminators (particularly tab(-1,160) and tab(-1,162).) Note that there is never any harm in a redundant tab(-1,254) as long as it's not in the middle of a raw ESC sequence output. 2. Compiler (edit 1040) refinement: internal cleanup of potential 64 bit overflow issues. (Not believed to caused any problems yet.) ============================================================================ A-Shell Release Notes Version 7.0.1751.3 (02 November 2023) ============================================================================ 1. 64 bit Tracker bug fix: restore operation (whether via MSBOXX, SWPSBR or tab(-1,203)) was creating missing many characters. 2. Tracker/MSBOXX/SWPSBR refinement: hot spots created with tab(-1,162) are now saved and restored in ATE environments as well as pure Windows. However, because of certain design shortcomings in the TAB(-1,160) and TAB(-1,162) ESC sequences, in order to resume screen tracking operations after use of either of those TAB commands, you should follow with a TAB sequence that has an explicit start and end, such as TAB(-1,131);TAB(-1,129) (which outputs a null string to the bottom shifted status line). 3. WINFLG.SBR refinement: it now returns 1 indicating support for tab(-1,160) and tab(-1,162) if the current terminal driver is a "G" version (e.g. AM62G, AM75G, PCVTDV, ...). 4. Further refinement to the -wp{x} switch to limit maximization of dialogs to the prescribed docking area. Also, support two new size options (4 and 6) which are similar to 2 and 3 but result in the window occupying 40% or 60% of the relevant dimension (instead of 1/2 or 1/3). For example: -wpx l6 (A-Shell window gets the left 60% of primary monitor) -wp mr:br4 (A-Shell window gets the bottom right 40% of right monitor) ============================================================================ A-Shell Release Notes Version 7.0.1751.2 (01 November 2023) ============================================================================ 1. Minor refinement to the -wpx switch to improve the positioning of dialogs that have to be resized/repositioned to fit within the parent window. ============================================================================ A-Shell Release Notes Version 7.0.1751.1 (30 October 2023) ============================================================================ 1. Enhanced variation of the -wp (window placement) command line switch added in 1750: -wpx Action is the same as for -wp except that the -wpx version also does the following: - restricts dialogs to the boundaries of the main window - disables saving updated dialog positions (for MBF2_DLGSTATE and OPTIONS=AUTODLGSTATE). - disables application-level saving of current window settings via the AG_WINSETTINGS command. ============================================================================ A-Shell Release Notes Version 7.0.1751.0 (29 October 2023) ============================================================================ 1. ORDMAPM iteration bug fixes: the startkey enhancement (edit 1739) wasn't working properly with ORDMAPM. 2. ORDMAP/ORDMAPM iteration enhancement: an optional endkey parameter may now be specified in the FOREACH statement, whose syntax is now: FOREACH $$ in $({{,}) Examples: ! iterate for .key($$i) ... FOREACH $$i in $map() ! in entire map FOREACH $$i in $map("PA") ! >= "PA" FOREACH $$i in $map("PA","QZ") ! >= "PA" and <= "QZ" FOREACH'REVERSE $$i in $map("QZ","PA") ! <= "QZ" and >= "PA" Note that any program specifying the endkey parameter in an FOREACH statement will set the minimum version for the RUN to 1751. Previously compiled programs will continue to work as before. 3. LIBXL license updated thru Oct 2024. 4. Clean up three obscure cases of one MIAMEX function spillover: MX_MOUSEXLT -> MX_MEMORY MX_LODIMG -> MX_ATECTL MX_AGINTERPROC -> MX_IATIMEOUT 5. New A-Shell/Windows (or ATE) command line switch to override window position: -wp The placement spec is made up of an optional monitor identifier prefix and a window position spec within that monitor. Monitor identifiers consist of the prefix letter "m", followed by a character from the set of (l,r,t,b,c) indicating left,right,top,bottom or center, followed by a colon: ml: (left-most monitor) mr: (right-most monitor) mt: (top-most monitor) mb: (bottom-most monitor) mc: (center monitor) If not specified, or if the system has only one display monitor, the primary monitor is used. The window position spec consists of one or two characters from the same (l,r,t,b,c) set, followed optionally by one or two digits indicating the division of the vertical or horizontal space on the monitor. By convention, vertical position specifiers should precede horizontal (i.e. use "tl" for top left instead of "lt" for left top). The divisor digit(s) default to 2 if not specified. Some examples: t (use top half of monitor; same as t2) br (use bottom right quadrant; same as br22) bc23 (bottom half, center third of monitor) cc (centered vertically and horizontally, half width and height) A more complete example, specifying a window occupying the left half of the left-most monitor might look like this: ashw32.exe -i c:\vm\miame\miame.ini -wp ml:l2 gocmd 6. Tracker/MSBOXX/SWPSBR enhancement: hot spots created with tab(-1,162) are now saved and restored along with screen attributes when using Tracker calls or MSBOXX or SWPSBR to save/restore screen attributes. Currently this is limited to the Windows environment but may be extended to Linux via ATE in a subsequent update. ============================================================================ A-Shell Release Notes Version 7.0.1750.6 (26 October 2023) ============================================================================ 1. TABX bug fix - the forcedSize=# units were not being properly converted from {milliunits} to pixels. ============================================================================ A-Shell Release Notes Version 7.0.1750.5 (17 October 2023) ============================================================================ 1. XTREE Gridmap bug fix: XTREE was aborting if passed an empty gridmap. ============================================================================ A-Shell Release Notes Version 7.0.1750.4 (12 October 2023) ============================================================================ 1. INPUT CSV into gridmap refinement: non-trailing empty cells are now included in the gridmap. Previously they were not, which might have created confusion, particularly in the gridmap(int;varstr;varstr) case where a column might have been listed on the header row the CSV but empty in the first data row. Note however, that even with this refinement, empty cells are included only if there are non-empty cells to the right of them (and trailing commas on the CSV lines do not count). ============================================================================ A-Shell Release Notes Version 7.0.1750.3 (08 October 2023) ============================================================================ 1. WRITECD gridmap bug fix: routine was looping endlessly if no data in row 1. 2. Compiler bug fix (edit 1038) - eliminate bogus runtime error 74 when passing a collection via DYNFUNC. ============================================================================ A-Shell Release Notes Version 7.0.1750.2 (04 October 2023) ============================================================================ 1. XTREE / GRIDMAP bug fix: GRIDMAP(int;int;varstr) variation was showing the column headers as row 1 and dropping the last data row of the grid. 2. CSV2XL 2.2(291) : Enhancement and bug fix: - Support 64 LibXL library (required when running on 64 bit versions of A-Shell. - //XL,SetRow was cancelling out format attributes otherwise set via //XL,SetCol or //XL,SetDefaultFont directives, even when the SetRow directive only specified a row height. 3. INPUT CSV wasn't working with non-comma delimiters after the first row. (Bug introduced in edit 1739.) 4. Revert to -j handling of duplicate jobs as it was prior to 6.5.1711.1. In the interactive case, it will ask whether to abort the prior session. But if running in background, it has to decide for itself. Up through 6.5.1711.0 it was defaulting to aborting the conflicting job, that change inadvertently in 1711.1. Now it is back to the original behavior. (Which behavior is better is unclear, but the stable version behavior gets precedence.) ============================================================================ A-Shell Release Notes Version 7.0.1750.1 (01 October 2023) ============================================================================ 1. 64 bit bug fix: XCALL GETADR was not properly returning address in 64 bit environments. 2. 64 bit bug fix: XTREE not handling 64 bit array descriptors properly. 3. Dynamic array bug fix: close a long-time loophole causing intermittent undimensioned or redimensioned array errors. ============================================================================ A-Shell Release Notes Version 7.0.1750.0 (29 September 2023) ============================================================================ 1. Initial cutover from 6.5.1744.0. (Edits 1745-1749 skipped to allow for the possibility of back-patches to 6.5, although the intent is for all activity that would otherwise have been in 6.5 to now go into the new 7.0 'stable' release.) At this point though, it is definitely not yet 'stable', and will be considered as beta for another month or so while details of the release are finalized and the various kinks are worked out. After that, a new development series, 7.1, will be launched and 7.0 will remain stable. 2. CSV2XL.LIT added to release. Provides a simpler alternative to PRINT.LIT generating XLS or XLSX spreadsheets from CSV input (eliminating the need for a printer init file that invokes the CSV2XL print filter). Note that it is still just a front-end to CSV2XL.SBX which does all the work. Usage: .CSV2XL csvspec {,inispec} where: csvspec [in] - CSV source file. .CSV extension is optional. May include //XL directives (see CSV2XL in doc for details) inispec [in] - Optional INI file used by CSV2XL. Default is BAS:CSV2XL.INI. 3. VIEWASHLOG.LIT added to release. Provides a simple way to view the ashlog.log file contents, either in its entirety as text, or just the errors in a spreadsheet or XTREE grid. Usage: .VIEWASHLOG{/switches} Switches: (None) - View entire log using the EZTYP viewer. /ERRORS - view just the errors, with an option for spreadsheet or XTREE. In the XTREE display, you can select an error and if it can find the corresponding LSX file, allows you to bring it up in the VUE or APN editor. 4. FUNCIDX.LIT added to release. This is a developer tool generates an XTREE index of functions within a set of files as an aid to locating (and reusing) them. Mainly intended for the SOSFUNC: library of BSI files, but could be used with any set of programs. Usage: .FUNCIDX {/switches} Switches: /XL - output to FUNCIDX.CSV (and XLSX using CSV2XL.SBX) (automatic if GUI not available) /KEYWORDS:fspec - specify alternate list of keyword (regex patterns) Default wildcard list is *.bsi (current or specified dir)