Recent Releases of code-base-investigator

code-base-investigator - Code Base Investigator v2.0.0

DOI

[!WARNING] Code Base Investigator 2.0.0 is a major release that includes several breaking changes.

New Features

  • Errors and warnings are written to a cbi.log file, to reduce verbosity and improve the user experience.
  • Warning messages are aggregated into "meta-warnings" with suggested corrective actions.
  • Progress in parsing and preprocessing is reported via progress bars.
  • A new cbi-tree utility enables users to identify which files in a code base contribute to divergence.
  • A new cbi-cov utility enables users to export coverage information in JSON format, for use with the P3 Analysis Library.
  • Compiler support is expanded, enabling users to define argument handling that approximates compiler behavior more accurately.

For more information on using these features, see the online documentation.

Bug Fixes

  • Added support for #include files with non-standard extensions.
  • Added support for very large unsigned constants.
  • Relaxed preprocessor error handling to permit C source files ending in a backslash-newline.
  • Enabled the repository to be cloned on Windows.

What's Changed

  • Remove --root-dir option by @Pennycook in https://github.com/intel/code-base-investigator/pull/90
  • Remove --batchmode option by @Pennycook in https://github.com/intel/code-base-investigator/pull/89
  • pyproject.toml migration by @laserkelvin in https://github.com/intel/code-base-investigator/pull/94
  • CI pre-commit alignment by @laserkelvin in https://github.com/intel/code-base-investigator/pull/93
  • Simplify the --report option by @Pennycook in https://github.com/intel/code-base-investigator/pull/95
  • Remove etc/ directory by @Pennycook in https://github.com/intel/code-base-investigator/pull/91
  • Remove --dump option by @Pennycook in https://github.com/intel/code-base-investigator/pull/92
  • Remove YAML configuration files by @Pennycook in https://github.com/intel/code-base-investigator/pull/97
  • Refactor codebase dictionary into CodeBase class by @Pennycook in https://github.com/intel/code-base-investigator/pull/98
  • Format help strings by @Pennycook in https://github.com/intel/code-base-investigator/pull/104
  • Add CompilationDatabase class by @Pennycook in https://github.com/intel/code-base-investigator/pull/103
  • Force run pre-commit by @Pennycook in https://github.com/intel/code-base-investigator/pull/110
  • Add tree walk function by @Pennycook in https://github.com/intel/code-base-investigator/pull/105
  • Remove unused walkers by @Pennycook in https://github.com/intel/code-base-investigator/pull/106
  • Switch to per-module loggers by @Pennycook in https://github.com/intel/code-base-investigator/pull/109
  • Add coverage configuration to pyproject.toml by @Pennycook in https://github.com/intel/code-base-investigator/pull/107
  • Move code from bin/codebasin to main.py by @Pennycook in https://github.com/intel/code-base-investigator/pull/111
  • Improve warning message for missing includes by @Pennycook in https://github.com/intel/code-base-investigator/pull/113
  • Write logs to cbi.log by default by @Pennycook in https://github.com/intel/code-base-investigator/pull/112
  • Remove functionality to merge duplicates by @Pennycook in https://github.com/intel/code-base-investigator/pull/116
  • Add a custom log formatter class by @Pennycook in https://github.com/intel/code-base-investigator/pull/118
  • Introduce meta-warnings by @Pennycook in https://github.com/intel/code-base-investigator/pull/115
  • Add progress bars to finder.find() by @Pennycook in https://github.com/intel/code-base-investigator/pull/117
  • Optimize path handling by @Pennycook in https://github.com/intel/code-base-investigator/pull/122
  • Ensure main() catches all exceptions by @Pennycook in https://github.com/intel/code-base-investigator/pull/123
  • Replace PlatformMapper with a function by @Pennycook in https://github.com/intel/code-base-investigator/pull/120
  • Add visit() function to source tree by @Pennycook in https://github.com/intel/code-base-investigator/pull/121
  • Remove PlatformMapper from test_duplicates by @Pennycook in https://github.com/intel/code-base-investigator/pull/124
  • Replace TreeAssociator with a function by @Pennycook in https://github.com/intel/code-base-investigator/pull/125
  • Remove walkers by @Pennycook in https://github.com/intel/code-base-investigator/pull/126
  • Remove legacy_warnings by @Pennycook in https://github.com/intel/code-base-investigator/pull/127
  • Remove unused functions from util.py by @Pennycook in https://github.com/intel/code-base-investigator/pull/128
  • Replace is_whitespace function with str.isspace by @Pennycook in https://github.com/intel/code-base-investigator/pull/130
  • Fix definition and implementation of divergence by @Pennycook in https://github.com/intel/code-base-investigator/pull/137
  • Fix associate() handling of #include from symlink by @Pennycook in https://github.com/intel/code-base-investigator/pull/131
  • Fix handling of symlink files by @Pennycook in https://github.com/intel/code-base-investigator/pull/133
  • Add ability to compute code utilization by @Pennycook in https://github.com/intel/code-base-investigator/pull/136
  • Improve tables by @Pennycook in https://github.com/intel/code-base-investigator/pull/134
  • Improve schema validation error messages by @Pennycook in https://github.com/intel/code-base-investigator/pull/140
  • Refactor ensure_ext by @Pennycook in https://github.com/intel/code-base-investigator/pull/141
  • Add duplicates report by @Pennycook in https://github.com/intel/code-base-investigator/pull/138
  • Add files report by @Pennycook in https://github.com/intel/code-base-investigator/pull/139
  • Improve coverage tool for P3 Analysis Library integration by @Pennycook in https://github.com/intel/code-base-investigator/pull/41
  • Fix use of ensure_ext in coverage by @Pennycook in https://github.com/intel/code-base-investigator/pull/148
  • Align formatting of all reports by @Pennycook in https://github.com/intel/code-base-investigator/pull/150
  • Rename cbicov to cbi-cov by @Pennycook in https://github.com/intel/code-base-investigator/pull/153
  • Add coverage workflow to GitHub Actions by @Pennycook in https://github.com/intel/code-base-investigator/pull/154
  • Attempt to fix non-deterministic tests by @Pennycook in https://github.com/intel/code-base-investigator/pull/160
  • Fix coverage action by @Pennycook in https://github.com/intel/code-base-investigator/pull/162
  • Force coverage.yml to check out all commits by @Pennycook in https://github.com/intel/code-base-investigator/pull/163
  • Refactor Token class using dataclass by @Pennycook in https://github.com/intel/code-base-investigator/pull/143
  • Implement common argument parsing with argparse by @Pennycook in https://github.com/intel/code-base-investigator/pull/146
  • Refactor Node using dataclass by @Pennycook in https://github.com/intel/code-base-investigator/pull/144
  • Add custom argparse actions by @Pennycook in https://github.com/intel/code-base-investigator/pull/155
  • Add instructions for virtual environments by @Pennycook in https://github.com/intel/code-base-investigator/pull/157
  • Add test of summary report by @Pennycook in https://github.com/intel/code-base-investigator/pull/158
  • Add compiler customization schema by @Pennycook in https://github.com/intel/code-base-investigator/pull/156
  • Rework the metrics used by the FileTree by @Pennycook in https://github.com/intel/code-base-investigator/pull/161
  • Move MetaWarning classes into new module by @Pennycook in https://github.com/intel/code-base-investigator/pull/142
  • Improve Compiler class design by @Pennycook in https://github.com/intel/code-base-investigator/pull/164
  • Fix bug in FileTree's handling of unused files by @Pennycook in https://github.com/intel/code-base-investigator/pull/166
  • Add compiler definitions by @Pennycook in https://github.com/intel/code-base-investigator/pull/168
  • Use f-string to format log.warning message by @Pennycook in https://github.com/intel/code-base-investigator/pull/174
  • Fix bug in handling of unsigned constants by @Pennycook in https://github.com/intel/code-base-investigator/pull/173
  • Recommend using cmake -G Ninja in the tutorial by @Pennycook in https://github.com/intel/code-base-investigator/pull/175
  • Fix several issues with custom argparse actions by @Pennycook in https://github.com/intel/code-base-investigator/pull/170
  • Expose tree report as standalone cbi-tree utility by @Pennycook in https://github.com/intel/code-base-investigator/pull/167
  • Enable ArgumentParser to handle custom compilers by @Pennycook in https://github.com/intel/code-base-investigator/pull/176
  • Switch to finalized coverage schema by @Pennycook in https://github.com/intel/code-base-investigator/pull/178
  • Add --debug option by @Pennycook in https://github.com/intel/code-base-investigator/pull/177
  • Fix condition in FileTree insert by @Pennycook in https://github.com/intel/code-base-investigator/pull/181
  • Generate version string dynamically by @Pennycook in https://github.com/intel/code-base-investigator/pull/180
  • Ignore empty .cbi/config files by @Pennycook in https://github.com/intel/code-base-investigator/pull/183
  • Defer .cbi/config loading until required by @Pennycook in https://github.com/intel/code-base-investigator/pull/184
  • Add definition of sycl-nvptx64-nvidia-cuda pass by @Pennycook in https://github.com/intel/code-base-investigator/pull/186
  • Add documentation for new features by @Pennycook in https://github.com/intel/code-base-investigator/pull/185
  • Accept C files ending in a backslash-newline by @Pennycook in https://github.com/intel/code-base-investigator/pull/187
  • Add progress tracker for identifying source files by @Pennycook in https://github.com/intel/code-base-investigator/pull/188
  • Rename files that rely on case-sensitive paths by @Pennycook in https://github.com/intel/code-base-investigator/pull/190
  • Prepare for 2.0.0 release by @Pennycook in https://github.com/intel/code-base-investigator/pull/193
  • Fix release date for 2.0.0 by @Pennycook in https://github.com/intel/code-base-investigator/pull/194

