Skip to content

Commit fc8089c

Browse files
authored
Merge pull request #2426 from mandiant/release/v740
Release v7.4.0
2 parents 5468851 + d795db9 commit fc8089c

File tree

6 files changed

+48
-11
lines changed

6 files changed

+48
-11
lines changed

CHANGELOG.md

+32-9
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,39 @@
44

55
### New Features
66

7+
### Breaking Changes
8+
9+
### New Rules (0)
10+
11+
-
12+
13+
### Bug Fixes
14+
15+
### capa Explorer Web
16+
17+
### capa Explorer IDA Pro plugin
18+
19+
### Development
20+
21+
### Raw diffs
22+
- [capa v7.4.0...master](https://github.com/mandiant/capa/compare/v7.4.0...master)
23+
- [capa-rules v7.4.0...master](https://github.com/mandiant/capa-rules/compare/v7.4.0...master)
24+
25+
## v7.4.0
26+
27+
The v7.4.0 capa release fixes a bug when processing VMRay analysis archives and enhances API extraction for all dynamic backends. For better terminal rendering capa now solely relies on the rich library.
28+
29+
The standalone capa executable can now automatically detect installations of relevant third party applications and use their backends (notably, idalib and Binary Ninja). For the extra standalone Linux build we've upgraded from Python 3.11 to 3.12.
30+
31+
Twelve new rules have been added. Thanks to all the contributors!
32+
33+
*This is the last capa version supporting Python 3.8 and 3.9. If you have major concerns about this please reach out to us.*
34+
35+
### New Features
36+
737
- add IDA v9.0 backend via idalib #2376 @williballenthin
838
- locate Binary Ninja API using XDG Desktop Entries #2376 @williballenthin
939

10-
### Breaking Changes
11-
1240
### New Rules (15)
1341

1442
- nursery/access-unmanaged-com-objects-in-dotnet [email protected]
@@ -25,7 +53,6 @@
2553
- host-interaction/firewall/modify/access-firewall-policy-via-inetfwpolicy2 [email protected]
2654
- host-interaction/firewall/modify/access-firewall-rule-properties-via-inetfwrule [email protected]
2755
- host-interaction/registry/open-recentdocs-registry-key [email protected]
28-
-
2956

3057
### Bug Fixes
3158

@@ -39,14 +66,10 @@
3966
### capa Explorer Web
4067
- improve navigation in capa Explorer Web @s-ff #2425
4168

42-
### capa Explorer IDA Pro plugin
43-
44-
### Development
45-
4669
### Raw diffs
4770

48-
- [capa v7.3.0...master](https://github.com/mandiant/capa/compare/v7.3.0...master)
49-
- [capa-rules v7.3.0...master](https://github.com/mandiant/capa-rules/compare/v7.3.0...master)
71+
- [capa v7.3.0...v7.4.0](https://github.com/mandiant/capa/compare/v7.3.0...v7.4.0)
72+
- [capa-rules v7.3.0...v7.4.0](https://github.com/mandiant/capa-rules/compare/v7.3.0...v7.4.0)
5073

5174
## v7.3.0
5275

capa/ghidra/capa_explorer.py

+4
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,10 @@ def main():
372372
from capa.exceptions import UnsupportedRuntimeError
373373

374374
raise UnsupportedRuntimeError("This version of capa can only be used with Python 3.8+")
375+
elif sys.version_info < (3, 10):
376+
from warnings import warn
377+
378+
warn("This is the last capa version supporting Python 3.8 and 3.9.", DeprecationWarning, stacklevel=2)
375379
exit_code = main()
376380
if exit_code != 0:
377381
popup("capa explorer encountered errors during analysis. Please check the console output for more information.") # type: ignore [name-defined] # noqa: F821

capa/ghidra/capa_ghidra.py

+4
Original file line numberDiff line numberDiff line change
@@ -164,4 +164,8 @@ def main():
164164
from capa.exceptions import UnsupportedRuntimeError
165165

166166
raise UnsupportedRuntimeError("This version of capa can only be used with Python 3.8+")
167+
elif sys.version_info < (3, 10):
168+
from warnings import warn
169+
170+
warn("This is the last capa version supporting Python 3.8 and 3.9.", DeprecationWarning, stacklevel=2)
167171
sys.exit(main())

capa/main.py

+4
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,10 @@ def apply_extractor_filters(extractor: FeatureExtractor, extractor_filters: Filt
903903
def main(argv: Optional[List[str]] = None):
904904
if sys.version_info < (3, 8):
905905
raise UnsupportedRuntimeError("This version of capa can only be used with Python 3.8+")
906+
elif sys.version_info < (3, 10):
907+
from warnings import warn
908+
909+
warn("This is the last capa version supporting Python 3.8 and 3.9.", DeprecationWarning, stacklevel=2)
906910

907911
if argv is None:
908912
argv = sys.argv[1:]

capa/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Unless required by applicable law or agreed to in writing, software distributed under the License
66
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
77
# See the License for the specific language governing permissions and limitations under the License.
8-
__version__ = "7.3.0"
8+
__version__ = "7.4.0"
99

1010

1111
def get_major_version():

doc/release.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626
2727
### Bug Fixes
2828
29-
### capa explorer IDA Pro plugin
29+
### capa Explorer Web
30+
31+
### capa Explorer IDA Pro plugin
3032
3133
### Development
3234

0 commit comments

Comments
 (0)