Breaking changes
- Removed
pygdbmi.IoManager.make_non_blocking
from 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.md
to 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 format
to re-format the source code using the correct options - Reformatted all imports with
isort
, and use it as part ofnox -s lint
andnox -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.in
to prevent unwanted files to be included which causescheck-manifest
to fail - Fix
.flake8
to not cause errors with some versions of theflake8
tool