# Release 0.8.384

!!!tip inline end "Need Help?"
    The SuperCowPowers team is happy to give any assistance needed when setting up AWS and Workbench. So please contact us at [workbench@supercowpowers.com](mailto:workbench@supercowpowers.com) or on chat us up on [Discord](https://discord.gg/WHAJuz8sw8)

This release upgrades the **3D descriptor energy model**, expands **plugin / ml_pipeline script** support, adds **model promotion** primitives, and lands a batch of endpoint, performance, and robustness improvements. The headline is the move to quantum-grade conformer energies for the 3D feature endpoint.

## GFN2-xTB Conformer Energy Ranking

The `smiles-to-3d-v1` endpoint now ranks conformers with **GFN2-xTB** semi-empirical quantum energies (via the `tblite` library) instead of MMFF94s force-field energies. MMFF94s rankings are known to be poor for flexible and polar molecules — we measured near-zero rank correlation against GFN2-xTB on common drug-like compounds — which biased the Boltzmann-weighted averages toward the wrong conformers. Geometry is still MMFF94s-optimized; only the **energies that set the Boltzmann weights** now come from xTB, which improves all 74 ensemble-averaged 3D features at once.

* **Transparent fallback.** If `tblite` is unavailable or a molecule fails to converge, the pipeline falls back to MMFF94s/UFF. The new `desc3d_energy_method` diagnostic column records which model actually produced the weights (`GFN2-xTB`, `MMFF94s`, or `UFF`) so a fallback is never silent.
* **Full endpoint only.** xTB adds ~0.1–0.5 s per conformer; it runs on the async full endpoint where the per-molecule budget accommodates it.

Full write-up: [3D Molecular Descriptors](../blogs/3d_descriptors.md).

## Plugin & ML-Pipeline Scripts

* **`workbench:` and `plugin:` script resolution** for ml_pipeline scripts — pipelines can reference scripts shipped with Workbench or supplied by a plugin, with path resolution validated before AWS submission.
* **`schemas` support on scripts**, plus an expanded plugin example to demonstrate the pattern.

## Model Promotion

* **`Model.copy()`** copies a model to a new name (with a corrected return type), the building block for promotion workflows.
* Example pipelines now include **model-promotion script/logic**, moving promotion toward a first-class pipeline step.

## Endpoints & Pipelines

* **Endpoint outputs in pipeline DAGs** — `pipeline_meta` is now generic enough to model endpoint outputs as downstream nodes; `MetaEndpoint` auto-imports.
* **Async progress heartbeat** for long-running async inference, so liveness is visible during multi-minute jobs.
* **Realtime endpoint scaling** added, with notes toward a future scale-out policy.
* **Cross-pipeline dependency groups** — `depends_on` relationships can now span pipelines, and `select()` takes a `downstream=` arg to pull in downstream nodes.

## Performance

* **Device-responsive inference & SHAP** — more work runs on GPU when available.
* **Cached featurized MolGraphs** for chemprop, plus training/inference timing reports to diagnose slow runs.

## Robustness

* **`@aws_throttle` decorators** on describe-style calls and a more robust SageMaker config (additional retries, larger connection pool) to ride out API throttling.
* **`ModelError` with a timeout message** on the back-off path, and `ServiceUnavailable` added to caught exceptions.
* **Orphaned-artifact tooling** — a script to find orphaned artifacts and prune pipelines with missing sources.

## Questions?
<img align="right" src="../../images/scp.png" width="180">

The SuperCowPowers team is happy to answer any questions you may have about AWS and Workbench. Please contact us at [workbench@supercowpowers.com](mailto:workbench@supercowpowers.com) or on chat us up on [Discord](https://discord.gg/WHAJuz8sw8)
