2007-06-30 tommi@tntnet.org
  - support for http-basic-authentification
  - new tag <%doc>...</%doc> (long form of comment-tag)

2007-06-20 tommi@tntnet.org
  - use C-locale if standard-locale ($LANG) is unknown

2007-06-17 tommi@tntnet.org
  - add debug-statements in dispatcher for easier debugging of
    MapUrl-statements
  - set cookie-path in session-scope to extend sessions to all pages

2007-05-29 tommi@tntnet.org
  - fix typo in redirect-component (name is redirect, not redired)

2007-05-27 tommi@tntnet.org
  - don't warn about unknown mime-type for ecpp-files
  - fix internationalization in subcomponents

2007-05-23 tommi@tntnet.org
  - use requestname as base filename in multibinary-generation by default
  - document option --mimetypes in ecppc

2007-05-20 tommi@tntnet.org
  - make content-type-detection in ecppc working again (broken since
    AddType-fix on 2007-05-16)

2007-05-17 tommi@tntnet.org
  - fix minor protocol-error when sendfile is used (connection was closed
    after request although the header specified to use keep-alive)

2007-05-16 tommi@tntnet.org
  - AddType-configuration-variable fixed

2007-05-13 tommi@tntnet.org
  - removed method isTop() from components, since it is not reliable in all
    circumstances. The feature is replaced with a additional virtual
	operator()-variant in tnt::Component.

2007-05-11 tommi@tntnet.org
  - change newsdb-demo to use built in connectionpool of tntdb
  - build-improvements (port to solaris/SunStudio)

2007-05-08 tommi@tntnet.org
  - allow cookie-values to have commas

2007-05-07 tommi@tntnet.org
  - fix gnutls
  - fix componentloader (crashed sometimes under load)

2007-05-04 tommi@tntnet.org
  - fix tntnet-config-script for Mac-OS-X

2007-05-03 tommi@tntnet.org
  - make tnt::MimeDb non-case-sensitive
  - building tntnet-server and cgi-lib is now optional and on by default
    for sdk-only-builds (useful for cross-builds)
  - make setting user and group working again

2007-04-29 tommi@tntnet.org
  - send gz-file in static@tntnet when gzip-encoding is accepted and a gz-file
    is available
  - use sendfile(2) in static@tntnet when possible

2007-04-25 tommi@tntnet.org
  - remove support for non-singleton components (it is useless now)

2007-04-16 tommi@tntnet.org
  - 2 other serious bugs fixed: epoll was not always waked up on new jobs.
    After this, idle-jobs where queued until system-resources were
    exhausted. Another problem was a race-condition when the http-date-header
    was generated. After these fixes tntnet runs stable under high load.

2007-04-15 tommi@tntnet.org
  - fixed serious bug: don't delete thread-scope in request - worker-thread
    does this

2007-04-11 tommi@tntnet.org
  - new option -L for ecppc to disable generation of #line-directives
  - add missing includes and rename some variables to suppress warnings from
    Sun Studo 11 (thank you Mark)

2007-03-27 tommi@tntnet.org
  - fix race-condition in scope-handling, which caused a crash on MP-boxes
    under high load
  - check for enough worker-threads to handle all sockets (tntnet now needs at
    least one per listen-socket after removing listener threads)
  - make thread-sleep-time configurable (default: 10s)

2007-03-25 tommi@tntnet.org
  - use TCP_DEFER_ACCEPT if available
  - remove listener-threads - worker threads now accept connections,
    which removes on context-switch on each accepted connection

2007-03-24 tommi@tntnet.org
  - new demo calci18n

2007-03-21 tommi@tntnet.org
  - change license from GPL to LGPL
  - new configure-option --with-epoll=yes|no|probe

2007-03-20 tommi@tntnet.org
  - look for LANG-settings also in sub-query-parameters

2007-03-18 tommi@tntnet.org
  - be more tolerant about whitespace in http-header

2007-03-13 tommi@tntnet.org
  - fix bug, which caused tntnet sometimes to fail loading components
  - new feature: tnt::HttpReply::resetContent

2007-03-11 tommi@tntnet.org
  - url-decode non-ascii-characters in path-info

2007-03-10 tommi@tntnet.org

  - revert signalhandlers for SIGPIPE and SIGABRT, which were lost when
    modularized
  - standard-components static and unzip set mime-type now

2007-01-24 tommi@tntnet.org

  - move process-handling from class Tntnet to a separate class Process

2006-12-03 tommi@tntnet.org

  - print full path of dependencies in ecppc -M
  - debug-log when fetching scoped variables

