This is the first official release of Cutter since its backend has been changed from radare2 to Rizin.
Last r2 compatible commit can be found at d813b7a, there are no plans to further maintain r2 compatible branch by Cutter developers.
This version of Cutter is built with Rizin 0.1.1.
The accompanying blog post highlights some of the features below in detail: https://cutter.re/cutter-2.0
Features
- Support new Projects in Cutter that will allow saving and opening project files.
- Add a command line flag for loading projects #2606
- Improve the workflow of renaming functions, flags and more #2468
- Improve the remote debug dialog #2472
- Add reverse debugging support. (Note that debugging is still in a preview state)
- Support trackpad pinch gesture #2453
- Add comment column to multiple table views #2441
- Add option for displaying basic block address at the start of each block in CFG #2482
- Reworked disassembly arrow drawing #2559
- Add a preview-on-hover functionality in disassembly widget #2459
Platform compatibility fixes:
- Fix build on CentOS 7 with GCC 4.8 #2492
- Haiku OS build #2485
- Note: there is no official native macOS M1 build but most parts of Cutter, except debugging, work fine using Rosetta2.
Building Cutter natively for arm64 on M1 from source is however fully supported.
Bugfixes
- Fix macOS release package not running without having
gettext
installed from homebrew. #2547 #2474 #2456 #2447 #2428 - Resolve bug with line highlighting #2218
Build system, packaging and development changes
- The default build options changed to use bundled Rizin. If you are a package maintainer see https://cutter.re/docs/building.html#making-linux-distribution-specific-packages
- The root CMake file is now located at the root of the repository instead of the
src/
directory. This slightly changes the build instructions - Fully transition to CMake as the only build system. Remove
qmake
andmeson
projects. - Large parts of packaging logic moved from CI scripts to being done directly by build system.
- macOS release package is now ad-hoc signed, this should help with the running of the debugger. It doesn't help with developer identity warning when opening the package or debugging system or AppStore programs not marked as debuggable (just like any other debugger regardless of how it's signed).
- Development has switched to using
clang-format
for code formatting.