2010-10-05  Kim Holviala  <kim@holviala.com>

	* Released version 1.0
	* Support for caps.txt as suggested by Cameron Kaiser
	* Support for gophertags (lifted from Bucktooth)
	* HTTP requests are redirected to a public gopher proxy
	* Allow directories named "gophermap" and "gophertag"
	  (only files are special)
	* Removed duplicate call to strniconv()
	* A few ENABLE_STRICT_RFC1436 additions
	* Much more descriptive error logging
	* Self references /./ are removed from request
	* Apache-compatible file logging in combined log format (-m)
	* FIFOs in directories no longer crash the server (duh!)
	* Support for Mac OS X (tested with 10.5 on Intel)
	* Reworked Makefile with platform-specific build targets
	* Fixed a call to dirname(path) (don't assume it modifies path)
        * Makefile installer now supports xinetd and launchd
	* Makefile installer installs default /var/gopher/gophermap and
	  links the document directory as /docs/
	* Added SERVER_ARCH, SERVER_VERSION and SERVER_DESCRIPTION to
	  CGI env variables
	* Fixed a segfault where shm was used uninitialized (duh!)
	* Generate native Debian/Ubuntu package with "make deb"
	* platform() now tries to figure out Linux distribution
	* platform() knows about Linux ARM boards
	* Added argument -nm (No shared Memory) for debugging
	* Fixed AIX make glitch when compiling bin2c (bug in make?)
	* Changed the name of the project from "Gophernicus Server"
	  to plain "Gophernicus"
	* Menus without footer (-nf) were missing the dot at the end
	* Footer message is now right-aligned
	* server-status and caps.txt requests now update sessions
	* Compile-time option ENABLE_AUTOHIDING hides manually listed
	  resources from generated menus (to prevent double listings)


2010-07-03  Kim Holviala  <kim@holviala.com>

	* Released version 0.9
	* Added option to disable HTTP-style query strings
	* Fixed a regression where some binary files were served out
	  as text (which broke them)
	* BinHex files are now mapped to filetype 4
	* Disabling vhosting disables sessions (mostly)


2010-04-30  Kim Holviala  <kim@holviala.com>

	* Released version 0.8
	* Security bug in hURL handler fixed
	* Error pages are now correctly generated for type 'h'
	* Menu error page more compatible with clients
	* New macro sstrncmp() compares without explicit sizeof()
	* Removed all traces of gopher++ protocol (extra headers)
	  as it just didn't work with older (circa '92) servers
	* Added option to disable automatic menu headers (titles)
	* Do a chdir() to the resource dir before doing anything
	* Double-slashes were slashed in QUERY_STRING by accident
	* Relative links to external hosts work properly in gophermap
	* Gophermaps can include other gophermaps with =/path/to/file
	* Executable gophermaps are parsed just like static ones


2010-04-13  Kim Holviala  <kim@holviala.com>

	* Released version 0.7
	* This release is feature complete, no new features in sight
	* Support for NetBSD (a typo prevented building - duh)
	* Replaced the poorly-working scandir() with opendir/qsort
	* Directory listings (menus) are limited to 1024 entries
	* Changed the filetype of movies from "v" to ";" (which sucks)
	* Fixed a compatibility issue with bucktooth gophermaps
	* Finally wrote decent documentation (README and INSTALL)


2010-04-11  Kim Holviala  <kim@holviala.com>

	* Released version 0.6
	* platform() results are kept in shared memory
	* Support for AIX 5.1 and newer
	* IPv4-in-IPv6 prefix ::ffff: is removed from remote_addr
	* Replaced install(1) with the install-sh script
	* /server-status CPULoad can be parsed from /usr/bin/uptime
	* Replaced text2c/hexdump with bin2c.c (less dependencies)
	* Files with extension .q (type 7 query) are considered CGIs
	* Filetype handling completely rewritten
	* Configurable gopher filetypes using the "-e ext=X" argument
	* Per-directory filetype overrides in gophermaps with ":ext=X"
	* Refuse to serve out gophermaps (why didn't I catch this before?)
	* Cleaned up main()
	* Output filters - run files through an external program (php!)


2010-04-05  Kim Holviala  <kim@holviala.com>

	* Released version 0.5
	* Code tested to work on 32-bit Linux/armv5tel
	* Filetype 7 query errors are now handled properly
	* HTTP-style query string overrides type 7 query
	* Protocol detection (0/+/++) works properly
	* gopher++ extra headers parsed correctly
	* gopher++ works ok with a patched NSCA Mosaic!
	* ISO-8859-1 (Latin-1) output
	* Full UTF-8 output support (without widechars)
	* Gophermaps are converted to output charset
	* All type 0 output is converted to output charset
	* All charset conversions can be disabled with option -no
	* !Titles in gophermaps are converted to gopher menu titles
	* Automatically generates gopher title resources for menus
	* Compile-time option to strictly adhere to RFC 1436
	* Compile-time option to disable all gopher++ support


2010-03-29  Kim Holviala  <kim@holviala.com>

	* Released version 0.4
	* Renamed the project to "Gophernicus Server"
	* Major rewrite with much cleaner code
	* Changed all strncpy's to the OpenBSD strlcpy
	* Server can guess the request type (menu/text/binary)
	* Errors are formatted for current filetype (menu/text)
	* Errors for images (types g&I) are outputted as an image
	* /~luser (/home/luser/public_gopher) must be owned by luser
	* Configurable output width for menus
	* Files are outputted using sendfile() if available
	* Locale forced to POSIX for strftime()
	* Filetype '-' in gophermaps hides files
	* Gopher+ requests are now handled gracefully
	* Relative selectors in gophemaps work
	* Filesizes in menus are now human-readable (KB/MB/GB etc)
	* Refuse to serve world-writeable content
	* Support for Apache-style /server-status
	* HTTP requests for /server-status work (munin monitoring ftw!)
	* Session tracking using shared memory
	* Referer support for CGIs
	* Replaced iconv() with own charset conversion routine
	* Automatic throttling for users who hit the server too much
	* Replaced static compile-time uname with uname()
	* Support for virtual hosting (with gopher0 no less!)


2010-01-07  Kim Holviala  <kim@holviala.com>

	* Released version 0.3
        * Automatic detection of text vs. binary filetype for files
	  which have no (known) suffix
	* hURL redirect pages now respect -f (no footer) option
	* IPv6 support for logging & CGI REMOTE_ADDR
	* Inline gophermaps
	* Removed support for relative resource names in gophermaps
	* Support for virtual userdirs (~user -> /home/user/public_gopher)
	* Automatic listing of userdirs in gophermap
	* Redirect accidental http requests to gopher
	* License included in the binary -> install no longer installs docs
	* Changed command line options (I was running out of arg letters...)
	* Debug to syslog with '-d' option


2010-01-02  Kim Holviala  <kim@holviala.com>

	* Released version 0.2
	* Logging to syslog
	* Support for gophermaps
	* Support for executable gophermaps
	* Support for CGI scripts
	* Support for type 7 search queries
	* Support for hURL redirect pages
	* Support for non-ASCII resource/file names (tested with UTF-8)
	* Support for both %hex and #octal request encodings
	* Try to get server hostname from $HOSTNAME or gethostname()
	* Basic support for different platforms via HAVE_XX defines


2009-12-30  Kim Holviala  <kim@holviala.com>

	* Released version 0.1
	* Basic rfc1436 functionality works
	* Fancy menus with file dates & sizes
	* Options via command line (with sensible defaults)


2009-12-28  Kim Holviala  <kim@holviala.com>

	* Started coding kgopherd
	* Trying to remember how "C" works...

