# New Release: Ultralytics v8.4.117

**URL:** <https://community.ultralytics.com/t/new-release-ultralytics-v8-4-117/2156>\
**Category:** Discussion\
**Tags:** releases, announcements, ultralytics-official\
**Created:** [August 10, 2026, 1:30pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-117/2156 "2026-08-10T13:30:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![glenn-jocher](https://sea1.discourse-cdn.com/flex001/user_avatar/community.ultralytics.com/glenn-jocher/32/83_2.png) [@glenn-jocher](https://community.ultralytics.com/u/glenn-jocher)\
**Post date:** [August 10, 2026, 1:30pm UTC](https://community.ultralytics.com/t/new-release-ultralytics-v8-4-117/2156/1 "2026-08-10T13:30:57Z")

</div>

# 🚀 Ultralytics v8.4.117: Safer Augmentations, Faster YOLO26, and More Reliable Deployment

Ultralytics **v8.4.117** is now available! 🎉

This release improves augmentation correctness, model reliability, deployment security, depth estimation, and documentation across **Ultralytics YOLO** and YOLO26. Highlights include type-aware Albumentations routing, safer dependency installation, faster YOLO26 end-to-end postprocessing, stronger dataset validation, and more consistent inference across backends.

Explore the [v8.4.117 GitHub release](https://github.com/ultralytics/ultralytics/releases/tag/v8.4.117) for the complete release details.

## 🌟 New Features and Major Improvements

### 🧩 Type-Aware Albumentations

Spatial Albumentations are now detected recursively by type instead of relying on a fragile transform-name list. Wrapped transforms such as `OneOf` can correctly update annotations, while bounding boxes, polygons, masks, depth maps, and keypoints remain aligned.

The update also improves background-only augmentation, `flip_idx` handling, zero-probability behavior, and detection of unsupported topology-changing transforms. This work was contributed by [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25633) in [PR #25633](https://github.com/ultralytics/ultralytics/pull/25633).

### 🔐 Safer Dependency Installation

`check_requirements()` now prevents untrusted requirement strings from being interpreted as shell commands, protecting workflows that automatically install dependencies while loading model files. Thanks to [@Zenka737](https://github.com/ultralytics/ultralytics/pull/25720) for [PR #25720](https://github.com/ultralytics/ultralytics/pull/25720).

### ⚡ Faster YOLO26 End-to-End Inference

YOLO26 end-to-end postprocessing now uses grouped top-k selection, reducing TensorRT FP16 latency by approximately **1.8% to 8.1%** without changing mAP. Thanks to [@artest08](https://github.com/ultralytics/ultralytics/pull/25666) for [PR #25666](https://github.com/ultralytics/ultralytics/pull/25666).

YOLO26 HEF export also received Hailo quantization updates through [@nivosco](https://github.com/ultralytics/ultralytics/pull/25687) in [PR #25687](https://github.com/ultralytics/ultralytics/pull/25687), followed by removal of the brittle model-specific recipe by [@glenn-jocher](https://github.com/ultralytics/ultralytics/pull/25728) in [PR #25728](https://github.com/ultralytics/ultralytics/pull/25728).

### 🧠 Better Depth Estimation

Depth workflows receive several important correctness and reproducibility improvements:

- PyTorch, Hailo, and exported-model outputs are aligned before padding is removed, contributed by [@JESUSROYETH](https://github.com/ultralytics/ultralytics/pull/25628) in [PR #25628](https://github.com/ultralytics/ultralytics/pull/25628).
- Depth validation no longer inherits incompatible `rect=True` behavior, fixed by [@JESUSROYETH](https://github.com/ultralytics/ultralytics/pull/25646) in [PR #25646](https://github.com/ultralytics/ultralytics/pull/25646).
- The KITTI configuration now uses the canonical 652-frame left-camera evaluation split, correcting train/test overlap through [@JESUSROYETH](https://github.com/ultralytics/ultralytics/pull/25650) in [PR #25650](https://github.com/ultralytics/ultralytics/pull/25650).
- Depth metrics are averaged per image instead of pooling all valid pixels, implemented by [@JESUSROYETH](https://github.com/ultralytics/ultralytics/pull/25648) in [PR #25648](https://github.com/ultralytics/ultralytics/pull/25648).
- `DepthLoss26` gradient pyramids are now gated per image, contributed by [@JESUSROYETH](https://github.com/ultralytics/ultralytics/pull/25637) in [PR #25637](https://github.com/ultralytics/ultralytics/pull/25637).
- The Depth Anything V2 speed table is now reusable through a documentation macro, added by [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25715) in [PR #25715](https://github.com/ultralytics/ultralytics/pull/25715).

### 🎯 Expanded Training and Model Support

Pose training now accepts dataset-defined `kpt_oks_sigmas`, with validation against the model keypoint count. Thanks to [@cosmo-gb](https://github.com/ultralytics/ultralytics/pull/25656) for [PR #25656](https://github.com/ultralytics/ultralytics/pull/25656).

YOLOE class validation and prompt-free vocabulary workflows are more robust following work by [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25691) in [PR #25691](https://github.com/ultralytics/ultralytics/pull/25691).

Predictors now report unsupported options, refresh after training to use new weights and class names, and register tracker callbacks only once per model. These changes were contributed by [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25688) in [PR #25688](https://github.com/ultralytics/ultralytics/pull/25688).

## 🛡 Reliability and Bug Fixes

- Windows semantic masks remain two-dimensional, preventing Mosaic failures during semantic training. Thanks to [@Y-T-G](https://github.com/ultralytics/ultralytics/pull/25721) for [PR #25721](https://github.com/ultralytics/ultralytics/pull/25721).
- COCO conversion writes one label format per file, handles unusable polygons more safely, and clarifies classification dataset inputs. Thanks to [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25672) for [PR #25672](https://github.com/ultralytics/ultralytics/pull/25672).
- Grounding dataset scanning, caching, validation, and reporting are more reliable following [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25678) in [PR #25678](https://github.com/ultralytics/ultralytics/pull/25678).
- OBB empty inputs are handled safely, long-edge canonicalization is documented, and degenerate contours are skipped during export through [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25655) in [PR #25655](https://github.com/ultralytics/ultralytics/pull/25655).
- GMC tracking now tolerates textureless frames and incomplete feature matches, allowing recovery instead of stopping. Thanks to [@Nikhi00718](https://github.com/ultralytics/ultralytics/pull/25709) for [PR #25709](https://github.com/ultralytics/ultralytics/pull/25709).
- Continuous-stream solution state no longer grows without bounds, fixed by [@JESUSROYETH](https://github.com/ultralytics/ultralytics/pull/25729) in [PR #25729](https://github.com/ultralytics/ultralytics/pull/25729).
- SAM3 video masks now use the configured model logit threshold consistently, contributed by [@JESUSROYETH](https://github.com/ultralytics/ultralytics/pull/25643) in [PR #25643](https://github.com/ultralytics/ultralytics/pull/25643).
- SavedModel INT8 calibration avoids an unnecessary NumPy copy thanks to [@amanharshx](https://github.com/ultralytics/ultralytics/pull/25639) in [PR #25639](https://github.com/ultralytics/ultralytics/pull/25639).
- RT-DETR FLOPs profiling is faster and correctly supports attention-based decoder architectures following [@Daniiiil1](https://github.com/ultralytics/ultralytics/pull/25652) in [PR #25652](https://github.com/ultralytics/ultralytics/pull/25652).

## 📚 Documentation and Platform Updates

Export documentation now covers more options, including `conf`, `iou`, and `max_det`, through [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25675) in [PR #25675](https://github.com/ultralytics/ultralytics/pull/25675).

Additional export and prediction arguments, including classification data directory guidance, were documented by [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25690) in [PR #25690](https://github.com/ultralytics/ultralytics/pull/25690). Classification inputs were also named consistently across calibration, benchmark, and tuner tables through [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25698) in [PR #25698](https://github.com/ultralytics/ultralytics/pull/25698).

Other documentation improvements include:

- Clarifying the predictor `data` attribute through [@raimbekovm](https://github.com/ultralytics/ultralytics/pull/25692) in [PR #25692](https://github.com/ultralytics/ultralytics/pull/25692).
- Clarifying validation confusion-matrix confidence thresholds through [@Rahulbiradar9](https://github.com/ultralytics/ultralytics/pull/25677) in [PR #25677](https://github.com/ultralytics/ultralytics/pull/25677) and [@Parth1353](https://github.com/ultralytics/ultralytics/pull/25722) in [PR #25722](https://github.com/ultralytics/ultralytics/pull/25722).
- Adding a YAML2ModelGraph integration guide through [@Rahulbiradar9](https://github.com/ultralytics/ultralytics/pull/25726) in [PR #25726](https://github.com/ultralytics/ultralytics/pull/25726).
- Updating Rust inference documentation to `ultralytics-inference` version `0.0.33` through [@onuralpszr](https://github.com/ultralytics/ultralytics/pull/25712) in [PR #25712](https://github.com/ultralytics/ultralytics/pull/25712).
- Moving documentation FAQs to page ends through [@glenn-jocher](https://github.com/ultralytics/ultralytics/pull/25730) in [PR #25730](https://github.com/ultralytics/ultralytics/pull/25730).
- Updating task-page titles and lead copy to use “Ultralytics YOLO” through [@miles-deans-ultralytics](https://github.com/ultralytics/ultralytics/pull/25705) in [PR #25705](https://github.com/ultralytics/ultralytics/pull/25705).
- Restricting documentation publishing to `main` through [@glenn-jocher](https://github.com/ultralytics/ultralytics/pull/25713) in [PR #25713](https://github.com/ultralytics/ultralytics/pull/25713).
- Updating self-hosted runner cleanup from `v1.4.35` to `v1.4.36` through [@UltralyticsAssistant](https://github.com/ultralytics/ultralytics/pull/25711) in [PR #25711](https://github.com/ultralytics/ultralytics/pull/25711).

## 👋 Welcome, New Contributors!

A warm welcome to the community members making their first contribution:

- [@Parth1353](https://github.com/ultralytics/ultralytics/pull/25722) with [PR #25722](https://github.com/ultralytics/ultralytics/pull/25722)
- [@Nikhi00718](https://github.com/ultralytics/ultralytics/pull/25709) with [PR #25709](https://github.com/ultralytics/ultralytics/pull/25709)
- [@nivosco](https://github.com/ultralytics/ultralytics/pull/25687) with [PR #25687](https://github.com/ultralytics/ultralytics/pull/25687)
- [@Daniiiil1](https://github.com/ultralytics/ultralytics/pull/25652) with [PR #25652](https://github.com/ultralytics/ultralytics/pull/25652)

Thank you to every contributor helping make Ultralytics YOLO faster, safer, and more reliable! 🙌

## 📦 Try v8.4.117

Upgrade to the latest release:

```bash
pip install -U ultralytics

```

Please try **v8.4.117** with your training, validation, export, tracking, and deployment workflows. Share your results and feedback with the community, especially if you use custom Albumentations pipelines, depth estimation, semantic masks, or YOLO26 TensorRT exports.

For every merged change, review the [full v8.4.116 to v8.4.117 changelog](https://github.com/ultralytics/ultralytics/compare/v8.4.116...v8.4.117). 🚀
