Monday, August 11, 2008

IronPython 1.1.2 Released

Congratulations to the IronPython team for another great release. IronPython 1 targets Python 2.4 compatibility and version 1.1.2 is intended to be the last release of IronPython 1.
This release fixes around twenty issues from Codeplex and includes the implementation of the _winreg module plus some performance improvements.

Notable changes / bugfixes in this release include:
  • nt.unlink will now throw an exception if the file doesn’t exist, as it does in CPython
  • The signature of IronPython.Runtime.Operations.Ops.Id() has changed and it now returns an object instead of long. This maps to the id() function in Python. Note that there is no change for Python caused by this and only code which is directly calling Ops.Id from a statically typed language like C# or VB will be affected
  • Tuple hashing improvements - if you use tuples as dictionary keys you'll see a performance improvement from this
  • Backport fix for compiled regular expressions - more performance improvements - compiled regexes weren't actually compiled previously
  • Event handlers can cause circular references and leak memory - Nice to see this fixed, no need to manually unhook event handlers when disposing of UI objects now (hopefully)

The following CodePlex Work Items were also closed:
  • 16368 1.1.2: nt.access is missing
  • 15105 1.1.2: endpos is zero in IronPython 1.1.1
  • 16337 1.1.2: Trivial: Implement float.__lt__(float)
  • 16338 1.1.2: Using lambda in class definition will add into the
  • 16342 1.1.2: calling base class __call__ invokes constructor instead
  • 16343 1.1.2: problem with __slots__ and __init__ in new-style classes
  • 16347 1.1.2: Trivial: popen shouldn't open new window
  • 16348 1.1.2: Removes the inexistent file did not throw OSError in IP
  • 16350 1.1.2: int() doesn't convert representable longs to int
  • 16351 1.1.2: dict.update doesn't take keyword arguments - differs from CPython
  • 16353 1.1.2: Trivial: int('0x20', 16) fails to parse, long too
  • 16355 1.1.2: unpacking single element tuples in for-statement, listcomp and generator
  • 16356 1.1.2: socket.getnameinfo(...) broken under Vista
  • 16360 1.1.2: Class with slots and getattr not compatible
  • 16363 1.1.2: Can't call method w/ nullable as 1st argument w/ greater than 5 arguments
  • 16366 1.1.2: PyCF_DONT_IMPLY_DEDENT support in compile
  • 16749 1.1.2 (Trivial): Modifier of PythonEngine.DefaultCompilerContext(..)

No comments:

Post a Comment

Note: only a member of this blog may post a comment.