Recent Major Changes
From 1.0b3 to 1.0b4
-
JPython objects implement Java serialization
-
Protected methods can be overridden in Python when subclassing a Java class
-
PyJavaClass objects now have all the methods of java.lang.Class
-
jpythonc has new "-bean" switch to generate Java beans
-
Add support for building RMI servers in JPython
From 1.0b2 to 1.0b3
-
Much improved JavaBeans property implementation based on java.beans package
-
Freeze renamed jpythonc and made easier to use
-
Real Java exceptions can now be both raised and caught by Python code
From 1.0b1 to 1.0b2
-
License now permits commercial use
-
Applets work well - lot's of little fixes to security and module loading
issues
-
Easier to use existing Java libraries (based on JavaBeans properties, but
works for non-beans as well)
-
Java instances now display using their toString methods
-
New command line switch "-" to treat stdin as a file (needed for making
JPython scripts executable on Unix)
-
Lots more demos
From 0.4 to 1.0b1
-
The core JPython interpreter is now multi-thread safe (and the thread module
is implemented)
-
Working re module (Perl 5 compatible regular expressions) built on top
of OROMatcher regex library
-
First pass of socket and marshal modules are available
-
List sorting uses quicksort algorithm from Python 1.5 (list sorting is
now about 2x slower than in CPython 1.5 vs. several 1000X slower in the
previous release)
-
stdout and stderr can be redirected
From 0.3 to 0.4
-
Much greater compatibility with CPython1.5
-
JPython now passes almost all of CPython's standard regression tests
-
No more built-in string module, instead using the standard string.py in
Python library
-
A strops module will be added in the near future
-
File object support reasonably complete (thanks Guido!)
-
Complex numbers
-
XRange objects
-
String '%' formatting implementation is complete
-
Somewhat complete os and path modules
From 0.2 to 0.3
-
Experimenting with self-extracting executable installer (from InstallShield)
-
Initial support for creating real Java classes from Python classes (needed
for applets, servlets, and JavaBeans)
-
Much better support for calling Java methods overloaded by argument type
-
Subclassing of Java classes with non-empty constructors supported (also
supports explicitly calling your superclass's constructor in __init__ method)
From 0.1.1 to 0.2
-
Compiler is now about 50X faster (redesigned and reimplemented in Java)
-
Proxy classes are automatically created when subclassing from a Java class
-
Interactive mode works the same way as in CPython (significant parser redesign)
-
Addition of jarray module to allow the creation of arbitrary Java arrays
-
Most special "__" methods are supported on user defined classes (see FAQ
for what's still missing)
-
Classes, modules, and instances all now have a __dict__ attribute
From 0.1 to 0.1.1
-
Fixes BUG in 0.1 where using system path separator character made Unix
installation fail
-
java.packages list is now always separated by commas