TiniHttpServer Version History

Return to Index

Version

Comments

0.2

» Initial release.

0.3

» Improved output buffering (and added server.bufferSize property). Much better performance!

0.4

» Release supporting TINI Firmware Beta 1. Even better performance!

0.5

» Added TmexServlet.
» Enhanced Security. TINI Beta 1 added support for .. to get to the parent directory. This allowed people to access files anywhere on TINI by using URLs such as http://kumquat/../etc/.startup. Version 0.5 now responds with 403 Forbidden to any requests for files that are not in or under docRoot.

0.6

» Release supporting TINI Firmware Beta 2. Performance is still improving!
» Fixed bug in temperature calculation in TiniServlet (only affected temperatures below 0° C).
» GenericServlet.getServletName() has been removed.
» TmexServlet improved.
» FamilyCode10Servlet added.
» Made logging slightly more consistent.
» Improved HttpServletResponse.sendRedirect().
» Added server property (server.stackTrace) to enable stack traces when logging exceptions.
» TiniHttpServer now runs on any Java system!!!

0.7

» Improved TmexServlet to explicitly target all family codes and search for all iButtons.
» Added support for transfer log (and the server.transferLog property).
» Improved multi-threading so a "blank request" will not hang entire server.
» Added socket timeout (and server.requestTimeout property) so that "blank requests" will timeout.
» Simplified tracking of active handler count.
» Added support for the transfer log daemon (and the server.transferDaemon property).
» Added the transfer log daemon.
» Added miscellaneous helper files.

0.8

» Release supporting TINI Firmware Beta 2.1.
» Removed some workarounds; no new features.

0.9

» Release supporting TINI Firmware Beta 2.2.
» Improved garbage collection.
» Added abstract class com.smartsc.http.AuthenticatedHttpServlet and sample servlet AuthenticatedServlet.
» Added FamilyCode20Servlet.

0.10

» Fixed the reading of POSTed data.
» Fixed com.smartsc.http.HttpRequest.getServerName().
» Fixed com.smartsc.http.HttpRequest.getServerPort().
» Added server.mimeTypesFile server property (and /etc/mime.props file).
» Changed TiniServlet's conversion time for family code 10 devices from 500ms to 750ms to accommodate DS18S20 devices.
» Removed transfer log daemon support.
» Added support for mailing "oversized" log files.
» Fixed a bug in com.smartsc.http.HttpRequest.httpDecode() when encoded string started with a '%xx' sequence.
» Added Referrer and User-Agent request headers to transfer log.
» Added favicon.ico.
» Added BackupServlet.
» Added ConvertTransferLog.java - An undocumented program to convert TiniHttpServer's transfer log files into a format that can be recognized by transfer log analyzers. This just converts the date and time field from a numeric format to a more conventional format.

0.11

» Version supporting TINI 1.0.
» Renamed TmexServlet to iButtonServlet.
» Fixed bug in HttpRequest.getContentType().
» Ignore query strings when GETting documents.
» GETting documents now uses BufferedInputStream.
» ServletInputStream now uses BufferedInputStream as its underlying InputStream.
» ServletInputStream.readLine() handles CR characters better.
» HttpRequest.httpDecode() now correctly decodes '+' to a space character.
» Added support for date related HTTP headers.
» Added logic for If-Modified-Since header when GETting documents.
» Added support for HEAD method.
» Changed date format in the transfer log to a human-readable format.
» Removed ConvertTransferLog.java

0.12

» Version supporting TINI OS 1.01.
» Fixed bug in HttpResponse that was not flushing/closing ServletOutputStream when done.
» Modified all iButton code to use the new iButton API.
» Modified iButtonContainer20 to increase performance. It now uses select() instead of isPresent().

0.13

» Version supporting TINI OS 1.02p3.
» Changed build process from batch files to Ant.
» Updated JSDK support to JSDK version 2.2.
» Updated all 1-Wire code to use the new com.dalsemi.onewire classes.
» Fixed date format in HTTP headers.
» Enhanced OneWireServlet to dump memory contents of 1-Wire memory devices.
» Changed documentation from one large file to several smaller files.

0.14

» Fixed bug related to HTTP "Not Modified" response.
» Made HttpSessionReaper a daemon thread so that the process will terminate on TINI even if an exception is thrown during startup.
» Distribution now includes two .tini files. One with all the 1-Wire containers and one with only the 1-Wire containers that are absolutely required by the sample servlets. The latter .tini file is much smaller and therefore less likely to be problematic on 512 KB TINIs.

0.15

» Version supporting TINI OS 1.02.
» Added support for OneWireContainer33 to ths_owapi_dep.txt.
» Updated build.xml to fix problems for some build environments.
» Support 1-Wire code on non-TINI systems.
» Default value of onewire.deps in build.properties is now THS_MIN. This makes a smaller .tini file when building TiniHttpServer.
» Updated build process to work with TiniAnt 1.1.0.
» Updated TiniServlet to show TINI serial number and hardware version and to show uptime in days.
» Added robots.txt file to prevent WWW robots from traversing the servlets.

0.16

» Version supporting TINI OS 1.02b.
» Build process works with Ant 1.3.  Ant 1.3 fixes the IllegalAccessError that occurred with Ant 1.2 when tini.jar is in the classpath or the <jre>/lib/ext directory.
» Objects bound to HttpSessions are now properly unbound when the session is invalidated or times out.  Thanks go to Cameron Roe for pointing out this bug!
» HttpUtils.parseQueryString() now works (i.e. it doesn't always return an empty Hashtable).  Thanks go to Ewen McNeill for pointing out this bug!
» FamilyCode12Servlet included.  Thanks go to Tony DiCicco for this contribution!
» Build process aborts with (hopefully) useful error message if JSDK 2.3 is detected.  Thanks go to Sean Kelly for this idea!
» The build.properties file now provides an "extra.classpath" property that can be used to specify the classpath of third-party libraries required by your servlets.  Thanks go to Sean Kelly and John Wilson for this idea!

0.17

» Version supporting TINI OS 1.02c.
» Added built-in support for WML MIME type.
» Handle Unicode encoding in request path.
» Fixed date header in emailed log files.
» POST data not parsed until requested.
» build.xml performs more tool checks.
» Always truncate log files when size limit reached (even if emailing of log files is disabled).
» Improved RequestDispatcher support.
» Greatly enhanced the request-to-servlet mappings (more conformant to JSDK spec).
» Home page can be generated by a servlet.

1.0

» Version supporting TINI OS 1.02d.
» New licensing options.
» Supports OneWireContainer22/24/27 (missing tini1.02d owapi_dep.txt).
» Documentation converted to XHTML.
» Build process works with source files outside of the "src" subdirectory.
» Build process with external dependencies simplified.
» Build process works with JDK 1.4.
» Added gendocs target to build.xml (requires wget).
» Change default session ID name in cookie to JSESSIONID (as per JSDK 2.2. spec).
» Added status code SC_FOUND (302).
» Use SC_FOUND instead of SC_TEMPORARY_REDIRECT for sendRedirect.
» Add mappings for FamilyCode servlets.
» When logging exceptions, always print something.
» Correctly handle duplicate request headers.
» Prevent duplicate transfer log entries if response is closed multiple times.
» Fixed NullPointerException in getRequestDispatcher(String urlPath).
» Don't pre-parse request body when looking for sessionId.
» Send headers, including (session) cookies, when redirecting via sendRedirect.


Copyright © 1999-2002 Smart Software Consulting