Please see http://code.google.com/p/idapython/source/list for a detailed list of changes. Changes from version 1.4.3 to 1.5.0 ------------------------------------ - IDA Pro 6.1 support - Added AskUsingForm() with embedded forms support (check ex_askusingform.py example and formchooser.py in the SDK) - Added idautils.DecodePreviousInstruction() / DecodePrecedingInstruction() - Added idc.BeginTypeUpdating() / EndTypeUpdating() for fast batch type update operations - Added more IDP callbacks - Added UI_Hooks with a few notification events - Added idaapi.process_ui_action() / idc.ProcessUiAction() - Added netnode.index() to get netnode number - Better handling of ea_t values with bitwise negation - Execute statement hotkey (Ctrl-F3), script timeout, and other options are now configurable with Python.cfg - bugfix: idaapi.msg() / error() and warning() so they don't accept vararg - bugfix: processor_t.id constants were incorrect - bugfix: get_debug_names() was broken with IDA64 - Various bugfixes Changes from version 1.4.2 to 1.4.3 ------------------------------------ - IDA Pro 6.0 support - Python CLI now prints expression evaluation result (no need to use print()) - Changed Alt-8 to Ctrl-F3 (because it conflicts with window switching key Alt+n) - Added get_highlighted_identifier() - Added PluginForm class to allow UI development with either PyQt4 or PySide - Added idautils.Entries() to enum entrypoints Changes from version 1.4.1 to 1.4.2 ------------------------------------ - Added command completion - Added necessary changes so it compiles with Python 2.7 - Wrapped set_user_defined_prefix() Changes from version 1.4.0 to 1.4.1 ------------------------------------ - Added cli_t - Added idaapi.ph to access current process fields - Changed the copyright string to IDAPython Team - Some platform dependant classes are present but useable only where applicable Changes from version 1.3.0 to 1.4.0 ------------------------------------ - IDA Pro 5.7 support - idaapi.cvar.cmd is now accessible via idapi.cmd instead - Python statement (Alt-8) is now 16kb long - Dropped script box and File/Python file. IDA has this functionality now. - Refactored the code - It is possible to turn off script timeout - All scripts are executed via 'IDAPython_ExecScript' (check idaapi.i) - Added '--doc' switch to "build.py" script - Documented all manually wrapped functions (check 'pywraps' module in the docs) - Lots of cleanups and fixes Changes from version 1.2.0 to 1.3.0 ------------------------------------ - IDA Pro 5.6 support - Added Appcall mechanism - Added procregs to idautils.py (r254) - Lots of cleanups and fixes Changes from version 1.1.0 to 1.2.0 ------------------------------------ - 64-bit support (largely untested) - IDA Pro 5.5 support - Long running (or inifinitely looping) scripts can now be stopped - Host of IDC updates and fixes - netnode.hpp is now mostly wrapped - idautils use generators instead of lists - Functions() and GetFchunkAttr() now work properly - Lots of cleanups and fixes Changes from version 0.9.0 to 1.0.0 ----------------------------------- - Upgraded IDA Pro base version to 5.1 - Dropped Python 2.4 support - Mac OS X support - IDC compatibility layer is now complete and up to date for IDA 5.1 - INCOMPATIBLE CHANGE: the idaapi module needs to be imported manually - Support for IDB and debug notification hooks - Support for GUI hotkeys (see examples/hotkey.py) - Simple two-way calling mechanism between IDC and IDAPython - Significantly better IDA API coverage - Support for IDB and debug event hooks - get_current_instruction() deprecated, use the idaapi.cvar.cmd variable - Tons of IDC fixes - Tons of other misc fixes Changes from version 0.8.0 to 0.9.0 ----------------------------------- - Upgraded base version to IDA Pro 5.0 - Works with IDA Pro 5.1 - Python 2.4 and 2.5 supported - Close to complete IDC compatbility layer (in sync with 4.9) - Significatnly improved IDA SDK API covergage (see STATUS.txt for details) - IDA SDK patch size reduced to less than half - Simplified installation (plugins.cfg modification not needed) - Evaluation window content is saved over IDA restarts (in the database) - Windows version is built with Microsoft Visual C++ Express Edition - Build makefile replaced with a Python script - Cleanups and small fixes Changes from version 0.7.0 to 0.8.0 ----------------------------------- - Added support for IDA Pro 4.9 - Dropped support for IDA Pro 4.7 - NOTE: Windows version is linked against Python 2.4. - New wrappers: search.hpp, dbg.hpp, loader.hpp, diskio.hpp, nalt.hpp - idc.py synced up to IDA 4.8 - Added 38 IDC functions - Fixed asklong(), askseg() and askaddr() - Automatically generated cross reference documentation (epydoc) - User-specific init file support (see README,txt) - Deprecated some functions that have direct Python equivalents (see idc.py) - Fixed exception in ScriptBox when invoked empty. - Lots of cleanups and small fixes Changes from version 0.6.0 to 0.7.0 ----------------------------------- - Batch execution support (use the option -OIDAPython:yourscript.py) - Added ScriptBox - lists previously run scripts (Hotkey:Alt-7) - Added support for IDA Pro 4.8 (both Linux and Windows) - Dropped support for IDA Pro 4.6 and 4.6SP1 versions - Wrapped the list chooser (see examples/choose.py) - A dozen or so IDC functions added - Lots of char * API calls wrapped - Added Python error handling in the plugin C layer - Bunch of misc small cleanups and fixes - For more details see CHANGES-SWIG.txt and CHANGES-Plugin.txt - API CHANGE: {Next|Prev}Function() return BADADDR instead of -1 Changes from version 0.5.0 to 0.6.0 ----------------------------------- - Added support for IDA Pro 4.7 (both Linux and Windows) - Dropped support for IDA Pro 4.6SP1 beta on Linux - Lots of IDC wrapper additions and fixes: - Added 30+ new wrappers to idc.py - Most Find*, Ask* and Seg* are now wrapped - Fixed broken NextAddr(), PrevAddr(), MakeFunction() and MakeName() - Fixes to the makefile - Cleanups for the idaapi wrapper - Bunch of misc small cleanups and fixes - For more details see CHANGES-SWIG.txt and CHANGES-Plugin.txt