Breaking changes
- Removed
pygdbmi.IoManager.make_non_blockingfrom the public API; it's unrelated and was not meant to be public
Other changes
- Fixed a bug where notifications without a payload were not recognized as such
- Invalid octal sequences produced by GDB are left unchanged instead of causing a
UnicodeDecodeError(#64) - Fix a crash on Windows by waiting for the GDB process to exit in
GdbController.exit - Added type annotations to the whole public API
- Updated the examples in
README.mdto use the current API and show the results printed by this version of pygdbmi (#69)
Internal changes
- Update and freeze dependencies for documentation generation
- Refactored the code to parse MI records to decrease the number of regex matches to perform
- Added
__all__to all modules, which means that star imports (likefrom pygdbmi.gdbmiparser import *) will not pollute the namespace with modules used by pygdbmi itself - Added
nox -s formatto re-format the source code using the correct options - Reformatted all imports with
isort, and use it as part ofnox -s lintandnox -s format - Converted tests to use pytest's test structure rather than the unittest-based one
- Added mypy configuration to detect more problems and to force all code to be annotated
- Added a test for
example.py - Replaced uses of
distutils.spawn.find_executable, which is deprecated, withshutil.which - Ran
pyupgrade(with option--py37-plus) on the codebase to convert to Python 3.7 idioms - Excluded some common backup and cache files from
MANIFEST.into prevent unwanted files to be included which causescheck-manifestto fail - Fix
.flake8to not cause errors with some versions of theflake8tool