๐ The main purpose of this release is again to support upcomping improvements to x-python.
๐ This might be the last release before a more substantial refactoring to fix some
longer-term slowness and weirdnesses in tracing by using 3.6, and 3.8 APIs
โก๏ธ A major change was made in the way that position info is saved. Using an updated xdis, for lines we store its module or function name and the list of offsets it has.
๐ A line may have several sets of module/function and offsets. You can see this new information using info line. info line also supports giving a line number.
Breakpoint structures now have an offset field which will be used to distinguish which of several offsets to stop at when a line has more than one stoppable offset (i.e. is in the line number table more than once.)
๐ All of this possibly will occur in a new release. However expect it in trepan-xpy first.
๐จ A refactoring of how subcommand code gets loaded was started to DRY code, reduce code bulk, regularize, modernize the use of imports and this blacken code.
๐ A few more routines still should be converted but that's left to a future release.
Perhaps later will be an Emacs-Lisp-like "autoload" feature so the debugger loads faster.
๐ Little-used commands pdef and pdocx were removed. Note these never had equivalents in gdb and were written in the days before had its better introspection support. Nowadays, help(fn) will do about the same thing.
๐ The "edit" command was revised to use the current location parsing regime. Previously it was broken when the location parsing was converted.
--AST renamed to --tree since that's what it is and AST it is not๐ The main impetus for this release is to start to be able to support debugging in x-python. This code is used as a common debugger base for the upcoming trepan-xpy debugger release.
๐ We simplify imports using xdis 4.6.0. And dependence on previous versions has been tightened. Previously, there could be version and API mismatches if you had an older release of xdis or uncompyle6 installed.
The bump to 1.0.0 should have been done a while ago. Semantic versioning suggests that this is where we should have started. Well, better late than never.
๐ But as with any 1.0 release, there are, alas, major portions that needupgrading to newer 3.6 and 3.8 Python features, pytest interfaces. And so on.
๐ Perhaps later if there's help or support by some other means.
Some changes:
set autopc, runs info pc every time the debugger isdisassemble bugs have been fixed๐ฒ Read the ChangeLog or git commit log/history for more details on what's changed.