Changes since 2011-02-08 follow.

:::::::: INIT ::::::::

12-02-29 cc.darwin.i386*: handle default cc vs kernel bittedness
12-02-29 C+probe: add __TIMESTAMP__ to the nopredefined list
12-02-29 don't assume grep -q or /usr/local/lib in LD_LIBRARY_PATH
12-02-29 fix ksh vs -lcmd compatibility checks
12-02-23 checkcc() before checkread() for sensible diagnostics
12-02-14 { --clobber --compare --link=lib*.a* } for --mam=static
12-02-14 handle @(cc|ld).${HOSTTYPE}* intercepts
12-02-07 add { clean clobber } actions
12-02-02 fix ulimit -c defaults for --nokeep
12-01-18 add INPUT|OUTPUT|ERROR -e 'filter' to filter before comparison
12-01-21 fix `admin make' bug that created unused $INSTALLROOT/lib
12-01-21 Makefile: :PACKAGE: license=ast -- oops
12-01-20 cc.darwin,cc.mvs.390: tmp=/tmp/cc.${USER:-$LOGNAME}.$$.err
12-01-12 add admin make share closure to handle alternate HOSTTYPEs
11-12-13 add /*<NOSTDIO>*/ test code comment to disable default #include <stdio.h>
11-11-11 C+probe: test for .so before .sl
11-10-26 don't forget about *.pkg for admin update
11-10-18 cc.*-icc: update and add more
11-10-11 handle package make|view when no source installed
11-09-11 count admin '*** termination code' errors
11-08-31 mamake.c: add -e, ignore use recursive prereq timestamps
11-08-29 add ``set stdio try1.h - try2.h ...''
11-08-29 trap EXIT => trap 0 for ancient sh
11-08-11 handle ancient sort that doesn't have -k
11-06-01 make.probe: add more /lib64 logic
11-05-01 fix admin ditto to sync LICENSES too
11-03-25 initialize { $SED $TR } before first use!
11-03-21 fix vpath probes
11-03-17 fix cleanup to rm $tmp* instead of $tmp*.*
11-02-24 change curl usage to "curl -L ..."
11-02-11,C+probe,make.probe, add ###.*archiac.*###

:::::::: ksh93 ::::::::

12-02-29  --- Release ksh93u+ ---
12-02-29  A bug which could lead to a core dump when more that four shared
	  libraries were added with the builtin command has been fixed.
12-02-29  Fixed a few bugs which caused SIGCHLD to be blocked preventing
	  background jobs from being reaped until a foreground job was run.
12-02-27  A bug in which sh -c for a simple command caused a fork() has been
12-02-27  A timing bug on systems such as AIX that doesn't support vfork()
	  that could cause the exist status to get lost has been fixed.
12-02-22  A private file descriptor that was not close-on-exec for a command
	  substitution and has been fixed.
12-02-14  A bug in which ^Z did not stop a pipeline when the last component
	  was a shell built-in has been fixed.
12-02-14  getconf("PATH") used to initialize ed(1) path.
12-02-13 +In earlier version read from standard input would fail when called
	  from the KEYBD trap.  Now read options -N, -n, and -t should work
	  when called from a KEYBD trap.
12-02-13  If FCEDIT is not set and fc is invoked without the -e option,
	  ed will be invoked if found instead of /bin/ed. 
12-02-10  Another bug in the saving and restoring of IFS in a subshell
	  that caused a core dump has been fixed.
12-02-08  A bug in which disciplines could be cleared after a
	  function completes has been fixed.
12-02-08  A bug in job control in which the foregroup process group was not
	  set correctly after restarting a stopped pipeline has been fixed.
12-02-07  A bug in which numbers with leading zeros could be treated as
	  octal constants outside of ((...)) has been fixed.
12-02-06  A bug in arithmetic with compound variables containing multiple
	  array elements has been fixed.
12-02-02  A bug in the ulimit option table was fixed.
12-01-26  A bug in which a set command that did not change monitor could
	  effect the behavior of the monitor when monitor mode is on is fixed.
12-01-21 +You can now test whether the shell implements a math function using
	  typeset -f, where name is the name of the function.
12-01-21  A bug in which typeset -L and typeset -R did not handle multibyte
	  characters correctly has been fixed.
12-01-20  A bug that could cause the shell to hang waiting for an incorrect
	  job pid has been fixed.
12-01-19  A memory leak which occured for a nested command subtiution has been
12-01-17  A bug in which typeset -u PS1 could enable the uppercase attribute
	  for some other variables, for exampe, HISTFILE has been fixed.
12-01-16  A bug in which .sh.match was not correct after a substring match when
	  the replacement string contained a substring match has been fixed.
12-01-12 +Files that are sourced from profile files are now read and executed
	  one command at a time so that alias definitions take effect as they
	  do for profile files.
12-01-12  A bug in which whence -p would find a function if one existed and
	  there was no command of that name on PATH.
12-01-11  Change b_* prototype (int, char**, void*) => (int, char**, Shbltin_t*).
12-01-05  A bug in which read was not terminating for a signal that had a trap
	  set has been fixed.
12-01-01  A timing problem with >; has been fixed.
12-01-01  A macro expansion memory leak has been fixed.
11-12-26  A bug in array assignments of the form arr=( $arr[i] ...) in which
	  arr was not unset before the assignment has been fixed. 
11-12-20  A number of code changes were made based on the results of errors
	  indicated by static code analysis.
11-12-13  In vi edit mode a lteral <TAB> can now be entered by preceding it
	  with a backshash.
11-12-13  When tab is entered for completion after a ' or ", the ' and "
	  characters are no longer deleted.
11-12-07  A bug in which a program in the current direcotry with a . in the
	  name could fail to execute when both PATH and FPATH end with :. has
	  been fixed.
11-12-07  I fixed a bug in which a variable expansion in a large here-document
	  could be expanded to a null string.
11-12-06  An optimization to read was added in the case the the read command
	  was redirected from a file.
11-12-06  Changes were made to make the line limit for read unlimited by
11-12-05  A bug in which unsetting an array variable did not completely clear
	  the variable in some cases has been fixed.
11-12-02 +The printf alternative character # when applied to the %q format will
	  quote argument in a form suitable for a field in a .csv format file.
11-12-02 +A -S option was added to read to be able to read .csv format files.
11-11-28  A bug in which redirection of standard error in a function called from
	  command substitution caused standard error to be lost has ben fixed.
11-11-21  [[ (-n foo) ]] no longer requires a space before (.
11-11-11  The readonly attribute for a variable now applies to compound
	  assignments to that variable.
11-11-07  Changes were made to reduce the stack size to allow deeper function
11-10-10 +Added alternate flag to printf %H for encoding of URI's.
11-10-10  A bug which could lead to a core dump when the shell was invoked
	  with more than twenty five open files has been fixed.
11-10-06  A bug in the scoping of name references in functions called by other
	  functions has been fixed.
11-10-05  A bug in which wait on a pid may return the exit status of an
	  earlier background job with that pid instead has been fixed.
11-09-22  A bug in which a read timed out with TMOUT did not always restore
	  the terminal state has been fixed.
11-09-21  An optimization that allowed the last command in a script to use
	  the same process id as the script has been eliminated.
11-09-21  Added letoctal option that enables the let command to recognize
	  octal constants starting with 0.
11-09-20  A bug in which ${var.} could cause a core dump has been fixed.
11-09-20  A bug with SHOPT_EDPREDICT when neither vi or emacs was enabled for
	  lines beginning with # when in a multibyte locale has been fixed.
11-09-20  A bug in emacs edit mode with SHOPT_EDPREDICT that would cause
	  history searches matching comments lines to generate predictions
	  has been fixed.  Only user typed comment lines generate predictions.
11-09-20  A bug in emacs edit mode with a search that matches a comment line
	  that could cause a core dump has been fixed.
11-09-16  A bug in which a command name ending in .. could cause the shell to
	  abort has been fixed.
11-09-16  The characters ! + - % and @ in file names are no longer escaped with
	  file name completion.
11-09-13  The let command no longer treats numbers starting with 0 as octal
11-09-08  A bug in which printf "%R" could cause a core dump for invalid shell
	  patterns has been fixed.
11-08-09  With set -u, ${var#pattern} reported that var was unset for special
11-08-03  A bug in which the shell did not preserve the exit status for a
	  coprocess has been fixed.
11-08-02  A bug in the saving and restoring of IFS in command substitution that
	  caused a core dump has been fixed.
11-07-21  Modified the 10-08-27 bug fix so that background jobs started in for
	  and while loops created interactively generate completion messages.
11-07-20  I fixed a bug in here documents in which multi-byte characters that
	  crossed buffer boundaries were not processed correctly.
11-06-22  The shell compiler now supports process substitution.
11-06-22 +Added code to support process substitution on systems that do
	  not supply the /dev/fd directory.
11-06-21  Fixed extraneous jobs Done messages when builtin is at the end of a
11-06-20  Fixed two regression tests.
11-06-20  Fixed a bug introduced on last update.
11-06-14  A bug with pipefail in which the shell would wait for background
	  jobs to complete has been fixed.
11-06-09  A bug which caused the regression test to fail on OS390
	  Linux has been fixed.  The bug could also have affected other systems.
11-06-07 +A number of changes to support the still undocuments namespace option
	  have been added.
11-06-06  A bug in which command substitution of eval would hang when it  had
	  standard error redirected to standard output has been fixed.
11-06-01  A bug in case statement fall through (;&) ignoring set -e was fixed.
11-06-01  A bug in which creating a left or right justified upper or lowercase
          variable with an empty string has been fixed.
11-06-01  A bug in which the .paths directory wasn't read when a subshell was
	  executed before any other command has been fixed.
11-05-31  The shell now gives an error when a type variable is assigned to
	  an array instance when the array has been declared a compound variable
11-05-31  A bug in which typeset -m of an array instance did not remove the
	  original instance has been fixed. 
11-05-28  A bug in which typeset -m dest=src fails when src and are passed as
	  name references was fixed.
11-05-28  A bug in which typeset -m "c.board[1][i]=el", where el is a compound
	  variable core dumps has been fixed.
11-05-28  Two bugs in the display of arrays of compound variables with print -v
	  have been fixed.
11-05-27  A bug with command substitution with the shift jis locale has been
11-05-25  A bug in which unset -f foo, called within function foo could cause
	  the shell to core dump has been fixed.
11-05-24  A bug in unsetting arrays of compound variables that could lead to
	  a core dump has been fixed.
11-05-24  A scoping bug in with typeset -m for variables passed as references
	  has been fixed. 
11-05-09  A bug in which 'typeset +p array[$i]' in a subshell could cause an
	  exception has been fixed.
11-05-03  Two more scoping bugs with name references and read -C were fixed.
11-05-03  A potential race condition which occurs when here-documents are
	  processed in asynchronous blocks has been eliminated.
11-05-02  Another scoping bug with name references defined in a function has
	  been fixed.
11-05-02  A bug in which the shell discards saved exit status of a job if it is
	  followed by a subshell execution has been fixed.
11-04-28  The shell now checks for numerical overflows with process ids.
11-04-28  Another scoping bug with compound variables defined by name references
	  inside a function has been fixed.
11-04-28  A bug which caused a core dump on 32 bit systems with the
	  regression test has been fixed.
11-04-27  A scope binding error for name references has been fixed.
11-04-27  Assignment of compound variable to compound array element by name
	  is now working.
11-04-26  I fixed a bug with SHOPT_FIXEDARRAY compilation that could cause
	  an a core dump for not fixed arrays.
11-04-25  A bug in the references to two dimensional compound arrays has
	  been fixed.
11-04-20  A bug in which a name reference to a multidimentional index array
	  index, nameref x=foo[3][4], did not work correctly has been fixed.
11-04-18  Changes were added to allow fixed size arrays of variable sized
	  objects when the SHOPT_FIXEDARRAY compile option defined on 10-09-28.
11-04-18  A bug in which name references to array elements could fail has
	  been fixed.
11-04-15 +A compile option, SHOPT_2DMATCH, has been added which causes
	  .sh.match to be a two dimensional array after ${var//pat/str} 
	  where the first dimension is the pattern number and the second is
	  the match instance.
11-04-11  A bug in which readonly var, where var is exported could cause var
	  to be unset has been fixed.
11-04-06  A tokenizer bug in which ${x/{3}(\d)/ } would cause in infinite
	  loop has been fixed.
11-04-05  A bug in which ${!x.} could cause a core dump has been fixed.
11-04-04  A bug in which cleaning out the history file could terminate before
	  keeping all the recent history events has been fixed.
11-03-29  A bug in which ${#array[@]} was 1 rather than 0 after issuing
	  typeset array[7] has been fixed.
11-03-29  The subscript out or range message for fixed arrays has been fixed.
11-03-29  A bug in which suspend could cause a core dump has been fixed.
11-03-24  For the showme option added 09-09-09, commands beginning with a ;
	  inside an arithmetic for loop, no longer produce syntax errors.
11-03-18  A bug in _WINIX ~domain/user expansion has been fixed.
11-03-16  A bug in the pipefail option which could cause a script to hang
	  has been fixed.
11-03-12  The shell no longer treats ${##pattern} as a syntax error.
11-03-11  A bug in typeset -u on systems that don't supply the towctrans()
	  function has been fixed.
11-03-11  A bug in which a compound assignment of the form var[sub]=(...)
	  would evaluate sub for each assignment has been fixed.
11-03-07  A bug in which reassigning a compound variable to an associative
	  array index could incorrectly increase the count of the number
	  of elements has been fixed.
11-03-04 +The tilde expansion on windows has been modified to handle user
	  names of the form domain/user so that ~domain/user now expands
	  to the home directory of that domain user.
11-03-03  A bug in which the width of the prompt was calculated incorectly
	  which cause the wrong line length for edit commands has been fixed.
11-03-02  A bug in which a global variables set from within a function inside
	  a subshell can leave side effects in parent shell has been fixed.
11-03-01  A bug in which whence -a could dump core when the first match
	  was due to : in PATH and the program was in the current directory.
11-02-28  A bug in emacs mode with SHOPT_EDPREDICT (added on 10-05-20) which
	  disabled prediction on a line starting with # when the cursor was not
	  at the end of line has been fixed.
11-02-28  The output format for compound variables with set has been fixed.
11-02-25  A bug which could lead to a core dump occurred when a shell script
	  without #! is invoked by name from a parent shell that has name
	  references defined and the script creates name references of the
	  same name.
11-02-21  The shell now fails with a syntax error when a here-document in a
	  command substition is not completed before the closing ), for
	  example, $( foobar <<! )
11-02-18  A bug in which the value of $0 in a function defined by name()
	  was changed to name has been fixed.
11-02-17  A bug in which the declaration typeset var[100] did not work
	  correctly has been fixed. 
11-02-15  A bug in which [[ -v sh.match ]] did not work correctly has been

11-02-08  --- Release ksh93u  ---
11-02-08  A bug in which opening standard output after it has been closed with
	  exec 1>&- doesn't work has been fixed.

:::::::: pax ::::::::

11-06-21 pax.c,copy.c,file.c: add --filter option mtime=<date-string>
11-03-17 copy.c: fix bug that didn't list special files for --verbose
11-02-11 pax-tnef.c: handle "" member names -- really?

:::::::: html ::::::::

12-01-11 mm2html: fix [1] to use <SUP>...</SUP>
12-01-01 htmlrefs: add <SCRIPT src=...> to include list
11-12-30 mm2html: add .xx faq
11-09-11 mm2html: add .H n "title" link="href"
11-08-06 mm2html: use optget() style for .SH and .TP
11-04-18 htmlrefs: don't symlink .html for --copy (doh)

:::::::: proto ::::::::

12-02-20 proto.c: bump version to match astlicense() { since start source } change
12-02-14 protp.tst: update for libpp/ppproto.c fix
12-01-01 proto.c: add epl to the license type list
11-03-04 add { sear32.ico sear64.ico }, $(dirname -r lib/$COMMAND/...)

:::::::: tests ::::::::

12-02-02 add timeout to { testlib terror.h }
11-10-20 add, common { testlib terror.h }, and test.aso
11-09-26 vmalloc: sync with kpv

:::::::: 3d ::::::::

11-12-01 fix fcntl 3rd arg int vs void*

:::::::: nmake ::::::::

12-02-29 fix ``lhs :MAKE: rhs'' logic for lhs and rhs makefile
12-02-29 option.c: fix regress option doc typo
12-02-20 update for astlicense() { since start source }
12-02-14 ignore MAKE_OPTIONS for --mam
12-02-14 add PWD edit ala MAKEPATH to PAXFLAGS
12-02-07 metarule.c: fix read string past terminator bug
12-02-02 add [[ a || b ]] to the $SHELL -n compatibility test
12-01-30 fix .INSTALL* to better handle 'text file busy'
12-01-26 add to rule install list
12-01-21 --- release 5.7 ---
12-01-21 internal tmfmt() must use user format on special times too
12-01-09 fix .MAMEDIT. to elide -[DI]-*
11-12-13 option.c: fix off by 1 undermalloc
11-12-13 fix MAKE_OPTIONS to peoperly handle --*=* options
11-11-01 omit .TARGETs from manifest
11-10-28 command.c: expand .EXPORT values at export time -- doh
11-10-10 parameter (PROTO) (PROTOFLAGS) -- doh
11-09-11 parse.c: fix ``local ( A B ... ) 1'' that did not declare B
11-09-09 check $PACKAGE_foo and then $FOO_HOME
11-09-07 add
11-08-31 mam.c,option.c: add state.mam.hold, set mam=[no]hold
11-08-30 object.c: drop OLD_header_t.version union for old cc
11-08-28 add $(ARHYPHEN) for ancient sun4-vintage ar(1)
11-08-25 change obsolete name=value option timeout to 20121221
11-08-11 fix :READONLY: typo
11-05-09 add .SOURCE.h : $(INSTALLROOT)/include
11-05-09 fix .LIST.PACKAGE.LICENSE to include .'d def files
11-03-03 add %.rc -DRCWOW=...
11-03-02 fix :LIBRARY: --plugin=foo --static to generate the plugin!
11-02-11 add '### .*archaic.* ###' test for install to diable sh -n check

:::::::: at ::::::::

12-02-29 atd.c,atx.c: fix uid/gid sequencing for unix/winix compatibility

:::::::: builtin ::::::::

12-02-28 pty.c: change --verbose[=level] to --debug=level
12-02-11 what.c: fix boyer moore cut n paste bug -- thanks werner
12-01-26 pty.c: fix --man docs

:::::::: dss ::::::::

11-09-11 dss.c: its --map=file, not --map --- doh
11-06-15 dss.c: document '< expr-file' '< file-list-file'

:::::::: dsslib ::::::::

11-08-19 add DSS_BASE method flag to handle cx scoping

:::::::: bgp ::::::::

12-02-20 bgp.c,bgplib.h: drop unused ip4toip6()
11-09-11 bgp-mrt.c: fix debug trace offset when bgp messages skipped
11-08-25 bgp-mrt.c: streamline BGP_best logic and drop Mrtpart_t
11-08-25 bgp-mrt.c: drop state->v6 and use rp->afi
11-08-24 bgp-mrt.c: fix MRT_ATTR_MP_REACH_NLRI => STATE_TABLE_DUMP_V2_RIB logic again
11-08-23 bgp-mrt.c: fix as_path element counts to handle |{a,...}|==1
11-08-21 bgp-mrt.c: fix "old bgp" vs "new bgp" AS16 vs AS32 logic
11-08-19 bgp-mrt.c: (dss->test&0x0010) enables payload trace
11-08-15 bgp-mrt-anonymize.c: first release
11-08-12 bgp-mrt.c: change most integer indices to macros for readability/debugging
11-08-11 bgp-mrt.c: first hack at mcast_vpn_*
11-08-09 bgp-mrt.c: fix typo TABLE_DUMP_V2 bug that set addr instead of src_addr
11-08-08 bgp-mrt.c: fix TABLE_DUMP.TABLE_IPV6_UNICAST
11-06-21 bgp-mrt.c: first hack at STATE_TABLE_DUMP_V2_RIB_GENERIC
11-04-22 bgp-mrt.c: fix bug that didn't set mp announce type
11-03-31 bgp-mrt.c: retain BGP_TYPE_table_dump for pseudo-announce
11-03-30 bgp-mrt.c: fix AS_SET allocation logic for AS16 and AS32
11-03-30 bgp.c: afi/safi default is 1/1
11-03-29 bgp.c: change "mime" doc refs to the more precise "base64"
11-03-28 bgp.c: change bgp.originator type from number to ipv4addr_t
11-03-15 bgp-mrt.c: fix nlri pointer initialization bug

:::::::: ip_t ::::::::

12-02-24 *sa.omk: clean up standalone old make makefiles
12-02-24 README-*: bring standalone READMEs up to date
11-10-06 testiv.c: add { -ip4 -ip6 } options
11-10-06 ivstr.c,ivfmt.c: add for iv addr size 1..255
11-10-06 iv-nested.c: fix bug that called nested freef on internal flat intervals
11-08-11 bgp.h: add mcast vpn definitions
11-03-02 bgp.h: add packet time usec part

:::::::: lsa ::::::::

12-01-15 ospf_lsa.c: handle generic ip address type binding

:::::::: sort ::::::::

11-10-18 first release

:::::::: stats ::::::::

11-09-11 fix %(GROUP)s for the OVERFLOW total

:::::::: mailx ::::::::

11-09-11 add sender=/address/head/pattern/[&|]/head/pattern/...
11-07-17 fix message list to apply mimeview() to part 0 (main message body)

:::::::: re ::::::::

11-06-25 grep.c: handle FTS_SLNONE

:::::::: std ::::::::

12-02-14 add
12-01-23 du.c: the rightmost of { -b -h -k -K -m } overrides the others
11-12-13 features/procfs, pss-procfs.c: check _PS_task for { st_uid st_gid }
11-08-24 ls.c: fix { linkop linktext } to check for FTS_SLNONE too
11-08-01 file.c: add -b, --brief | --no-filename
11-06-10 ls.c: add %(view)d for 3d fs view level (iview(struct stat*))
11-05-09 ps,pss: handle pr_npid in /proc/<pid>/stat
11-04-26 ps.c: increase COMMAND width from 16 => 24
11-04-26 features/procfs: fix uwin /proc probes
11-04-21 dd.c: turn stdin O_NONBLOCK off
11-04-21 dd.c: fix SI vs US numeric suffix docs
11-04-15 ls.c: add KEY_dev for all file types
11-03-10 ps.c: use %0<width>s for string fields to retain last <width> chars of long strings
11-03-03 dd.c: fix writes beyond count for piped input across partial input blocks (thanks ggreen)
11-02-11 mount.c: fix umount operand verification

:::::::: tw ::::::::

12-02-29 find.c: fix ``! -type f'' vs ``! -type f -print'' bug
11-10-31 tw.c: handle -lexpr X2I change -- scary
11-07-25 expr.c: fix -e sort:url core dump
11-06-30 tw.tst: add symbol table scope tests
11-05-05 tw.c,find.c,xargs.c: update to cmdopen_20110505 api
11-03-03 expr.c: add sum("method") for all libsum methods

:::::::: sudoku ::::::::

11-11-11 add %#ac to produce one of possible dihedral types
11-08-02 subcanon.c: bug fix by MD (dobrichev) -- thanks

:::::::: jmake ::::::::

12-02-29 jmake.tst: add --regress=sync to avoid time skew regressions
12-02-24 handle :JAVA: with no .class on rhs
12-01-21 re-create jar if error last time
12-01-20 jmake: add { --force --updates --all }
11-11-03 use JAVACLASSES if defined for JARCLASSES default
11-11-02 (palindrome!emordnilap) normalize error & warning messages
11-11-01 recreate jar when inner classe delete()'d
11-10-31 delete() unused inner class files
11-10-28, fix { JAVA JAR } initialization
11-09-09, export { JAVA_HOME JAVA JAR JDK_HOME } to make actions
11-07-25, fix $(*CLASSES) and .SOURCE.class logic

:::::::: libast ::::::::

12-02-29 include/shcmd.h: PLUGIN_VERSION 20111111 for cdt disc/meth change
12-02-29 comp/spawnveg.c: fix sigcritical() to include waitpid() for internal child
12-02-29 malloc.c: make __malloc_hook initialization thread safe
12-02-24 comp/iconv.c: fix winix UTF-8 vs UCS-2 over-conversion
12-02-24 astsa/*.h: clean up header guards
12-02-24 astsa/astsa.omk: clean up standalone old make makefile interactions
12-02-21 misc/cmdarg.c: fix bug that set argv[0]
12-02-10 sfvprintf.c: fix 1 byte too long buffer access
12-02-07 malloc.c/features/vmalloc: add gnu __malloc_hook tests
12-02-06 vmmopen.c: fix ALIGN vs sys/param.h macro conflict
12-02-02 astlicense.c: add license.component for component-specific licenses
12-01-31 spawnveg.c: fix transient bug that made invalid setpgid() call
12-01-27 pathpath.c: fix buffer size math when internal allocation requested
12-01-24 malloc.c: fix _vmkeep() bug that did not return previous state
12-01-23 malloc.c: add VMALLOC_OPTIONS=break to try sbrk() block allocator first
12-01-21 astlicense.c: option style only overrides default license.type
12-01-18 malloc.c: disable multiple regions for tracing or !vmbest or ASO_SIGNAL
12-01-12 sfpkrd.c: add __sun I_PEEK+rsh runtime workaround
12-01-10 shcmd.h: void* => Shbltin_t*
12-01-10 tmxdate.c: handle { n>=1000 } TM_PARTS
11-12-21 plug up some meory links -- thanks mhlavink
11-12-21 vmprivate.c: enclose VM_NONMEM exception in CLRLOCK(vm,0) ... SETLOCK(vm,0)
11-12-13 aso: in -lposix for uwin, not -last -- just like vmalloc
11-12-13 sfpoll.c: all streams SF_IOINTR => don't ignore EINTR
11-12-13 sfdcslow.c: set SF_IOINTR
11-12-09 malloc.c: add _vmkeep() for setlocale() intercept _SYS_setlocale_free_OK
11-12-04 sfio: _Sfmaxr=0 (unlimited) by default; use ulimit -M|-d or SFIO_OPTIONS
11-12-01 aso: sync to new api
11-11-11 optget.c: move .TH to the top for --nroff to get our macros first
11-11-11 aso,cdt,vmalloc: resync with kpv
11-11-11 cdt: preserve bits and Dt_link_t for CDT_VERSION < 20111111
11-10-24 sfvprintf.c: %.-ns truncate from left to n chars
11-10-21 sfvprintf.c: fix %0s (no width) core dump
11-10-10 aso: add _WIN32 support
11-09-26 vmalloc: sync with kpv
11-08-29 features/{dirent,wchar,wctype}: eliminate #include with no header
11-08-25 #pragma prototyped tweaks -- sun4 is dead, long live sun4
11-08-25 ftwalk.c: FTS_SLNONE => FTW_SL
11-08-11 features/wchar: fix #include _nxt_wchar for K&R C
11-08-04 optget.c: tweak --html rendering
11-07-24 mime.c: add %(default)[st] default if arg == ""
11-07-21 setlocale.c: fix debug locale to treat "<<" as two single byte chars
11-06-14 spawnveg.c: pgid -1: new session -2: setpgrp()&&tcsetpgid()
11-06-14 pathprog.c: add darwin _NSGetExecutablePath
11-05-14 features/common,features/align.c: { _X86_ _X64_ } conditionals for generic uwin
11-05-13 tm/tminit.c: tweak tzname[] prototype
11-05-09 astlicense.c: add ". file" parent-relative include and depth 4 input stack
11-05-05 cmdarg: update to cmdopen_20110505 api
11-05-03 sfio/sfclose.c: make sure close() errors propagate to sfclose() return value
11-04-20 port/astlicense.c: add { id name } keys
11-04-15 fmtdev.c: fix to work for non-{blk,chr} special
11-04-12 stk: change size args to size_t and stseek() offset to ssize_t
11-04-12 sfio: sync with kpv to optimize large SF_STRING sfputr() buffer allocation
11-03-28 misc/fts.c: fix FTS_SLNONE logic to set it when it should!
11-03-17 misc/stk.c: fixed bug that could delete an active stack frame
11-03-10 sfio/sfvprintf.c: add %0<width>s to preserve <width> trailing chars in string arg
11-03-09 misc/magic.c: add %d...%s where if %d==1 then %s=="" else %s=="s"
11-03-09 misc/ add windows ico
11-02-08 misc/stk.c: change STK_FSIZE to (1024*sizeof(char*)) for 64 bit normalization

:::::::: libardir ::::::::

111-08-31 ar-omf.c: fix FILENAME #pragma prototyped incompatibility

:::::::: libcmd ::::::::

12-02-14 rm.c: --force ignores no file operands specified
12-01-10 b_* (int, char**, void*) => (int, char**, Shbltin_t*)
11-08-27 pids.c: add getsid() iffe test

:::::::: libdll ::::::::

11-10-11 dll_lib.c: add { dllnames() dll_lib() }

:::::::: libexpr ::::::::

11-08-25 exparse.y: fix "begin()" frame symbol table check
11-06-30 extoken.c: enter LABEL: in the parent scope symbol table!
11-06-26 exparse.y: fix bug that lost function return type
11-03-16 exparse.y,expr.h: fix statement_list cons tail recursion
11-03-03 eparse.y: fix function reff node pointer
11-03-03 exeval.c: function env is args[-1]

:::::::: librecsort ::::::::

11-10-11 recsort.h,rskeyopen.c: RSKEY_VERSION=20111011, add Rsdisc_t* argument
11-09-27 rsopen.c,rsmerge.c: drop obsolete VM_TRUST

:::::::: libsum ::::::::

12-02-29 sum-sha2.c: bitcount[] order reversed to allow a single noalias buffer copy

:::::::: libvdelta ::::::::

12-02-14 vdelhdr.h,vdio.c: apply patch from philippe.bergheaud

:::::::: libcoshell ::::::::

12-02-22 coinit.c: handle non-identifier export var names
11-12-13 cowait.c: handle sfpoll() error return on interrupt
11-11-21 cowait.c: poll before blocking read to weed out killed jobs (no 'x' message)
11-08-30 codata.c,coopen.c: drop macro "..." catenation for old cc

:::::::: libpp ::::::::

12-02-29 pp.probe: handle predefined function-like macro definitions
12-02-14 ppproto.c: fix "already noticed" logic
11-08-30 ppproto.c: bump BLOCK to 16*1024 for (ppargs.c self-doc!)
11-03-15 ppop.c: add ppok() readonly check for subset of ppop(PP_*)
11-03-02 ppop.c,ppcontrol.c: use ppset() to handle readonly values

:::::::: libdss ::::::::

11-10-07 dssopen.c: use generic dll_lib() to load methods
11-09-11 cxmap.c: fix cxsub() to cast <=> string if necessary
11-09-11 add <MAP><PART><EDIT>ed-style-substitute</></></>
11-09-11 dssprintf.c: add edit=<del>from<del>to<del>[flags]
11-09-11 cxopen.c: add edit() builtin
11-09-10 cxopen.c: add cxcvt()
11-09-07 dssprintf.c: fix if/else nesting -- ouch
11-08-22 add cxsizeof()
11-08-22 add sizeof(var), typeof(var), type==type, type!=type
11-08-19 add DSS_BASE for base methods (with dynamic schemas)
11-08-19 dss-print.h: add --all to list name/value for all fields
11-08-18 cxeval.c: (cx->test&0x0100) enables code trace
11-06-21 cxcomp.c: fix back() on empty input stack logic
11-06-15 dssmisc.c: add "< expr-file" expression to dsscomp()
11-06-15 dss-scan.h: add "< list-of-files-file" argv to snan_beg()
11-06-15 dssopen.c: dsslib() scan invalid plugin is just a warning

:::::::: libpz ::::::::

11-09-21 sfdczip.c: set SF_SHARE if uncompress discipline pushed
11-03-07 pzip.h,pzpart.c: handle length@offset variable row size

:::::::: libtaso ::::::::

11-12-01 first release

March 06, 2012