Package Notes and Changes


See the release change log for details.

See the release change log for details.

See the release change log for details.

See the release change log for details.

See the release change log for details.

See the release change log for details.

See the release change log for details.

See the release change log for details.

See the release change log for details.

This source release contains the first official ksh93u. See the release change log for details.

See the release change log for details.

This source release contains the last official ksh93t+. The only updates for ksh93t+ will be hotfixes for serious bugs. See the release change log for details.

This source and binary release contains a fix for the 2010-03-01 ksh memory leak plus a few minor fixes to clean up the bit rot that accumulated since 2009-07-04. See the release change log for details.

This source and binary release contains minor fixes to the unannounced 2010-02-02 release. It is the first official non-beta release in almost 8 months (we really do try to decrease the time between official releases, but the abundance of moving targets sometimes makes that interesting). See the release change log for details.

This source and binary release includes:
  • fixes for problems reported by the OpenSolaris community as part of the ksh93 integration project
  • a UWIN update with initial support for Windows 7, improved handle and process resource management, and improved /var/log/uwin logging
  • an expanded man page index that includes the UWIN man pages in the U subsections and nmake(1) rule and operator man pages in the 1M subsection
See the release change log for details.

See the release change log for details.

This source and binary release cleans up a few reported build problems in the 2009-05-01 release (which has been removed). The release procedures have been adjusted to avoid similar problems in the future. (The main problem is synthesizing external non-ast environments to fully exercise portions of the build system seen by outside users -- since we use our stuff for everything, including packaging and building, setting up an environment that has no ast components leaking in can be non-trivial). See the release change log for details.

This source release contains the official (and hopefully final) ksh93t+ 2009-05-01, along with updates for the ast commands and libraries. A lot of work went into cleaning up the regression tests -- most regressions directly correspond to unsupported native system features or buggy native system interfaces that we felt should be fixed rather than worked around. Of course we could be persuaded otherwise. See the release change log for details.

This source release contains the official ksh93t 2008-11-04, along with updates for a few ast-open commands, libraries and plugins. See the release change log for details.

This source release corrects the build problems in the 2008-06-24 source release. Binary packages will follow shortly. See the release change log for details.

This source release contains first release of ksh93t and support libraries. See the release change log for details.

This release addresses standalone build problems and issues raised on the { ast-users uwin-users ksh-solaris-integration shell-discuss austin-group } lists. It also contains the final ksh93s+ release. Thanks again to all the participants. See the release change log for details.

This release adresses issues raised on the { ast-users uwin-users ksh-solaris-integration shell-discuss austin-group } lists. Thanks to all the participants. See the release change log for details.

Yes -- a new release in only 3 months. This release contains fixes and features that address the issues raised on the { ast-users uwin-users ksh-solaris-integration } lists. Thanks to all who helped. A summary of recent ksh93 changes:
  1. Double precision floating point arithmetic with full C99 arithmetic support on systems that provide the C99 arithmetic functions. The numbers Inf and NaN can be used in arithmetic expressions.
  2. TAB-TAB completion generates a numbered list of completions which the user can select.
  3. Support for processing/handling multibyte locales (e.g., en_US.UTF-8, hi_IN.UTF-8, ja_JP.eucJP, zh_CN.GB18030, zh_TW.BIG5 etc.) has been extensively revised, tested, and is now supported even on the language level (e.g. variable and function identifiers may contain locale specific codeset characters).
  4. /dev/(tcp|udp|sctp)/host/sevrice now handles IPv6 addresses on systems that provide getaddrinfo(3).
  5. The ability to seek on a file by offset or content with new redirection operators.
  6. A new --showme option which allows portions of a script to behave as if -x were specified while other parts execute as usual. This simplifies the coding of make -n style semantics at the script level by eliminating code replication. In particular, io redirections are handled by --showme.
  7. The [[...]] operator =~ has been added which compares the string to an extended regular expression rather than == which compares against a shell pattern.
  8. The printf(1) builtin has been extended to support the = flag for centering a field. The # flag when used with %d and %i provides values in units of thousands or 1024 respectively with an appropriate suffix added.
  9. Example screenshots from joint work with the Solaris ksh93 integration project are available here.
See the release change log for details.

This release, almost a year from the last big release, contains changes based on feedback from the { ast-users ast-developers uwin-users uwin-developers } lists and the ongoing ksh93-solaris integration project. Thanks to all who helped. Our resolution this year is to increase release frequency to keep internal and external source/binaries more in sync. See the release change log for details.

