1.4.0

roboflow/rf-detr1.4.0Jan 22, 2026by SkalskiP

AI Summary

A major feature release introducing new large model sizes, support for YOLO format datasets, and dropping Python 3.9 support.

Key Highlights

  • Dropped support for Python 3.9, requiring Python 3.10 or newer.
  • Added new pre-trained checkpoints: Object Detection (L, XL, 2XL) and Instance Segmentation (N, S, M, L, XL, 2XL).
  • Enabled training on datasets in YOLO format.
  • Simplified project dependencies by removing several packages from `pyproject.toml`.
  • Fixed precision, recall, and F1 computation during confidence sweeps.

Breaking Changes

  • Dropped support for Python 3.9

New Features

  • New pre-trained checkpoints (L, XL, 2XL for detection; N, S, M, L, XL, 2XL for segmentation).
  • Support for training on YOLO format datasets.

Full Release Notes

# Changelog

> [!WARNING]
> Starting with version `1.4.0`, RF-DETR drops support for Python `3.9`. If your environment still relies on Python `3.9`, stay on RF-DETR `1.3.x` or upgrade your Python runtime to `3.10` or newer.

## 🚀 Added

- New pre-trained checkpoints. Object detection includes new L, XL, and 2XL checkpoints. Instance segmentation includes N, S, M, L, XL, and 2XL checkpoints. ([#539](https://github.com/roboflow/rf-detr/pull/539))

    <img alt="rf_detr_1-4_latency_accuracy_object_detection" src="https://storage.googleapis.com/com-roboflow-marketing/rf-detr/rf_detr_1-4_latency_accuracy_object_detection.png" />
    
    <img alt="rf_detr_1-4_latency_accuracy_instance_segmentation" src="https://storage.googleapis.com/com-roboflow-marketing/rf-detr/rf_detr_1-4_latency_accuracy_instance_segmentation.png" />
    
    ```python
    import requests
    import supervision as sv
    from PIL import Image
    from rfdetr import RFDETRSegMedium
    from rfdetr.util.coco_classes import COCO_CLASSES
    
    model = RFDETRSegMedium()
    
    image = Image.open(requests.get('https://media.roboflow.com/dog.jpg', stream=True).raw)
    detections = model.predict(image, threshold=0.5)
    
    labels = [
        f"{COCO_CLASSES[class_id]}"
        for class_id
        in detections.class_id
    ]
    
    annotated_image = sv.MaskAnnotator().annotate(image, detections)
    annotated_image = sv.LabelAnnotator().annotate(annotated_image, detections, labels)
    ```

    https://github.com/user-attachments/assets/add23fd1-266f-4538-8809-d7dd5767e8e6

- Support for training object detection and instance segmentation models using datasets in YOLO format. ([#569](https://github.com/roboflow/rf-detr/pull/569))

## 🌱 Changed

- Simplified project dependencies by removing `cython`, `fairscale`, `timm`, `accelerate`, `ninja`, `einops`, `pandas`, `pylabel`, and `open_clip_torch` from `pyproject.toml`. This reduces the dependency footprint and makes RF-DETR easier to install alongside other Python packages. ([#571](https://github.com/roboflow/rf-detr/pull/571))

## 🔧 Fixed

- Fixed precision, recall, and F1 computation during confidence sweeps. This resolves an issue where recall values were identical across classes and aligns per-class and class-averaged metrics with expected COCO-style behavior. ([#545](https://github.com/roboflow/rf-detr/pull/545))

# 🏆 Contributors

@isaacrob ([Isaac Robinson](https://www.linkedin.com/in/robinsonish/)), @probicheaux ([Peter Robicheaux](https://www.linkedin.com/in/peter-robicheaux-01958813b/)), @Matvezy ([Matvei Popov](https://www.linkedin.com/in/matvezy/)), @mkaic ([Kai Christensen](https://www.linkedin.com/in/mkaic/)), @anujonthemove ([Anuj Khandelwal](https://www.linkedin.com/in/anujonthemove/)), @brunopicinin ([Bruno Cardoso](https://www.linkedin.com/in/brunopicinin/)), @capjamesg ([James Gallagher](https://www.linkedin.com/in/jg12927/)), @Borda ([Jirka Borovec](https://www.linkedin.com/in/jirka-borovec/)), @SkalskiP ([Piotr Skalski](https://www.linkedin.com/in/skalskip92/))