Full Changelog: https://github.com/intel/code-base-investigator/compare/1.2.0...2.0.0

- Python
Published by Pennycook about 1 year ago

code-base-investigator - Code Base Investigator v1.2.0

DOI

Although a minor release, Code Base Investigator v1.2.0 includes a few significant changes.

[!IMPORTANT] In previous releases of Code Base Investigator, the main script was called codebasin.py. The old naming was a bug that needed to be fixed, and we made the difficult decision to rename the script ahead of the next major release.

New Features

  • Filter platforms with --platform (or -p).
  • Exclude files from an analysis with --exclude (or -x).
  • Use git-like "pathspec" patterns to describe exclude files instead of globs.
  • Configure analysis with a new, simplified, TOML file format.
  • Define implicit compiler behaviors (e.g., version macros, system include paths).

For more information on using these features, see the new and improved online documentation.

Bug Fixes

  • Added support for #include files with non-standard extensions.
  • Improved handling of duplicate files.
  • Renamed codebasin.py to codebasin.

Preparation for Code Base Investigator v2.0.0

  • Several features are deprecated and will be removed in the next major release.

What's Changed

  • Fix divergent-source example by @Pennycook in https://github.com/intel/code-base-investigator/pull/17
  • Pre-commit workflow by @laserkelvin in https://github.com/intel/code-base-investigator/pull/21
  • Improve usability for large projects by @Pennycook in https://github.com/intel/code-base-investigator/pull/22
  • Add warning for missing include files by @Pennycook in https://github.com/intel/code-base-investigator/pull/23
  • Improve warning message for unrecognized directive by @Pennycook in https://github.com/intel/code-base-investigator/pull/24
  • Permit include files with non-standard extensions by @Pennycook in https://github.com/intel/code-base-investigator/pull/26
  • Add ability to recognize compilers by @Pennycook in https://github.com/intel/code-base-investigator/pull/27
  • Fix codebasin package by @Pennycook in https://github.com/intel/code-base-investigator/pull/29
  • Fix bug in multi-pass compiler handling by @Pennycook in https://github.com/intel/code-base-investigator/pull/30
  • Update code style by @Pennycook in https://github.com/intel/code-base-investigator/pull/31
  • Update contributing guidelines by @Pennycook in https://github.com/intel/code-base-investigator/pull/34
  • Refactor usage of args (excluding *args) to argv by @itsjayway in https://github.com/intel/code-base-investigator/pull/33
  • Fix incorrect usage of representationstring by @Pennycook in https://github.com/intel/code-base-investigator/pull/37
  • Simplify schema handling and fix several bugs by @Pennycook in https://github.com/intel/code-base-investigator/pull/35
  • Remove unused configuration files by @Pennycook in https://github.com/intel/code-base-investigator/pull/38
  • Deprecate the codebasin package by @Pennycook in https://github.com/intel/code-base-investigator/pull/40
  • Add support for exclude patterns by @Pennycook in https://github.com/intel/code-base-investigator/pull/42
  • Templates for pull requests and issues by @laserkelvin in https://github.com/intel/code-base-investigator/pull/44
  • Adjust pull request template formatting by @Pennycook in https://github.com/intel/code-base-investigator/pull/48
  • Catch all exceptions and convert them to errors by @Pennycook in https://github.com/intel/code-base-investigator/pull/51
  • Fix unintended skipping of bandit in pre-commit hooks and added scan specifications by @laserkelvin in https://github.com/intel/code-base-investigator/pull/52
  • Remove flake8-bandit from pre-commit by @Pennycook in https://github.com/intel/code-base-investigator/pull/53
  • Update dependency versions by @Pennycook in https://github.com/intel/code-base-investigator/pull/55
  • Replace importcfg.json with config TOML file by @Pennycook in https://github.com/intel/code-base-investigator/pull/56
  • Restore missing {} to report outputs by @Pennycook in https://github.com/intel/code-base-investigator/pull/57
  • Add option to define platforms on the command line by @Pennycook in https://github.com/intel/code-base-investigator/pull/49
  • Replace --rootdir (-r) with --source-dir (-S) by @Pennycook in https://github.com/intel/code-base-investigator/pull/59
  • Add schema file required by functionality from #56 by @Pennycook in https://github.com/intel/code-base-investigator/pull/63
  • Deprecate unmaintained functionality by @Pennycook in https://github.com/intel/code-base-investigator/pull/62
  • Rename codebasin.py to codebasin by @Pennycook in https://github.com/intel/code-base-investigator/pull/64
  • Add Github action to run unittest by @laserkelvin in https://github.com/intel/code-base-investigator/pull/65
  • Add TOML files required by tests from #56 by @Pennycook in https://github.com/intel/code-base-investigator/pull/61
  • Replace YAML config files with TOML analysis files by @Pennycook in https://github.com/intel/code-base-investigator/pull/60
  • Separate deprecated options in -h output by @Pennycook in https://github.com/intel/code-base-investigator/pull/68
  • Make all deprecation warnings DeprecationWarnings by @Pennycook in https://github.com/intel/code-base-investigator/pull/69
  • Deprecate passing more than one value to --report by @Pennycook in https://github.com/intel/code-base-investigator/pull/70
  • Ignore SciPy UserWarning about axis limits by @Pennycook in https://github.com/intel/code-base-investigator/pull/74
  • Check if codebase section exists in analysis file by @Pennycook in https://github.com/intel/code-base-investigator/pull/75
  • Remove --source-dir (-S) option by @Pennycook in https://github.com/intel/code-base-investigator/pull/78
  • Simplify platform option by @Pennycook in https://github.com/intel/code-base-investigator/pull/76
  • Fix broken dendrogram names by @Pennycook in https://github.com/intel/code-base-investigator/pull/77
  • Fix double percent symbol in report output by @Pennycook in https://github.com/intel/code-base-investigator/pull/80
  • Add --version option by @Pennycook in https://github.com/intel/code-base-investigator/pull/83
  • Improve compile command handling by @Pennycook in https://github.com/intel/code-base-investigator/pull/82
  • Remove duplicate detection by @Pennycook in https://github.com/intel/code-base-investigator/pull/79
  • Rewrite the documentation by @Pennycook in https://github.com/intel/code-base-investigator/pull/85
  • Bump version to 1.2.0 by @Pennycook in https://github.com/intel/code-base-investigator/pull/88

