Skip to content

Releases: daniel5151/gdbstub

0.7.3

24 Oct 16:12
Compare
Choose a tag to compare

New Features

  • Add new core_error feature, to have GdbStubError impl core::error::Error. #154 (ultimaweapon)
    • Note: Out of an abundance of caution, this has been put behind a
      feature-flag, as while gdbstub doesn't claim a strict MSRV at this time,
      it seemed unwise to have a PATCH release break folks stuck on a pre-1.81
      Rust toolchain.

0.7.2

17 Aug 23:19
Compare
Choose a tag to compare

Bugfixes

  • Add workaround for vCont packets that specify a '0' (Any) thread-id

Internal Improvements

  • Various README tweaks
  • Various clippy lint fixes
  • Fix incorrect valid-addr check in armv4t example

0.7.1

06 Jan 19:21
Compare
Choose a tag to compare

New Protocol Extensions

  • LibrariesSvr4 - List an SVR4 (System-V/Unix) target's libraries. #142 (alexcrichton)

0.7.0

24 Nov 20:01
Compare
Choose a tag to compare

0.7 is a fairly minimal "cleanup" release, landing a collection of small breaking changes that collectively improve various ergonomic issues in gdbstub's API.

The breaking changes introduced in 0.7 are generally trivial to fix, and I wager that porting from 0.6 to 0.7 shouldn't take more than ~10 minutes, at most.

As always, check out the transition guide for a rundown of key breaking changes to watch out for.

Cheers!


Breaking API Changes

  • stub::GdbStubError is now an opaque struct with a handful of methods to extract user-defined context (as opposed to being an enum that directly exposed all error internals to the user).
    • This change will enable future versions of gdbstub to fearlessly improve error messages and infrastructure without making semver breaking changes. See #112 for more.
  • common::Signal is not longer an enum, and is instead a struct with a single pub u8 field + a collection of associated constants.
    • As a result, yet another instance of unsafe could be removed from the codebase!
  • Arch API:
    • Entirely removed single_step_behavior. See #132 for details and rationale
  • Target APIs:
    • SingleThreadBase/MultiThreadBase
      • read_addrs now returns a usize instead of a (), allowing implementations to report cases where only a subset of memory could be read. #115 (geigerzaehler)
    • HostIo
      • bitflags has been updated from 1.x to 2.x, affecting the type of HostIoOpenFlags and HostIoOpenMode #138 (qwandor)

Internal Improvements

  • Reformatted codebase with nightly rustfmt using imports_granularity = "Item"

0.6.6

13 Apr 01:10
Compare
Choose a tag to compare

New Features

  • Target::use_no_ack_mode - toggle support for for activating "no ack mode" #135 (bet4it)

0.6.5

06 Apr 01:21
Compare
Choose a tag to compare

New Protocol Extensions

  • ExtendedMode > CurrentActivePid - Support reporting a non-default active PID #133
    • Required to fix vAttach behavior (see Bugfixes section below)

Bugfixes

  • Fix for targets with no active threads #127 (xobs)
  • Fix vAttach behavior when switching between multiple processes #129 (xobs), and #133
  • Minor doc fixes

0.6.4

25 Feb 20:30
Compare
Choose a tag to compare

Bugfixes

  • Avoid truncating X packets that contain : and , as part of the payload. #121 (709924470)

Internal Improvements

  • Various README tweaks
  • Remove some unsafe code
  • CI improvements
    • Run no-panic checks on example_no_std
    • Run CI on docs

0.6.3

17 Aug 16:15
Compare
Choose a tag to compare

New Features

  • SingleRegisterAccess: Support reporting unavailable regs #107 (ptosi)

gdbstub_arch 0.2.4 is also out:

0.6.2

13 Jun 01:47
Compare
Choose a tag to compare

0.6.2

New Protocol Extensions

  • MultiThreadBase > ThreadExtraInfo - Provide extra information per-thread. #106 (thefaxman)
  • LldbRegisterInfo - (LLDB specific) Report register information in the LLDB format. #103 (jawilk)
    • This information can be statically included as part of the Arch implemention, or dynamically reported via the LldbRegisterInfoOverride IDET.

Bugfixes

Internal Improvements

  • Tweak enabled clippy lints
  • Added a light dusting of #[inline] across the packet parsing code, crunching the code down even further
  • Expanded on "no-panic guarantee" docs

0.6.1

23 Feb 05:51
Compare
Choose a tag to compare
  • Add LLDB-specific HostIoOpenFlags #100 (mrk)