Please enable JavaScript to view this site.

A-Shell Development History

Navigation: » No topics above this level «

Subroutines

Scroll Prev Top Next More

 

1759.0.1

New MIAMEX function MX_LOCALE queries the native OS locale information.


1759.0.3

Xcall OAUTH2 enhancement: new optional parameter add'param allows specification of additional authorization or token query parameters, which are required by some services. New syntax:

xcall OAUTH2, opcode, status, clientid$, clientsecret$, option, auth'endpoint$, token'endpoint$, challenge$, scope$, refresh'token$, response$, handle, stsmsg$ {,file {,add'param}}

New parameter add'param (string) [in] should be in the form of a comma-delimited list of name=value pairs, e.g. "token_access_type=offline,foo=bar"

Note: requires ashnet 1.14.195 or higher.


1757.0.4

Xcall GET enhancement: new bit option (&h02) defined for the flags parameter to strip LF from input when preceded by a CR. This may be useful when receiving character streams from Windows clients.


1756.0.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.


1755.0.4

EMAILX.SBX 7.0(147) refinements:

Attachment names now appear in their original case. They previously 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 <admin@microsabio.com>

or as a parameter:

FROM = White House <prez@usa.gov>

Previously, only unadorned name@domain addresses were supported.


1755.0.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.


1755.0.6

INIX.SBX 5.1(522) enhancements:

Files without [sections] are now 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.

1754.3.1

Drop support for the long deprecated and 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.


1753.2.1

FTP2: The 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 localpath.


1752.4.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 #.


1751.9

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 is that depending on the app, it might be easier to identify the panel by the command string than by the panel number.


1751.7

AUI_CONTROL refinement: when used on a TABX control, the CTLOP_INFO opcode now returns the current panel number (starting from 1) in the cstatus parameter if the control is found. Previously it returned the control id. This affects only the Windows client (or ATE), not the server side.


1751.3.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.


1751.3.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, ...).


1751.0.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.


1744.0.4

MX_DEBUG enhancement: add prefix parameter to support querying and setting global tracing prefix. Updated syntax: xcall MIAMEX, MX_DEBUG, op, debug {, debugmin, debugtags, debugout, prefix}. prefix [str] [in/out] returns or sets the tracing prefix string (e.g. "$# $T $P"), depending on the op. Primarily used by SET.LIT.


1743.0.1

New subroutine REGEX2.SBR supports a replacement operation, similar to that of MX_TRANSCOPY, except that it acts on a single string subject, pattern and replacement specification rather than a file-based set of them..


1742.0.6

MX_OSVER updated to report more accurate Windows information. Note however, that Windows 11 continues to identify itself as Windows 10, apparently due to some Microsoft rationale. You can identify it by a release or build # >= 22000.


1740.0.7

New MIAMEX function MX_DIRCLEAN scans a specified directory, counting and/or deleting files based on various filter attributes.


1740.0.4

MX_FILESTATS now retrieves last access time.


1740.0.2

MX_FILETIMES now supports last accessed time and ability to redirect the operation to ATE.


1738.0.1

New cmdinput parameter to MX_SETCMDINP and MX_GETCMDINP allows enabling / disabling command file input for INPUT and INPUT LINE.


1735.0.3

New REGEX flag PCREX_NOT_PRECOMPILE (&h08000000) may be used with a single-character pattern to indicate that it is a string pattern and not a pre-compiled pattern #.


1735.0.1

New MIAMEX function MX_RUNPROF generates a run profile log which can then be analyzed for an overview of the program call structure and performance.


1732.0.3

New MIAMEX function MX_TRANSCOPY copies a file to another, applying a series of regular expression pattern match / replacement translations.


1732.0.2

REGEX.SBR: maximum number of pre-compiled patterns increased from 20 to 128.


1732.0.1

REGEX.SBR: Standalone pre-compilation (independent of pattern matching) now supports options flags using the syntax xcall REGEX, pattern, patno {,flags} where flags is numeric.


