codevanta 0.1.1__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. {codevanta-0.1.1 → codevanta-0.2.1}/CHANGELOG.md +50 -0
  2. {codevanta-0.1.1/src/codevanta.egg-info → codevanta-0.2.1}/PKG-INFO +4 -1
  3. {codevanta-0.1.1 → codevanta-0.2.1}/pyproject.toml +5 -1
  4. codevanta-0.2.1/src/codevanta/analysis/adb.py +1358 -0
  5. codevanta-0.2.1/src/codevanta/analysis/apple_ips.py +628 -0
  6. codevanta-0.2.1/src/codevanta/analysis/asar.py +519 -0
  7. codevanta-0.2.1/src/codevanta/analysis/binmeta.py +1520 -0
  8. codevanta-0.2.1/src/codevanta/analysis/cdp_client.py +1154 -0
  9. codevanta-0.2.1/src/codevanta/analysis/compare.py +738 -0
  10. codevanta-0.2.1/src/codevanta/analysis/containers.py +1364 -0
  11. codevanta-0.2.1/src/codevanta/analysis/crash_core.py +676 -0
  12. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/evidence_bundle.py +25 -8
  13. codevanta-0.2.1/src/codevanta/analysis/fdt.py +436 -0
  14. codevanta-0.2.1/src/codevanta/analysis/nav.py +704 -0
  15. codevanta-0.2.1/src/codevanta/analysis/nav_providers.py +172 -0
  16. codevanta-0.2.1/src/codevanta/analysis/sigrok_cli_wrap.py +319 -0
  17. codevanta-0.2.1/src/codevanta/analysis/sigrok_sr.py +352 -0
  18. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/solver.py +712 -2
  19. codevanta-0.2.1/src/codevanta/analysis/sqlite_view.py +281 -0
  20. codevanta-0.2.1/src/codevanta/analysis/uart_decode.py +360 -0
  21. codevanta-0.2.1/src/codevanta/cli/containers.py +272 -0
  22. codevanta-0.2.1/src/codevanta/cli/crash.py +234 -0
  23. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/cli/main.py +406 -5
  24. codevanta-0.2.1/src/codevanta/cli/meta.py +107 -0
  25. codevanta-0.2.1/src/codevanta/cli/mobile.py +361 -0
  26. codevanta-0.2.1/src/codevanta/cli/nav.py +268 -0
  27. codevanta-0.2.1/src/codevanta/cli/signal.py +285 -0
  28. codevanta-0.2.1/src/codevanta/cli/web.py +259 -0
  29. codevanta-0.2.1/src/codevanta/core/unknowns.py +340 -0
  30. codevanta-0.2.1/src/codevanta/mcp_server/ext_bin.py +64 -0
  31. codevanta-0.2.1/src/codevanta/mcp_server/ext_crash.py +80 -0
  32. codevanta-0.2.1/src/codevanta/mcp_server/ext_meta.py +25 -0
  33. codevanta-0.2.1/src/codevanta/mcp_server/ext_mobile.py +65 -0
  34. codevanta-0.2.1/src/codevanta/mcp_server/ext_nav.py +214 -0
  35. codevanta-0.2.1/src/codevanta/mcp_server/ext_signal.py +91 -0
  36. codevanta-0.2.1/src/codevanta/mcp_server/ext_solver.py +130 -0
  37. codevanta-0.2.1/src/codevanta/mcp_server/ext_web.py +138 -0
  38. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/mcp_server/server.py +276 -0
  39. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/mcp_server/tools.py +183 -0
  40. {codevanta-0.1.1 → codevanta-0.2.1/src/codevanta.egg-info}/PKG-INFO +4 -1
  41. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta.egg-info/SOURCES.txt +41 -0
  42. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta.egg-info/requires.txt +4 -0
  43. codevanta-0.2.1/tests/test_adb.py +931 -0
  44. codevanta-0.2.1/tests/test_compare.py +384 -0
  45. codevanta-0.2.1/tests/test_containers.py +776 -0
  46. codevanta-0.2.1/tests/test_crash.py +913 -0
  47. codevanta-0.2.1/tests/test_fdt.py +399 -0
  48. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_mcp_tools.py +17 -1
  49. codevanta-0.2.1/tests/test_meta.py +1483 -0
  50. codevanta-0.2.1/tests/test_nav.py +903 -0
  51. codevanta-0.2.1/tests/test_signal.py +758 -0
  52. codevanta-0.2.1/tests/test_solver.py +763 -0
  53. codevanta-0.2.1/tests/test_unknowns.py +360 -0
  54. codevanta-0.2.1/tests/test_web.py +1868 -0
  55. codevanta-0.1.1/tests/test_solver.py +0 -310
  56. {codevanta-0.1.1 → codevanta-0.2.1}/LICENSE +0 -0
  57. {codevanta-0.1.1 → codevanta-0.2.1}/MANIFEST.in +0 -0
  58. {codevanta-0.1.1 → codevanta-0.2.1}/README.md +0 -0
  59. {codevanta-0.1.1 → codevanta-0.2.1}/docs/api.md +0 -0
  60. {codevanta-0.1.1 → codevanta-0.2.1}/docs/architecture.md +0 -0
  61. {codevanta-0.1.1 → codevanta-0.2.1}/docs/assets/callgraph.png +0 -0
  62. {codevanta-0.1.1 → codevanta-0.2.1}/docs/assets/cli.png +0 -0
  63. {codevanta-0.1.1 → codevanta-0.2.1}/docs/assets/gui.png +0 -0
  64. {codevanta-0.1.1 → codevanta-0.2.1}/docs/attribution.md +0 -0
  65. {codevanta-0.1.1 → codevanta-0.2.1}/docs/install.md +0 -0
  66. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2.md +0 -0
  67. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2b.md +0 -0
  68. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2c.md +0 -0
  69. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2d.md +0 -0
  70. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2e.md +0 -0
  71. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2f.md +0 -0
  72. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2g.md +0 -0
  73. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2h.md +0 -0
  74. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2i.md +0 -0
  75. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2j.md +0 -0
  76. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase2k.md +0 -0
  77. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase3.md +0 -0
  78. {codevanta-0.1.1 → codevanta-0.2.1}/docs/phase6.md +0 -0
  79. {codevanta-0.1.1 → codevanta-0.2.1}/docs/release-checklist.md +0 -0
  80. {codevanta-0.1.1 → codevanta-0.2.1}/docs/repository-settings.md +0 -0
  81. {codevanta-0.1.1 → codevanta-0.2.1}/docs/samples.md +0 -0
  82. {codevanta-0.1.1 → codevanta-0.2.1}/requirements.txt +0 -0
  83. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/agent_commit.py +0 -0
  84. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/bench.py +0 -0
  85. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/bench_gate.py +0 -0
  86. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/check_decompiler_backends.py +0 -0
  87. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/fuzz_parsers.py +0 -0
  88. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/install.ps1 +0 -0
  89. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/install.sh +0 -0
  90. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/make_samples.py +0 -0
  91. {codevanta-0.1.1 → codevanta-0.2.1}/scripts/report_bundle.py +0 -0
  92. {codevanta-0.1.1 → codevanta-0.2.1}/setup.cfg +0 -0
  93. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/__init__.py +0 -0
  94. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/__init__.py +0 -0
  95. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/binary_diff.py +0 -0
  96. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/callgraph.py +0 -0
  97. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/cfg.py +0 -0
  98. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/dataflow.py +0 -0
  99. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/debug_session.py +0 -0
  100. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/debugger.py +0 -0
  101. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/debuginfo.py +0 -0
  102. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/decompile.py +0 -0
  103. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/decompilers/__init__.py +0 -0
  104. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/decompilers/angr_backend.py +0 -0
  105. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/decompilers/base.py +0 -0
  106. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/decompilers/ghidra_backend.py +0 -0
  107. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/dynamic.py +0 -0
  108. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/emulate.py +0 -0
  109. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/function_hash.py +0 -0
  110. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/graph_export.py +0 -0
  111. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/html_view.py +0 -0
  112. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/jump_tables.py +0 -0
  113. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/symbolic.py +0 -0
  114. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/trace.py +0 -0
  115. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/type_propagation.py +0 -0
  116. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/type_recovery.py +0 -0
  117. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/vtables.py +0 -0
  118. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/analysis/xrefs.py +0 -0
  119. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/api/__init__.py +0 -0
  120. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/cli/__init__.py +0 -0
  121. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/core/__init__.py +0 -0
  122. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/core/disassembler.py +0 -0
  123. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/core/entropy.py +0 -0
  124. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/core/functions.py +0 -0
  125. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/core/loader.py +0 -0
  126. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/core/report.py +0 -0
  127. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/core/strings.py +0 -0
  128. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/evidence/__init__.py +0 -0
  129. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/evidence/confidence.py +0 -0
  130. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/evidence/models.py +0 -0
  131. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/evidence/provenance.py +0 -0
  132. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/gui/__init__.py +0 -0
  133. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/gui/layout.py +0 -0
  134. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/gui/server.py +0 -0
  135. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/ir/__init__.py +0 -0
  136. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/ir/adapters/__init__.py +0 -0
  137. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/ir/base.py +0 -0
  138. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/ir/instruction.py +0 -0
  139. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/mcp_server/__init__.py +0 -0
  140. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/plugins/__init__.py +0 -0
  141. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/setup/__init__.py +0 -0
  142. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/setup/apply.py +0 -0
  143. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/setup/clients.py +0 -0
  144. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/setup/plan.py +0 -0
  145. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/setup/verify.py +0 -0
  146. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/storage/__init__.py +0 -0
  147. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta/storage/session.py +0 -0
  148. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta.egg-info/dependency_links.txt +0 -0
  149. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta.egg-info/entry_points.txt +0 -0
  150. {codevanta-0.1.1 → codevanta-0.2.1}/src/codevanta.egg-info/top_level.txt +0 -0
  151. {codevanta-0.1.1 → codevanta-0.2.1}/tests/conftest.py +0 -0
  152. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_agent_commit.py +0 -0
  153. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_bench.py +0 -0
  154. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_bench_gate.py +0 -0
  155. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_binary_diff.py +0 -0
  156. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_callgraph.py +0 -0
  157. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cfg.py +0 -0
  158. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cfg_recursive.py +0 -0
  159. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli.py +0 -0
  160. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_gui.py +0 -0
  161. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2.py +0 -0
  162. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2b.py +0 -0
  163. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2d.py +0 -0
  164. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2e.py +0 -0
  165. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2f.py +0 -0
  166. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2g.py +0 -0
  167. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2h.py +0 -0
  168. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2i.py +0 -0
  169. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2j.py +0 -0
  170. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase2k.py +0 -0
  171. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase3.py +0 -0
  172. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_phase7.py +0 -0
  173. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_cli_trace.py +0 -0
  174. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_dataflow.py +0 -0
  175. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_debug_session.py +0 -0
  176. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_debugger.py +0 -0
  177. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_debuginfo.py +0 -0
  178. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_decompile.py +0 -0
  179. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_decompile_backends.py +0 -0
  180. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_decompiler_parity.py +0 -0
  181. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_disassembler.py +0 -0
  182. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_dynamic.py +0 -0
  183. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_emulate.py +0 -0
  184. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_entropy.py +0 -0
  185. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_evidence.py +0 -0
  186. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_evidence_bundle.py +0 -0
  187. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_function_hash.py +0 -0
  188. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_functions.py +0 -0
  189. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_fuzz_parsers.py +0 -0
  190. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_graph_export.py +0 -0
  191. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_gui.py +0 -0
  192. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_html_view.py +0 -0
  193. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_jump_tables.py +0 -0
  194. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_loader.py +0 -0
  195. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_plugins.py +0 -0
  196. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_report_bundle.py +0 -0
  197. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_report_callgraph.py +0 -0
  198. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_report_phase2.py +0 -0
  199. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_samples.py +0 -0
  200. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_session.py +0 -0
  201. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_setup_plan.py +0 -0
  202. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_strings.py +0 -0
  203. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_symbolic.py +0 -0
  204. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_symbolic_parity.py +0 -0
  205. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_tooling_config.py +0 -0
  206. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_trace.py +0 -0
  207. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_trace_samples.py +0 -0
  208. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_type_propagation.py +0 -0
  209. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_type_recovery.py +0 -0
  210. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_vtables.py +0 -0
  211. {codevanta-0.1.1 → codevanta-0.2.1}/tests/test_xrefs.py +0 -0
