Webmaster  |  Imprint 
C++ Server Pages
Main  |  License  |  Documentation  |  Download 

News

stable versions cxxtools 1.4.8, tntnet 1.6.3 and tntdb 1.0.1
Posted on June 03, 2008

These versions mainly fix some bugs found in the last weeks.

The regex-wrapper classes from tntnet are now copied to cxxtools and are fully functional now. Cxxtools also got a set of conversion functions as easy to use wrappers around std::stringstream. The so-number is increased to indicate binary incompatiblity to older versions (at least <= 1.4.6)

Clearing cookies was broken since about a year. This is fixed now. Quotes and double quotes in c++ comments in ecpp files was not handled correctly. Initialization of scoped variables may expand to multiple lines now (this was actually intended behaviour before, but incorrectly implemented). Here also the so-number was increased.

The sqlite-driver of tntdb had 2 small bugs. Setting strings in statements did not lead to equality when compared to columns. Using multiple cursors for one statement crashed tntdb when the cursors were released in reverse order.


stable version tntnet 1.6.2
Posted on April 20, 2008

A shutdown bug is fixed. And all the small fixes from the development branch is released here in the stable version. The major ones are the fixes of GnuTLS and http-auth.


development version tntnet 1.6.1.3
Posted on April 04, 2008

This version brings some bugfixes. GnuTLS-support is much more robust and also faster now. OpenSsl supports certificate chains. Http-Auth does not cache usernames and passwords in keep-alive requests any more.


stable version tntdb 1.0.0
Posted on February 24, 2008

Tntdb has reached version 1.0.0. That means, that tntdb does not have any known bugs and the API as well as the ABI will be kept as stable as possible.


new stable versions, cxxtools 1.4.6, tntnet 1.6.1, tntdb 0.9.5
Posted on December 16, 2007

The features released in the development releases are considered stable now.

Cxxtools have got some feature enhancements like support for signal-slot and wrappers for atomic functions. Locking in logger-classes is reduced, so that threads do not need to wait for other threads when logging. Logging may be passed to a subprocess, which can run under a different user, when the main process starts as root.

Tntdb has support for blobs. And this time the archive is complete. The 0.9.4 release lacked some important files, so if you had problems with that it was purely my fault ;-).

The main enhancement in tntnet was the move of most of the tntnet-code into the library, so it is easy to use tntnet in applications. Also a wrapper for fork was added, since it is somewhat dangerous to start subprocesses without that, since subprocesses will block restarts, since they inherit listener ports. To fork subprocesses in tntnet-applications use this:

  if (request.getApplication().forkProcess())
  {
    // here we are in child process
    exit(0);  // this or exec... is mandatory!!!
  }

new development version of tntnet 1.6.0.6
Posted on November 17, 2007

After some small fixes tntnet compiles with the Sun Studio compiler. A chapter about stand alone webapplications with tntnet was added into the documentation. After changing fonts in the documents, filesizes got much smaller.


new development versions of cxxtools 1.4.5.3
Posted on November 16, 2007

This adds functions for handling endianess and wrappers for fast atomic operations for various processors.


new development versions of cxxtools 1.4.5.1 and tntnet 1.6.0.4
Posted on October 21, 2007

Cxxtools gets a fast template based signal-slot implementation from Marc. Libltdl is replaced by a simple dlopen-wrapper. The smart pointer gets an additional destroy policy.

Most of the code of tntnet is moved to libtntnet to make it possible to embed tntnet in applications.


tntdb updated to 0.6.4
Posted on October 06, 2007

Tntdb has got a driver for oracle. Now it supports sqlite, mysql, postgresql and oracle. The driver is not compiled by default, but must be activated by passing --with-oracle to the configure-script.

Another fine update is support for decimals (thank you Mark Write).

And for those of you, who misses tntdb 0.6.3: I once packed a 0.6.3, but I discovered some bugs before announcement, so I decided just to skip it.


