delve v1.2.0 Release Notes

Release Date: 2019-02-19 // 6 months ago
  • ➕ Added

    • 👍 Go 1.12 support
    • 👌 Improved trace command to show return values and trace pre-built executables or tests (#1379, #1380, #1381, @derekparker)
    • 🏁 Windows Minidump support (#1386, #1387, #1402, @aarzilli)
    • 👍 Better support for split DWARF symbol files (#1405, #1420, @derekparker, @slp)
    • 🍎 Function call support on macOS (#1324, @derekparker)
    • deferred command to view the arguments of a deferred call (#1285, #1265, @aarzilli)
    • 👌 Support for debugging Position Independent Executables (#1358, @aarzilli)
    • Type conversions of byte and rune arrays into strings (#1372, @chainhelen)
    • 🔧 Configuration option (source-list-line-color) to change the color of line numbers in listings (#1364, @Russtopia)
    • 🆕 New expression iface.(data) to access the concrete value of interface variable iface, without having to write a full type assertion (#1340, @aarzilli)
    • 👌 Support for specifying multiple source files as arguments for debug, trace and test (#1339, @chainhelen)

    🛠 Fixed

    • 👉 Make edit command work with vim and neovim (#1451, @the4thamigo-uk)
    • 👌 Support Linux kernels prior to 2.6.34 (i.e. without PTRACE_GETREGSET) (#1435, @aarzilli)
    • 🛠 Fixed substitute-path configuration option on Windows (#1418, @zavla)
    • 👍 Better performance for ListGoroutines API call (#1440, #1408, @slp, @aarzilli)
    • 👍 Better performance when loading the value of very large sparse maps (#1392, @aarzilli)
    • 🛠 Other bug fixes (#1377, #1384, #1429, #1434, #1445, @aarzilli)

    🔄 Changed

    • 🔄 Changes to where the configuration is stored, conforming to XDG Base Directory Specification with fallbacks to the current directory when calls to user.Current fail (#1455 @GregorioMartinez, @acshekhara1)
    • 🚚 Project moved from github.com/derekparker/delve to github.com/go-delve/delve (@derekparker)
    • Switched dependency management to go.mod (@aarzilli, @derekparker, @zavla)
    • 🆕 New build scripts and support building on macOS without the native backend (@aarzilli, @kevin-cantwell)
    • Tolerate corrupted memory when reading the goroutine list (#1354, @aarzilli)
    • 👌 Improved documentation and error messages (@sbromberger, @aarzilli, @derekparker, @chainhelen, @dishmaev, @altimac)

Previous changes from v1.1.0

  • ➕ Added

    • 👍 Go 1.11 support (@aarzilli)
    • 👌 Improvements to Delve logging (@aarzilli, @derekparker)
    • 👉 Show global variables in disassembly (@aarzilli)
    • 👌 Support for inlined calls (@aarzilli, @derekparker, @jaym)
    • 👌 Support dwz compressed debug symbols (@slp)
    • 👌 Support for debug info in a separate file (@slp)
    • 🐧 Let target process access the tty when running in headless mode on linux/native and darwin/gdbserial (@aarzilli)
    • Commands up and down (@yasushi-saito)
    • 🖨 Flag to print stacktrace of all goroutines (@acshekhara1)
    • Command edit (@benc153)
    • 👍 Allow headless instances to keep running without a connected client (@aarzilli)
    • ➕ Add StartLoc to api.Goroutine containing the starting location of each goroutine (@aarzilli)
    • 👍 Preliminary support for function call injection with Go 1.11 (@aarzilli)
    • Ability to read list of deferred calls of a goroutine (@aarzilli)

    🛠 Fixed

    • 🛠 Fixed crashes when configuration file can not be created (@derekparker, @yuval-k, @aarzilli)
    • 🛠 Fixed reported location of the go statement of goroutines (@derekparker)
    • 👍 Allow evaluation of constants specified without the full package path (@aarzilli)
    • 🛠 Fixed some integer arithmetics bugs in proc (@functionary)
    • 🔧 Respect load configuration after reslicing a map (@aarzilli)
    • 🛠 Fixed race condition between Halt and process death in the linux native backend (@aarzilli)
    • 👌 Support core files generated by gdb (@psanford)
    • 🛠 Fixed evaluation of breakpoint conditions containing a single boolean variable (@aarzilli)
    • Miscellaneous bugs in the debug_line state machine (@aarzilli)

    🔄 Changed

    • ✂ Removed redundant/obsolete methods of proc.Process Halt and Kill, general cleanup of native backends (@aarzilli)
    • 👌 Improved documentation (@giuscri, @jsoref, @Carpetsmoker, @PatrickSchuster, @aarzilli, @derekparker, @ramya-rao-a, @dlsniper)
    • ↪ Workaround in the gdbserial backend for broken version 902 of debugserver (@aarzilli)
    • 🔄 Changed operators || and && to short-circuit the evaluation of their arguments, like in Go (@aarzilli)
    • Mark shadowed arguments as shadowed (@aarzilli)
    • 👍 Allow syntax "package/path".varname to specify the full package path of a variable, in case disambiguating between multiple packages with the same name is necessary (@aarzilli)