May 2, 2005
	libdraw/x11-itrans: correct snarf race (reported by Karl Sackett)
	acme: row load/dump consistency fix (thanks to Peter Canning)
	
May 1, 2005
	lib9/await: Mac OS X Tiger fixes (thanks to Jeff Sickel)
	lib9/sendfd: fix alignment bug (thanks to Tim Wiess)
	libdraw/latin1: more smiley face alt sequences (thanks to Erik Quanstrom)
	9term: unicode in identifiers for double-click (thanks to Erik Quanstrom)
	scat: various fixes to use standard C (thanks to Roland Kaufmann)
	add OpenBSD/PowerPC support (thanks to Tim Wiess)

March 28, 2005
	open(3): note that open and create are macros
	add NetBSD support (thanks to Christoph Lohmann)

March 24, 2005
	netfiles: robustness fixes
	sftpcache: robustness fixes

March 23, 2005
	acme: fix Edit filename bug, elogapply warnings

March 21, 2005
	ndb/local: fix name of bell labs auth domain
	9fs: use srv -a
	9pserve: add -A, -M options
	netfiles: work harder to generate expansion texts
		add sftpcache
	srv: add -a option

March 20, 2005
	acme: fix q1 computation bug in expandfile
	factotum: fix race
	netfiles: use sftp -b /dev/stdin, various fixes
	

March 18, 2005
	cmd/mkfile: explicitly ignore deleted factotum (now in auth)
	dist/addsrclinks: bug fix
	dist/isum: ignore cp in netfiles directory
	dist/main.html: add link to 9pm
	font: add boldtypunicode.7.font
	man: update INDEX files
	tmac/tmac.anhtml: set HT to 1 when generating HTML
	lib9: better errors for create and open when lock fails
		notify: ignore TTIN, TTOU
	libdraw: init with window atop image
	libplumb: tweaks
	libthread: add threaddata, fix Alt declaration
		document NPTL brokenness
		ignore TSTP, TTIN, TTOU
	9c, 9l: even quieter
	9fs: new command
	9p: add ls command
	9pserve: ignore tstp; consult $verbose9pserve
	acid: use %#x in acid/port
	acme: typing bug fix, ^A, ^E
	colors: add flushimage
	cvs: document how to make cvs -q the default
	E: print file name in case plumb fails
	g: allow -- to end options
		search more file extensions
	hget: new command (no ftp support)
	Netfiles: new command
	plumb: add -9 for debugging
	png: better png reading
	rand: document what to do if SunOS missing /dev/random
	rc: lex bug
		do not print on sigpipe
		try harder to background async jobs
		allow rc -l without -i
	sam: bug fix from plan 9
	samterm: ^A, ^E
		small cleanup
	ssh-agent: change to use fixed name
	src: bug fix
	srv: new command
	tcs: silence gcc warning

March 15, 2005
	u.h: change nil to unadorned 0 on sunos
	lib9pclient: fix ptr arith in fswrite
	libdraw: fix syntax errors in nowsys*.c
	libauth, libsunrpc: do not set PLAN9 in mkfile
	9term: add signal.h for sunos
	factotum: drop .= initializers for sunos
	vac: tweak for sunos

March 14, 2005
	acme: add $foo names as -$

March 9, 2005
	tcs: bring in plan 9 code

March 8, 2005
	fortunes: more fortunes

March 6, 2005
	u, u.rc: new script
	fortunes: more fortunes

March 5, 2005
	win: don't give up when it gets confused

March 4, 2005
	lib9p: make chatty9p an extern int (mac)

March 1, 2005
	9pclient: preserve error in fsopen
		handle offset correctly in fswrite

February 28, 2005
	rcmain: extra awd to initialize 9term
	psv: use new --options when necessary

February 22, 2005
	makefiles: set $OBJTYPE to x86_64 on FreeBSD amd64 systems

February 21, 2005
	unzip: create paths as necessary

February 20, 2005
	vac: fix from lucho

February 18, 2005
	vac: fix -d from lucho

February 17, 2005
	yacc: silence yyerrlab warning