2006-11-23 tommi@tntnet.org

  - Option "-I dir" for ecppc, ecppl, ecppll

2006-11-20 tommi@tntnet.org

  - use epoll-interface when available

2006-11-18 tommi@tntnet.org

  - make sdk and demos optional in build-system
  - fix bug, which made keep-alive-timeout unnecessary short

2006-11-17 tommi@tntnet.org

  - Remove global factory-symbol from shared libraries. This makes it possible to
    have components with identical names in different libraries.

2006-11-16 tommi@tntnet.org

  - VMapUrl (virtual host specific mapping)

2006-11-05 tommi@tntnet.org

  - changed some less informative log-entries from info to debug
  - added logging of file-size in static pages
  - reading tntnet.conf from current directory in non-root accounts
  - using port 8000 as default-port in non-root accounts

2006-09-22 tommi@tntnet.org

  - major bugfix: MaxRequestSize was not checked for 0 in POST-requests.
    the result was, that POST-requests did not work in the default
    configuration at all.
  - Version 1.5.3

2006-09-09 tommi@tntnet.org

  - fix crash in cgi-library when using thread-scope in cgi-programs

2006-08-22 tommi@tntnet.org

  - tntnet has now a complete set of man-pages

2006-08-19 tommi@tntnet.org

  - increase maximum limits for better default scalability

2006-07-09 tommi@tntnet.org

  - thread-scope variables
  - new demo "alldemos", which links to all other demos

2006-07-03 tommi@tntnet.org

  - cookies are case-insensitive (see rfc 2109)

2006-06-25 tommi@tntnet.org

  - make http-headers case-insensitive as per spec
  - don't delete components any more - they don't eat so much memory
    and it is impossible to know, when components aren't needed any more

2006-06-20 tommi@tntnet.org

  - graceful shutdown of ssl-connections (gnutls and openssl)

2006-06-16 tommi@tntnet.org

  - new demo-applications calcmvc, which shows a simple mvc-pattern, and
    calcajax, which demonstrates, how to use ajax with tntnet

2006-06-10 tommi@tntnet.org

  - port to gnutls

2006-06-08 tommi@tntnet.org

  - take first commandline-argument as configurationfile
  - remove unnecessery virtual destructors (although this triggers some
    compiler-warnings)

2006-05-24 tommi@tntnet.org

  - fix linking with openssl for Open-BSD (and possibly others)
  - try harder to shut down listener

2006-05-08 tommi@tntnet.org

  - send charset in content-type-header with HTTP/1.1

2006-04-29 tommi@tntnet.org

  - improved namespace-support for components

2006-04-26 tommi@tntnet.org
  - support for IPv6

2006-04-12 tommi@tntnet.org

  - new demo newsdb, which reads news from a database using tntdb
  - add openssl-license and allow tntnet to be linked with openssl
  - fix names of standard-components (components in tntnet.so)

2006-04-04 tommi@tntnet.org

  - ANSI-C++-fixes
  - make SIGTERM a graceful shutdown

2006-03-24 tommi@tntnet.org

  - include #line-directives into generated code to help finding
    syntax errors in components

2006-03-23 tommi@tntnet.org

  - fix ssl
  - delay closing standard-handles for better error-reporting at startup
  - fix internationalization

2006-03-02 tommi@tntnet.org

  - locale-cache
  - poll before read, which reduces system calls even more

2006-02-16 tommi@tntnet.org

  - dramatic performance-improvement by optimization of locale-handling

2006-01-25 tommi@tntnet.org

  - add support for locales

2006-01-15 tommi@tntnet.org
  - Simplified constant data-handling for i18n
  - i18n is now controled with <%i18n>-tags

2005-12-31 tommi@tntnet.org

  - components can be compiled into cgi-programs

2005-12-09 tommi@tntnet.org

  - new demo "controls" to demonstrate usage of end-tags
  - new configuration-variables ListenBacklog, ListenRetry, EnableCompression

2005-12-08 tommi@tntnet.org

  - tntnet now supports gzip-encoding

2005-12-02 tommi@tntnet.org

  - end-tags for component-calls
  - documentation-updates and converted to open-document-format

2005-12-01 tommi@tntnet.org

  - fixed SSL-problems - need to mutex-lock SSL-read and -write-calls

2005-11-08 tommi@tntnet.org

  - store comploader in objectpool for later reuse.
  - derive workerthread from DetachedThread and delete itself on exit

2005-11-04 tommi@tntnet.org

  - new health-check - if a thread takes too long for processing (default: 10
    minutes), the thread is considered hanging and tntnet is restarted
    automatically.

