Tags give the ability to mark specific points in history as being important
-
v8.7.28
6e802427 · ·Workflow updates (#179) * feat: update workflow to create testflight on PR * chore: update version * fix: xcode cloud errors * chore: workflow to use the latest version instead of main
-
v8.7.27
098d75ae · ·Public api yolo concurrency (#175) * Fix Swift 6 concurrency warnings in parallel processing code - Add @unchecked Sendable wrappers for UnsafeMutablePointer in ObbDetector - Use thread-safe ResultsWrapper in Segmenter (already had FloatPointerWrapper) - Add CollectionsWrapper and PointerWrapper in PoseEstimater - Maintain performance by keeping DispatchQueue.concurrentPerform - Each thread writes to unique indices, ensuring thread safety This addresses issue #96 where Xcode 16.1 (Swift 6) reports errors about capturing non-sendable types in @Sendable closures. * Fix Swift 6 compilation errors - Fix Array initialization in Plot.swift by ensuring proper Float type casting - Fix variable scope issue in Segmenter.swift by using local collectedResults variable - These changes resolve the "Missing argument for parameter 'capacity'" and "Use of local variable before declaration" errors in CI The build now succeeds with only minor warnings remaining. * Auto-format by https://ultralytics.com/actions * Add threshold configuration methods to YOLO and YOLOView classes - Add setNumItemsThreshold, setConfidenceThreshold, setIouThreshold methods - Add getter methods for current threshold values - Add setThresholds method for batch configuration - Update README.md with threshold configuration documentation - Resolves issue #149: Enable programmatic threshold configuration * Auto-format by https://ultralytics.com/actions * Fix Swift 6 strict concurrency compliance and CI build errors - Fix ResultsWrapper initialization in Segmenter.swift - Add @Sendable to all completion handlers - Fix actor isolation issues in YOLOView with Task blocks - Make YOLO class @unchecked Sendable - Capture values safely in async blocks Builds successfully in both Swift 5 (CI) and Swift 6 strict mode * Change YOLOSingleImageSwiftUI default model to nano * Fix Swift 6 concurrency errors with self capture in async blocks - Add [weak self] capture lists to all DispatchQueue.async blocks - Fix VideoCapture.swift start() and stop() methods - Fix VideoCapture extension methods on() for ResultsListener - Fix YOLOView.swift onInferenceTime() and segment mask handling - Resolves 'Reference to captured var self in concurrently-executing code' errors These changes ensure proper memory management and prevent retain cycles in concurrent code, making the code Swift 6 strict concurrency compliant. * Fix remaining Swift 6 concurrency errors in async blocks - Add [weak self] to cameraQueue.async in VideoCapture setUp() - Add [weak self] to Task block in YOLOView photoOutput() - Properly handle self capture in nonisolated context - Ensures all async blocks properly manage memory and avoid retain cycles Resolves remaining 'Reference to captured var self in concurrently-executing code' errors * Add @Sendable annotations to all completion handler closures - Add @Sendable to all create method completion closures in YOLO.swift - Add @Sendable to all create method completion closures in YOLOView.swift - Ensures Swift 6 strict concurrency compliance for all async callbacks - Resolves 'Reference to captured var self in concurrently-executing code' errors All closures passed to async methods must be marked @Sendable for Swift 6 * Fix nested async block self capture in Segmenter - Add [weak self] to nested DispatchQueue.main.async block in Segmenter.swift - Fixes 'Reference to captured var self in concurrently-executing code' warning - Ensures proper memory management in nested async blocks This completes Swift 6 strict concurrency compliance for the entire codebase * Fix typo in Segmenter.swift - procceessedMasks to processedMasks - Fix variable name spelling: procceessedMasks (3 e's) -> processedMasks (2 e's) - Resolves 'Use of unresolved identifier' compile error - This was causing CI to fail with exit code 65 The typo was introduced when adding [weak self] to the nested async block * Auto-format by https://ultralytics.com/actions * Update format.yml Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Update format.yml Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Refactor YOLO.swift to simplify predictor creation code - Simplified loadModel method by using a single handleResult closure - Fixed type signature to use BasePredictor instead of Predictor protocol - Reduced code duplication in task-specific predictor creation - Maintained full functionality while improving code readability * Simplify threshold configuration code - Simplified getter methods to single-line returns in YOLOView - Used range containment check (0.0...1.0).contains() for validation - Maintained all functionality while reducing code verbosity * Auto-format by https://ultralytics.com/actions * Auto-format by https://ultralytics.com/actions * Fix ObjectDetector for loops to use results.count instead of hardcoded limit - Changed 'for i in 0..<100' to 'for i in 0..<min(results.count, self.numItemsThreshold)' - Removed unnecessary nested conditions since min() handles the comparison - More efficient loop that only iterates over actual results - Addresses code review feedback from @emresa37 * Auto-format by https://ultralytics.com/actions * Fix CI test errors in fix-swift6-concurrency branch - Fix missing loadModel method in YOLO.swift by inlining the logic - Change Package.swift to use .copy instead of .process for test resources to avoid conflicts with multiple .mlpackage files All tests now pass successfully. * Auto-format by https://ultralytics.com/actions * Revert "Auto-format by https://ultralytics.com/actions" This reverts commit 49156c62441049edbc5cb1579559729326dd3b68. * Auto-format by https://ultralytics.com/actions * Revert Package.swift changes to match main branch The .copy vs .process change is not the root cause of CI failures. * Fix Swift 6 concurrency CI issues by adjusting @Sendable usage - Keep @unchecked Sendable on YOLO class for Swift 6 compliance - Remove excessive @Sendable annotations from closure parameters - This reduces binary metadata complexity that causes llvm-cov issues - All tests pass locally while maintaining Swift 6 concurrency safety The issue was that too many @Sendable annotations in nested closures caused the test binary to have incompatible architecture metadata for llvm-cov coverage extraction. * Auto-format by https://ultralytics.com/actions * Swift 6 strict concurrency compliance - Add @unchecked Sendable to YOLO class for thread safety - Fix weak self captures in async closures - Update completion handlers for proper concurrency This ensures the package passes Swift 6 strict concurrency checks while maintaining existing functionality and performance. * Remove unnecessary comments in YOLOCamera example Address review feedback by removing placeholder comments in onAppear block * UI improvements for ViewController and storyboard - Update Main.storyboard layout configuration - Enhance ViewController UI handling * Reorder UI controls in portrait mode - Move numItemsThreshold label and slider above confidence controls - Improve control layout hierarchy in YOLOView portrait orientation * Refactor model selection from table view to segmented control - Replace modelTableView with modelSegmentedControl for cleaner UI - Add ModelSelectionManager for centralized model management logic - Support dynamic custom model segment when custom models exist - Properly categorize standard YOLO models by size (nano/small/medium/large/xlarge) - Handle task-specific model suffixes (-seg, -pose, -obb, -cls) * Add visual indicator for model download status in segmented control Display gray text for undownloaded models and white for downloaded ones Update segment appearance dynamically based on model cache status * Update download icon to box with down arrow * Add separate Custom button for custom model selection Replace Custom segment in segmented control with dedicated button below Button appears only when custom models are available for the task Button highlights when custom model is selected Prevents segmented control overflow on smaller screens * update download progress label * Fix external display integration with segmented control UI - Update download icon removal for cached models in segmented control - Fix initial model loading on app startup - Correct external display status label text and positioning - Resolve property access issues between main and extension files - Ensure external display auto-detection on startup * Auto-format by https://ultralytics.com/actions * feat: responsive font for yolo models * chore: update version * Auto-format by https://ultralytics.com/actions * feat: make internal methods public * Auto-format by https://ultralytics.com/actions * refactor: improve code readability and error handling - Split IBOutlet declarations into separate lines for better readability - Add static regex pattern with improved error handling for model size extraction - Cache regex compilation for better performance * Auto-format by https://ultralytics.com/actions * chore: update gitignore * chore: merge concurrency fixes * chore: merge threshold configurations * chore: merge ui improvements * chore: update UI in landscape model * Auto-format by https://ultralytics.com/actions * chore: update version * feat: remove custom model feature * Auto-format by https://ultralytics.com/actions * chore: remove unnecessary files * chore: update read me to remove threshold config * chore: remove debug print logs * chore: remove comments * UI small improvements clean (#176) * Capitalise yolo models (#173) * feat: responsive font for yolo models * chore: update version * Auto-format by https://ultralytics.com/actions --------- Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * Fix custom model button visibility on external display Only show custom model button when custom models exist in the bundle, matching the behavior when external display is disconnected. --------- Co-authored-by: Abrish <55057228+asabri97@users.noreply.github.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com> * chore: update version * chore: update bundle version --------- Signed-off-by: Daisuke Majima <rockyshikoku@gmail.com> Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: john-rocky <rockyshikoku@gmail.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
-
v8.7.13
Release: v8.7.13 - Unified publish action (#150)62706d3c · ·Unified publish action (#150) * Unified publish action * Update publish.yml Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> * Unified publish action * Unified publish action --------- Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
-
v8.3.0
Release: v8.3.0 - Add YOLO11 CoreML Models (#71)3f8f3412 · ·Create tag.yml (#71) Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
-