new develpment version 1.6.0.3 of tntnet
Posted on August 28, 2007

This version adds a parameter-scope to components, which receives named parameters of any type when called. Also the generated class gets a prefix, so that reserved words like "template" are now allowed for component names.


new develpment version 1.6.0.2 of tntnet
Posted on July 13, 2007

In this version the locale can be set in components with SET_LANG (e.g. SET_LANG("de_DE") ). Http-classes are restructured. HttpReply::notAuthorized and HttpReply::redirect throw exceptions to make it easy to call them in subcomponents.


new version 1.4.5 of cxxtools
Posted on July 09, 2007

A policy-based smart-pointer-class is included here. I have used this implementation in tntdb for some time and copied it to many projects since then. Therefore I decided to finally include it into my toolbox. The default policy is intrusive reference counted, which is the safest model. The objects held need to have methods "addRef" and "release". This is easily done by using cxxtools::RefCounted as a (additional?) base-class.

I have rewritten the parser for ini-files. The new parser is much cleaner. The parser is separated from the data-structure, which makes it possible to use the parser separately. The interface to the class has changed heavily, so you need to port your application to the new class, if you have used this part of cxxtools.

I also wrote a parser for property-files, which are quite popular in the java-world. They have the advantage to support hieracial structures, while beeing still easily readable and writable.


development version tntnet 1.6.0.1
Posted on July 01, 2007

This version adds support for HTTP basic authetication. A new tag <%doc> for block-comments in templates is added. Tntnet uses now standard locale instead of failing to run, if locale passed in LANG is invalid. Sessions are now valid in all urls instead of being url-specific. This was actually a bug, because it was intended initially the way, it is now.


stable version 1.6.0 of Tntnet, version 1.4.4 of cxxtools
Posted on May 28, 2007

Here is the most stable version of Tntnet. Since Tntnet has matured since 1.5.3 more than ever before, I decided to take a jump in the version-number. Thank you for the users, which greatly has helped me finding bugs and giving feedback for improvements.


development version tntnet 1.5.3.7
Posted on May 24, 2007

I decided to take another round before stable version. Tntnet has got some bugfixes in mime-type-detection. Also a minor protocol-bug when sending static pages is fixed.


cooperation with FreeWRT
Posted on May 12, 2007

We have started a cooperation with FreeWRT to port Tntnet to this nice embedded platform. This will show, how embedded systems with less powerful CPUs will profit from the low cpu-usage of Tntnet. We will be at Linuxtag in Berlin from May 30th to June 2nd 2007 to show some results of our efforts. A presentation on June 2nd is also planned.


development versions cxxtools 1.4.3.5 and tntnet 1.5.3.4
Posted on April 18, 2007

Some serious bugs were fixed, wich resulted in a crash or hang in tntnet under high load. Some code-adjustements has been made to compile both with for Sun Studio under Solaris.


development version 1.5.3.3 of tntnet
Posted on March 29, 2007

License is changed from GPL to LGPL, which allows creation of closed source webapplications. Poll is replaced with epoll on platforms where available, which improves performance significantly on boxes with high load. Urls are now decoded. Listener-threads are removed, which removes a context-switch when new connections arrive. A racing-condition is fixed, which caused tntnet to segfault on MP-boxes under high load.


development version 1.4.3.4 of cxxtools
Posted on March 25, 2007

Improve Pool-class: replace semaphore with condition and make maximum size settable.


development version 1.4.3.3 of cxxtools
Posted on February 21, 2007

fix bug in cxxtools::net::Stream: partial write from os was reported as eof instead of polling socket.


development version 1.5.3.2 of tntnet
Posted on January 26, 2007

A redesign of the main-application-class is the major part of this release. Process-handling is now in a separate class and uses the new fork(2)- and pipe(2)-wrappers of cxxtools 1.4.3.2.


development version 1.4.3.2 of cxxtools
Posted on January 25, 2007

