Skip to content

Releases: haddocking/haddock-runner

v3.0.0

20 Apr 12:56
b0855e2

Choose a tag to compare

haddock-runner v3.0.0

Major Changes

Complete Rewrite in Rust 🦀

This release represents a complete rewrite of haddock-runner from Go to Rust, bringing significant improvements in performance, safety, and maintainability.

Technical Changes

Architecture

  • Language: Migrated from Go to Rust
  • Error Handling: Using Rust's anyhow::Result pattern throughout
  • Configuration: Using serde for YAML parsing with proper deserialization
  • Modular Design: Clear separation of concerns with dedicated modules

Job Management

  • Job Restart Logic: Added automatic detection and handling of incomplete jobs
  • Status Tracking: Enhanced job status monitoring with Done, Incomplete, and Unknown states
  • Automatic Cleanup: Incomplete jobs are automatically cleaned and re-setup

Configuration Format

The new YAML format supports:

general:
  max_concurrent: 100
  ncores: 1
  execution: slurm  # or local
  mol_suffixes: [_r_u, _l_u, _x_u]
  input_list: path/to/input_list.txt # relative paths now available
  work_dir: path/to/work_dir

scenarios:
  - name: scenario-name
    workflow:
      topoaa:
        autohis: true
      rigidbody:
        sampling: 10
        ambig_fname: _ti.tbl
      # ... additional workflow steps

Command Line Interface

  • --setup flag for setup-only mode
  • --debug flag for verbose logging

Build System

  • Cargo-based build with optimized release profiles
  • Rust 1.92+ required
  • Cross-platform compilation support

Migration Notes

Breaking Changes

  1. Configuration Format: Completely new YAML structure
  2. Binary Name: Now haddock-runner (was same in Go version)
  3. Input Validation: More strict validation of paths and configurations
  4. Shape File Handling: Removed shape_suffix configuration option - shape files must now be specified in mol_suffixes

Compatibility

  • Supports only HADDOCK3.0 workflows
  • Maintains same core functionality as Go version
  • Improved error messages and logging

Performance Improvements

  • Faster job creation and setup
  • More efficient file handling
  • Better memory management
  • Optimized concurrent execution

Development Changes

  • Comprehensive test suite
  • Better documentation with doc comments
  • Type-safe development
  • Modern Rust toolchain integration

v2.0.1

22 Oct 13:50
87d64b1

Choose a tag to compare

What's Changed

Full Changelog: v2.0.0...v2.0.1

v2.0.0

30 Sep 13:32
6d19e23

Choose a tag to compare

What's Changed

  • add error message for empty parameters by @rvhonorato in #162
  • check if modules in the order field are defined as modules and vice-versa by @rvhonorato in #163

💥breaking changes 💥
empty definitions now need to have an object:

-        emref:
+        emref: {}

Full Changelog: v1.13.2...v2.0.0

v1.13.2

22 Sep 08:35
90d5ac1

Choose a tag to compare

What's Changed

Full Changelog: v1.13.1...v1.13.2

v1.13.1

09 Sep 13:15
6ab43cf

Choose a tag to compare

What's Changed

-- Quick bugfix by changing how early the code checks if the benchmark folder is present or not

Full Changelog: v1.13.0...v1.13.1

v1.13.0

09 Sep 10:36
fc3d515

Choose a tag to compare

What's Changed

Full Changelog: v1.12.3...v1.13.0

v1.12.3

18 Jun 08:12
4bf6b79

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.12.2...v1.12.3

v1.12.2

13 Mar 11:13
4523fa6

Choose a tag to compare

What's Changed

Full Changelog: v1.12.1...v1.12.2

v1.12.1

31 Jan 10:00
218174a

Choose a tag to compare

What's Changed

Full Changelog: v1.12.0...v1.12.1

v1.12.0

16 Dec 11:34
8e6ccea

Choose a tag to compare

What's Changed

Full Changelog: v1.11.0...v1.12.0