See the release change log for details.

This release fixes a few packaging missteps from 2006-01-24 and syncs the ast and uwin source release. See the release change log for details. The download site is being serviced by a new host. The intention is to preserve urls, but intervening caches may foil that intent. Details of the server change follow in case you run into trouble. The old host www was sgi, the new one public is linux. Both run apache. Urls prefixed by will go to the old server which will map the prefix to the new one Eventually the mapping will dissappear when www is retired and public takes on the name www.

Its been almost a year since the last release, but we haven't been idle:
  • ksh(1) release 93r new features:
    1. The brace expansion option (-B, --braceexpand) expands {first..last[..incr][%fmt]} sequences.
    2. Redirection operators can be immediately preceded by {vname}, {n}>file, which allow the shell to chose the file descriptor number and store it in varname.
    3. Redirection syntax <# ((expr)) added to position file descriptor at offset specified by evaluating arithmetic expression expr.
    4. Shell pattern matching extension for matching nested groups while skipping quoted strings.
    5. The multiline option (--multiline) allows lines longer than the column width to be edited using multiple lines.
    6. The integer and float aliases now default to the longest integral and floating types on the system.
  • ast-open sort(1) now supports plugins, including -lsum for record summation, -lsync for IBM dfsort (aka mainframe syncsort), and -lvcodex for intermediate and output file compression.
  • The ast-open vczip(1) command and vcodex(3) base library have been added. vcodex is a grand unification of compression, encryption and data transformation methods. Software the way it should be -- small, composable, influencing paradigms in unexpected ways.
  • The ast-open dss(1) command, base library, and plugins have been added. dss suports efficient data stream scanning, schema specification, and dynamic data types. dss dynamic data types will be integrated into ksh(1) extensible types in the next release.
  • And, not to be left out of the latest fad, not one but two command line sudoku solver/generator programs in ast-sudoku to burn cycles and brain cells. There is some good math in there, including respectable order N QWH (quasigroup with holes / latin square completion) results.
  • Finally, see the release change log for details.

  • ast and UWIN source and binaries are now (finally) covered by the OSI-approved Common Public License Version 1.0.
  • The licence agreement prompt is back -- its either that or we don't post source. The prompt mechanism works with text-only and command-line browsers -- see the second paragraph of the main download page for details.
  • If the file $INSTALLROOT/bin/.paths contains the line BUILTIN_LIB=cmd then the ast libcmd enters the ksh(1) command $PATH search when $INSTALLROOT/bin is hit. i.e., if you place $INSTALLROOT/bin before /bin or /usr/bin in $PATH then builtin ast libcmd versions of cp, rm etc. will be run instead of standalone executables. This may provide significant speedups for some shell script applications.
  • After 20 years AT&T nmake(1) finally has regression tests -- up to now packaging, bootstrapping and building ast packages was the only test.
  • cp(1), date(1), ls(1), nmake(1), pax(1), and touch(1) now support nanosecond time resolution, due mostly to the fact that most of the new nmake regression tests would have failed to detect sub-second changes from one test to the next. As it is we have some machines that get > 10 compiles per second.
  • This release has quite a few malloc and ksh/malloc bug fixes. Thanks to the users who provided detailed bug reports through many rounds of testing.
  • Finally, see the release change log for details.

An unannounced release for alpha testers in preparation for 2005-02-02.

See the release change log for details.

An ast pax(1) bug resulted in the 2004-02-29 .tgz tarballs missing the trailing 2 nul blocks required by the tar(1) standard. Some tar(1) commands may complain, but should nontheless extract correctly. This will be fixed in the next release. Also, a typo listed the mail archive link url as http; it should have been https. If you had trouble accessing the mail archives then recheck your links.

A source and binary release. Thanks to the beta testers who helped solidify this release. See the release change log for details.

A beta source release.

A source and binary update to fix a few nasty ksh and libast bugs from 2003-06-21. Philosophical question: does a regression test error print if there is no one to read it? See the release change log for details.

A source and binary update. There are few small but significant patches for ksh and nmake. nmake -l/+l library list generation is much improved. IBM z-series { linux.s390, linux.s390-64 } and i-series { linux.ppc64 } binary architectures have been added, and the ebcdic { mvs.390 } has been updated after a long absence. See the release change log for details.

