Mass-driver

Latest version: v0.18.0

Safety actively analyzes 624845 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.18.0

Added

- New `SingleFileEditor`, derived from `PatchDriver`, for editing single files.
- Parameter `target_file`, will be fed its text content to `process_file()`.
- Use via `from mass_driver.drivers.bricks import SingleFileEditor`.
- New `GlobFileEditor`, similarly for editing multiple files from glob pattern.
- Use via `from mass_driver.drivers.bricks import GlobFileEditor`.

0.17.1

Added

- Update `pyGithub` to `2.1.1`, now throttles Github API to avoid ratelimits

Fixed

- Catch and log import errors during activity loading, previously silent crashes

0.17.0

Added

- Completing an activity (source, migration, forge) now summarizes results
- Breakdown of repo count per outcome type, then sorted list of repos per type
- **FASTER**: Optional, experimental multi-threaded per-repo processsing!
Handling of clone, scan, patching is done as individual thread per repo, with
N=8 pooled threads.
- Early data shows a x6 improvement in performance, as cloning
one repo doesn't block others anymore.
- Enable via new experimental flag `run --parallel`, defaulting to `False`

Changed

- **BREAKING**: Renamed`Repo` to `SourcedRepo` in `mass_driver.models.repository`
- This exposes better the idea of "a Repo as it was Source-d", in contrast to
`ClonedRepo` "a Repo after it was cloned".
- Also avoids clashes with `git.Repo` object from gitpython dependency.
- Replaced all `print()` calls to `logging` module
- Loggers used are mostly nested:
- from `root` (default)
- to `run` (or other file-activity-based)
- to `run.repo.<repo-id>` for logs for a specific repo's processing
- to subloggers like `run.repo.<repo-id>.driver.<driver-plugin-name>`
- `PatchDriver` now has a `logger` obj for such customized logging:
Repo-processing sets `Patchdriver.logger` named
`run.repo.<repo-id>.driver.<driver-plugin-name>`
- **ACTION**: Please replace any `print` with `self.logger.info`!

0.16.4

Fixed

- Attempting to run a Forge activity with `git_push_first=True`, without
migration or scan activity, no longer causes exit without processing any
repos. Clone step invoked properly mean remote-clone URLs are now supported,
converted to local filepaths internally.
- `make docs` now works again with `sphinx-autodoc2`: Pinned `astroid` dep to
`2.15.8` (< 3.0.0) to avoid the regression caused by unpinned `astroid`.

0.16.3

Fixed

- `ShellDriver` no longer crashes due to irrelevant dataclass import
- Updated `pyGithub`, fixes "missing cryptography" error
- Error messages for bad config file for Sources no longer insist wrongly about
"Forge config error". Now detecting the validation error's model properly.
- Failing to load a scanner that was selected in config now throws `ImportError`
on the first plugin-load failure, instead of silently skipping the scanner.

Changed

- Updated to python-template v1.3.0 (from 1.1.0)

0.16.2

Fixed

- `github-app` forge no longer crashes due to type confusion on a param.

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.