1. python_mirrors
  2. sandbox/jython27


sandbox/jython27 / NEWS

Jython NEWS

15-Jan-2001 Jython 2.0 release candidate 1

  New features
   - Experimental support for reloading java packages. Thanks to
     Samuele Pedroni for all his work on the Jython/Java integration.

  Bug fixes.
   - Prevent a NPE when a .jar on the classpath is corrupt. Instead
     a message with the original IOException is printed.

10-Jan-2001 Jython 2.0 beta 2

  New features
   - Added socket.getfqdn(). Thanks to Brian Zimmer for the patch.

  Bug fixes.
   - Fixed innerclass names with '$' #127200 
   - Fixed a bug where final methods were overriden in proxy #127201.
   - Fixed a bug in exec which allow a fileobject to be passed in.
     Thanks to Brian Zimmer for the patch.

31-Dec-2000 Jython 2.0 beta 1

  New features
    - Installer logo by Ivan Kougaenko. The logo content is still 
      open, so submit you suggestions.
    - The default packages selected in the installer are now better
      attuned to the normal user (as opposed to the jython devers).

  Bug fixes.
    - Fixed a NPE when a class is defined in non-module namespace.
    - Fixed a compilation problem when using JDK1.2.x
    - The installer now creates a useable Uninstall.class.

25-Dec-2000 Jython 2.0 alpha 3

  Bug fixes.
    - Fixed a bug that caused Infinite recursion in subpackage 
    - Fixed conversion error when a long is converted to a java double.
    - Fixed a bug where an attribute in a package __init__.py would
      hide a submodule.
    - Fixed missing quotes around the path to java.exe in jython.bat 
      for windows.
    - Include missing re.py in installer.
    - Added threading and atexit modules from CPython2.0.

17-Dec-2000 Jython 2.0 alpha 2

  New features.
    - Added -v (verbose) option to jython command. It will trace
      import statements. Use three -v's for maximum information.
    - Added new registry option python.options.internalTablesImpl
      which is a list of choices (':' separated) for internal 
      tables implementations. These tables contain the mapping of 
      classes to PyJavaClasses.
      Long running applications that unloads classes can avoid a
      memory leak by setting the property to "weak" or "soft". 
      That will use a table implementation which use weak or soft 
    - Use a SecureClassLoader for loading compiled python modules.
      This should allow jython to be used with the java plugin and
      its fine grained security.

  CPython-2.0 compatibility
    - Added support for formatting of long values in "%d %x %X %o".
      The support does not match CPython2.0 exactly, but matches
      what CPython2.1 will do.
    - The \x escape will only eat two hex characters and will 
      always create a character with values < 256. Use the \u
      escape for high-byte values.
    - A ucnhash module to support the \n{name} escape.

  Backward incompatibility:
    - The python.path property is appended to sys.path instead of
      being inserted at position 1 in sys.path.

  Bug fixes.
    - Package relative import works in jythonc, at least when the dotted 
      package name match the directory structure.
    - Fixed oct(0) to return "0"
    - Added a os.__file__ attribute. CPython's site.py expects that.
    - Fixed a exception when calling int("0", 16)
    - Delay closing a socket until all sock.makefile() files are closed.
    - Avoided a duplicate call to Class.getMethods(). This will improve 
    - Allow from import * to modify the locals in a function (bug 122834).
    - Classes with the same name do no longer clash (bug 122820).
    - Avoid a memory leak where many threads get started and stopped. The 
      fix only works on java2.

26-Nov-2000 Jython 2.0 alpha 1

  New features.
    - Integrate the free ORO regular expression matcher from the apache

  CPython2.0 compatibility, including 
    - List comprehension.
    - Extended call syntax.
    - Extended print statement
    - Augmented assignment.
    - Unicode support libraries and codecs.
    - sre unicode regular expression.

  Some backward incompatibility is introduced:
    - The user configuration file is now called <user.home>/.jython
    - Text files will pass data read and written through the default
      codecs for the JVM. Binary files will write only the lower eight
      bits of each unicode character.
    - arrays passed to java code will no longer autocoerce just 
      because the elements can be autocoerced.
    - The precedence of java loading have changed. Now the sys.path
      is searched for python modules before the CLASSPATH and sys.path
      is searched for java class and java packages.
    - The builtin exceptions are always classbased. -X is disable.
      User exception can still be strings.

  Bug fixes.
    - Many, including the errata.
    - Now the content of a java package is the union of the content of all 
      locations with the corresponding valid hierarchical name 
      from dirs and jars of CLASSPATH (and sys.path for dirs); i.e.
      from jpkg import * works for jpkg in a dir too.

  Improved CPython 2.0 compatibility
    - codecs module
    - sha module.