February 16, 2005
	libhttpd: make hwrite work with chunked encoding
	libthread: debugging assertion
	9c: be even quieter
	venti: add acid/venti -  routines to dump log buffers

February 15, 2005
	draw.h: add ABGR32
	venti.h: add ventilogging, vtlognames
	libauth: close afid in auth_freerpc
	libthread: fix unlikely qlock bug
	acme: ignore tty nodes; still not 100% right
	png: add alpha writing support
	dist: new glenda in circle logo

February 14, 2005
	add source links to man pages
	yacc: make yaccpars more like yaccpar
		add optional argument to yyparse

February 13, 2005
	lib9: add readcons(1)
		add laddr, raddr to Netconninfo (see dial(3))
		support local address in dial for tcp and udp
		bug fix in fcallfmt
	libauth: allow parseattr(nil)
	libmp: add %lB for lower case
	libsec: add x509 dsa routines
	libthread: work around stupid linux 2.6 ps-gdb-/proc bug
	libventi: new logging, use new nci
	auth: move secstore, factotum into auth directory
		add asn1, dsa, rsa pem routines
	factotum: add rsa signatures, dsa, pass, wep, httpdigest, ...
		more info in man page
	rc: bug fix regarding /dev/stdin from Christoph Lohmann
	secstore: add ipso
	secstored: avoid zombie army of evil
	ssh-agent: add
	9p: bigger buffers, add rdwr verb
	9c: more silencing of gcc
	create log, secstore directories in $PLAN9

February 12, 2005
	9c: silence gcc chatter

February 11, 2005
	dist: fix regexp license in unix.html
		add link to license on main page
	lib9: add list of plan 9 services to _p9dialparse,
		add OAPPEND for create and open,
		format \0 as printable in fcallfmt,
		add netcrypt, readcons, syslog
	lib9p: fix tpost, call srv->start
	lib9pclient: add chatty9pclient
	libauth: add fsamount, nsamount, authdial ndb.
	libmach: use %#x explicitly
	libndb: add
	libsec: use new auth_allocrpc in tlshand
	libthread: add threadgetname prototype
	9l: fix libsec/lib9 cycle thanks to netcrypt
	9p: use nsamount, fsamount; add write -l
	9pserve: quieter, auth bug fix
	9term: treat _ as word character
	acid: do not set %# implicitly anymore
		add simple pthread support via acid code
		set corpid
	acme: bug fix in Tauth handler
	dial: send input to net instead of back to 0
	dict: ahd path
	factotum: make it run and work, add secstore
		remove top-level factotum directory
	rc: set p->pid=-1 explicitly to avoid wait problems
	psv: add print buttons
	secstored, secuser: add
	tar: add

February 10, 2005
	libmach: abortive attempt at pthread support via libthread_db

February 8, 2005
	lib9: don't fiddle with signal masks by default
		fix typo in notify(3)
		add DMSYMLINK etc. bits
		add crypt (lucho)
	lib9p*: many fixes (lucho)
	libauth*: many fixes (lucho)
	libdraw: avoid yet another X11 stack overflow in cursorset
		(FC3, reported by Abhey Shah)
	libhttpd: do not assign va_list in hio.c (lucho)
	libthread: remove debugging >xx in mkfile
	9l: add FreeBSD 5.2 support w/ -lkse (Sah)
	9l, 9term: patches to run on SunOS 5.8 from Axel B.
	9term: try to handle DEL better
		document bash/readline brokenness in 9term(1) BUGS
		fix paste bug
	vac: avoid special files

February 3, 2005
	libthread: silence gcc warning in pthread.c

February 2, 2005
	INSTALL: add use of LOCAL.config
	libdraw: add nowsys implementation
	mk: silence archive warning if ~ $file *.a.

February 1, 2005
	lc: use 9 mc not linux mc.

January 31, 2005
	db(1): add stack to name list

