{"url":"https://api.github.com/repos/ultralytics/ultralytics/releases/293560497","assets_url":"https://api.github.com/repos/ultralytics/ultralytics/releases/293560497/assets","upload_url":"https://uploads.github.com/repos/ultralytics/ultralytics/releases/293560497/assets{?name,label}","html_url":"https://github.com/ultralytics/ultralytics/releases/tag/v8.4.21","id":293560497,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"node_id":"RE_kwDOH-jzvc4Rf2Cx","tag_name":"v8.4.21","target_commitish":"main","name":"v8.4.21 - `ultralytics 8.4.21` Fix Rockchip RKNN export path (#23806)","draft":false,"immutable":false,"prerelease":false,"created_at":"2026-03-05T15:35:22Z","updated_at":"2026-03-05T15:37:43Z","published_at":"2026-03-05T15:35:56Z","assets":[{"url":"https://api.github.com/repos/ultralytics/ultralytics/releases/assets/367616590","id":367616590,"node_id":"RA_kwDOH-jzvc4V6WJO","name":"sbom.spdx.json","label":"","uploader":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","user_view_type":"public","site_admin":false},"content_type":"application/json","state":"uploaded","size":759804,"digest":"sha256:b3d5e2384249904449cf547e3812e4f9b21d48bbb0d967b1eb17829294e15069","download_count":15,"created_at":"2026-03-05T15:37:43Z","updated_at":"2026-03-05T15:37:43Z","browser_download_url":"https://github.com/ultralytics/ultralytics/releases/download/v8.4.21/sbom.spdx.json"}],"tarball_url":"https://api.github.com/repos/ultralytics/ultralytics/tarball/v8.4.21","zipball_url":"https://api.github.com/repos/ultralytics/ultralytics/zipball/v8.4.21","body":"## 🌟 Summary\nUltralytics **v8.4.21** improves reliability for **Rockchip RKNN exports** (main change) and also adds better tuning isolation, expanded C++ pose example support, and clearer YOLO26 optimizer guidance. 🚀\n\n## 📊 Key Changes\n- **✅ Main priority (PR #23806 by @Laughing-q): RKNN export path fix**\n  - RKNN filename generation was refactored to use safer path handling (`Path(...).stem`) instead of fragile string replacement.\n  - Export output naming is now cleaner and more consistent, especially for unusual file names/paths.\n  - Version bumped from **8.4.20 → 8.4.21**.\n\n- **🧪 Ray Tune reliability improvement (PR #23793 by @Y-T-G)**\n  - Each hyperparameter trial now resets trainer state (`trainer = None`) before running.\n  - Prevents stale state leakage between trials.\n\n- **🧍 ONNXRuntime C++ example gains pose support for YOLOv8-family pose models (PR #23786 by @chendao12138)**\n  - Adds pose tensor parsing, keypoint decoding/scaling, NMS for pose results, and visualization.\n  - Supports FP32 and FP16 in the example pipeline.\n  - Note: YOLO26 is not yet supported in this specific C++ example flow.\n\n- **📘 YOLO26 training docs improved around MuSGD (PRs #23800, #23804 by @deriiinjv and @monkeyjack123)**\n  - Clearer explanation of when MuSGD is used with `optimizer=auto`.\n  - Better practical guidance on when to try MuSGD vs standard options.\n\n## 🎯 Purpose & Impact\n- **For deployment users on Rockchip** 📦  \n  RKNN exports should now fail less often due to naming/path edge cases, making deployment workflows more dependable.\n\n- **For ML engineers tuning models** 🔁  \n  Ray Tune trials are more isolated and reproducible, reducing hard-to-debug inconsistencies.\n\n- **For C++/edge developers** ⚙️  \n  Easier starting point for pose inference in ONNXRuntime C++ projects using YOLOv8-style pose models.\n\n- **For YOLO26 trainers** 🧠  \n  Optimizer behavior is easier to understand, helping users make better training choices faster.\n\n## What's Changed\n* Reset trainer before each trial with Ray Tune by @Y-T-G in https://github.com/ultralytics/ultralytics/pull/23793\n* Add YOLOv8 pose estimation support to ONNXRuntime C++ example by @chendao12138 in https://github.com/ultralytics/ultralytics/pull/23786\n* Docs: Add explanation for when MuSGD optimizer is used  by @deriiinjv in https://github.com/ultralytics/ultralytics/pull/23800\n* docs: clarify MuSGD usage in training optimizer guide by @monkeyjack123 in https://github.com/ultralytics/ultralytics/pull/23804\n* `ultralytics 8.4.21` Fix Rockchip RKNN export path by @Laughing-q in https://github.com/ultralytics/ultralytics/pull/23806\n\n## New Contributors\n* @deriiinjv made their first contribution in https://github.com/ultralytics/ultralytics/pull/23800\n* @chendao12138 made their first contribution in https://github.com/ultralytics/ultralytics/pull/23786\n* @monkeyjack123 made their first contribution in https://github.com/ultralytics/ultralytics/pull/23804\n\n**Full Changelog**: https://github.com/ultralytics/ultralytics/compare/v8.4.20...v8.4.21\n","reactions":{"url":"https://api.github.com/repos/ultralytics/ultralytics/releases/293560497/reactions","total_count":2,"+1":0,"-1":0,"laugh":0,"hooray":2,"confused":0,"heart":0,"rocket":0,"eyes":0},"mentions_count":5}