Welcome to Jython 2.5.2 ======================= This is the final 2.5.2 release of Jython. It contains the fixes of the blocker bugs since 2.5.2 release candidate 3. This release fixes bugs related to resource leaks, Java integration, and a number of other issues. See the NEWS file for more details. In particular, we did not completely fix #1327, "Classloaders cannot GC, which exhausts permgen." Jython uses instances of ThreadLocal-managed class, ThreadState, to manage its execution state, including frames, exceptions, and the global namespace. The ThreadState also indirectly refers to the ClassLoaders used by Jython. Such usage can cause resource leaks when a Jython application is restarted under certain app containers, because the ThreadState often may not cleaned up by the app server's thread pool. Fixing this problem without a backwards breaking API change appears to be difficult. Therefore we recommend exploring workarounds, such as the one published in this blog post, http://weblogs.java.net/blog/jjviana/archive/2010/06/09/dealing-glassfish-301-memory-leak-or-threadlocal-thread-pool-bad-ide Jython 2.6 will introduce limited backwards breaking API changes, so it will be possible to fully resolve this bug, and related issues, in that version instead. And -- last but not least -- please help spread the word: Organizations using Jython 2.2.1, or earlier, should test their code against 2.5.2 beta 2 now so that bug fixes and/or workarounds may be identified. In particular, please note the following: * No additional work is anticipated on Jython 2.2. * Jython 2.5.2 is the last release in Jython 2.5.x series that will address non-severe issues, including Java integration issues. * Jython 2.6 development will begin immediately following the 2.5.2 release. Jython 2.6 will require the use of JDK 6. The release was compiled on Mac OS X with JDK 5 and requires JDK 5 to run. Please try it out and report any bugs at http://bugs.jython.org.