I was active this time. New small bugfixes and new features were added. These are:

  • new wrappers for fork(2) and pipe(2)
  • cxxtools::Pipestream: a std::iostream using pipe(2) (look at demo/pipestream.cpp for useage for these 3 features
  • support for udp-broadcast
  • offset is settable in cxxtools::Hdostream
  • cxxtools::Condition::timedwait


development version 1.5.3.1 of tntnet
Posted on January 10, 2007

I've done some tweaks and enhancements in Tntnet, which improoves usability as well as performance. The most major improvements are:

  • VMapUrl for virtual host specific url-mapping
  • use epoll instead of poll when available, which improves scalability
  • option "-I dir" to specify include-directory for ecppc
  • building of sdk and demos can be supressed, when building tntnet
  • remove global factory-symbol, which removes naming-conflicts in different shared libraries


development version 1.4.3.1 of cxxtools
Posted on December 06, 2006

This releases some minor fixes, I have fixed last months.


Release version 1.5.3 of tntnet
Posted on September 23, 2006

Major bug-fix to 1.5.2: POST-requests did not work at all in the default configuration.


Release version 0.9.0 of tntdb
Posted on September 15, 2006

The jump in the version number indicates, that tntdb has proven to be stable. License changed to LGPL, so that it is usable in close-source applications. Compared to the previous version only some minor bugfixes has happened.


Release version 1.5.2 of tntnet
Posted on September 12, 2006

It is just time to declare tntnet 1.5.2 stable. The most notable change is a complete set of man-pages.


Development version 1.5.2pre4 of Tntnet
Posted on August 14, 2006

Tntnet has man-pages now.


New version 0.6.3 of Tntdb
Posted on July 23, 2006

The main reason for this is a license-change. Postgresql is linked against OpenSSL and the license of tntdb is extended to allow this. The Sqlite3-driver got some minor fixes.


Development version 1.5.2pre3 of Tntnet
Posted on July 09, 2006

Tntnet has now thread-scoped variables as a addition to applicatin- session- and request-scope. Just declare a section <%thread> and put your variables there. This is useful, e.g. for databaseconnections. Escpecially for sqlite3, where connections can't be used in other threads, than the one, who issued sqlite3_open.

Tntnet handles http-headers and cookies case-insensitive know. It was a bug, not to do it.

Components aren't deleted any more before the thread ends. Until know Tntnet had a special cleaner thread, which deleted components, which aren't used any more. This was not that useful, because components don't eat much memory and it is really a waste of time to do asyncronous cleanup without gaining much.

Tntnet has new demos: calcajax and chat shows, how to use ajax with Tntnet; alldemos shows a (configurable) page with links to all other demos.


Release version 1.4.2 of cxxtools
Posted on June 29, 2006

Cxxtools is now updated to 1.4.2. Not too much changes here, but a big step: cxxtools is LGPL now! You can link it with your closed source or differently licensed software.


development version 1.5.2pre2 of Tntnet
Posted on June 12, 2006

Since Tntnet is GPL and OpenSSL is not, I decided to port Tntnet to gnutls, which is LGPL. This version let you choose at configure-time, which ssl-library to use if any.


development version 1.5.2pre1 of Tntnet, version 1.4.2pre1 of cxxtools
Posted on May 31, 2006

These are bugfix-releases. Applications based on cxxtools (like Tntnet) failed to start on systems without IPv6. Some warnings are removed. Tntnet compiles now with OpenSSL on OpenBSD.


stable version 1.5.1 of Tntnet, version 1.4.1 of cxxtools
Posted on May 16, 2006

The latest development-versions 1.5.1pre4 of Tntnet and 1.4.1pre2 of cxxtools are released (almost) unchanged.


development version 1.5.1pre4 of Tntnet, version 1.4.1pre2 of cxxtools
Posted on May 10, 2006

This releases adds support for IPv6. You can just pass IPv6-addresses to socket-classes. License-statements were added in files to make Cxxtools and Tntnet ready for debian


development version 1.5.1pre3 of Tntnet, version 1.4.1pre1 of cxxtools and version 0.6.2 of Tntdb
Posted on April 12, 2006

Logging with Cxxtools is optimized. This results in a 30% speed-up. A new std::ostream-derived class cxxtools::Streamcounter is included, which just counts the characters, which are printed. The rolling-file-appender uses it to monitor filesize, which make flushdelay to work with it.

In Tntdb 0.6.2 the mysql-driver got some bugfixes. Fetching some datatypes (e.g. timestamp) resulted in a crash, because the Mysql-API returns too small lengths (or I misunderstand the API;-) ).

