Release notes for I*Tea 3 2015/07/02 Released itea-3.6.8 with the bug fixes described below. 2015/06/11 Fixed issue #8755. In a webapp, when a shared SSharedTeaSession is created and then promoted to SDedicatedTeaSession on a single page request, two set-cookies were present in the output for the same cookie name. One setting the shared session cookie identifier, and the other setting the dedicated session identifier. It is undefined which cookie will the browser accept. This is now fixed, and only one Set-Cookie header with the final dedicated session identifier is present in the output. Planned for future itea-3.6.8 release. 2015/06/11 Fixed issue #8785. In a webapp, when a shared SSharedTeaSession is marked for promotion to SDedicatedTeaSession, but the promotion fails beacause the maxium number of dedicated sessions has been reached, the original shared session is now discarded. Not doing so would cause a memory leak and could be exploited to increase in the number of com.pdmfc.tea.runtime.STeaRuntime instances much beyond the MaxSessions parameter. Planned for future itea-3.6.8 release. 2015/06/11 Fixed issue #8767. In a webapp, when a shared SSharedTeaSession is marked for promotion to SDedicatedTeaSession, but the promotion fails (beacause the maxium number of dedicat.ed sessions has been reached), the browser is now properly redirected to the NoMoreSessionsUrl. This behaviour overrides any application's redirect. Planned for future itea-3.6.8 release. 2015/06/11 Refactored webapp session ID generation into interface com.pdmfc.itea.webapp.SSessionIdGenerator with com.pdmfc.itea.webapp.SSessionIdGeneratorDefault as the default generator, and added com.pdmfc.itea.webapp.SSessionIdGeneratorTomcat which uses the same algorithms as in Apache's Tomcat 8. Example of configuration of SessionIdGeneratorClass and SessionIdGeneratorParameters within a SDedicatedTeaSessionManager: define dedicatedSessionMngr [itea-service \ "DedicatedSessionMngr" \ "com.pdmfc.itea.webapp.SDedicatedTeaSessionManager" ( ( SessionTimeout 6000000 ) ( MaxSessions 100 ) #( SessionIdHash $true ) ( SessionIdGeneratorClass "com.pdmfc.itea.webapp.SSessionIdGeneratorTomcat" ) ( SessionIdGeneratorParameters [itea-map ( ( SessionIdLength 16 ) ( SecureRandomClass "java.security.SecureRandom" ) ( SecureRandomAlgorithm "SHA1PRNG" ) ( SecureRandomProvider $null ) )]) ( TeaRuntimeManager [$teaRtMngr getName] ) ) ] Omitting SessionIdGeneratorParameters (or any of its key/values) will use the same default Tomcat 8 parameters. See the javadoc apidocs/com/pdmfc/itea/webapp/SSessionIdGeneratorTomcat.html for more details on parameters. Planned for future itea-3.6.8 release. 2015/06/08 Released itea-3.6.6, and itea-3.6.7 with the same feature level (existing bundle for itea-3.6.6 was not documented in release-notes.txt). 2015/06/04 Fixed bug #8734 SPreparedStatementBase.setObject(int i, Object x, ...) properly accepts null for Object x. Planned for future release 3.6.6. 2015/06/02 Implemented the feature #8744 to allow the addition of session cookie attributes HttpOnly; secure, planned for future release 3.6.6. com.pdmfc.itea.webapp.SWebAppListener now accepts an extra parameters CookieAttribs with a list of attributes. Example: define listener [itea-service \ "WebAppLstnr" \ "com.pdmfc.itea.webapp.SWebAppListener" ( ... ( CookieName ERG-EOL-DVLP-IT3 ) ( CookiePath / ) ( CookieAttribs ( "HttpOnly" "secure" ) ) # since itea-3.6.6 only. "secure" will not work over http ... ) ] 2014/11/24 Released the 3.6.5 version with SConnectionManager new optional parameters: SqlOnBorrow and SqlOnReturn These will allow to execute SQL commands when receiving a Connection from the pool and returning a connection to the pool. 2014/11/13 Released the 3.6.4 version with support for SMixedTeaSessionManager and promotion of SSharedTeaSession to SDedicatedTeaSession. SDedicatedTeaSessionManager also allows for masquerading the web session cookie with an MD5 hash. 2012/11/28 Released the 3.5.11 version 2012/11/28 Changed the query initialization value to be the same as current time millis 2012/06/08 Released the 3.5.10-beta01 version 2012/06/08 Extended com.pdmfc.net.http.SHttpRequest to provide access to encoded URL parameters 2011/07/20 Released the 3.5.9 version 2011/07/07 Added function "itea-ws-type-string" to declare a SOAP type derived from the String base type. 2011/07/23 *** Released the 3.5.8 version 2011/07/23 Added feature to access for accessing the context of a web service request within an operation. See javadoc on "com.pdmfc.itea.ws.SWsRequestContext" for details. 2009/10/20 *** Released the 3.5.7 version 2009/09/25 The service "com.pdmfc.itea.listener.SListenerBase" now ensures only one of "JobManager" or "MaxThreads" and "MaxPending" are specified as its config parameters. 2009/09/25 New service "com.pdmfc.itea.webapp.SSharedTeaSession" that allows sessions in a web application to be shared among consecutive requests. This means the corresponding Tea interpreters are also shared. The Tea code must thus be written assuming a stateless environment between page executions. 2009/03/30 Added new optional parameter "MaxFileUploadSize" to service com.pdmfc.itea.webapp.SWebAppResponder. 2009/02/06 *** Released the 3.5.6 version Created from Subversion revision 29. This also fixes a problem in I*Tea 3.5.5 that passes an empty --jre option to invocation of Tea (a problem after tea-3.2.3). 2009/02/06 Updated PDM logo, and the copyright notice. 2009/02/06 Integrated com.pdmfc.itea.database.SStatementBase from pdmfc-iteabackofficetemplate. The com.pdmfc.itea.database.SConnectionManagerBase service has a new boolean parameter "LogId" (defaults to $true), that if $true (with Verbose loggin turned on), logs an unique base64 ID for each query. 2008/12/18 Released the 3.5.6-beta1 version internally. 2008/11/21 TSK-PDMFC-ITEA-0021 added support to show the error message+stack trace on the output stream. On com.pdmfc.itea.webapp.SWebAppResponder, parameter ErrorUrl is no longer mandatory. On com.pdmfc.itea.scripting.STeaRuntimeManager, a new optional boolean parameter ErrorOutput (defaults to false) is accepted. If $true, a Tea error message + stack trace ocurring during the execution of the StartScript, page script, or the StopScript will be appended to the output. (Errors on the BeginScript are not shown in the output). On com.pdmfc.itea.scripting.STeaRuntimeManager, a new optional boolean parameter ErrorAbort (defaults to false) is accepted. If $true, and an errors occurs during the execution of the page script, the StopScript is not executed. (The EndScript is still executed). The original behaviour of an error occuring in the StartScript preventing the execution of the page and StopScripts is kept. 2007/11/21 Added minOccurs attribute for optional complex type elements in WSDL generation. 2007/02/10 Corrected bug in handling SOAP messages containing a date time value represented with a positive timezone offset. 2006/10/12 Module itea.webapp.html docs show HTML tag in overview. 2006/08/16 Enhanced the "com.pdmfc.itea.listener.SStaticFileResponder" service to read supported file extensions and corresponding mime types from a given file ("/etc/mime.types" by default). 2006/08/05 Added the itea-flush webapp function. 2006/07/31 Added the "size" attribute to the "HtmlSelection" TOS class (module "itea.webapp.html"). 2006/07/11 *** Released the 3.5.5 version. 2006/06/01 Corrected syntax error on the "itsh" script (missing "'" that was only aparent under bash 3.1). 2006/05/20 "WSDL documentation of schema data structures is now visible inside tags." 2005/10/26 *** Released the 3.5.4 version. 2005/10/26 Slight refactoring in the internal SOAP APIs to improve compatibility with other SOAP stacks. 2005/10/25 The classes "TSoapClient", "TPropsClient" are now automatically loaded when running a Tea script with the "itsh" utility. 2005/10/25 The "TSoapClient" constructor may now receive as argument the web service connection URL. 2005/07/15 *** Released the 3.5.3 version. 2005/07/15 Corrected the behaviour of the "setField(String,String)" method in class "com.pdmfc.net.http.SHttpMessage" such that it now respects unique fields (e.g. "content-type", "content-length"). 2005/07/02 Added full suport for the "multipart/form-data" content type in browser requests on a web application (com.pdmfc.itea.webapp.SWebAppResponder). 2005/07/01 *** Released the 3.5.2 version. 2007/07/01 Improved logging in case of a Tea error in a web application. If a Tea error occurs both in the page script and in the stop script now the Tea stack trace for both errors is logged. Previously only the stack trace for the stop script error was being displayed. 2005/06/30 Added new service "com.pdmfc.itea.webapp.SScriptPathHandler". It is used with a "com.pdmfc.itea.webapp.SWebAppResponder" to allow a finer handling of requested paths. 2005/06/24 Refactoring of "com.pdmfc.itea.database.SConnectionManagerBase" such that it will no longer block when creating a connection if another "SConnectionManagerBase" instance is already blocked creating a connection. (This was to solve a limitation in "java.sql.DriverManager.getConnection(String,String,String)") 2005/06/01 *** Released the 3.5.1 version. 2005/05/20 Added a new "autocomplete" attribute to the "HtmlEntry" TOS class. 2005/05/20 Added a new "name" attribute to the "IWButtonAction" TOS class. 2005/05/19 The initialization of a service is now more robust. If the service fails to initialize due to a "java.lang.RuntimeException" now an apropriate error message gets generated. 2005/05/16 Extended the API of "SMapConstraints", "SConstrainedMap" to support float values. 2005/03/13 *** Released the 3.5.0 version. 2005/05/10 All classes in the "com.pdmfc.util" package are now included in the client JAR file "itea-client-x.y.z.jar". 2005/03/28 New service "com.pdmfc.itea.listener.SLoadBalacingProxy" used for load balancing client requests among multiple HTTP servers. 2005/03/16 Enhancements in the classes from the "com.pdmfc.net.http" package. 2004/12/27 Corrected bug in "com.pdmfc.itea.logger.SLoggerManagerBase" that could lead to a dead-lock under heavy load conditions. 2004/12/22 *** Released the 3.4.1 version. 2004/12/15 The "doc/release-notes.txt" file is now included in the release bundle. 2004/11/31 *** Released the 3.4.0 version. 2004/10/21 Improved the performance of the logging service "com.pdmfc.itea.logger.SLoggerManagerBase" when formating the log messages. 2004/10/20 The "com.pdmfc.itea.webapp.SWebAppSessionManager" now maintains alive the thread responsible for removing timed-out sessions only when there are active sessions. 2004/10/20 Improved logging in multiple services to display information on the configuration parameters they are being started with. 2004/10/19 Slight refactoring of "com.pdmfc.itea.listener.SListenerBase", "com.pdmfc.itea.listener.SHttpListenerBase", "com.pdmfc.itea.webapp.SWebAppListener" to improve control over when the server socket starts accepting connections. 2004/10/18 New service "com.pdmfc.itea.webapp.SWebAppResponder" used to implement web applications. This service can be used with a "com.pdmfc.itea.listener.SHttpListenerBase" to provide direct access to the web application through an HTTP server. It is intended to deprecate the use of "com.pdmfc.itea.webapp.SWebAppListener". 2004/10/06 *** Released the 3.3.5 version. 2004/09/28 Error messages emited by the "setup" tool are now more user-friendly if it is not possible to write the installation configuration file "config/itea-install.conf". 2004/09/28 Corrected bug that prevented the "NoSuchDocumentUrl" configuration parameter for the web application service "com.pdmfc.itea.webapp.SWebAppListener" to work as documented. 2004/09/28 The behaviour of the "itea-redirect", "itea-redirect-abs" functions as been reinstated as it was in I*Tea 2. 2004/09/28 The web application service "com.pdmfc.itea.webapp.SWebAppListener" now logs all data sent by the client with log level "DEBUG", except for form data, which is still logged with "DEBUG5". 2004/08/20 When an I*Tea server starts up the first line is now a message containing the software version number. 2004/07/19 *** Released the 3.3.4 version. 2004/07/13 The web client API now correctly handles responses that have HTTP status other than 200. 2004/07/06 The web service client API now correctly interoperates with servers that do not send a "content-length" header attribute in the HTTP response. 2004/06/23 *** Released the 3.3.3 version. 2004/06/04 Corrected bug in the single string constructor of "SException". The constructor argument may now be a string of whatever contents. 2004/06/04 Corrected bug in the "SqlUtils.format(String,Object[])" method that was causing dates to be incorrectly formated. 2004/06/03 The "com.pdmfc.itea.db.SConnectionManagerBase" service now retrieves sessions from cache in a most recently used base. This makes it possible for old connections to remain unused in the cache and to be eventually closed and removed. 2004/04/05 *** Released the 3.3.2 version. 2004/04/02 Extended the web services client API to support HTTPS servers. 2004/03/24 The SOAP responder now supports messages with href nodes when a web service descriptor is being used. This improves the interoperability with .NET SOAP clients. 2004/03/08 *** Released the 3.3.1 version. 2004/03/08 The "com.pdmfc.itea.database.ConnectionManagerBase" service now logs the time it takes to create new database connections. Also, the "java.sql.Connection" and related objects obtained from a "ConnectionManagerBase" now log all the SQL statements that get executed. 2004/03/07 *** Released the 3.3.0 version. 2004/03/07 The "com.pdmfc.itea.database.SConnectionManagerBase" service now logs the time taken by SQL commands to execute. 2004/03/07 A variable named "ITEA_VERSION" is now available for Tea code run inside an I*Tea server. 2004/03/05 New service "com.pdmfc.itea.webapp.SWebAppListener" for creating web applications written in Tea. 2004/02/20 *** Released de 3.2.2 version. 2004/02/18 Corrected minor bugs in the PROPS client. 2004/01/26 *** Released the 3.2.1 version. 2004/01/23 Added support for SOAP web services with "literal encoding". 2004/01/02 Corrected bug in the "com.pdmfc.itea.ws.SWsResponder" service that resulted in null bytes being appended to log messages corresponding to the contents of the response message. This bug only manifested itself when the "VerboseMessageLogging" configuration parameter was set to true. 2004/01/02 For Tea code running inside an I*Tea server the "echo" function is redefined to generate a log line. This applies only to Tea interpreters created by a "STeaRuntimeManager" service. 2003/09/28 *** Released de 3.2.0 version. 2003/09/21 Added support for automatic generation of WSDL. The SOAP responder upon receiving a GET request with an "WSDL" query item returns the WSDL for the service. 2003/09/22 Simplified support for describing web services. New functions "itea-ws", "itea-ws-type-struct", "itea-ws-type-array", "itea-ws-type-operation" for creating a web service description. This description is used by the SOAP responder service and from Tea code implementing operations. 2003/09/13 The "TSoapClient function" method now may receive an aditional method corresponding to the value of SOAPAction to correspond to the operation bein defined. 2003/08/24 Added new "VerboseMessageLogging" configuration parameter to the "com.pdmfc.itea.ws.SWsResponder" service. This configuration parameter makes it possible to log the contents of the request and response for each connection that is handled. This is usefull during development and debugging of operations code. 2003/08/24 Added new "VerboseOperationLogging" configuration parameter to the "com.pdmfc.itea.ws.SWsResponder" service. This configuration parameter makes it possible to log each operation invocation arguments and resulting values. This is usefull during development and debugging of operations code. 2003/08/10 *** Released de 3.1.0 version 2003/07/12 Improved support for SOAP web services. 2003/06/02 *** Released the 3.0.3 version. 2003/06/02 The "SFileLoggerManager" service has a new "RolloverPattern" configuration parameter (replaces the never used "RolloverPeriod"). This parameter makes it possible to periodically perform log file rollovers. 2003/02/26 The "SConnectionManagerBase" has a new "MaxInactivity" configuration parameter. When this parameter is specified connections in the internal cache are closed after the specified inactivity time. 2003/02/24 The background thread in the "SSessionManagerBase" service that watches for sessions that have timed out is now alive only when there are actualy sessions alive. 2003/02/24 The "DefaultLogLevel" configuration parameter of the "SLoggerManagerBase" service is now a string identifying the log level to be used. Previously it was an integer value. 2003/02/24 The packages "com.pdmfc.itea.services.database", "com.pdmfc.itea.services.listener", "com.pdmfc.itea.services.logger" were renamed to "com.pdmfc.itea.database", "com.pdmfc.itea.listener", "com.pdmfc.itea.logger" respectively. 2003/02/21 New "itea-db-connection" function available in Tea code running from within the I*Tea server. This function returns a "TConnection" instance initialized with a "java.sql.Connection" obtained from a "SConnectionManager" service. 2003/02/20 New "SConnectionManagerBase" service for obtaining "java.sqlConnection" for a particular database. This service implements the "SConnectionManager" interface. It is intended to replace the "SConnectionPool", "SConnectionPoolBase" classes. 2003/02/19 The "SListenerBase" service now accepts two aditional configuration parameters: "MaxThreads", "MaxPending". These can be used instead of the "JobManager" parameter. 2003/02/17 *** Released the 3.0.2 version. 2003/02/17 The runtime configuration file "IteaConfig.properties" is now automatically generated when the development environment is configured. 2003/02/17 The contents of the "TeaLibrary" configuration parameter for the "com.pdmfc.itea.scripting.STeaOperationManager" service no longer have to include the URL for the "/lib/operations" resource. 2003/02/17 Added a "release" target to the main Makefile. It is used to create the release bundle. 2002/10/23 *** Released the 3.0.1 version.