A source and binary update. Numerous details delayed this release for over a month. Thanks to the users who helped hammer them out. ksh(1) now uses vfork(2) and/or the ast spawnveg(2) where supported; you might notice a speedup in subprocess startup. nmake(1) now does true recursive make dependency analysis; the :PACKAGE: makefile operator has a few improvements, including the option to exit with error when packages are missing. See the release change log for details.

A source and binary update. The source finally builds hands free on our CYGWIN_NT-5.1 * 1.3.12(0.54/3/2) 2002-07-06, although there is still a fork(2) problem lurking between nmake and ksh.

A source update for the INIT and ast-open packages (only). 2002-09-22 had a few catastrophic source package bootstrap bugs -- this after building and testing on all of the posted architectures. All source and binary packages will be updated after the 2002-10-04 source package hardens. Friendly source build reports, good or bad, big or little, are always welcome. And finally, after a week of hacks and workarounds the 2002-10-04 source package should finally build on cygwin; the cygwin release was delayed due to our refusal to give in to the bass-ackwards cygwin model of #ifdef'ing practically every application to get them to run on cygwin.

A full base update. The cygwin.i386 binaries will be delayed about a week: no other architecture presents the depth and breadth of problems that cygwin does.

A full base update. Due to a bug in the ast <fts.h> implementation the tarballs in the 2002-06-14 update were a bust; all 2002-06-14 tarballs and deltas have been removed. The bug is stomped and now all of the ast commands that do physical directory tree traversals (they all use fts) should run appreciably faster, especially on systems that support struct dirent d_type. For example, on uwin the nightly updatedb on / runs twice as fast. See the release change log for details.

A full base update containing a few fixes and some library consolidation including:
  • libardir for reading archive libraries, used by pax, nmake, and the UWIN cc(1) wrapper
  • libast regsubcomp/regsubexec for ed(1)-style substitution that fixes a null-substitution bug present in all of the ast edit code, as well as in the completely unrelated gawk(1)
  • another off-by-one bug, this time in the libast tm*() date conversion routines; this one was great -- it incorrectly rendered one second (but a different second) each hour
  • added directory dirent.d_type and stat.st_nlink stat(2) optimizations to libast fts(3) and ftwalk(3)
See the release change log for details.

A full base update to fix bootstrap build problems on cygwin.i386, next.m68k and uts.390. See the release change log for details.

Added make errors, test errors, and win32 links to the main page.

  • The package read license prompt has been eliminated. The package tarballs instead contain conspicuous empty files that keep the legal department happy.
  • Base archive names no longer have the 0000 version component.
  • Delta version names are now YYYY-MM-DD instead of consecutive NNNN > 0000.
  • You can now run package update [ url ] [ package ... ] to update packages to the latest release and version. The url is cached in $PACKGEROOT/lib/package/tgz/default.url so it can be omitted after the first package update. The package update cycle after the first manual download is:
    package update
    package read
    package make # if you have source packages
    package test
    package install DIR # if you want a separate installation
  • You no longer need to run package use to run dynamically linked commands from $INSTALLROOT/bin. Simply export $INSTALLROOT/bin in PATH and run $INSTALLROOT/bin/ksh.
  • The source should build on cygwin.

We finally found out why some /bin/ksh (ksh88i) implementations hang with nmake and have updated libcoshell/coident[] to work around the problem. It turned out to be an ancient memory alignment bug in the ksh88i stack memory allocator. The workaround should eliminate package make hangs on sun machines.

A replacement update for 2001-07-04 fixing some bootstrap source build bugs (we hadn't done that in a while) and some binary package bugs that omitted files (like ksh from the ast-ksh binary package). Also added the ksh standalone binary package that is just the gzipped ksh executable. If you just want ksh then grab this.

A passel of internationalization and EBCDIC updates. All pattern matching, including shell globbing, is now done by the ast regex routines. Some binary architectures will be delayed until the hardware cooperates.

A full base update in response to the dgk article. A bunch of tiny fixes, including a mamake(1) fix for the mysterious missing -ldl in the ksh build.

How do these core dumps creep in? 2001-01-01 base replacement posted.

2001-01-01 base update posted. ibm.risc for AIX added.

Main package listing includes covered packages.

Most package names are hot links.

    License acceptance now done when package tarballs are read.
  • Each package is downloaded when clicked.
  • Streamlined title gif saves display space.

    Numerous package command bug fixes
  • Added darwin.ppc binaries.

ast-ksh package contains the minimal set of components required by ksh(1).

The archives now have .tgz suffixes; this should eliminate the injected cr-nl problems that produced gzip(1) checksum errors for some users.

June 01, 2013