Tntnet extends the license to allow linking with openssl. Some ANSI-C++-violations are fixed. A new demo newsdb is added, which demonstrates, how to access a database with Tntdb from a web application. The documentation was reformatted to use only standard fonts, which reduces the size of the tarball.


development version 1.5.1pre2 of Tntnet and new version 0.6.1 of Tntdb
Posted on March 27, 2006

Here is another development-version of Tntnet. This version teaches the precompiler to generate #line-directives. Error-messages of the c++-compiler now point directly into to ecpp-source instead of the (intermediate) output of the precompiler.

Tntdb 0.6.1 fixes some minor bugs and makes some small improvements. The postgresql-driver allows now cursors outside transactions. Passing date-, datetime- and time-classes to statements may be null.


development version 1.5.1pre1 of Tntnet
Posted on March 23, 2006

SSL and internationalization didn't work at all in 1.5.0. This release fixes it. An updated quick-start-guide is included. Some unused code has been removed. Building of static libraries is suppressed, because it does not make sense with Tntnet.


Tntnet version 1.5.0, cxxtools 1.4.0
Posted on March 04, 2006

I finally declared Tntnet 1.5.0 and cxxtools 1.4.0 as stable, just because they are. Tntnet 1.5.0 is faster than ever and has gone through many stability- and speed-tests, which makes it rock-solid and incredibly fast.

Cxxtools got a new logging-feature, which speeds up logging quite significantly. The parameter "flushdelay" enables a background-thread, which flushes the outputfile asynchronously. The logentries don't trigger a flush, so may logentries are written with one system-call. This results in a 15% speed-up of Tntnet in simple cases. Without it dynamic pages are just as fast as static pages in apache2. With delayed flush Tntnet is well ahead of apache2.


tntdb version 0.6.0, Tntnet version 1.5.0pre7, cxxtools 1.4.0pre5
Posted on January 25, 2006

This version adds a driver for sqlite3, a connectionpool, a introductio and lots of smaller fixes and improvements.


Tntnet version 1.5.0pre6 and cxxtools 1.4.0pre4
Posted on December 14, 2005

This is a major upgrade for Tntnet. Tntnet now supports end-tags in componentcalls. With this it is easier to build components, which wrap some html-content. Tntnet now supports gzip-encoding.


tntdb version 0.5.2
Posted on November 12, 2005

Make databasedrivers optional at configure-time.


Tntnet version 1.5.0pre5 and cxxtools 1.4.0pre3
Posted on November 08, 2005

Thread-class in cxxtools is now split into DetachedThread and AttachedThread. In Tntnet the workers are derived from DetachedThread. This fixes a major bug, which could trigger a unnecesery emergency-restart.


Tntnet version 1.5.0pre4
Posted on November 04, 2005

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


tntdb version 0.5.1
Posted on November 01, 2005

This version has some minor bugfixes in the mysql-driver (handling MYSQL_TYPE_LONGLONG is working now).


tntdb version 0.5
Posted on October 24, 2005

Tntdb is a c++-library for easy access to databases. It supports dynamic loading of drivers. Currently drivers for postgresql and mysql are available.


