Version History
[2.2.0] - 2026-04-10
- added public
BSpline.integratedSplineState(...)andBSpline.integralMatrixForDataPoints(...)antiderivative utilities for coefficient-state and interpolation-operator workflows - refactored
BSpline.cumsum(...)and tensor-spline integration to reuse the public coefficient-state utility instead of constructing temporary per-slice splines
[2.1.0] - 2026-04-09
- updated internal distribution construction call sites to the
Distributions2.0 named-argument API - raised the package dependency floor to
Distributions ^2.0 - refactored
TensorSpline,InterpolatingSpline, andConstrainedSplineso their public constructors are cheap canonical state constructors, while expensive scientific setup moved into explicit factories such asfromKnotPoints(...)andfromGriddedValues(...) - added
ConstrainedSpline.fromData(...)as the preferred one-dimensional fitting factory, while keepingConstrainedSpline.fromGriddedValues(...)as the general rectilinear-grid path - refactored
TrajectorySplineto the same constructor/factory persistence model, withTrajectorySpline(options)now serving as the canonical solved-state constructor andTrajectorySpline.fromData(...)replacing the old positional sample-fitting constructor - added the public read-only axis vocabulary
knotAxesandgridAxes, backed by the newSplineAxisobject used for canonical solved-state and persistence paths - added annotated NetCDF persistence coverage for the spline and constraint classes, including restart paths that preserve solved state without rerunning constrained fitting
- updated examples, README usage, and unit tests to the new constructor and factory model, including dedicated spline persistence regression tests
[2.0.0] - 2026-03-25
- breaking API cleanup across the core spline classes: public APIs now use spline degree
SandknotPoints, low-levelBSplineandTensorSplineconstructors are name-value based, and evaluation is standardized around function-call syntax for values plusvalueAtPoints(..., D=...)for derivatives - added tensor-product spline support through
TensorSpline, including tensor basis construction, tensor-grid evaluation, and tensor transforms such as differentiation, integration, nonlinear power refits, and roots in 1-D - added noisy-data and constrained fitting through
ConstrainedSpline, including robust iteratively reweighted least squares, optional correlated-error weighting, local point constraints, global shape constraints, smoothing-matrix analysis, and rectilinear-grid fitting in one or more dimensions - added dedicated constraint classes
SplineConstraint,PointConstraint, andGlobalConstraint, including mask-based point-constraint helpers and monotonicity/positivity constraints - modernized the implementation with tighter property/state access, more argument validation, simplified constructor behavior, and method organization moved into per-file class methods
- expanded unit-test coverage by splitting tests by class and adding coverage for tensor splines, constrained fits, and constraint objects
- substantially expanded the documentation and website, including generated class reference pages, a class-selection guide, MATLAB comparisons, and tutorial/example coverage for interpolation, basis construction, robust fitting, local constraints, global constraints, and mask-constrained tensor fits
[1.0.1] - 2026-01-16
-
- adding support for out-of-order spline evaluation