Release v0.20.3
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_moduleby 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_instrumentationby 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_dirby 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_contentby 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_replacementby 14% in PR #1443 (fix/java-exception-assignment-instrumentation) by @codeflash-ai[bot] in #1445 - ⚡️ Speed up method
JavaAssertTransformer._detect_variable_assignmentby 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_contextby 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_executableby 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_callby 1,947% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1597 - ⚡️ Speed up method
JavaAssertTransformer._find_balanced_parensby 35% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1602 - ⚡️ Speed up function
wrap_target_calls_with_treesitterby 61% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1601 - ⚡️ Speed up method
JavaLineProfiler._find_executable_linesby 77% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1591 - ⚡️ Speed up function
_infer_array_cast_typeby 81% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1590 - ⚡️ Speed up function
_should_include_methodby 22% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1587 - ⚡️ Speed up function
_extract_type_names_from_codeby 44,595% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1583 - ⚡️ Speed up function
_find_java_executableby 64% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1579 - ⚡️ Speed up function
_extract_type_names_from_codeby 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_functionsby 7,426% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1626 - ⚡️ Speed up function
_extract_test_method_nameby 83% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1627 - ⚡️ Speed up method
JavaAssertTransformer._find_balanced_parensby 41% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1629 - ⚡️ Speed up method
JavaAssertTransformer._find_balanced_bracesby 326% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1630 - ⚡️ Speed up method
JavaSupport.add_global_declarationsby 16% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1632 - ⚡️ Speed up function
check_formatter_installedby 22% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1622 - ⚡️ Speed up function
get_java_formatter_cmdby 217% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1621 - ⚡️ Speed up function
transform_java_assertionsby 72% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1603 - ⚡️ Speed up method
PrComment.to_jsonby 28% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1624 - ⚡️ Speed up function
_ensure_languages_registeredby 383% in PR #1543 (fix/java/line-profiler) by @codeflash-ai[bot] in #1635 - ⚡️ Speed up function
show_text_non_pythonby 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_functionby 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_commentsby 112% by @codeflash-ai[bot] in #1762 - ⚡️ Speed up function
_generate_sqlite_write_codeby 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_argsby 38% in PR #1789 (fix-dependabot-vulns) by @codeflash-ai[bot] in #1790 - ⚡️ Speed up function
prompt_api_keyby 22% in PR #1789 (fix-dependabot-vulns) by @codeflash-ai[bot] in #1793 - ⚡️ Speed up function
get_suggestionsby 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_payloadby 33% in PR #1199 (omni-java) by @codeflash-ai[bot] in #1825 - ⚡️ Speed up method
TestGenRequest.to_payloadby 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_directoryby 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