IronPython Backwards Compatibility

Jan 24, 2011 at 6:31 PM

Hi, Currently we are running IronPython 2.0.1 in an embedded environment in our C# application. Our app allows our customers to write custom ironpython scripts that get executed at various times. We want to update to a new version of Iron Python to be able to enjoy the traceback debugging feature. Does anyone know if the current version of Iron Python will run scripts created for the 2.0.1 version? Are there any known backwards compatibility issues. Thanks.

Coordinator
Jan 24, 2011 at 6:42 PM

There’s 2 classes of incompatibilities you’ll need to deal with:

Changes in the IronPython API surface: For the most part if you’re just talking to the hosting APIs you shouldn’t really experience many (if any) changes here. The biggest possible one is the removal of IAttributesCollection if you were using that. If you were talking directly to various parts of the IronPython runtime you might experience more changes as the internals can and do change between versions.

Changes to the Python language: IronPython 2.6 and 2.7 match those versions of the languages. There are a few language incompatibilities that have been introduced (for example from __future__ import with_statement is now on by default so you can no longer use with as a variable name because it’s not a keyword). I don’t think there’s many of these – with is actually the only one that comes to mind.

From: Blitz357 [email removed]
Sent: Monday, January 24, 2011 11:31 AM
To: Dino Viehland
Subject: IronPython Backwards Compatibility [dlr:243101]

From: Blitz357

Hi, Currently we are running IronPython 2.0.1 in an embedded environment in our C# application. Our app allows our customers to write custom ironpython scripts that get executed at various times. We want to update to a new version of Iron Python to be able to enjoy the traceback debugging feature. Does anyone know if the current version of Iron Python will run scripts created for the 2.0.1 version? Are there any known backwards compatibility issues. Thanks.