1730.6

MX_FILEPOS bug fix / refinement: now supports files beyond 2GB, provided that the pos parameter is sufficiently large (i.e. I6, F6, F8).


1723.0.1

Implement activity logging feature XRUNLOG hook.


1722.0.3

EMAILX.SBR 142: Remove limits on length of password (was 1024) and list of recipient addresses (was 25000).


1711.0.18

ISMROK.SBR enhancement: Add optional argument keyalc to return the new keys allocated value. Syntax:

xcall ISMROK, ch, idaalc, idaavl{, recsiz, keysiz, keypos, devdrv, idxalc, idxavl, idanxt, idxnxt, idx'lvls, idx'blk'siz, idx'type, keyalc}

 

1711.0.19

ISMPAR.SBX enhancement: Add new optional argument keyalc to return the new keys allocated value. Syntax:

xcall ISMPAR, ifname, ismpak {,lvl1cnt, keyalc}

1709.0.1

New subroutine MX_BASERR allows you to arbitrarily trigger a BASIC error.

1708.1.3

MX_FINDFIRST refinement (UNIX) : increase depth of directory processing stack from 3 to 20 levels (matching the limit under Windows).

1708.1.4

MX_FINDFIRST refinement (all platforms) : Overflowing the directory processing stack now generates BASIC error 33 (stack overflow). Previously it only returned a non-zero status, making it too easy for the calling program to continue running without recognizing the error, leading to incorrect or inconsistent directory scan results. Furthermore, after such an error, the stack was not getting reset, leading to more errors on subsequent multi-level directory scans.

1708.0.2

Add DYNLIB.SBR Parameter Types.

1708.0.3

New MIAMEX function MX_AS3264 returns A-Shell architecture, 32 bit or 64.

1708.0.4

New Subroutine JSON.SBRperforms some JSON-related utility functions.

1708.0.7

(UNIX) MX_FINDFIRST/MX_FINDNEXT refinement: extend the maximum number of nesting levels from 3 to 20.

1705.0

New MIAMEX function MX_DRAGDROP provides support for accepting files that are dragged and dropped onto a static text control.

1701.3.2

XTEXT refinement: the automatic use of the Active Background Color (introduced in 6.5.1698.0) can now be overridden by setting one or more bits in the high byte of the txc'bcolor field. Note that even though XTEXT treats a txc'bcolor value of 0 as meaning "default" (i.e. white), 0 is technically the RGB value for black. So if you want to override the Active Background Color feature, so that the background remains white even when actively editing, then you should set txc'bcolor explicitly to white (i.e. -1 or &hFFFFFFFF).

1698.0.1

Enhancement: update the File Open / File Save Dialog

1697.0.4

MSGBOX refinement: The timein parameter now applies selectively to each of the buttons (based on the xflags MBX_TIx bits), and is independent of the timeout value, except that the timeout value overrides the timein value for the default button. Previously the timein needed to be applied to all buttons for it to work at all, and there was no visual indication of the timein countdown.

1694.0.3

New MIAMEX function MX_GETUPTIME retrieves system and job uptime.

1692.0.1

New MIAMEX function MX_GETDPI returns the DPI for the workstation.

1690.0.1

TABX control refinement in AUI_CONTROL: you can now specify any of the label RGB attributes in the global attributes section of the configuration string (passed in the ctext parameter). Any attributes thus specified will be used as the default for any labels that do not specify their own RGB attributes. This eliminates the redundancy of having to specify the same RGB attributes on every label.

1690.0.2

MX_FINDFIRST / MX_FINDNEXT refinement: expand the previous limit on the maximum length of a filename from 123 to 255 characters.

1688.5

XLOCK.SBR refinement: if an out-of-queue blocks condition, or other queue system failure occurs while trying to place an XLOCK, it now returns a non-zero value in the MODE parameter, and also displays a messagebox clarifying the problem, with abort/retry/ignore options. Previously it merely displayed "?Out of queue blocks" but did not return an error code, so the application had no way of recognizing the problem. Note that the issue didn't affect FLOCK, which does return status 103 for these queue error conditions.