2005-10-22 tommi@tntnet.org

  - delay initialization of logging after changing user and group. This ensures
    that logfiles are created with the right permissions.
  - increase defaults for MinThreads from 5 to 10 and MaxThreads from 10 to 100.
    Threads are not that expensive and it should not hurt to create much more.

2005-10-18 tommi@tntnet.org

  - components with compressed data did not work any more - fixed

2005-09-26 tommi@tntnet.org

  - one level of indirection of factory-pointer removed.
  - detection of cxxtools- and zlib-headers fixed. Missing headers trigger a
	error at configure-time.

2005-09-15 tommi@tntnet.org

  - components are created with a factory instead of a create-method.
	This way there is no need to convert a void* to a function-pointer, what
	is not defined in c++.

2005-08-23 tommi@tntnet.org

  - documentation update (see doc/tntnet.sxw)
  - initscript update - tntnet reload

2005-08-22 tommi@tntnet.org

  - new namingconventions: classfiles start with uppercase, methods with lowercase
  - use cxxtools-1.4.0

2005-06-27 tommi@tntnet.org

  - fixed ssl-threading problem

2005-06-22 tommi@tntnet.org

  - dependencygeneration fixed (no *.h-dependency any more unless requested)
  - no escape of '&' in sout()
  - fixed upload.ecpp-demo
  - fixed ecppl/ecppll

2005-06-13 tommi@tntnet.org

  - components are generated in .cpp-files only by default (no .h-files)
  - bugfix: component-type was not filled
  - unsave html-character-output in <$...$> and <?...?...?> is escaped

2005-06-02 tommi@tntnet.org

  - scope-variables
  - automatic session-handling
  - removed boost dependency

2005-05-17 tommi@tntnet.org

  - version 1.3.1 released

2005-05-17 tommi@tntnet.org

  - monitor-process calls listen before fork of worker instead of worker.

2005-05-03 tommi@tntnet.org

  - better startup-handling: parent-process wait for child to start
    successfully and listen to ports

2005-05-09 tommi@tntnet.org

  - Bug: peeraddress was cleared at keep-alive
  - init-scripts starts tntnet on restart even when not running

2005-03-03 tommi@tntnet.org

  - logs remote ip-address in category debug

2005-02-10 tommi@tntnet.org

  - new syntax for calling subcomponents

2005-01-23 tommi@tntnet.org

  - better scalability by creating a poller-thread, which monitors
    multiple idle connections instead of having a worker-thread
    for each connection.
  - worker-threads are dynamically stopped and started
  - Version 1.3.0 released

2005-01-12 tommi@tntnet.org

  - version 1.2.3 released
  - some protection against DoS-attacks (MaxRequestSize, MaxBodySize,
    MaxHeaderSize)
  - support for Cookies
  - tnt::savepoint

2004-12-14 tommi@tntnet.org

  - version 1.2.2 released
  - Bug in Keep-Alive fixed

2004-12-05 tommi@tntnet.org

  - version 1.2.1 released
  - Content-MD5-header
  - moved logging-wrapper to cxxtools (1.2.1)
  - typed arguments

2004-11-25 tommi@tntnet.org

  - version 1.2.0 released
  - use cxxtools-1.2.0

2004-11-24 tommi@tntnet.org

  - add missing CR in HTTP-Header

2004-11-22 tommi@tntnet.org

  - init-script checks, if tntnet is really running when pid-file is found

2004-11-12 tommi@tntnet.org

  - version 1.1.3 released
  - generate tntnet.conf with autoconf to get autoconf-parameters in

2004-11-11 tommi@tntnet.org

  - added missing tntnet.so.*

2004-11-03 tommi@tntnet.org

  - version 1.1.2 released
  - improved autoconf/automake-buildsystem
  - minor feature-improvements and bugfixes

2004-10-25 tommi@tntnet.org

  - version 1.1.1 released
  - buldsystem changed to autoconf/automake

2004-09-20 tommi@tntnet.org

  - resolved: server might crash under high load, because I linked it
    with the non-multithreaded regex-library

2004-09-16 tommi@tntnet.org

  - new build for compatibility with cxxtools 1.1

 -- Tommi Maekitalo <tommi@epgmbh.de>  Thu, 16 Sep 2004 22:28:57 +0200

2004-09-07 tommi@tntnet.org

  - fixed HTTP-header

2004-08-31 tommi@tntnet.org

  - version 1.1 released
  - ecpp-components read LANG from request first.

2004-03-25 tommi@tntnet.org

  - initial release 1.0