New Contributors

  • @laserkelvin made their first contribution in https://github.com/intel/code-base-investigator/pull/21
  • @itsjayway made their first contribution in https://github.com/intel/code-base-investigator/pull/33

Full Changelog: https://github.com/intel/code-base-investigator/compare/1.1.0...1.2.0

- Python
Published by Pennycook about 2 years ago

code-base-investigator - Code Base Investigator v1.1.0

DOI

What's Changed

  • Macro expansion overhaul by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/3
  • Refactor walkers, add optional code passthrough, and add etc/preprocess script by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/4
  • Improve readability of dendrograms by @Pennycook in https://github.com/intel/code-base-investigator/pull/5
  • Add support for 'exclude_files' configuration option by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/6
  • Fix duplicate detection by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/7
  • Improve search path handling by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/7
  • Support basic assembly source files by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/7
  • Dump detailed source region annotation by @jasonsewall-intel in https://github.com/intel/code-base-investigator/pull/7
  • Handle quotes in "command" field in compilation databse by @al42and in https://github.com/intel/code-base-investigator/pull/8
  • Validate inputs against schema by @Pennycook in https://github.com/intel/code-base-investigator/pull/10
  • Check if token is None before accessing attributes by @Pennycook in https://github.com/intel/code-base-investigator/pull/11
  • Export coverage for P3 Analysis Library by @Pennycook in https://github.com/intel/code-base-investigator/pull/12

New Contributors

  • @al42and made their first contribution in https://github.com/intel/code-base-investigator/pull/8

Full Changelog: https://github.com/intel/code-base-investigator/compare/1.05...1.1.0

- Python
Published by Pennycook almost 3 years ago

code-base-investigator - Code Base Investigator v1.05

This release contains an improved tokenizer and parser, as well as updates to usability.

DOI

- Python
Published by Pennycook almost 5 years ago

code-base-investigator - Code Base Investigator v1.0

Initial release of Code Base Investigator.

DOI

- Python
Published by Pennycook almost 5 years ago