Skip to content

Release v0.20.3

Choose a tag to compare

@github-actions github-actions released this 16 Mar 23:15
· 694 commits to main since this release
6c82fad

What's Changed

Release 0.20.3 of codeflash.

Full Changelog: https://github.com/codeflash-ai/codeflash/commits/v0.20.3

What's Changed

  • feat: add JaCoCo test coverage support for Java optimization by @misrasaurabh1 in #1224
  • fix: handle NOT_FOUND coverage status in Java multi-module projects by @misrasaurabh1 in #1229
  • ⚡️ Speed up function get_optimized_code_for_module by 2,599% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1240
  • feat: add inner loop and compile-once-run-many optimization for Java benchmarking by @misrasaurabh1 in #1245
  • fix: Java security and validation improvements by @HeshamHM28 in #1267
  • feat: add import-based test discovery for Java by @misrasaurabh1 in #1268
  • fix: update Java Comparator to read from test_results table by @mashraf-222 in #1272
  • fix: add JSON-aware comparison to Python comparator fallback by @mashraf-222 in #1276
  • Revert "fix: add JSON-aware comparison to Python comparator fallback" by @mashraf-222 in #1278
  • test: add integration tests for test_results schema validation by @mashraf-222 in #1273
  • [Fix] Reading config fille by @HeshamHM28 in #1287
  • ⚡️ Speed up function _add_behavior_instrumentation by 22% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1294
  • Fix Java test path duplication when tests_root includes package path by @HeshamHM28 in #1282
  • feat: implement Java assertion removal transformer by @misrasaurabh1 in #1295
  • fix: add Java patterns to instrumented test file cleanup by @mashraf-222 in #1338
  • fix: increase Java test timeout from 15s to 120s by @mashraf-222 in #1337
  • [feat] Java verbose logging by @HeshamHM28 in #1348
  • fix: prevent Maven running all tests + fix TestFile type annotation by @mashraf-222 in #1345
  • fix: set tests_project_rootdir to tests_root for Java projects (Bug #2) by @mashraf-222 in #1341
  • fix: route Java/JavaScript/TypeScript to Optimizer instead of Python tracer by @mashraf-222 in #1398
  • [WIP] [FEAT] kryo serialization by @HeshamHM28 in #1390
  • ⚡️ Speed up function _get_test_module_target_dir by 43% in PR #1401 (fix/behavioral-equivalence-improvements) by @codeflash-ai[bot] in #1403
  • fix: correct return value order in Java test_runner for coverage by @aseembits93 in #1417
  • fix: prevent duplicate and wrong test-to-function associations in Java by @mashraf-222 in #1279
  • Add concurrency pattern detection for Java optimization by @mashraf-222 in #1283
  • Add line profiling for Java optimization by @mashraf-222 in #1281
  • fix: wire Java formatter into detection pipeline by @mashraf-222 in #1400
  • fix: detect and log Java compilation failures explicitly by @mashraf-222 in #1394
  • fix: show actual test file paths in failure log by @mashraf-222 in #1393
  • ⚡️ Speed up function _extract_modules_from_pom_content by 18% in PR #1401 (fix/behavioral-equivalence-improvements) by @codeflash-ai[bot] in #1434
  • feat: Maven infrastructure and behavioral equivalence improvements by @mashraf-222 in #1401
  • fix pom.xml by @HeshamHM28 in #1435
  • fix: correct Java test file path generation for Maven structure by @mashraf-222 in #1436
  • [FIX] java assertion transformer by @HeshamHM28 in #1450
  • [FIX] JAVA line profiler attrs by @HeshamHM28 in #1449
  • ⚡️ Speed up method JavaAssertTransformer._generate_exception_replacement by 14% in PR #1443 (fix/java-exception-assignment-instrumentation) by @codeflash-ai[bot] in #1445
  • ⚡️ Speed up method JavaAssertTransformer._detect_variable_assignment by 33% in PR #1443 (fix/java-exception-assignment-instrumentation) by @codeflash-ai[bot] in #1444
  • fix: handle assertThrows variable assignment in Java instrumentation by @mashraf-222 in #1443
  • fix: update failing unit tests in omni-java to match current behavior by @mashraf-222 in #1455
  • fix: Java line profiler timeout and test categorization by @mashraf-222 in #1470
  • fix(java): fix Java instrumentation, JPMS, and timeout bugs by @HeshamHM28 in #1472
  • fix/e2e runtime java by @Saga4 in #1482
  • fix: Java behavior test execution in multi-module Maven projects by @mashraf-222 in #1480
  • fix/e2e runtime java by @Saga4 in #1483
  • Replace Regex with tree-sitter by @HeshamHM28 in #1495
  • [Fix] Java asserts removal by @HeshamHM28 in #1501
  • fix: use tree-sitter name-based lookup for Java function extraction by @mashraf-222 in #1511
  • [Fix] Java falling tests by @HeshamHM28 in #1496
  • Instrumentation fixes by @misrasaurabh1 in #1517
  • ⚡️ Speed up function _format_skeleton_for_context by 13% in PR #1514 (fix/java-e2e-critical-bugs) by @codeflash-ai[bot] in #1515
  • fix: resolve 4 critical Java E2E pipeline bugs by @mashraf-222 in #1514
  • Java fixes instrumentation by @misrasaurabh1 in #1521
  • fix: Java test instrumentation and context improvements for E2E optimization by @mashraf-222 in #1530
  • fix: correct field ordering, helper placement, indentation, and blank lines in Java code replacer by @misrasaurabh1 in #1555
  • chore: sync main into omni-java (batch 1/4) by @KRRT7 in #1556
  • chore: sync main into omni-java (batch 2/4) by @KRRT7 in #1557
  • chore: sync main into omni-java (batch 3/4) by @KRRT7 in #1558
  • chore: sync main into omni-java (batch 4/4) by @KRRT7 in #1560
  • better coverage numbers by @misrasaurabh1 in #1564
  • ⚡️ Speed up function _find_java_executable by 13% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1576
  • test: add comprehensive Java run-and-parse integration tests by @misrasaurabh1 in #1577
  • ⚡️ Speed up method JavaAssertTransformer._build_target_call by 1,947% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1597
  • ⚡️ Speed up method JavaAssertTransformer._find_balanced_parens by 35% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1602
  • ⚡️ Speed up function wrap_target_calls_with_treesitter by 61% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1601
  • ⚡️ Speed up method JavaLineProfiler._find_executable_lines by 77% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1591
  • ⚡️ Speed up function _infer_array_cast_type by 81% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1590
  • ⚡️ Speed up function _should_include_method by 22% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1587
  • ⚡️ Speed up function _extract_type_names_from_code by 44,595% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1583
  • ⚡️ Speed up function _find_java_executable by 64% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1579
  • ⚡️ Speed up function _extract_type_names_from_code by 10,968% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1609
  • fix: Java E2E pipeline — direct JVM benchmarking, JUnit detection, and instrumentation fixes by @mashraf-222 in #1580
  • ⚡️ Speed up function find_helper_functions by 7,426% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1626
  • ⚡️ Speed up function _extract_test_method_name by 83% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1627
  • ⚡️ Speed up method JavaAssertTransformer._find_balanced_parens by 41% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1629
  • ⚡️ Speed up method JavaAssertTransformer._find_balanced_braces by 326% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1630
  • ⚡️ Speed up method JavaSupport.add_global_declarations by 16% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1632
  • ⚡️ Speed up function check_formatter_installed by 22% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1622
  • ⚡️ Speed up function get_java_formatter_cmd by 217% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1621
  • ⚡️ Speed up function transform_java_assertions by 72% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1603
  • ⚡️ Speed up method PrComment.to_json by 28% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1624
  • ⚡️ Speed up function _ensure_languages_registered by 383% in PR #1543 (fix/java/line-profiler) by @codeflash-ai[bot] in #1635
  • ⚡️ Speed up function show_text_non_python by 18% in PR #1543 (fix/java/line-profiler) by @codeflash-ai[bot] in #1636
  • fix: Java loop ID calculation and assertion transformer bug by @misrasaurabh1 in #1638
  • ⚡️ Speed up method JavaLineProfiler.instrument_function by 26% in PR #1543 (fix/java/line-profiler) by @codeflash-ai[bot] in #1659
  • feat: implement line-level profiling agent with ASM instrumentation by @HeshamHM28 in #1543
  • feat: direct JVM execution for behavioral and line-profile tests by @mashraf-222 in #1654
  • fix: resolve Java test paths with .java extension in PR results by @HeshamHM28 in #1674
  • fix runtime calculation for java by @misrasaurabh1 in #1698
  • fix: guard Java replacement against wrong-method-name candidates and anonymous-class method hoisting by @misrasaurabh1 in #1704
  • fix(java): replace modified constructors when LLM adds new final fields by @misrasaurabh1 in #1727
  • feat(java): skip inner-class methods in discovery; revert replacement-level workarounds by @misrasaurabh1 in #1726
  • fix(java): resolve SQLite 'database is locked' errors across the pipeline by @misrasaurabh1 in #1728
  • fix(java): Windows guard for process-group kill + remove slow timeout tests by @misrasaurabh1 in #1731
  • fix(java): exclude apidocs and javadoc from file discovery by @misrasaurabh1 in #1732
  • scaffold java support by @KRRT7 in #1733
  • fix: resolve Maven test execution blockers for open-source Java repos by @mashraf-222 in #1663
  • fix: reject vacuous equivalence and deserialization error false matches in Java comparator by @mashraf-222 in #1651
  • feat: port main improvements into omni-java by @KRRT7 in #1751
  • fix: suppress Error Prone CheckReturnValue in instrumented tests and fix stale pom dependency by @mashraf-222 in #1740
  • ⚡️ Speed up function add_runtime_comments by 112% by @codeflash-ai[bot] in #1762
  • ⚡️ Speed up function _generate_sqlite_write_code by 87% by @codeflash-ai[bot] in #1760
  • feat: add language version support across multiple language implement… by @HeshamHM28 in #1680
  • fix: port main fixes and resolve omni-java merge conflicts by @KRRT7 in #1759
  • fix how tests looks like when PR is created by @misrasaurabh1 in #1746
  • ⚡️ Speed up function parse_args by 38% in PR #1789 (fix-dependabot-vulns) by @codeflash-ai[bot] in #1790
  • ⚡️ Speed up function prompt_api_key by 22% in PR #1789 (fix-dependabot-vulns) by @codeflash-ai[bot] in #1793
  • ⚡️ Speed up function get_suggestions by 17% in PR #1789 (fix-dependabot-vulns) by @codeflash-ai[bot] in #1794
  • fix: attempt to fix failing CI on codeflash optimization PRs before closing by @KRRT7 in #1811
  • fix: upgrade dependencies to resolve Dependabot security alerts by @KRRT7 in #1789
  • fix: detect functions in deletion-only git diffs by @aseembits93 in #1813
  • fix: relativize worktree paths in subagent optimization output by @aseembits93 in #1802
  • feat: subagent mode applies optimized code directly for native diff by @aseembits93 in #1812
  • feat: Java infrastructure — version centralization, pom.xml safety, JaCoCo bundling, Maven Central prep by @mashraf-222 in #1775
  • fix: use runtime Jest config for test files outside project root by @mohammedahmed18 in #1808
  • chore: add docstring to banner helper by @misrasaurabh1 in #1661
  • Feat/maven central publishing setup by @mashraf-222 in #1816
  • feat: resolve codeflash-runtime from Maven Central by @mashraf-222 in #1817
  • fix: complete Java init flow (enum, detection, config) by @mashraf-222 in #1818
  • ⚡️ Speed up method OptimizeRequest.to_payload by 33% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1825
  • ⚡️ Speed up method TestGenRequest.to_payload by 20% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1826
  • fix: include codeflash.toml in config resolution depth comparison by @mashraf-222 in #1829
  • ⚡️ Speed up function _prompt_custom_directory by 363% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1827
  • fix: resolve mypy errors and None concatenation bug in JavaSupport by @claude[bot] in #1830
  • codeflash-omni-java by @misrasaurabh1 in #1199
  • fix: restore version to 0.20.2 after omni-java merge by @mashraf-222 in #1832
  • update claude.md by @misrasaurabh1 in #1835
  • refactor: remove optimized-code tag from subagent XML output by @aseembits93 in #1842
  • chore: release v0.20.3 by @aseembits93 in #1844

New Contributors

Full Changelog: v0.20.2...v0.20.3