New: * Fixed deadlock in HTTP client stack * Fixed synchronization order to avoid deadlock while locking the parent Since 2.2.1 release: * Fixed RelocateFrame to accomodate new ipv6 scan of host in URL * Fixed a potential leak (never emptied hashtable) in HttpManager * Error reported when an error occur in the file system does not display the PATH any longer to avoid disclosing * Fixed ZipFrame to allow automagic destruction of stale entries in the underlying zip * Fixed directory index of ZipDirectoryResource, to delete and get size information the right way * Memory and performance upgrade of the infamous CommonLogger and ExtendedCommonLogger, who were the primary culprits in the memory usage once the stores are loaded. * Redid the InetAddress dump in the logger as well as the status code dump * Fixed reuse of connection in the HTTP Client stack, by using jdk1.4 method on socket (uses reflection to keep the code backward compatible) * ServletWrapper now take the feeding thread from a thread cache (avoid keeping too many open threads) * Fixed servlet wrapper to close the input stream when needed, also when a relocate or an error is triggered from the servlet, an exception is raised if the client already got (part of) the reply. * Special files "aux", "con", etc. can no longer be created by the indexer on windows platform (still possible on other platforms as those files are not special there). * URL in jdk1.4 can have an empty file element, it is now translated to '/' for all methods but OPTIONS, where it is '*' * Integrated cookie parsing patch contributed by Julien Mudry * Various updates in the HTTP stack, to consume less memory and use non-deprecated Date API. * Fixed HttpURLConnection getContentType was raising an exception rather than returning null * Fixed ContentLengthInputStream, it now send an IOException when the stream is cut too early in read() * Implemented JigsawHttpServletRequest setEncoding and other servlet 2.3 API methods * Fixed JigsawHttpServletRequest getCharacterEncoding to return null when undefined instead of the iso-8859-1 default * Fixed Base64Decoder based on Jeffery Collins original patch * Fixed JigsawHttpServletResponse, it now checks that the stream has been commited before (wrongly) barfing * Solved the deadlock problem with negotiated frame, directory listing, and everything that needs backward traversal of the resource tree. * Fixed the default encoding used in JigsawHttpServletResponse per servlet 2.3 javadoc * Ensure that keys in the ResourceStoreManager are not used twice when generated * Added a way to optimize by not unloading big stores, depending on a tunable limit. (org.w3c.jigsaw.storesize= property) * Fixed RedirectedFrame to avoid ipv6-like hosts when it is a ipv4 one. * Removed potential conflicting Connection: header values in the HTTP client stack during discovery of HTTP capabilities * Deadlock fixes in the HTTP client stack * Added more servlet 2.3 supported methods.