Tntnet version 1.5.0pre3
Posted on October 18, 2005
  • fixed bug in generation of components with compressed data.

This is hopefully the last prerelease before 1.5.0.


Tntnet version 1.5.0pre2
Posted on September 26, 2005

changes

  • one level of indirection of factory-pointer removed (binary incompatible to 1.5.0pre1!).
  • detection of cxxtools- and zlib-headers fixed. Missing headers trigger a error at configure-time.

Tntnet version 1.5.0pre1 and cxxtools 1.4.0pre1
Posted on September 22, 2005

changes

Namingconvention: all classnames starting uppercase, methodnames lowercase.


Tntnet version 1.4.0 and cxxtools 1.3.1
Posted on June 17, 2005

changes

Unsafe html-characters in c++-expressions is escaped before sent to browser.


Tntnet version 1.4.0pre3
Posted on June 11, 2005

changes

Simplified api for calling subcomponents in c++-mode. Ecpp-compiler ecppc can now automatically generate dependencies for Makefile (with -M).


Tntnet version 1.4.0pre2
Posted on June 01, 2005

changes

Removed boost dependency. Tntnet uses now the POSIX.2-regex instead of boost-regex. This greatly simplifies installation and also reduces binary-size. Also a memory-leak in 1.4.0pre1 was fixed.

There is a users-guide (in open-office-format) and a yet unfinished configuration-guide.

I tested this release successfully with gcc-4.0.1, which greatly improves performance (about 20% faster compared to 3.3.4).


Tntnet version 1.4.0pre1
Posted on May 27, 2005

changes

This version adds automatic session-handling through cookies and scoped variables. Statevariables can be of any (almost) any type.

And I'm finally writing documentation. I'm not good in writing and I would appreciate any help I can help. Please contact me at tommi@Tntnet.org.


Tntnet version 1.3.1
Posted on May 18, 2005

changes

This is a bugfix-release. There was a probem with tnt::httprequest::getPeerAddr().


cxxtools version 1.3.0
Posted on February 19, 2005

changes

The socket-classes got some improvements. It handles timeout better now.

cxxtools-config is a configuration-script, to help compile against cxxtools (escpecially cxxtools-log) easier. It also has the ability to generate a suitable configurationfile for the underlying logging-library.


log4shell 0.1 - comand-line-interface to log4cxx
Posted on January 01, 2005

log4shell is a quick hack, which enables shell-scripts to log with log4cxx.


Tntnet and cxxtools version 1.2.2
Posted on December 30, 2004

changes

  • improved and simplified logging-library in cxxtools
  • minor protocol-fix in Tntnet

Tntnet version 1.2.1
Posted on December 11, 2004

  • use cxxtools-1.2.1-logging
  • typed arguments
  • added quick-start-guide (incomplete)


cxxtools version 1.2.1
Posted on December 05, 2004

changes

  • removed obsolete timeclass.cpp
  • switched dl-classes to libtool for better portability
  • skip iconvstream if libiconv is not installed
  • new library: logging-wrapper for log4cplus (log4cxx-support will follow)
  • simple lightweight logging-library as a alternative for log4cplus
  • tested with FreeBSD 5.3/gcc 3.4.2


Tntnet version 1.2.0
Posted on November 26, 2004

Some feature enhancements and bugfixes. Needs cxxtools >=1.2.0.


cxxtools version 1.2.0
Posted on November 25, 2004

Code-cleanup. All classes are in namespace cxxtools now. Most classes have doxygen-style comments.


Tntnet version 1.1.2
Posted on November 09, 2004

Much improved build-system. Minor feature enhancements.


Tntnet version 1.1.1
Posted on October 17, 2004

I recreated version 1.1.1 due to build-problems in last version.

2004-10-17

New version 1.1.1. Now autoconfigurated. Installation with the usual "configure; make; make install".


Copyright © 2008 The Tntnet Development Team
Tntnet 1.6