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.hpparea_tgot a new member functionclear()- 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