diff --git a/.bumpversion.toml b/.bumpversion.toml new file mode 100644 index 00000000..221cd9b8 --- /dev/null +++ b/.bumpversion.toml @@ -0,0 +1,22 @@ +[tool.bumpversion] +current_version = "9.2.1" + +[[tool.bumpversion.files]] +filename = "capa/version.py" +search = '__version__ = "{current_version}"' +replace = '__version__ = "{new_version}"' + +[[tool.bumpversion.files]] +filename = "capa/ida/plugin/ida-plugin.json" +search = '"version": "{current_version}"' +replace = '"version": "{new_version}"' + +[[tool.bumpversion.files]] +filename = "capa/ida/plugin/ida-plugin.json" +search = '"flare-capa=={current_version}"' +replace = '"flare-capa=={new_version}"' + +[[tool.bumpversion.files]] +filename = "CHANGELOG.md" +search = "v{current_version}...master" +replace = "{current_version}...{new_version}" diff --git a/CHANGELOG.md b/CHANGELOG.md index ba185ced..e01ea6c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,9 +39,12 @@ ### capa Explorer IDA Pro plugin +- add `ida-plugin.json` for inclusion in the IDA Pro plugin repository @williballenthin + ### Development - ci: remove redundant "test_run" action from build workflow @mike-hunhoff #2692 +- dev: add bumpmyversion to bump and sync versions across the project @mr-tz ### Raw diffs - [capa v9.2.1...master](https://github.com/mandiant/capa/compare/v9.2.1...master) diff --git a/capa/ida/plugin/ida-plugin.json b/capa/ida/plugin/ida-plugin.json new file mode 100644 index 00000000..c63fd80e --- /dev/null +++ b/capa/ida/plugin/ida-plugin.json @@ -0,0 +1,38 @@ +{ + "IDAMetadataDescriptorVersion": 1, + "plugin": { + "name": "capa", + "entryPoint": "capa_explorer.py", + "version": "9.2.1", + "idaVersions": ">=7.4", + "description": "Identify capabilities in executable files using FLARE's capa framework", + "license": "Apache-2.0", + "categories": [ + "malware-analysis", + "api-scripting-and-automation", + "ui-ux-and-visualization" + ], + "pythonDependencies": ["flare-capa==9.2.1"], + "urls": { + "repository": "https://github.com/mandiant/capa" + }, + "authors": [ + {"name": "Willi Ballenthin", "email": "wballenthin@hex-rays.com"}, + {"name": "Moritz Raabe", "email": "moritzraabe@google.com"}, + {"name": "Mike Hunhoff", "email": "mike.hunhoff@gmail.com"}, + {"name": "Yacine Elhamer", "email": "elhamer.yacine@gmail.com"} + ], + "keywords": [ + "capability-detection", + "malware-analysis", + "behavior-analysis", + "reverse-engineering", + "att&ck", + "rule-engine", + "feature-extraction", + "yara-like-rules", + "static-analysis", + "dynamic-analysis" + ] + } +} diff --git a/doc/release.md b/doc/release.md index 6d852900..3b8242a5 100644 --- a/doc/release.md +++ b/doc/release.md @@ -7,6 +7,7 @@ - [ ] Review changes - capa https://github.com/mandiant/capa/compare/\...master - capa-rules https://github.com/mandiant/capa-rules/compare/\\...master +- [ ] Run `$ bump-my-version bump {patch/minor/major} [--allow-dirty]` to update [capa/version.py](https://github.com/mandiant/capa/blob/master/capa/version.py) and other version files - [ ] Update [CHANGELOG.md](https://github.com/mandiant/capa/blob/master/CHANGELOG.md) - Do not forget to add a nice introduction thanking contributors - Remember that we need a major release if we introduce breaking changes @@ -36,7 +37,6 @@ - [capa ...master](https://github.com/mandiant/capa/compare/...master) - [capa-rules ...master](https://github.com/mandiant/capa-rules/compare/...master) ``` -- [ ] Update [capa/version.py](https://github.com/mandiant/capa/blob/master/capa/version.py) - [ ] Create a PR with the updated [CHANGELOG.md](https://github.com/mandiant/capa/blob/master/CHANGELOG.md) and [capa/version.py](https://github.com/mandiant/capa/blob/master/capa/version.py). Copy this checklist in the PR description. - [ ] Update the [homepage](https://github.com/mandiant/capa/blob/master/web/public/index.html) (i.e. What's New section) - [ ] After PR review, merge the PR and [create the release in GH](https://github.com/mandiant/capa/releases/new) using text from the [CHANGELOG.md](https://github.com/mandiant/capa/blob/master/CHANGELOG.md). diff --git a/pyproject.toml b/pyproject.toml index c2fcbac4..69bb10c2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -142,6 +142,7 @@ dev = [ "mypy==1.17.1", "mypy-protobuf==3.6.0", "PyGithub==2.6.0", + "bump-my-version==1.2.4", # type stubs for mypy "types-backports==0.1.3", "types-colorama==0.4.15.11", @@ -205,6 +206,7 @@ known_first_party = [ DEP002 = [ "black", "build", + "bump-my-version", "deptry", "flake8", "flake8-bugbear", diff --git a/requirements.txt b/requirements.txt index b6d78ae1..0d0dd217 100644 --- a/requirements.txt +++ b/requirements.txt @@ -45,3 +45,4 @@ sortedcontainers==2.4.0 viv-utils==0.8.0 vivisect==1.2.1 msgspec==0.19.0 +bump-my-version==1.2.4