@@ -4,6 +4,56 @@ All notable changes to CODEVANTA are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses
5
5
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.2.1] - 2026-11-13
8
+
9
+ ### Fixed
10
+
11
+ - The 12 ext MCP tools introduced in 0.2.0 (crash, metadata auto-detect's
12
+ siblings: binmeta, sqlite, adb, web_inspect, asar, symbolic_solve,
13
+ signal_sr, uart_decode, dtb, nav, nav_providers) had import lines but were
14
+ never wired into `build_server`, so only 26 of the intended 38 tools were
15
+ actually registered. All 12 now have `@server.tool` wrappers and the full
16
+ 38-name list is asserted in the test suite. `list_tools()` now returns 38.
17
+
18
+ ## [0.2.0] - 2026-11-13
19
+
20
+ ### Added
21
+
22
+ - **Typed comparators** (`codevanta compare <a.json> <b.json>` + MCP tool
23
+ `codevanta_compare`): function inventories matched by name and by fingerprint,
24
+ string-set diffs, and evidence-bundle membership diffs - all offline, typed,
25
+ evidence-backed.
26
+ - **Residual-unknown ledger** (`codevanta unknowns`): typed `UnknownRecord` with
27
+ deterministic ids and an open/resolve lifecycle, surfaced in the evidence bundle
28
+ and over MCP (`codevanta_unknowns`).
29
+ - **Six REA-parity lanes** (PR #50): ELF-core + Apple `.ips` crash parsers
30
+ (`codevanta core`/`codevanta ips`, MCP `codevanta_crash`); auto-detecting
31
+ format metadata (APK signing v2/v3, Go buildinfo, Rust cargo-auditable, `.pyc`
32
+ headers, Electron fuses, ELF notes/modinfo, desktop classification;
33
+ `codevanta metadata`, MCP `codevanta_metadata`); binary containers (WASM
34
+ sections, EVM disasm-lite, GGUF, safetensors, pcap, firmware magic scan,
35
+ `codevanta binmeta`/`codevanta evm`) and a read-only SQLite viewer
36
+ (`codevanta sqlite`, MCP `codevanta_binmeta`/`codevanta_sqlite`); the ADB
37
+ mobile lane with offline transcript parsers and skip-gated live wrappers
38
+ (`codevanta mobile`, MCP `codevanta_adb`); the Web/Electron lane (stdlib
39
+ CDP client, passive page inspection, screenshot, WebMCP probe, ASAR
40
+ reconstruction; `codevanta web`/`codevanta asar`, MCP
41
+ `codevanta_web_inspect`/`codevanta_asar`); and solver-backed symbolic
42
+ execution gated on optional z3-solver with an unchanged naive fallback
43
+ (`--solver auto`, MCP `codevanta_symbolic_solve`).
44
+ - **Signal/firmware lane** (PR #51): sigrok `.sr` session archives, a pure-Python
45
+ UART decoder-lite with parity/stop validation, flattened devicetree (FDT)
46
+ parsing, and a skip-gated sigrok-cli wrapper (`codevanta signal`/`codevanta dtb`,
47
+ MCP `codevanta_signal_sr`/`codevanta_uart_decode`/`codevanta_dtb`).
48
+ - **Provider-neutral navigation state** (PR #51): bookmarks, comments, cursor and
49
+ goto-history per session over the session store, plus typed external-GUI
50
+ provider probes (`codevanta nav`, MCP `codevanta_nav`/`codevanta_nav_providers`).
51
+
52
+ ### Changed
53
+
54
+ - MCP server now exposes 38 tools (from 22 at v0.1.0); `z3-solver>=4.13` joined
55
+ the dev extras so CI exercises the solver lane for real.
56
+
7
57
  ## [0.1.1] - 2026-11-13
8
58
 
9
59
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: codevanta
3
- Version: 0.1.1
3
+ Version: 0.2.1
4
4
  Summary: CODEVANTA — Advanced Code Intelligence: AI-Powered Reverse Engineering & Binary Analysis Platform
5
5
  Author: kevindoni
6
6
  License-Expression: MIT
@@ -38,6 +38,9 @@ Requires-Dist: ruff>=0.5; extra == "dev"
38
38
  Requires-Dist: build>=1.2; extra == "dev"
39
39
  Requires-Dist: unicorn>=2.0; extra == "dev"
40
40
  Requires-Dist: pyelftools>=0.31; extra == "dev"
41
+ Requires-Dist: z3-solver>=4.13; extra == "dev"
42
+ Provides-Extra: solver
43
+ Requires-Dist: z3-solver>=4.13; extra == "solver"
41
44
  Provides-Extra: emulation
42
45
  Requires-Dist: unicorn>=2.0; extra == "emulation"
43
46
  Provides-Extra: dwarf
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "codevanta"
7
- version = "0.1.1"
7
+ version = "0.2.1"
8
8
  description = "CODEVANTA — Advanced Code Intelligence: AI-Powered Reverse Engineering & Binary Analysis Platform"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -50,6 +50,10 @@ dev = [
50
50
  "build>=1.2",
51
51
  "unicorn>=2.0",
52
52
  "pyelftools>=0.31",
53
+ "z3-solver>=4.13",
54
+ ]
55
+ solver = [
56
+ "z3-solver>=4.13",
53
57
  ]
54
58
  emulation = [
55
59
  "unicorn>=2.0",