Since it is always exciting to find new features, I thought it would be good to put up a list of the changes introduced into the IDA SDK since version 5.0! This should allow all plugin writers to get a quick overview of new functionality.
Relevant changes in the IDA SDK between version 5.0 and 5.1 beta 2 follow, sorted by filename …
- allins.hpp- Added SSE3 instructions
- Added SSSE3 instructions
- Added VMX instructions
- Spelling mistakes in comments  
 
- area.hpp- area_tgot a new member function- clear()
- New type lastreq_t
- Several member function arguments now with constparameters
- areacb_tslightly changed
- Some comments added to previously uncommented functions
 
- auto.hpp- Added external symbol ea_without_xrefs
 
- Added external symbol 
- bytes.hpp- Added new function next_unknown()
 
- Added new function 
- bytes.hpp- Added new functions next_unknown()andprev_unknown()
- Name of second parameter to prevthat()changed name tominea
 
- Added new functions 
- bytes.hpp- Added new functions next_unknown()andprev_unknown()
- Name of second parameter to prevthat()changed name tominea
- New function add_qword()
- New function get_flags_by_size()
- New (inline) function get_data_type_size_by_flags()
- New function for debugger set_op_type_no_event()
- Second parameter of do_unknown()changed its meaning. Instead of a bool now a bitmask (but backwards compatible!)
- Same for the respective parameter in do_unknown_range()
- Several updated comments
- #ifdef(- NO_OBSOLETE_FUNCS) for deprecated functions
 
- Added new functions 
- dbg.hpp- New function get_current_thread()to retrieve the thread ID
 
- New function 
- demangle.hpp- New preprocessor symbol MNG_CALC_VALID
- New function is_mangled_string_name()
- Several updated comments
 
- New preprocessor symbol 
- diskio.hpp- New function qlgetz()
 
- New function 
- diskio.hpp- New function set_entry_name()
 
- New function 
- err.hpp- Simple declaration changes (not relevant for a rebuild)
 
- expr.hpp- Updated comment to VT_WILD
 
- Updated comment to 
- fixup.hpp- Simple declaration changes (not relevant for a rebuild)
 
- frame.hpp- New function set_purged()
- New function add_stkvar3()supersedes the deprecatedadd_stkvar
- New function add_auto_stkpnt2()supersedes the deprecatedadd_auto_stkpnt
- Several updated comments
- #ifdef(- NO_OBSOLETE_FUNCS) for deprecated functions
 
- New function 
- funcs.hpp- New preprocessor symbols FUNC_NORET_PENDING,FUNC_SP_READY,FUNC_PURGED_OKforfunc_t
- New preprocessor symbols MOVE_FUNC_REFUSEDfor return value offunc_setstart()
- New function set_noret_insn()
- New function func_tail_iterator_set_ea()
- New function func_item_iterator_decode_preceding_insn()
- New member function set_ea()insidefunc_tail_iterator_t
- New function decode_preceding_insn()
- New functions get_prev_func_addr()andget_next_func_addr()
- New stack tracer related functions recalc_func_noret_flag(),plan_for_noret_analysis()andinvalidate_sp_analysis()(inline)
- Several updated comments
 
- New preprocessor symbols 
- gdl.hpp- Several huge changes, please have a look into the file yourself
 
- graph.hpp- Several declaration and comment changes, please have a look into the file yourself. Apparently this API is now “frozen”, since the respective comment from version 5.0 was removed
 
- help.hpp- Helping the compiler with some parameter declarations which are now constpointers
 
- Helping the compiler with some parameter declarations which are now 
- ida.hpp- New file type f_MACHOfor Mac OS X added
- New member function is_32bit()foridainfo
- idainfoknows three new analysis flags:- AF2_ANORET,- AF2_VERSP,- AF2_DOCODE
- Several minor changes.
 
- New file type 
- idd.hpp- New preprocessor symbold for the debugger ID in debugger_t:DEBUGGER_ID_X86_IA32_MACOSX_USER
 
- New preprocessor symbold for the debugger ID in 
Although I haven’t managed to go through all files I thought it would be better to publish it since IDA 5.1 was released. I’ll try to complete it if I (ever) find time 
// Oliver
