Skip to content

Releases: IntelLabs/IDEAS

Robust parsing and Dockerfile

04 Mar 16:26
2f10509

Choose a tag to compare

🎉 Major Updates

  • Significantly improved C AST and Cmake parsing to handle more corner cases
  • Added a Dockerfile for reproducible, isolated execution of C-to-Rust translation, in anticipation of AI agents
  • Used cargo features to enable conditional compilation of wrappers in translation crate
  • Reworked ideas.init to be modular (with two sub-modules), in anticipation of AI agents

🎈 Minor Updates

  • Significant clean-up and deprecation of several modules: ideas.cover, ideas.logging

2026.1.1

04 Feb 02:12
db992cf

Choose a tag to compare

🎉 Major Updates

  • Added Python ideas.cmake module containing Python implementation of C build system instrumentation.
  • Re-introduced ideas.ast_rust module for Rust abstract syntax tree (AST) parsing in Python.
  • Added AST-based feedback to ideas.wrapper regarding deviations from the prescribed Rust template.

🎈 Minor Updates

  • Upgraded dspy to 3.1.2.
  • Added automated functionality for extracting and renaming all static global variables in C code, to avoid possible name conflict UB in complex projects.
  • Correct usage of dspy.Code field annotations by creating persistent classes.
  • Upgraded secondary dependencies.
  • Attempting to build consolidated C code from ideas.init and error out if unsuccessful.

2026.1

17 Jan 01:33
5209422

Choose a tag to compare

🎉 Major Updates

  • Added ideas.learn.translate GEPA-based automated prompt optimization module. By default, this performs teacher-student learning in two steps:
    • First, a translation dataset is generated using a powerful model, e.g. gpt-5.1.
    • Then, a prompt is optimized for a weaker model, e.g. gpt-5-mini using only the valid (building) translations from the teacher and a powerful GEPA reflection model
    • The metric function includes feedback for building and test correctness.
    • Launch the whole process in a single command using your own OPENROUTER_API_KEY and with:
make -f LEARNING.mk learn/translate
  • Added support for git-based version control of the translation repo, in step with iterative AI translation and wrapper generation attempts.

🎈 Minor Updates

  • Upgraded clang toolset to clang-21.
  • Upgraded to Python 3.14. Don't forget to update your local uv installation!
  • Significant code clean-up.

2025.11.1

06 Dec 05:26
538e27a

Choose a tag to compare

🎈 Minor Updates

  • Resolve source priority paths in ideas.init.
  • Changed default model temperature to 0.0.
  • Removed slow AST C parsing functionality.
  • Add all past translated symbols to the current symbol in ideas.translate_recurrent
  • Enable unsafe Rust compilation errors in ideas.translate_recurrent
  • Clean-up ideas.utils

🚧 Fixes

  • Fix a bug related to enum constant not being captured as standalone symbols
  • Fix ideas.wrapper prompt to correctly reference the final on-disk location

2025.11

01 Dec 21:28
b56cf28

Choose a tag to compare

🎉 Major Updates

  • ideas.init module for robust C project discovery (including linked libraries) and idiomatic use of cargo workspace for the translated Rust project. C artifacts are now translated to self-contained Rust crates in the same workspace.
  • ideas.translate_recurrent module for symbol-by-symbol C-to-Rust translation using LLMs. The module is powerful enough to work across multi-artifact C projects and topologically sort symbols, assuming no name collisions or circular references exist.
  • ideas.wrapper module for LLM-based C FFI wrapper generation for Rust functions. The module uses dspy.ChainOfThought with custom feedback and bindgen signatures derived from the original C function to improve C ABI compatibility of the translated Rust functions.

🎈 Minor Updates

  • Expanded Rust AST parsing functionality and added an ensure_no_mangle flag to ideas.cover to deterministically guarantee that translated functions get exported with the correct #[unsafe(no_mangle)] attribute.
  • Resolve source priority paths in ideas.init.
  • Changed default model temperature to 0.0.
  • Removed slow AST C parsing functionality.