6.0.0
Release Notes
Version: 6.0.0
Previous: 5.9.8
Commits: 881
Contributors: 51
curl -Ls https://github.com/radareorg/radare2/releases/download/6.0.0/radare2-6.0.0.tar.xz | tar xJv
radare2-6.0.0/sys/install.sh
Highlights
More details
Authors
Adam Satko Amir M. Jahangirzad Antoni Viciano ApkUnpacker Armin Weihbold ChrisP Christopher Talib Daniel Maslowski Daniel Nakov David Cannings Dennis Goodlett Francesco Tamagni Juho Kuisma Jules Maselbas Kreijstal Matt Brooks Matt Brooks Mewt R MewtR Michael Hughes Murphy Ole André Vadla Ravnås Pau RE Paulo Matias Richard Wheeler Silur Stefan Sylvain Pelissier Troy Patrick Vasilyy Wagner Riffel astralia aviciano condret dependabot[bot] frukto jjaareet kyufie l0kh numonce pancake pancake pancake s0i37 satk0 tabudz tabudz wagner riffel xiaoxiaoafeifei zhailiangliang アンドラーシュ
Changes
abi
- RCorePlugins now have a session
- Finish the RKons refactoring, all r_cons calls take instance instead of global
- Rename RCrypto to RMuta
- Use RCons instance from RLine
- Rename RIOPlugin.widget to RIOPlugin.data
- Refactor the RRegAlias api
- Camelcase all the RCoreBind methods
analysis
- Wireup function and variable events
- Implement LA for listing analysis plugins
- Implement afv*/afvd* and fix afv[srb]? help messages
- Fix call to r_type_func_args_count
- Implement p8fm: function mask + tests
- Add JSON output to 'abm' command
- Implement 'abm' command to show the bytes and mask for the basic block
- Rename function fields (C, r2 and JSON formats) for clarity
- Document afi fields in afi??
- Fix #24153 - jmp/call refs for riscv code
- Implement aflmc to work like uniq but counting
- Implement 'pds*' command to add comments for emulated strings
- Improve scr.analbar percentages in
aaaa
- anal.symsort is not a boolean
- Make anal.back a tristate to make it even more experimental
- Add
anal.back
to sort symbols backward before analyzing - Fix behaviour with an empty anal.fcnprefix
- Add axffQ and axffqq for addresses instead of names
- One less core reference for the type propagation loop
- Initial refactoring of the type propagation code
- Handle typedefs and void arg funcs like the old parser did
- Heavily reduce allocations in RHint.get()
- More micro optimizations for aae
- Use chunk reads in aae to reduce memory usage for esil emulation
- Add 'emu.maxsize' option to let esil emulation scan large sections
- Fix ao@jmp modifying ar~^pc
- Fix #23809 - Add 'afbs' command, like 'afls' but for basic blocks
- Honor best name in 'afna' when flag starts with "sym."
- Initial import of the new C parser - disabled by default
- Improve autonaming for calltail relocs
-
- Fix tail call analysis issue on x64 cobalt sample
- Honor R_ARCH_INFO_FUNC_ALIGN in aap
- Add new function prelude for x64
- Fix string reference via emulation on powerpc
- Improve /gg to follow more types of references
- Optimize 64bit register from the 32bit one for x86
- Add anal.fcnalign config var
- Add RArchInfo.FuncAlign type and details for x64
- Add more preludes, spotting 3x more functions on some x64 bins
- Refactor and improve RCondType APIs
- Fix column names in the ax, output
api
- Boolify r_cons_rgb_parse
- Add RLogLevel.fromString() and use it from -e log.level=?
- Deprecate r_bin_addr2line
- Rename RBinDbgItem into RBinAddrline
- RNumCalc is now known as RNumMath
- Move RFlagItem.alias into the Meta
- Rename core->offset into core->addr (asm.offset and more!)
- Rename RFlagItem.offset -> addr
- Deprecate RLang.list()
- Unified function to jsonify the plugin meta + more fields
- Redesign the REvent API
apibreak
- Boolify r_cons_rgb_parse
- Add RLogLevel.fromString() and use it from -e log.level=?
- Deprecate r_bin_addr2line
- Rename RBinDbgItem into RBinAddrline
- RNumCalc is now known as RNumMath
- Move RFlagItem.alias into the Meta
- Rename core->offset into core->addr (asm.offset and more!)
- Rename RFlagItem.offset -> addr
arch
- Add ldaxr/ldxr/stxr/stlxr arm64 pseudo instructions
- Initial import of the pseudo disasm for sparc
- Fix #24298 - Wrap around negative calls to the 32bit address space on sparc32
- Improve arch plugin descriptions
- Fix pyc size, jumps and extended args
- Improve pyc code quality
- Add TI-c6x asm.cpu support for the tms320.gnu plugin
- Initial import of the TMS320 gnu disassemblers
- Fix archinfo for c64x for invalid and unaligned instructions
- Implement support for big endian tms320
- Add support for new EVM opcodes
- Add op.type for vpins 86 instructions
- Fix cycle computation on cosmac cpus
- Add support for solc0.8.20 opcodes
- Fix parsing of memory operands for x87 FPU instructions
- Add last pseudo instructions to pickle
- Improve operand parsing to fix some x86 zignatures
- Add some pseudo commands for pickle
- Initial support for RCA COSMAC 1806 uProcessors
- Fix Java glitch caused by invalid logic handling switch tables
- Update v35 armv7 (not updated since 2023)
- Implement
rasm2 -L [arch]
to show detailed info of 1 plugin - Improve all the arch plugin descriptions
- Update csnext commit tip
- Update to the latest rebased version of v35-arm64
asm
- Fix #23673 - Initial generic string pseudo api and use it for 8051
- Add dummy asm.java plugin
- Unify the asm.parse apis workflow
- Use mips.pseudo for the loongarch
- Move hardcoded corehack logic into asmpatch via plugins
- Add per-plugin userdata context
- Rename RParsePlugin to RAsmPlugin
bin
- Make iO commands print thru RCons
- Fix #24218 - Initial WIP implementation for parsing RELR relocs in ELF
- Fix glitch when parsing fuzzed swift metadata
- ELF Reloc7 are important too
- Export source information with the writedwarf plugin
- Fix #24218 - Add support for compact relocations
- Fix ASAN issues in dyldcache
- Fix xnu kernelcache syscalls misalignment
- Fix syscall carving in xnu kernelcache
- Support global section offsets in xnu kernelcache
- Support dumping dwarf in ELF containers via writedwarf
- Initial implementation of the writedwarf core plugin
- Initial support for debuginfod to download dwarf files
- Add debuglink info in RBinInfo, add idl to show the path
- Support compressed dwarf sections
- Detect reloc ELF sections by type instead of name
- Initial wip reporting of the ELF debuglink files
- Add Qualcomm MDT firmware format support
- Fix #23723 - Cleanup RBin plugin descriptions
- Prepare for iOS 26 dyld caches
- Add initial Plan 9 RISC-V 64 support
- Add support for macho-riscv binaries
- Implement iSm and iSmc commands to map symbols in sections
- Simplify the JSON handling in the 'i' subcommands
- Better demangle some more swift symbols
- Memoize section get by name in the elf parser
- Fix arm64 R_AARCH64_PREL64 relocation
- Implement the R_AARCH64_MOVW_UABS_G* relocs for ELF
- Bring back the icqq command
- Initial support for PEF (classic macOS/Be) executables
- Add missing EM_TI_* definitions for TMS320 ELF
- Deprecate the get_line() callback for plugins
- Add all the latest Dwarf lang definitions
- Call swift_demangle on unmodified input
- Skip __objc_catlist2 in dyldcache parsing
- Fix #24010 - fix last Go binaries from symbols
- Add symbols.r2.js script for xcrun integration
- Handle eLF_MODIFIER in the PDB parser to solve some warnings
- Initial refactor of the dbginfo storage
- Fix crypto info in mach0
- Fix invalid flag names when importing relocs with .ir*
- Name fixup relocs after the string they point if any
- Macho fixups are now handled and listed as relocs
- Fix segfault when freeing the elf parser
- Implement DBG_FIRST_SPECIAL dex debug opcode
- Use binary file instead of 'SourceFile' in dex debug info
- Fix huge leak when unloading an elf
- Fix #23865 - imports vaddr on some ELFs reporting below baddr locations
- Honor section/segment logic in MZ executables
- Initial implementation of the bin.aslr
- Fix null derefs in the RBin.io plugin
- Set Cd4/8 metadata from RBinFields via .ih*
- Fix #23759 - Implement entrypoint symbols command 'ies'
- Assume loongarch relocs are the same as the mips ones
- Honor bin.laddr when using
r2 -n -m
inizz
- Fix #23760 - Implement import classification for swift/objc
- PE sections show flags (iS and iS)
- Print MD5 checksum when available in DWARF5
- Refactor ie to use RTable, add ie= and ie? and invalid subcommand
- Refactor dwarf5 debug_line parsing
- More simplifications in the i subcommands output
- Remove titles from i subcommands
build
- Add r2sdb to list of bin files
- Add win64-arm CI target
- Require meson 0.63 and remove deprecated function use
- Update acr-2.2.2 (reclone wraps if commit changes)
- Capstone clean up
-
- Update csnext
- Make arc plugin build with meson
- Fix shell detection in sys/install.sh
- Some fixes for the wasi compilation
- Enable nullability checks for clang builds
- Update qjs and capstone submodules
- Add sys/user-uninstall.sh script
- Fix cydia32
- Use binaryninja as a subproject
- Fix preconfigure.bat regression related to local environment
- Latest QJS newest
- Make Capstone a subproject
- Add -lpthread to the r_core pkgconfig
- Install the SDB headers with meson
- Add separate user_plugins=python to compile pickle/py code
- Add --without-qjs and -Dwith_qjs=false options
- Fix #23903 - compile on pi4, debian bookworm due to missing 'atomic*' functions
- Cleanup and update the QJS dependency
- Allow update library paths on macOS builds
- Optimize macos workflow
-
- Update action-gh-release to v2.2.1
- Update upload-artifact to v4
- Enable Dependabot
- Install the r2sdb executable in the bindir
- Rename m1 to arm64
- Replace win ci/cd frida meson with standard meson
- Add qjs as a subproject
- update macos github action runner images
- Fix sdb static linkage with meson
- Move v35 clones into the subprojects
- Update RPM spec for 5.9.8
- Support msys2 and add CI jobs
- Update csnext commit tip
- Remove shlr/sdb and use the subprojects from make too
- Initial support for subproject's (acr|meson)-wrap files
- Aim to fix include for native mingw
builds
- Some fixes for the wasi compilation
ci
- Update windows GH runners
- Static builds for arm64 and i386
- Bump softprops/action-gh-release from 2.2.1 to 2.2.2
- Do not try to print results when tests are skipped
- Limit .*asan-fuzz to four jobs and 3/4 the test suite
- Bump uraimo/run-on-arch-action from 2 to 3
- Update from Ubuntu 20.04 to 22.04
- Bump al-cheb/configure-pagefile-action from 1.3 to 1.4
- Bump actions/setup-python from 4 to 5
cmd
- Add vsize parameter to on command
config
- Rename hex.offset into hex.addr
cons
- Honor RConsColors when highlighting code via pdc or ~:))
- Fix pager line count
- Remove RStrpool dependency from RConsPager
- 256 color table initialized at compile time
- Tweak the default color theme (regs=white,addr=green,flags=yellow)
- Handle fixterms to not conflict with arrow keys
- Handle the "paste" fixterm
- Do not gotoxy when rendering html
- Ignore CSI fixterms and handle shift+return as plain return
- Initial instance based cons api named RKons
- Improve RCons.setRaw error handling and fix initial state
- Remove max buffer size in grep logic
- More optimizations for the console writing
- Interrupt console activity when scr.limit is reached
- Add scr.limit to avoid writing too much data
- Rename Color theme 'offset' key to 'addr'
- Setting invalid color won't reset current color
- Add orange color definition
- Use global cons instance by default but switch to a tls one with RCons.thready
- Adding catppuccin mocha theme
- Fix ~$$? ~?$$ and add tests
core
- Trigger plugin related events
- Add AbiVersion field to the plugins for Safe loading
- Fix ej for bool values
- Do not set R2_DEBUG with cfg.debug
- Run aavr during aaa on Swift bins
- Improve Lc/Lc- to handle home and extension less plugins
- Add *data in the RCorePlugin struct
- Try with LOCAL dlopen before global attempt
- Add r_core_esil_{load/unload}_arch
- Fix #22445 - Store plugins by name rather than path
crasg
- Fix sneaky uaf in the dwarf parser
crash
- Fix #24425 - Oobread in pv -1
- Fix oobread when using mmap baked files
- Fix null deref with corrupted types and other code quality fixes for buf
- Fix division by zero in visual when desc list size is zero
- Fix #24250 - Heap overflow in rap server protocol
- Fix #24155 - asmop.mnemonic can be null
- Fix vulns in the GNU binutils tic30 disassembler
- Fix double free in BFLT binaries spotted by clusterfuzz
- Fix infinite loop in scr.limit
- Fix command injection vulnerability in .afna
- Fix assert on Windows related to signed arg on isalpha*
- Fix null deref assert in sorted grep
- Fix UB in visual insert
- Fix #24024 - huge alloc on corrupted dwarf
- Fix #24023 - null assert on release builds on corrupted wasm file
- Fix command injection bug in flag zone listing
- Fix memory corruption in libmagic - CVE-2015-8865
- Fix #23966 - Avoid %p on windows because is not prefixing with 0x
- Fix gcc 12.2.0 segfault
- Fix some issues found by scan-build
- Fix #23953 - segfault when using
rasm2 -i 6 -E
- Enforce vector alignment to address invalid accesses
- Prevent buffer overflow in gdb’s register name copy
- Fix random segfault caused by unaligned fields on macos-m1
- Fix division by zero in r_anal_function_coverage
- Fix another overflow in the hfs grub parser
- Fix string assert on RCons
- CVE-2024-56737 - Fix buffer overflow in the HFS parser from grub2
- Fix null derefs in grep sort uniq
- Null deref with invalid key to r_core_get_boundaries_prot
crypto
- Make the DES crypto API hidden from the public scope
- Add OpenSSL wrappers for AES operations
- Add OpenSSL wrappers for AES operations
debug
- Permit base64: in dbg.profile for in-memory rarun2 rules
- Add noprogram directive for rarun2
- Add RSys.setEnv2() for values with null bytes
- Fix FreeBSD x64 register profile
- Fix main_arena resolution via relocations
- Fix SZ for heap commands
- Fix r_sys_breakpoint on gcc
- Missing x30 register in arm64 profile for macOS/iOS
- Split linux-64 and linux-32 tests multilib is dead
- Wip fixes for RDebug.execute on macOS
- Add dbg.bpforuntil to honor/ignore bps on dcu*/dsu*
- Make dbg.hwbp=false by default for portability reasons
- Fix x86.multibits esil debugger
- Fix debugger on non-x86 FreeBSD
- Do not turn off io.va with cfg.debug
- Enable dbg.hwbp on macOS-arm64 (not just x64)
- Simplify and improve the 'dcu' subcommand handling
- Show current map perms with
dmp.
and better subcommand error handler - Implement dm*- to undo the dm** mappings
- Add dm** to create an IO map for every Debug map
- Do not apply relocs in debugger mode
- Improve arn/drn to manipulate register alias names
- Add :tls on io.ptrace and fix dxr code injection command
- Fix hanging
dc; dc; ood; dc
- Show signal name when taken from the Linux backend
debugger
- Missing x30 register in arm64 profile for macOS/iOS
- Do not turn off io.va with cfg.debug
decompiler
- Implement 'pdca' - assembly side by side with pdc output
dev
- Initial work on the new rewritten linter
diff
- Add radiff2 -o and -l to specify offsets and lengths
- Initial support of xpatch format in radiff2 -X
- Refactoring of the xpatch code into a separate file
- Initial rewrite and support the unified rapatch format
- Add -iS to compare sections
- Remove radiff2 -1 (use -i1 instead)
- Refactor radiff2 -m command flag parser
- radiff2 -G is now -c and accepts more than one
- Remove radiff2 -n (use -e diff.bare=true) instead
- Initial flag refactoring for radiff2
- Honor asm.sub.var and asm.imm.trim in ccd
- Implement ccdf and improve help for ccd?
disasm
- Add ano=: to set function anotation with command output
- Fix att imm color display
- Honor user comment colors in multiline wrapped comments
- Fix #24192 - Fix reg/imm colors in AT&T syntax
- Implement asm.lines.split to show backward branch lines in a separated column
- Add asm.bytes.ascmt option to display instruction bytes in disasm as comments
- Flags without a space are priorized in RCoreFlag.getBySpace
- Show ;[x] hint in visual xrefs
doc
- Update all manpages
- Explain how to start the VS debugger from cmd.exe in doc/windows.md
- Mention allocations, null checks and logging apis
- License clarifications
egg
- Improvements for the null byte encoder
- Error shellcode encoder doesnt support arch
- Add bind and reverse shellcodes
- Add null byte shellcode encoder
- Remove unused shlr/mpc and egg/rlcc
esil
- Fix wrong command called on core_esil_op_interrupt
- Add REsil.opstr with 'ae???' command to list ops with description
- Implement sep for cosmac with the new r= esil op
- Run
aei
when no file is loaded, add a test just in case - Prepare r_esil_stats for switch to new API
- Add REsilVoyeurOp type
- Extend esil api: silent and lifecycle functions
- Add esil voyeurism api
- Start refactoring of esil engine
flags
- Huge optimization for the fg command
fs
- Return type/value fixes in fs.squashfs
globals
- Pack all globals from dietline into a single struct and boolify them
graph
- Fix agd error with invalid color, avoid repeated palette color resolutions
help
- Handle invalid subcommands under om
io
- Use the safe and atomic mmap read api
- Fix segfault on unaligned writes
- Inform the user when creating new files
- Fix ASAN issues in dsc
- Do not permit two banks with the same name
- Fix omb-
- Add ombj command to list memory banks in json
- Update uf2families
- Use io->Oxff instead of 0xff in all the io plugins
- Dont touch the global io.off from the default io plugin
- Cleanup of the main posix io plugin and add stdio://
- Remove the init/fini callbacks from IO plugins
- Add missing fini callback for RIOPlugin
- Revive the io.self plugin on BSD
- Show map attributes in
om,
- Initial RIOMapAttr apis, new oma for attributes and old oma renamed to omv
- Remove globals and eprintfs from io.self
- Fix r_io_bank_locate
- Fix amount of read bytes from ptrace
- Minor optimization in r_io_bank_overlay_foreach
- Add r_io_{bank/map}_overlay_foreach
- Use R_LOG messages in the r2k plugin
- Move IO plugin listing from IO to core
- Minor r_io optimization
- Rewrite r_io_p2v
muta
- Add "add" checksum plugin
- Initial implementation of the muta.pokemon charset plugin
network
- Fix curl to return proper responses
optimization
- Reduce RAnalMetaItem size (48 bits less)
panels
- Fix installing and listing saved layouts
- Insert hex/asm with 'vi' and 'vI' in panels. Use '`' to rotate old modes
performance
- Reduce memory moving barely used RFlagItem fields into Meta
- Micro optimizations for the RName APIs
- Add p8s and p8,
- Unity and improve the code colorize function ~:))
- Add ?em to render the treemap
- Honor endian in pxr and more kons usage
- Honor endian settings in the pxb output
- Implement 24bit hexdump mode
- Support multibyte encoding for jis7 in hexdump
- Fixes #23930 - fix ssdeep formatting
- Fix #23937 - fix rahash2 JSON ssdeep output
- Fix shifting too much on signed pxkb
- pfo files must be .h or .r2
- Show odata/ndata in json and normal output from
cw
- Improve 'pdsfq', avoid some dupes and handle fn flags
- Add 'p8b' as an alias for 'p8 $BS@$BB'
- Add RGBA image renderer and improve pri help
- Fix nonfancy column sum RTables
- Add cfg.table.* options and implement wrap/maxcol
projects
- Add current fd selection to project script
r2js
- Add r2.{fdump,fload} apis
r2pm
- Error if package matches keyword with "r2pm -s"
- Make R2PM_FAIL actually fail
- Support python virtual environments
- Fix empty path bug for PATH and LDPATH
- Early error (before clone) on packages not supported for windows
- Add env for man pages
- Implement r2pm -R to reload plugins from radare2
refactor
- Rename try_walkthrough_jmptbl -> r_anal_jmptbl_walk
- Get rid of the CB_COPY macro
- Move RLang.list into RCore and use RCoreTableNew from debug/anal
- RAnalCond: make explicit both left and right vals
- Use RPluginMeta in RParse plugins
remote
- Reuse http.bind for tcp.islocal
- Fix ==# to check for open connections and fix prompt
- Implement =j and =* for listing connections
- Implement =lj to list sessions in json
search
- Add Hermes bytecode magic header
- RSearch /j uses 'addr' instead of 'offset'
- Honor anal.in value for aavr
- Search progressbar honors scr.progressbar and scr.interactive
- Fix #23839 - Deprecate $$ in esil and have it as a custom op for /E
- Add /B to find possible base addresses
- Add help for /mm and /mb, fix asserts and false positives
- Honor keyword-alignment restrictions
- Fix all XXX in RSearch APIs
- Support big endian utf16 strings write+search
- Fix / dij json output, but spotted by @sha0coder
security
- Sandbox protected environment variables
shell
- Fix -e?
- Remove filename length limitations in wt subcommands
- Fix "pf*" autocompletion
- Parse file and flag on autocomplete
- Fix typo in help for aaf?
- Skip register flags from scr.prompt.flag and 'fd'
- Fix display of R_SYS_BITS in r2 -v
- Fix q!/q!! to not save the command history
- Fix #24209 - p8 <=> w8, old w8 is now wi8
- Clarify inconsistencies in the 'p?' help message
- q!! not saving the history as stated in the help
- Bring back 'ie?' help
- Implement @@fi as an alias for @@i
- Add missing help for "pds*?" trashing the '?*' output
- Fix help for dmi?
- Optimize fg a lot, but still recursive
- Add ?e: command to print base64 strings via rcons
- Add 'time' command as an alias for
?t
- Solve the null name issue in the an command
- Fix help messages for pf???
- Support nesting $() expressions
- Fix escaping pipes with nested commands
- Implement 'fa' and 'fa-' to show or remove given alias
- Handle ~ in
test
command - Add test -v for verbose file path testing
- Fix behaviour for retrieving %UNDEFINDVARS
- Rename lots of 'om' subcommands to simplify
- Add json and r2 subcommands to the "omo"
- Remove the om-.. unnecessarily interactive om subcommand
- Fix help message for symbol entrypoints
- cL as an alias for Lc
- Show current map permissions with "om"
- Set map attributes with omf too
- Add 'rx' command to show file size in hexadecimal
- Improve 'd' help message and invalid subcommands
- Support internal files in @@.
- Implement json output for aflaj command
- Add axffq and axff* commands
- Fix regressions in the 'on' command
- Allow both $BI and $Bi
- Dont show aeim help when calling aei?
- Fix #14779 - Check number errors when parsing @@= args
- Add ed+ and ed* commands to mess with radare2rc
- Initial import of the rapatch2 tool
- Handle axt.. as a valid command
socket
- Send with no signals
- Add support for HTTP headers in the RSocket API
test
- Add iS ssdeep regression test
- Reduce the amount of getenv calls in r2r
- Initial implementation of the R2R_SHALLOW random test skip
- Fix several bugs in r2r
tests
- Reduce the amount of getenv calls in r2r
- Initial implementation of the R2R_SHALLOW random test skip
- Fix several bugs in r2r
tools
- Fix "rabin2 -L "
- Fix help message for rax2 -w
- Fix #23230 - option to print env var in rabin2/ragg2/rasm2/ravc2
- Check invalid number in rabin2 -B
- Some improvements for the radiff2 cli usage
- Remove RAsm.inputFilter and sync with rasm2 -F
types
- Move the tinycc code as a plugin
- Use the new C parser for files not just strings
- Enable the new C parser by default
- Implement support for 'typedef' in the new C parser
util
- Implement RFile.mmapRead
- Implement StrpoolSliceRange necessary for corelog
- Replace RStrpool with the new implementation
- Fix the nth limit to split string into a list
- Add R_LOG_LEVEL_TRACE
- Use XDG_RUNTIME_DIR before checking for TMPDIR in RFile.tmpDir()
- Add R_PRINT_FLAGS_TRIMLAST for the RPrint.hexDump()
- Default to r2's own lz4 implementation - remove smallz4
- Fix how we compuite the decoding key length for charsets
- Initial support for JIS7 encoding
- Fix RNumMath.err handling when RNum parameter is NULL
- Protect RSys.run with the sandbox options
- Implement RBloom API
- Initial implementation of the unique string pool api
- Improve permissions string parsing (RStr.rwx)
- Use packed RSysBits everywhere and deprecate R_SYS_BITS_X
- Add r_strbuf_prependf and helpers
- Optimize r_strbuf_init
- Add r_id_storage_{init/fini}
- Add ascii table and r_str_lstr APIs
- Deprivatize RBuffer
visual
- Add scr.cursor.limit
- Initial work to support linear decompiler listings
- Add more panel layouts by default
- Add system-wide path for default panel layouts
- Make large data regions to be scrollable in disasm
- Make visual HUD "_" seek undoable
- Reset visual print mode with V0, bring back V, and feedback for V'
- Fix #23753 - Replace V, to just use it for resetting print mode V,pp
- Dont softscroll when var summary is set
- Honor scr.color and use red for invalid bits in aobv
wasm
- Add missing asm plugins for the wasm builds
windows
- Fix Visual Studio installation path detection
write
- Implement wao* and waol
zignatures
- Fill the zignature collisions array in JSON too