         }
     }
 
+    private func updateTrackViewCornerRounding() {
+        trackView.layer.cornerRadius = hasRoundTrackEnds ? trackWidth / 2 : 1
+    }
+
     // MARK: - Overrides
 
     override open func tintColorDidChange() {


    private func setup() {
        trackView.backgroundColor = actualTintColor
        trackView.layer.cornerRadius = 1
        slideView.layoutMargins = .zero
        setupOrientation()


            let widthAttribute: NSLayoutAttribute = orientation == .vertical ? .width : .height
            trackView.removeFirstConstraintWhere { $0.firstAttribute == widthAttribute }
            trackView.constrain(widthAttribute, to: trackWidth)
            updateTrackViewCornerRounding()
        }
    }
    @IBInspectable @objc public var hasRoundTrackEnds: Bool = false {
        didSet {
            updateTrackViewCornerRounding()
        }
    }

    open var valueLabelFormatter: NumberFormatter = {
        let formatter = NumberFormatter()
        formatter.maximumFractionDigits = 2
