A lot of work was done on the UI internals to improve the speed and responsiveness, and reduce unnecessary screen redrawing
UI: no more resetting to the default desktop layout when moving your IDB to another PC/monitor - the saved layout is scaled to fit the new resolution
SDK/UI: new set of functions for dealing with user-provided actions
[un]register_action
[at|de]tach_action_[to|from]_menu
attach_action_to_custom_viewer_popup
attach_action_to_output_popup
[at|de]tach_action_[to|from]_toolbar
All of them are also available in IDAPython
DWARF: much improved support for DWARF4, and added support for DWZ (compressed DWARF) files
MIPS: support for microMIPS, DSP extensions and Cavium Octeon II instructions
PIN and Dalvik debuggers were improved considerably to be faster, more robust and easier to use
Position-independent build of ARM Android remore debugger server (required for Android Lollipop)
UEFI type libraries and TE (Terse Executable) file format support
Many vulnerabilities fixed thanks to the submissions to our bug bounty program
Complete changelist
Processor Modules
6809: added support for data page segment register (DP)
ARM: detect several additional variations of the __rt_switch8 helper in binaries produced by the ARM compiler (armcc)
ARM: improve no-ret analysis for calls performed using BX and BLX instructions
Dalvik: 'T' can be used to apply structure offsets to odex "quick" instruction operands
Dalvik: decode return-void-barrier (opcode 0xf1) instruction
f2mc: Added PCB to the list of segment registers
m740: added I/O port definitions for m3804x
Mach-O: add init pointers as entrypoints (similar to PE's TLS callbacks)
Mach-O: improve the loader to handle unusual and deliberately modified files
Mach-O: use the LC_MAIN command, if present, to determine the program entrypoint
MIPS: added support for Cavium Octeon II instructions
MIPS: added DSP ASE support
MIPS: added MSA ASE support
MIPS: added microMIPS instruction set support
MIPS: provide auto-comment for floating point and dword-sized stack args
MIPS: resolve gp-relative references on N64 ABI
MIPS: simplify some instruction sequences to dla/dli on N32/N64 ABIs
MIPS: Support for R_MIPS_TLS_TPREL relocations
PC/PE/kernel: define entrypoint prototype for UEFI files NB: DXE entrypoint is used for all UEFI files, since it's impossible to distingish PEI and DXE files by the header flags
PC: decode FMA4 instructions
PC: handle switches produced by the Sun C compiler
PC: improve recognition of GCC switches in non-PIC x64 binaries
PC: improve switch analysis (again)
PC: improved frame analysis (some 'lea ebp' insns were recognized as part of prolog while they were not)
PC: improved prolog recognition
PE: handle unwind info version 2 in x64 .pdata sections
PE: support ARM64 files
PE: when applying relocations, mark relocations which apply to code as such (improves autoanalysis)
PPC: PPC_TOC, PPC_SDA_BASE, PPC_MMIO_BASE can now be set from IDC scripts
PPC: support for SPE 2.0 instructions
Tricore: apply mapping to offsets recognized in standard instruction sequences
File Formats
IDA automatically uses sparse storage for uninitialized segments
ELF: add support for R_MIPS_64 reloc
ELF: DT_MIPS_LOCAL_GOTNO-declared relocations in MIPS shared libraries will now be properly handled on rebasing/segment move
ELF: handle x86/x64 files with bogus EI_CLASS and EI_DATA values (these fields are ignored by Linux kernel)
ELF: if a dynamic shared object file has ".interp" section, do not mark it as DLL (it's a position-independent executable)
ELF: MIPS: detect microMIPS functions
ELF: MIPS: try to find initial gp value even when DT_MIPS_GP_VALUE is missing
ELF: PPC: handle R_PPC_ADDR24 relocation
ELF: support files that use bogus R_ARM_REL32 relocations for self-decryption
ELF: Support for R_386_TLS_TPOFF32 relocation
HEX: split the file being loaded into several segments if there are big gaps in addressing
Java: support loading of .class files produced by Java 8
CLI: IDA on Windows can now make use of the built-in CLI metadata loader, if the environment variable 'PE_CLI_FORCE_RAW' is set
TE: added support for TE (Terse Executable) file format, used in UEFI firmwares
Debugger
BOCHS: enabled manual memory regions in disk image mode
BOCHS: support for Bochs 2.6.6
debugger: Android: added a position-independent build of the debugging server (android_server_pie); necessary for Android Lollipop
Debugger: Dalvik: added an ability to preset breakpoints at methods of Activity to start with, controlled by Debug specific options
Debugger: linux: try to detect if the dynamic interpreter (ld.so) is loaded at runtime and start reporting shared libraries at that time This helps with debugging of compressed programs
DWARF: Don't try and use DWARF info from files that have a .gnu_debugaltlink companion file
DWARF: Golang: Better handling of some poorly-defined arrays dimensions
DWARF: Initial support for CFA(Call Frame Activation)-based stack arguments
DWARF: Moved to libdwarf 20140805, which provides much better DWARF V4 support
DWARF: Support for decimal floating point values
DWARF: Support for ELF files with a companion 'DWZ' file (i.e., "compressed" DWARF information.)
DWARF: Support for Free Pascal-style UDT-member-as-subroutine (lacks a '*' DIE)
PIN: implemented write memory request
PIN: print PIN toolkit version when starting pintool
PIN: provide access to FPU/XMM registers
PIN: support PIN toolkin version 2.14
PIN: support register modification
Kernel/Misc
demangler: added support for the .eh suffix
demangler: handle rvalue reference and nullptr_t in VC++ mangled names
generate a xref to the target struct type when 'struct offset' applied to a struct member
installer: enable SEHOP and Force ASLR mitigations on Windows at install time
kernel: reimplemented storage of segment register changepoints. Now ARM files with many ARM-Thumb changepoints consume much less memory
Linux installer will warn the user about missing 32-bit support instead of failing silently on pure x64 distros
show string tail as a comment if cross-refence points into the middle of the string
sync all imported types from loaded tils to the local til file; we need this to ensure that an imported type does not suddently change because of til manipulations
PELF: add support for ARCompact relocations
TIL: added a type library for UEFI (x86 and x64, version 2.4)
kernel: virtual array was flushing pages to the disk every time we changed its size; removed that
User Interface
UI/QT: When holding Shift or Ctrl while mouse wheel scrolling, entire pages are scrolled at once. When doing so in hint windows, they are grown/reduced faster, too
UI: add 'Undefine operand', and 'Alignment' to the context menu, when applicable
UI: Added "Copy to clipboard" functionality to "Export Data"
UI: added a setting for the number of xrefs for structs/enums in the Options dialog
UI: distinguish the main entrypoint in the list of exports/entry points
UI: double-clicking on a register value during debugging allows to edit it
UI: force randomization of Python DLLs load addresses, to reduce the risk of vulnerabilities; also enable Force ASLR if available (Windows 8 or later)
UI: handle gracefully lack of disk space when trying to save the database - allow the user to retry saving
UI: if one of the recent file entries in the File menu is selected while Shift key is held down, the file is opened in a new IDA instance
UI: improved the "Edit Segment" form; segment access permissions can be edited now
UI: on Windows, offer to create a minidump in case of an internal error
UI: options dialog: added a "graph" or "nongraph" suffix to the settings which are mode-specific
UI: print detailed function argument information when the user presses 'F'
UI: QT: remove requirement for compatible screen resolution when loading desktop from IDB. If some floating windows do not fit into the screen, they're resized
UI: remember the last used directory for the "Script file..." dialog (if OPEN_DEFAULT_IDC_PATH is not set)
Scripts & SDK
IDAPython: add idaapi.get_kernel_version()
IDAPython: added ability to build IDAPython with Hex-Rays bindings by specifying a path to a directory where to find the 'hexrays.hpp' file
IDAPython: added APIs for accessing the registry
IDAPython: added APIs for working with breakpoint groups
IDAPython: added umsg() for printing UTF-8 text into the Output Window
IDAPython: construct_macro() is now available to IDAPython processor modules
IDAPython: export get_custom_viewer_place(), and allow place_t clone() & related functions
IDAPython: expose QueueDel(qtype_t, ea_t), to complete APIs for manipulating entries from the "known list of problems"
IDAPython: get_tform_type()/get_tform_title(), & current_tform_changed callback
IDAPython: give users the ability to access the underlying TForm/TCutsomControl objects that back higher-level Pythony wrappers, so that the rest of the SDK API can be used as well
IDAPython: improve stability and error reporting for Python processor modules
IDAPython: Scripts can use OnViewMouseMoved() callback to be notified of mouse movement on views (both user-created, as well as core IDA views)
IDAPython: User graphs: double-clicking on a graph edge, will (by default) jump to the node on the other side of that edge
IDC: Added UMessage(), to print UTF-8 strings
IDC: 'Dump Database to IDC' now exports function comments too
IDC: SetType/ApplyType can be used with struct member IDs
SDK: Added 'umsg', which is in all aspects similar to 'msg', except that it works exclusively with UTF-8 strings
SDK: added build_stkvar_xrefs(), to get a list of all the xrefs in a function for a given argument/variable in that function's stack frame
SDK: added function to retrieve action attributes
SDK: added lower_type2(), that accepts a helper capable of providing additional information about the function, that lower_type2() itself doesn't know about
SDK: Added patch_qword(), (and PatchQword for IDC.)
SDK: added qfindclose64() to the destructor of qffblk64_t; there is no need to call it explicitly anymore
SDK: added qfstat64()
SDK: added unpack_xleb128() to read sleb/uleb128 values
SDK: attach_action_to_popup()/detach_action_from_popup() can now be used to register and remove 'permanent' popup actions
SDK: deprecated 32-bit findfirst/findnext functions and qstat()
SDK: deprecated guess_func_tinfo2 (use guess_tinfo2)
SDK: deprecated ui_showauto and ui_setstate
SDK: extend APIs for working with breakpoint groups
SDK: extended set_dock_pos usage. Now it can be applied for the complex widgets by specifying the window title, f.e. "IDA View-B, Enums, Exports"
SDK: extensive reworking of comments in the headers (converted to Doxygen format). HTML documentation is avilable for
SDK: introduced debugger_t::set_resume_mode to be able to specify various resuming kinds (it replaces 'thread_set_step')
SDK: new set of functions for dealing with user-provided actions
SDK: qfileexist() now returns false if the specified path is a directory (use qisdir() for directories)
SDK: since the return value of malloc/calloc with zero size is implementation dependent, the qalloc/qcalloc functions check for zero and return NULL
SDK: added qgetcwd()
BUGFIXES
BUGFIX: IDAPython: made 'extract_name' available again
BUGFIX: 32bit offsets in 16-bit segments were interpreted as seg:off pairs for all processors (should happen only for x86)
BUGFIX: 64bit windows debugger: read/write of FPU/MMX was handled incorrectly
BUGFIX: 6809: low/high offset expressions were displayed incorrectly
BUGFIX: a signed comparison was used to validate the 'maxord' field of .til files; this is a vulnerability that can be exploited by creating a specially crafted .idb file, at least in theory
BUGFIX: AOF: AOF loader could access out-of-bounds memory
BUGFIX: AOUT: IDA could crash trying to load a corrupted a.out file
BUGFIX: ARC: ARC4 ld/st were incorrectly treated as having delay slots
BUGFIX: ARC: brCC and bbitX instructions were printed incorrectly (no delay slot and unnecessary period)
BUGFIX: ARC: some ARCompact instructions were missing flag-setting bits
BUGFIX: ARM: IDA could hang if there were three or more thunk functions calling each other in a loop
BUGFIX: ARM: IDA could loop endlessly on some files (if the byte sequence would be resemble valid code but still had many inconsistencies)
BUGFIX: ARM: instructions belonging to TBH/TBB switches were not properly marked
BUGFIX: ARM: instructions inside IT blocks would lose their condition suffixes on rebasing
BUGFIX: ARM: single stepping inside IT blocks was broken
BUGFIX: autoanalysis could endlessly loop in some (rare) cases
BUGFIX: BOCHS: IDA could fail to start debugging in snippet mode (IDB mode) if there was a big .bss segment at the end of address space in the database
BUGFIX: BOCHS: IDB mode would work incorrectly with files that have many small, non-page-aligned segments (e.g. many ELF files)
BUGFIX: BOCHS: in protected mode (disk image mode), mappping of segment selectors that use LDT (and not GDT) was done incorrectly
BUGFIX: check_process_exit() could not handle the processes that were terminated by a signal (unix)
BUGFIX: choose2() in batch mode could return wrong answer (if the default answer was wrong)
BUGFIX: CLI: IDA could crash when loading a corrupted .NET file on Linux/OS X (double free)
BUGFIX: CLI: IDA could hang on some corrupted .net files
BUGFIX: CLI: IDA could spend enormous amount of time trying to load some corrupted .net files
BUGFIX: CLI: Incorrect .net metadata could cause IDA to quit on Linux & OSX
BUGFIX: CLI: specially crafted .net file could crash IDA on unix
BUGFIX: Closing the IDB and calling 'get_import_module_name()' (e.g., through a PLUGIN_FIX plugin) would crash IDA
BUGFIX: COFF: corrupted file could crash IDA
BUGFIX: COFF: IDA could crash on some corrupted files
BUGFIX: COFF: truncated string tables could lead to memory corruption
BUGFIX: Dalvik debugger could crash when switching to the debugger desktop
BUGFIX: Dalvik: move/16 and move-object/16 instructions were decoded incorrectly
BUGFIX: DBG/COFF: IDA could crash when parsing a COFF symbol with bogus count of aux records
BUGFIX: debugger: Android debugger could miss some memory areas (if the same starting address was listed twice in 'maps')
BUGFIX: debugger: in some cases debugger could not continue execution after suspending on 'start process' event
BUGFIX: debugger: it was impossible to read MMX registers from 64bit linux debugger
BUGFIX: debugger: mac: IDA would fail to read debuggee's memory at or close to address 0 even when it was valid
BUGFIX: Debugger: some debugger modules could still send BREAKPOINT events after receiving the termination request; IDA should ignore them
BUGFIX: DEX: a specially crafted DEX could crash ida
BUGFIX: DEX: fixed a buffer overflow in the DEX loader
BUGFIX: DEX: IDA could crash trying to load a corrupted DEX file
BUGFIX: DOS: MZ EXE relocations with values >0x8000 were processed incorrectly
BUGFIX: DWARF: could fail recognizing some types as being equivalent, and end up in an INTERR
BUGFIX: DWARF: could crash when generating some variations of a type, to make its size suitable for inheritance
BUGFIX: DWARF: some badly corrupted DWARF data could cause IDA to quit
BUGFIX: ELF: bogus PT_NOTE entries could cause IDA to hang for a long time
BUGFIX: ELF: could crash on corrupted elf files
BUGFIX: ELF: IDA could crash when loading a specially crafted ELF file
BUGFIX: ELF: MIPS HI16 RELA relocations were incorrectly applied
BUGFIX: ELF: specially crafted file could result in stack buffer overrun
BUGFIX: ELF: STB_WEAK symbols were not listed in the 'exports' window
BUGFIX: EPOC: handcrafted EPOC files could cause an endless recursion and eventual crash (but IDA would ask for a confirmation at each iteration)
BUGFIX: EPOC: IDA could crash trying to load corrupted EPOC files
BUGFIX: EPOC: malicious deflate-compressed EPOC files could crash IDA
BUGFIX: EPOC: specially crafted .sis file may cause memory corruption
BUGFIX: fixed behavior of highlight + scrolling to be like IDA pre-6.6
BUGFIX: Fixed exporting to C header file of types with fileds of referenced by name type
BUGFIX: GDB: the "Use CS:IP in real mode" option was treated as always active, leading to incorrect EIP values in real mode in some stubs (e.g. VMWare)
BUGFIX: HPSOM: HP-UX SOM loader could access out-of-boundary memory
BUGFIX: IDA could crash at the exit time if tinfo_t objects were leaked by a plugin or script
BUGFIX: IDA could crash if an attempt to match a jump table instruction sequence was made on an ea without a segment
BUGFIX: IDA could crash on specially crafted DEX file (trying to allocate a huge segment)
BUGFIX: IDA could crash trying to guess a function type (stack overflow)
BUGFIX: IDA could crash trying to load corrupted PharLap extender files
BUGFIX: IDA could hang trying to move a segment from the top of the addressing space
BUGFIX: IDA could interr if the program was rebased in the presence of orphan bytes (bytes that do not belong to any segment)
BUGFIX: IDA could not parse 'static int inline x;'
BUGFIX: IDAPython Decompiler bindings could abort IDA because of some uncaught C++ exception
BUGFIX: IDAPython processor modules' outop-produced op_t references were leaked
BUGFIX: IDAPython: Activate() callback was not functional
BUGFIX: IDAPython: Exceptions in GraphViewer.OnRefresh() were silently ignored
BUGFIX: IDAPython: exceptions thrown inside the code called by SWIG wrappers must be caught, or IDA might abort
BUGFIX: IDAPython: Form.Close() was not working in most cases
BUGFIX: IDAPython: gen_disasm_text() was expecting a 'text_t' instance, which is not exposed
BUGFIX: IDAPython: get_ascii_contents2() was not honoring the possible output encoding request
BUGFIX: IDAPython: GetLocalType() could produce errors with some local types
BUGFIX: IDAPython: GraphViewer would not allow grouping of nodes, unless OnCreatingGroup was implemented
BUGFIX: IDAPython: GraphViewer.Select() method was always selecting node 0 regardless of the argument
BUGFIX: IDAPython: It was not possible to use 'tag' and 'reg' functions of a segreg_t instance returned by get_srarea()
BUGFIX: IDAPython: Some char arrays-derived Python strings could contain garbage in some cases
BUGFIX: IDAPython: some functions which returned a ssize_t, were wrapped incorrectly and were unusable
BUGFIX: IDAPython: udt_type_data_t was not exposed as a qvector, and thus couldn't be iterated on
BUGFIX: IDAPython: When using the Strings() class, bytes could be erroneously retrieved
BUGFIX: IDC's SetShortPrm(INF_BINPREF, gt;) would not properly change the current renderer's amount of displayed bytes
BUGFIX: IDC: GetLocalTinfo() would return a non-zero number upon failure (must return 0)
BUGFIX: IDC: IDA could interr if an IDC function was called with wrong number of arguments
BUGFIX: IDC: SetMemberType() with struct offset would use wrong struct offset delta
BUGFIX: IDC: the function SetRegValue() could set incorrect value for FPU registers
BUGFIX: it was possible to create an item across function chunk boundaries (only in some cases)
BUGFIX: kernel: instruction emulator could destroy the current insn in some cases and this would cause an interr later
BUGFIX: LE: LE files without the MZ header could not be loaded
BUGFIX: linux debmod could interr on low-level conditions
BUGFIX: Mach-O: __stubs section was processed incorrectly for x64 files
BUGFIX: Mach-O: corrupted export data could cause buffer overflow and crash IDA
BUGFIX: Mach-O: Fixed crash in Mach-O loader (endless recursion)
BUGFIX: Mach-O: fixed off-by-one bug in many places; efd was crashing on the sample files we received today; probably IDA too
BUGFIX: Mach-O: Fixed potential endless recursion
BUGFIX: Mach-O: IDA could crash on some corrupted Mach-O files the number of sections or section boundaries are bad
BUGFIX: Mach-O: IDA could crash when loading Mach-O files with malformed LC_LOAD_DYLIB commands
BUGFIX: Mach-O: IDA could not load files with over-sized sections
BUGFIX: MIPS: building mips16 macro instructions could consume too many bytes, preventing some following instructions from being decoded
BUGFIX: MIPS: registers could be tracked incorrectly for mips16 code
BUGFIX: MIPS: some references to local symbols loaded from the GOT could not be converted to offsets
BUGFIX: msp430: was using 16-bit segments by default
BUGFIX: MSP430: some BRA instructions were decoded incorrectly
BUGFIX: NE: IDA could crash on specially crafted NE file (zero pointer dereference)
BUGFIX: on Linux some of concurrently started instances of IDA could fail to load the registry
BUGFIX: our C parser was supporting only "ui64" suffix for 64-bit constants; the 'll' prefix was silently skipped
BUGFIX: Patched bytes are now reverted before the segment and its data are deleted
BUGFIX: PC: 'ymmword' keyword was not defined for PC module which caused 32-byte data items to be displayed with (null) prefix
BUGFIX: PC: AVX instructions that refer to r8..r15 should not be decoded in 32-bit mode
BUGFIX: PC: some instructions using repeated 66 and 67 prefixes (operand/address size override) were not decoded correctly
BUGFIX: PDB: IDA could fail to load a PDB file when using File->gt;Load additional file->gt;PDB file... dialog
BUGFIX: PE: files with corrupted CodeView debug info could trigger a double free
BUGFIX: PE: heap overwrite in processing of x64 .pdata entries
BUGFIX: PE: IDA could access invalid memory when a corrupted COFF symbol table was present
BUGFIX: PE: IDA could take a very long time loading a file with bad debug directory
BUGFIX: PE: specially crafted PE file could lead to memory corruption
BUGFIX: PEF: fixed multiple vulnerabilities
BUGFIX: PEF: specially crafted PEF files could crash IDA
BUGFIX: PIN: get rid of duplicates in trace buffer (basic block tracing mode)
BUGFIX: PIN: in some cases IDA tried to launch pintool even if 'autolaunch' option was disabled by the user
BUGFIX: PIN: in some cases pintool could provide incorrect memory configuration
BUGFIX: PIN: incorrect tooltips for memory operands in the disassembly window
BUGFIX: PIN: not all threads appeared in IDA after initial attach to a process
BUGFIX: PIN: register values/threads could be lost when debugger stops on "Process start"/"Library loaded" events (in case 'Suspend on debugging start' or "Suspend on library load/unload' option is enabled)
BUGFIX: PIN: take into account actual flags of segments/function when enabled options 'Trace over debugger segments', 'Trace over library functions'
BUGFIX: PPC: undecorating a name could yield an empty name and that could cause a crash
BUGFIX: PPC: VLE instruction se_addi was incorrectly simplified into se_li when r0 was used as a source operand
BUGFIX: Producing files with only structures/enums gave erroneous feedback on the line count
BUGFIX: Proximity view could crash when asked to expand/collapse multiple nodes, when some of those are "(+)" nodes
BUGFIX: qrealloc() with BADMEMSIZE could succeed on some flavors of linux64 (it should fail)
BUGFIX: qwingraph: could crash on some huge graphs; now we nicely display a message and exit
BUGFIX: references to unexisting types would be saved with explicit struct/union/enum keywords even if the reference was simply by name; the keyword would be derived on the fly from the forward declaration, if it existed
BUGFIX: renaming a struct/enum would break references to it because IDA was using references by name instead of by ordinal
BUGFIX: SDK: tinfo_t::is_forward_decl() could incorrectly return false in some cases
BUGFIX: searching for the next unknown byte in sparse storage was buggy
BUGFIX: some -D command line options could be effectively ignored because IDA could load a new processor module immediately after applying them; now we apply -D switches after loading the input file
BUGFIX: some anonymous unions of bitfields could be handled incorrectly in pdb files
BUGFIX: some register names were duplicated by some debugger backends
BUGFIX: SPARC: IDA would miss delay slots in little endian mode
BUGFIX: structure alignment was incorrectly calculated when copying from the struct window to the local types;
BUGFIX: switch idioms that had the default jump target inside (but unmarked) would still be decompiled incorrectly
BUGFIX: Syncing a Hex-View to the value of a register would cause an interr
BUGFIX: the 'local types' window was not refreshed after importing some types to the IDB
BUGFIX: tilib: could interr when trying to calculate the alignment of a 'long double' type when the compiler is set to 'Borland' (long double is 10 bytes but has alignment of 8)
BUGFIX: tinfo_t::print() could crash if PRTYPE_DEF was passed for a trivial type
BUGFIX: tracing, basic block tracing mode: broken order of instructions in the trace buffer
BUGFIX: Tricore: some ld16/st16 instructions were decoded incorrectly
BUGFIX: UI: after switching Hex View to one-column it was not displaying anything
BUGFIX: UI: IDA could confuse structs with members when renaming in the structures view
BUGFIX: UI: IDA could crash when showing proximity graph coming from a trace
BUGFIX: UI: IDA could crash when trying to display a proximity view graph for a newly opened file, if that graph exceeded the max node limit
BUGFIX: UI: IDA could show "undefined type" message when loading some PE files into IDB
BUGFIX: UI: IDA was generating bogus idb_event::op_type_changed when showing the context menu
BUGFIX: UI: in some cases picking a standard numeric constants (enum) for the value in the disassembly did not work
BUGFIX: UI: load-time warnings could be shown again even if the user checked "Don't show again in current session"
BUGFIX: UI: Pressing '.' when in the "Output window"'s messages widget wouldn't switch control to the CLI widget
BUGFIX: ui: qt: Changed meaning of 'width' field parameter in forms descriptions. Now it is buffer size -1 for text fields and the number of characters for digital fields
BUGFIX: UI: QT: Open... file dialog was displaying only "All files(*)"; now extensions idagui.cfg are used
BUGFIX: UI: Right-clicking on a graph view, and then clicking on the "Zoom 100%" action could lead the view to zoom to the wrong place
BUGFIX: UI: Right-clicking on an edge, and requesting a grouping of nodes while none are selected could crash IDA
BUGFIX: UI: some IDBs created on Windows and used on Unix could have problems with the 'struct offset' command in the gui verion
BUGFIX: UI: switching from graph view to flat view and back would change the current disassembly position if the current node was a group node
BUGFIX: UI: the import window would display wrong library names if a new database was opened without quitting IDA
BUGFIX: UI: tracing actions (Instruction tracing etc.) were not enabled for some debuggers which do support tracing (e.g. Bochs)
BUGFIX: UI: TXT: Changed meaning of 'width' field parameter in forms descriptions. Now it is buffer size -1 for text fields and the number of characters for digital fields
BUGFIX: UI: Using IDA in a Windows 8 RDP session might cause a freeze of the session when dragging & dropping widgets
BUGFIX: UI: When animations were turned off, IDA could temporarily freeze
BUGFIX: UI: when creating 32-bit segments with base 0, a selector was not allocated for it, leading to various issues
BUGFIX: UI: when creating a new script snippet, the previous snippet text was not always cleared from text field
BUGFIX: UI: When double-clicking a result in a non-modal "Xrefs to ..." view, in order to jump in the (previously hidden) tabbed graph view, the graph view might center on an incorrect place
BUGFIX: uiswitch: it was impossible to specify a switch with zero elbase but nonzero shift
BUGFIX: unreachable meaningless fpu instructions could hinder fpu stack analysis
BUGFIX: User graphs: paint nodes background even when text is not painted (i.e., zoom level is too far away.)
BUGFIX: when a struct was deleted, the corresponding type was not always deleted from the local types
BUGFIX: When changing a variable/argument type in a function frame, 'Structures' xrefs might not be updated
BUGFIX: when debugging, the cursor could be positioned on a multiline comment line in the pseudocode view, instead of the line with the real code
BUGFIX: When horizontally scrolled, IDA View-A could fail to highlight the word on which the cursor is currently placed
BUGFIX: When in graph view, jumping to the current function's call sites through the node title's "Jump to xref" icon could focus on the wrong node in the calling function
BUGFIX: when opening an old IDB for a processor without the type system there could be a significant delay (a dozen of seconds or more)
BUGFIX: When performing some keyboard shortcut sequences very fast, and then moving up/down with the keyboard's line up/down, or page up/down, the disassembly listing could show a single line (or jump one page off)
BUGFIX: While grouping/ungrouping some nodes, IDA could freeze until 'Esc' is pressed
BUGFIX: WinDbg: windbg debugger could not write FPU register values
BUGFIX: 64bit linux debugger: Incorrect reading of FPU registers
BUGFIX: ARM: arm module would display 'LDR R0, =0xFFFFFFFF' or similar in case the LDR instruction was referrring to a non-existing or uninitialized memory address
BUGFIX: DWARF: Could misinterpret very large types (> 0x1fffffff bytes-large)
BUGFIX: GDB: a malicious GDB stub could cause heap memory overwrite in IDA during debugging
BUGFIX: IDA could abort with message "index file is bad" when compressing database
BUGFIX: IDA could crash at DWARF-loading time, because the DWARF plugin would try and retrieve too many bytes from the file
BUGFIX: IDA could crash/hang on corrupted databases
BUGFIX: IDA could hang trying to load corrupted input files
BUGFIX: IDA could hang trying to read symbols from an erroneously-large symbols table
BUGFIX: IDAPython: internal_get_sreg_base() wasn't usable
BUGFIX: IDAPython: set_nav_colorizer() was not accepting Python callables as implementation. Issue 1370
BUGFIX: PC: some FPU instructions were not decoded if they had a REX prefix
BUGFIX: Pressing 'p' to create a procedure, then keyboard-navigating to another piece of code and pressing 'p' again could not work (unless something caused the actions to be updated again; e.g., opening a dialog.)
BUGFIX: IDA could interr when guessing a function prototype if the stack was growing up for the current processor
BUGFIX: IDA could spend too much time generating the listing if there were too many lines in .net files
BUGFIX: kernel: handling of switches with SWI_JMP_INV flag set was broken
BUGFIX: specially crafted .sig files could crash IDA
BUGFIX: PPC: some simplified instruction forms were missed