Skip to content

Releases: EMI-Group/evox

v1.3.0

06 Nov 13:16

Choose a tag to compare

🔖 Release Note: v1.3.0

Feature

  • Workflow now accepts a list of opt_direction.

Fixes

  • Several fixes about indexing and other bugs by @sses7757 in #242
  • Fix win installer by @ZaberKo in #243
  • reconstruct cec2022, fix and add funcs of basic.py by @XU-Boqing in #240
  • use_state when there are multiple additional arguments

Full Changelog: v1.2.2...v1.3.0

v1.2.2 Release Note

03 Jun 05:19

Choose a tag to compare

🔖 Release Note: v1.2.2

This is a minor release focused solely on bug fixes:

  • Removed unused imports to improve code cleanliness.
  • Fixed unintended behavior in certain Differential Evolution (DE) algorithms where step was being called within init_step.
  • Various fixes in the documentation.

Full Changelog: [v1.2.1...v1.2.2](v1.2.1...v1.2.2)

Release note v1.2.1

13 May 05:07

Choose a tag to compare

🔖 Release Note: v1.2.1

This is a minor release focused on improving stability and addressing bugs, with a few quality-of-life enhancements.

✨ New Features

  • New Benchmark Functions: Added single-objective numerical functions: Ellipsoid and Griewank.

🐛 Bug Fixes

  • Fixed an issue where StdWorkflow failed to work with algorithms that inherit from other algorithms.
  • Corrected a bug in latin_hypercube_sampling_standard function.
  • Resolved an issue with non_dominate failing under torch.compile.
  • Corrected a problem where PSO did not use the default device properly in certain cases.

🧹 Refactoring & Maintenance

  • Re-exported commonly used utilities to the top level for convenience, for example:
    • evox.compile instead of evox.core.compile
    • evox.vmap instead of evox.core.vmap.
  • Removed deprecated or redundant code.

Full Changelog: v1.2.0...v1.2.1

v1.2.0

23 Apr 08:07

Choose a tag to compare

🎉 EvoX v1.2.0 Release! 🎉

We’re excited to announce the release of EvoX v1.2.0, packed with new features, improvements, and important bug fixes! This update enhances the framework's flexibility and performance across key modules.

🔧 Highlights:

  • 🚀 Added final_step() and updated hpo_wrapper and std_workflow for smoother execution workflows.
  • 🤖 Introduced the Mujoco Playground – a new environment for reinforcement learning experiments.
  • 📘 Released a brand-new tutorial to help users get up to speed quickly.
  • 🔌 Added new EvoX extension functions, enabling better integration with sister projects like EvoMO.
  • 🐞 Various bug fixes and documentation updates for better stability and clarity.

Related pull requests

🔗 Full Changelog: v1.1.2 → v1.2.0

v1.1.2

31 Mar 08:01

Choose a tag to compare

What's Changed

  • Update README with usage notes and parameter adjustments by @JiangTao97 in #225
  • Some vmap and HPO-related features and bug fixes by @sses7757 in #226
  • Some documentation fixes @JiangTao97 in #227 and #228
  • Some fixes about benchmark code by @sses7757 in #229
  • Initial distributed workflow support has landed!

Full Changelog: v1.1.1...v1.1.2

v1.1.1

16 Mar 06:44

Choose a tag to compare

What's Changed

This minor release primarily includes bug fixes and improvements:

  • Fixed an issue where torch.compile did not properly capture workflow.step.
  • Fixed an issue where use_state leads to a graph break.
  • Fixed some incorrect model buffer usage.
  • Fixed an issue where monitor.plot was not functioning as intended in certain situation.
  • Introduced a new wrapper, evox.compile, to work around certain limitations with torch.compile and torch.vmap.
  • Resolved various BatchedTensor-related issues:
    • Fixed a bug where vmapping a workflow with EvalMonitor could cause BatchedTensor leaks.
    • Fixed an issue preventing HPOProblem from working with BraxProblem.
  • Enhanced the implementations of RVEA and CSO for better performance and reliability.
  • Enhanced the implementation of BraxProblem.
  • Various small fixes and improvements.

Related Pull requests

Full Changelog: v1.1.0...v1.1.1

v1.1.0

01 Mar 11:29

Choose a tag to compare

Major Changes

Dynamo Integration 🚀

We have transitioned to torch.compile as our compiler backend, replacing TorchScript. This update simplifies the compilation workflow, making it more user-friendly while maintaining high performance and efficiency.

Why Move to torch.compile?

Previously, EvoX used tracing to obtain the computation graph—JAX tracing in pre-1.0.0 and TorchScript in v1.0.0. However, tracing modes were difficult for users, lacked compatibility with many Python functions (especially non-PyTorch functions), and required manual intervention to handle dynamic workflow. While tracing was fast and produced a full computation graph, its limitations made it less flexible and hard to use.

With torch.compile, EvoX can now provide a smoother and robust compilation process:

Ease of Use – No need for explicit scripting or tracing; simply use torch.compile(workflow.step), and your code gets optimized automatically.
Better Performance – The torch.compile backend is actively maintained and optimized, delivering better performance than previous tracing methods, and works on more hardware backends.
Full Python Compatibility – Works directly with Python code and non-PyTorch functions, eliminating compatibility issues.
Future-Proof – Aligns with PyTorch’s long-term strategy, making torch.compile the recommended approach for graph capture.

This transition enhances usability while ensuring compatibility with PyTorch's evolving ecosystem.

What's Changed

Full Changelog: v1.0.1...v1.1.0

v1.0.1

20 Jan 07:47

Choose a tag to compare

Minor release, bug fixes.

What's Changed

  • update win-install.bat by @ZaberKo in #204
  • fix(DE, ODE, JaDE): implement true random selection for base vectors by @starquakee in #205
  • Fixed an array out of bounds bug in SHADE when pop_size>100 by @starquakee in #206

Full Changelog: v1.0.0...v1.0.1

v1.0.0a1

14 Jan 09:35

Choose a tag to compare

v1.0.0a1 Pre-release
Pre-release

Released EvoX 1.0.0a1 🎉 — EvoX 🤝 PyTorch for full compatibility! For users seeking the previous JAX-based version, please refer to the v0.9.0 branch.

What's Changed

New Contributors

Full Changelog: v0.9.0...v1.0.0a1

v0.9.0

04 Nov 16:30
v0.9.0

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.8.1...v0.9.0