Jython 2.5.1 Release Notes
The following features have been added and bugs have been repaired for 2.5.1. For a look at the complete roadmap for Jython along iwth links for the PEPs and other information, please look at the roadmap:
New Features
- zxJDBC supports the with-statement: connections are committed or rollbacked; cursors are closed
- Upgraded to ANTLR 3.1.3
- [ 1859477 ] Dynamically loaded ServletFilters like PyServlet
- Built in JSR 223 scripting engine, with LiveTribe JSR 223 implementation for JDK 5
- Jython "-J-classpath cp_args_here" now works as expected for unix shell.
Bugs Fixed
- [ 1466 ] wrong handling of append only files
- [ 1079 ] fixed regression on issue: twisted.python.threadable module: missing attribute '_RLock'
- [ 1461 ] assert statement should lookup AssertionError using getglobal
- [ 1425 ] distutils/util.py assumes too much posix
- [ 1457 ] Cannot write an array in a file opened in r+b mode.
- [ 1382 ] __cmp__ on certain types raises ArrayStoreException
- [ 1443 ] Can't update() hashlib.sha1() with array.array('c')
- [ 1444 ] Can't zlib.compress() with array.array('c')
- [ 1458 ] Builtin codecs aren't available without standard lib
- [ 645615 ] cannot import through symbolic links
- [ 1366 ] parsing of lamda expression fails
- [ 1365 ] continuation lines fail in interactive interpreter
- [ 1377 ] Event names shadowed by a field name on Java types leads to a NPE
- [ 1381 ] Redundant declarations of interface implementation hides overriden methods
- [ 1189 ] MD5 hash is incorrectly calculated when string contains non-latin chars and using python md5 lib
- [ 1802339 ] Problem printing unicode when stdout intercepted
- [ 1145 ] Jython 2.5 compatibility problem with JSR 223
- [ 1400 ] Evaluating expression via JSR 223 ScriptEngine returns null instead of True/False
- [ 1413 ] Array data type (PostgreSQL) is not supported (NPE)
- [ 1434 ] Cannot get return code from a process started with os.popen with Jython 2.5 (worked in 2.2)
- [ 1391 ] socket.getaddrinfo() breaks ftplib FTP client
- [ 1409 ] JSR-233 engine version numbers backwards
- [ 1408 ] JSR-223 engine doesn't implement I/O redirection
- [ 1393 ] TypeError: _new_impl(): expected 1 args; got 0
- [ 1415 ] ast Node creation fails with no arg constructors
- [ 1405 ] Executing __run__.py from .jar throws exception(SystemExit: 0) in main when sys.exit(0) is called
- [ 1439 ] Can't write() array.array
- [ 1139 ] crashes on isinstance
- [ 1430 ] Oracle JDBC Connection close
- [ 1406 ] Parsing a simple PEP 342 coroutine crashes Jython 2.5
- [ 1407 ] ClassCastException in plain Python coroutine
- [ 1424 ] Relative imports do not work in some cases
Jython 2.5.0 Release Notes
The following features have been added for 2.5.0. For a look at the complete roadmap for 2.5 along with links for the PEPs and other information, please look at the roadmap:
- yield is always a keyword
- int() will now return a long instead of raising OverflowError if a number is too large
- list.insert() changed to be consistent with negative slice indexing
- list.index() takes optional start, stop arguments.
- Dictionaries gained a pop() method and .fromkeys() class method.
- dict() constructor takes keyword arguments.
- Many type objects are now callable.
- PEP 279: enumerate() built-in added.
- PEP 218: A Standard Set Datatype
- PEP 273: Importing Modules from Zip Archives
- PEP 278: Universal Newline Support
- PEP 282: logging package
- PEP 285: A Boolean Type
- PEP 293: Codec Error Handling Callbacks
- PEP 302: New Import Hooks
- PEP 307: Pickle Enhancements
- PEP 324: subprocess module
- optparse module
- ExposeAnnotations
- Move antlr parser in /trunk/sandbox/ast to trunk
- Hookup asm compiler to antlr, solidify and add 2.5 features
- PEP 289: Generator expressions
- PEP 263: Defining Python Source Code Encodings
- PEP 318: Function/method decorators
- PEP 308: Conditional expressions
- PEP 343: 'with' statement
- PEP 342: Coroutines via generators
- PEP 341: Unified try/except/finally
- PEP 352: Exceptions as new-style classes
- UpgradeTo25CPythonLib
- PEP 292: Simpler String Substitutions
- PEP 327: decimal type
- UpgradeTo25CPythonLib
- Ongoing parser fixes (universal newlines, line numbering, newline handling, interactive interpreter bugs)
- PEP 237: Unifying int/long
- PEP 357: Allowing Any Object to be Used for Slicing
- PEP 309: Partial Function Application
- PEP 305: csv module
- PEP 338: Executing modules as scripts
- unicodedata module
- PEP 328: Multi-line and absolute/relative imports
- elementtree module -> jython-elementtree
- New Java integration (based on new style classes)
- cjkcodecs
- bz2 module
- ReplaceJythonc