1688.1.4

HOSTEX.SBR refinement: The $ASHELL macro now includes the -cgi switch if applicable, which allows CGI programs to use HOSTEX to launch subprograms. Note that this also affects AMOS.SBR in situatons where it is forced to launch a new session.

1688.0.2

SHA3 Hash Algorithms in CRYPTO.SBR.

1684.6.1

MX_ROUND Refinements.

1679.0.3

Revisions to the parameter list in XMPP.SBR.

1679.0.4

XMPP library updated to 1.0.2 to support the current changes in XMPP.SBR. Both the library and the ashell executable must be updated together.

1676.3.2

XTEXT and AUI_IMAGE refinement: when either of these functions needs to transfer a file between the server and client via {S}FTP, they now use FTP2 rather than the older (and now deprecated) FTPDLX routine. Among other advantages of FTP2 is that it doesn't require registering a DLL on he Windows side.

1676.0

(Linux only) Add new subroutine XMPP.SBR, which allows sending of instant messages using the XMPP protocol.

1671.0.4

New MIAMEX function MX'FILETIMES to provide a way to set a file's time stamps.

1667.1

Refinements to the xMASCB hook support. Change the hook log version from version 1 to version 2.

1667.0.2

Support file hooks in the xMASCB.SBR routines.

1667.0.1

DYNLIB enhancement: new argument type "P" acts similarly to "p" but receives the size of a ">" argument. Useful for functions that return a pointer to a buffer in one argument and the size the buffer in another. The new AXL function Fn'LibXL'GetPicture uses this technique.

1664.0.1

New MIAMEX function MX_FILEVAR gets or sets the value of the file record number variable, and, in the case of ISAMA, the stats variable.

1662.0.3

Add FTP2 Opcode XFTPF_DIR.

1662.0.4

Add FTP2 Opcode XFTPF_RENAME.

1661.0.6

New MIAMEX function MX_GETWINFILEVER retrieves version of a Windows DLL or executable.

1660.1.3

ASHNET Library Update 1.12.165

1660.0.1

ASHNET Library Update 1.12.164.

1658.0.1

Add MX_FILEHOOK Support for ISAM-A.

1651.9.1

Add new Config File Options for EMAILX.SBX.

1650.1.2

ODTIM (SBR and function) refinements to handle OTIME >= 86400, i.e. more than 24 hours: If the omit date output flag is set and the 12 hour clock flag is not set, then the time is formatted as a cumulative value with no upper limit, e.g. 121:15:43. Otherwise, if the date is also being displayed, the date is increased by one for each multiple of 86400 seconds and the time reduced accordingly. For example, if ODATE = X and OTIME = 86401, then displayed date will be one day beyond X and the time will be 00:00:01.

1648.0.1

New subroutine OAUTH2 implements the industry-standard OAUTH2 protocol for authorization via the ASHNET library update 1.12.163.

1647.0.5

New MIAMEX function MX_DYNFUNC provides for DYNFUNC-related utilities.

1638.0

New MIAMEX function MX_SRCHPATH searches for a file in the system path.

1636.0.6

Various HTTP.SBR Enhancements.

1635.0.2

Enhancement to Add HMACs to CRYPTO.SBR, , update ASHNET.DLL to 1.11.160.

1628.0.1

Redesigned Subroutine Parameter Passing.

1621.0.2

New DYNLIB.SBR Opcode DCOP_DEREF "dereferences" a pointer to return the value pointed to.

1621.0.1

New DYNLIB.SBR Parameter Type '>' may be used to identify an indirect output string parameter.

1619.0

DYNLIB.SBR enhancement: now supports up to four dynamic libraries simultaneously. Previously it could only handle one at a time.

1618.0.1

TCPX.SBR: Add Optional Parameter Sockary() to manage an array of sockets.