January 30, 2005
	cmd/mkfile: lex files
	unix: add ranlib to unix makefiles for mac
	libmux: fix non-zero mintag handling (thanks to lucho)
	libthread: osprocid now int not uint (can be -1)
	9term, awd, win: handle sysnames in labels
	acme: document -a, Indent
		add errors file
	core: do not readdir files (thanks to zoltan jarai)
	delatex: make it better
	diff: document -a
	factotum: silence chap warning
	sam: chording disabled - causes lockups
	topng: use simpler graphics format

January 29, 2005
	diff: add -a

January 28, 2005
	lib9pclient: zero offset, mode, qid on fid alloc.

January 27, 2005
	sky: remove here; add here.sample instead, so that
		local changes to here are not clobbered.
	acme: remove print, fix addr handling, check fid in use.
		fix rowdump bug; cope with unix ORCLOSE
	sam: add -a (autoindent) and chording

January 26, 2005
	diff: add -c

January 25, 2005
	libdraw: finally fix winsize @x,y handling

January 23, 2005
	dist: bug fixes to download.html and unix.html

January 23, 2005
	suse X bug - need bigger stacks
	add searchpath(3)
	work on libmach + elf core dumps + threads + registers
	change db to use libmach cmdline interface
	add stack (see db(1))
	s/ulong/unsigned long/ for unix mk; other makefile bugs
	rename scheduler to procscheduler in libthread so libmach can identify it
	add isum to install(1)
	work around searchpath in rc; add to intro(1)
	volatile int quiet in db

January 22, 2005
	redirect debugging output of isnptl in INSTALL
	set SYSVERSION to 2.6.x instead of 2.6 in linux INSTALL
		to appease other pieces of the build.

January 21, 2005
	s/mdir/mkdir/ in unix regexp makefile
	better isnptl
	arg count in auxclog

January 20, 2005
	add core(1) man page
	fix exit race in samterm

January 19, 2005
	continued x86-64 support
	bug fix to 9c on sunos - __${s}__ not __$s__
	avoid c99 extensions in cmapcube and vacfs
	do not name functions shutdown on mac os x
	add dist/isum
	include errno.h in eqn/e.h
	use 9 yacc to build rc

January 18, 2005
	avoid closing -1 in lib9pclient
	continued x86-64 support

January 18, 2005
	make src/libthread/pthread.c compile
	add threadspawnl, fsseek.
	add link to web interface in cvs(1).
	remove hard-coded path in fixurls
	preliminary x86-64 support
	explain nptl in src/libthread/README.Linux
	libventi bug fixes
	add threadgetname to libthread
	bigger chunking in sort(1)
	bug fix in acid
	add LOCAL.INSTALL
	extract command line from elf cores
	initial core(1) command
	fix race in libthread proccreate
	do not use -Wl,-rpath on Darwin
	do not translate man pages in lib/moveplan9.sh

January 17, 2005
	thread.c tries to warn about bad pthreads on Linux
	vacfs posts vacfs.basename
	fix nil deref in acid
	change 9c, 9l to detect nptl properly (not relying on running kernel version)
	change psu to use 9 ps
	do not call exits in threaded programs

January 16, 2005
	bring fds from daemonize down to high 20s from high 90s for NetBSD.
	use -Wl,-rpath in gcc in 9l for NetBSD.
	make vacfs work (patch from Lucho)
	make vacfs use EARGF
	add note about signal masks in TODO
		(Taj Khattra notes that acme doesn't ^Z well)
	add note about _x.black and _x.white in TODO
		(noted by David Leimbach)
	remove unixisms from dist/fixurls
	fix bugs in dist/main.html
	noteenable, notedisable, notifyon, notifyoff return old setting.
	update manual indices
	troff2html handles section (9p).
	add note in libthread/thread.c about stack-based pthreads
	make tmac.an's .HR better
	tweaks to unix mkfiles

January 15, 2005
	tcolors now uses threadexitsall
	syminit bug in mk.  (why does syminit exist?)
	
January 14, 2005
	man page updates - fixurls, manweb, rio.1, cvs.1, 0intro.1.
	add note about makecontext to TODO file (noted by Axel)

January 12, 2005
	First fully-documented release.