26-Jan-2000 JPython 1.1 final released

  - Only one small CPython compatibility patch to os.mkdir() and
    os.makedirs() -- optional `mode' argument, which is ignored.

21-Jan-2000 JPython 1.1 release candidate 1 released

  New JPython features and bug fixes
    - Race conditions when creating multiple PythonInterpreter objects
      in an embedded multithreaded Java application have been fixed.
    - Recursive print of a module's namespace no longer overflows the
      JVM stack.
    - Fixed backslashing of quotes inside triple quoted strings (Finn
    - Fixes to read(int) method on file objects, which used to return
      the empty string before EOF was seen.
    - Class-based exceptions are used in frozen (jpythonc) modules.
    - Duplicate argument names in a function definition raise the
      appropriate SyntaxError.
    - os.path.getsize() has been added.
    - mutability of tuples under some situations has been fixed.
    - dictionary insertion order affecting dictionary equality has
      been fixed (Finn Bock).
    - Using the --package option with jpythonc has been fixed.

  Improved CPython 1.5.2 compatibility
    - optional sizehint argument implemented for readlines() method on
      file objects.
    - Better compatibility in %g formatting of floats.
    - sys.stdout.softspace is now writeable.
    - re.VERBOSE/re.X flags are implemented.
    - traceback object's reprs are CPython conformant.
    - In module os, os.error is equivalent to the builtin OSError.
      Also, listdir(), mkdir(), makedirs(), remove(), rename(), and
      rmdir() raise OSError directly.
    - os.stat() raises an OSError if the file is missing.

28-Oct-1999 JPython 1.1beta4 released

  New JPython features and bug fixes
    - fixed a bug related to loading anonymous inner classes (PR#201).
      This is an experimental patch.  See registry file for entry
    - fixed Java exceptions when calling apply() with a bogus 3rd
      argument (PR#208)
    - fixed a 1.1beta3 problem with method objects having their
      im_self mysteriously changed out from under them (PR#186).
    - fixed problems with Python classes being deeply derived from
      Java classes and interfaces (PR#178, PR#195).
    - Improved memory footprint when using exec().
    - Dead threads are now reaped from thread state cache (Drew
    - Tuples, dictionaries, and strings now use fast method lookup

  Improved CPython 1.5.2 compatibility
    - md5 module supported (no need to download anything extra)  
    - dir() on function objects now returns a list containing __doc__,
      func_doc, __namme__, func_name, func_globals, func_defaults,
      func_code.  __doc__/func_doc is writable (but not func_defaults
      and func_code, which are writable in CPython). (PR#192)
    - dir() on code objects returns a list containing co_name,
      co_argcount, co_varnames, co_filename, co_firstlineno, co_flags.
      Not supported: co_nlocals, co_code, co_consts, co_names,
      co_lnotab, co_stacksize.  All attributes are read-only.
    - dir() on method objects returns a list containing im_self,
      im_func, im_class, __doc__, __name__.  These attributes are

22-Sep-1999 JPython 1.1beta3 released

  New JPython features and bug fixes

    - JPython can now optionally access non-public members of Java
      classes.  By setting the registry entry
      python.security.respectJavaAccessibility=false, JPython can
      access private, package-private, and protected fields, methods,
      and constructors.  By default, normal Java access rules are
      followed, i.e. only public members can be accessed.  This
      feature only works if running with Java 1.2.  Thanks to Tony
      Plate for his initial implementation.
    - A new framework for looking up the methods for builtin types has 
      been enabled.  This can speed up method calls by a factor of 2.
      The feature is currently experimental and has only been
      implemented for list objects, but will be implemented for other
      builtin objects for the next release.
    - Some workarounds for weird JIT bugs have been added, but this
      may not fix all problems related to running JPython under JVMs
      with JIT enabled.
    - A wrapper for a free md5 builtin module is included, although
      the md5 implementation is not.  See the comment in
      org/python/modules/MD5Module.java for details.
    - New semantics for registry key python.modules.builtin (and
      correspondingly the org/python/modules/Setup.java file).

  Improved CPython 1.5.2 compatibility

    - sys.modules['__builtin__'] and "import __builtin__" has been
    - Builtin methods and functions now have the standard __name__,
      __doc__, __self__, and __members__ attributes.
    - Dictionaries and lists now have a __methods__ attribute, and
      dir({}) or dir([]) return the list of members.
    - repr(8to16bitstring) now prints standard octal escapes for 8bit
      characters.  It still prints hex escapes for 16bit characters.
    - Added abspath() to os.path (i.e. javapath)
    - Code objects now have a co_flags attribute
    - Frame objects now have f_trace attribute, and dir(frame) works
    - None() now raises a TypeError
    - tuple(somelist) immutability patch
    - re match objects now have groupdict() method
    - Finn Bock patch for setting of a module's __name__ after reload

16-Jun-1999 JPython 1.1beta2 released

    - Updates and bug fixes to jpythonc tool.  New registry entries
      python.jpythonc.compiler, python.jpythonc.classpath, and
      python.jpythonc.compileropts.  getopt style long/short option
      names (old options are deprecated).  New -J/--compileropts
    - syncing string object methods with experimental CPython 1.6
      string methods.  This includes new optional arguments on
      startswith() and endswith() and the moving of join() to a method 
      of the separator string.
    - Many other bug fixes and CPython syncs

04-Jun-1999 JPython 1.1beta1 released

  Highlights of changes since JPython 1.0.3

    - New and improved jpythonc tool by Jim Hugunin
    - New modules contributed by Finn Bock: cStringIO, cPickle,
      struct, binascii
    - New module synchronize, equivalent to Java's synchronized
    - Operator module now complete
    - sys.add_package() no longer necessary, "import java.lang" just works
    - Class-based standard exceptions (w/ support for -X option)
    - super__ methods are deprecated, use regular Python style
    - time.strftime() added
    - Java 1.2 style collections support
    - Multiple interpreter states
    - Most CPython 1.5.2 features have been implemented
    - String objects now have methods -- expected CPython 1.6 feature
    - Improved performance
    - Java inner class support
    - keywords are allowed in some locations (e.g. as attribute names)
    - New license
    - bug fixes


Local Variables:
mode: indented-text
indent-tabs-mode: nil