- Drop support for Python 3.8. - Bump minimum dependencies to `numpy>=2.0` and `numba>=0.60`. - Replace legacy NumPy polynomial functions (polyder, polyadd, etc.) with the modern `numpy.polynomial.Polynomial` class for stable calculus and arithmetic operations. - Remove `_strip_leading_zeros` as the modern API handles degree alignment and zero-trimming natively. - Retain highest-to-lowest `self.coefficients` array to maintain compatibility with Numba and CUDA GPU kernels evaluating via Horner's method. - Fix `TypeError` in `quadratic_solve` by evaluating `b.real >= 0` to safely support complex coefficients. - Update `quadratic_solve` return type hint to `np.ndarray`.