版本发布 8
## DiffEqBase DiffEqBase-v7.13.1 [Diff since DiffEqBase-v7.6.0](https://github.com/SciML/OrdinaryDiffEq.jl/compare/DiffEqBase-v7.6.0...DiffEqBase-v7.13.1) **Merged pull requests:** - Fix GPU compat of sparse dae solvers (#3073) (@hexaeder) - Add ES-DG optimized 3S* low-storage RK methods (Al Jahdali et al. 2022) (#3241) (@singhharsh1708) - Fix SROCK2 NoiseWrapper and non-square noise (#3188, #3170) (#3468) (@singhharsh1708) - Fold RK46NL into the generic LowStorageRK2N dispatch (#3683) (@singhharsh1708) - DiffEqBase: AutoDePSpecialize — de-specialize p via OpaqueParams, opt-in + precompiled (#3692) (@ChrisRackauckas-Claude) - Optimizations to Discontinuity Detection Scheme (#3720) (@Shreyas-Ekanathan) - Support better logging for singular cases in integration (#3731) (@Shreyas-Ekanathan) - Make rand_prototype dense for a sparse noise_rate_prototype (#3763) (@singhharsh1708) - NonlinearSolveAlg: pipe wrapprecs into inner alg and update weight per step (#3795) (@singhharsh1708) - NLNewton OOP: handle AbstractSciMLOperator W instead of erroring (#3796) (@singhharsh1708) - Multirate: add solve-decoupled implicit MRI-GARK-ESDIRK34a (order 3) (#961) (#3812) (@singhharsh1708) - NonlinearSolveAlg: pull nsolve from inner NonlinearSolve stats (#3816) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: reuse stored J on dt-only W updates (do_newJW parity) (#3820) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: apply smooth_est error smoothing under W-reuse (fixes silent isnewton gating) (#3823) (@ChrisRackauckas-Claude) - OOP build_J_W: route MatrixOperator mass matrix through WOperator (#3824) (@singhharsh1708) - QA: fix StochasticDiffEqImplicit JET + StochasticDiffEqLeaping Aqua ambiguity (#3825) (@ChrisRackauckas-Claude) - OrdinaryDiffEqCore: route dense interpolation interval search through FindFirstFunctions (#3826) (@ChrisRackauckas-Claude) - SDIRK: add ESDIRK3(2)5L[2]SA (Kennedy-Carpenter 2019, order 3) (#3827) (@singhharsh1708) - Bump SciMLBase compat floor 3.10 -> 3.30 across sublibraries (#3828) (@singhharsh1708) - Add public API package split regression tests (#3831) (@ChrisRackauckas) - Document public developer APIs (#3832) (@ChrisRackauckas-Claude) - Initialize sparse Jacobian caches with stored values (#3833) (@ChrisRackauckas-Claude) - Fix sublibrary CI regressions (#3834) (@ChrisRackauckas-Claude) - Add solver-level limiter kwargs (#3835) (@ChrisRackauckas-Claude) - `get_differential_vars`: accept `IdentityOperator` and `ScalarOperator` mass matrices (#3837) (@singhharsh1708) - Bump OrdinaryDiffEqDifferentiation to 3.2.3 (#3838) (@ChrisRackauckas-Claude) - Fix downgrade resolver floors after ODEDiff release (#3840) (@ChrisRackauckas-Claude) - Bump OrdinaryDiffEq sublibrary versions to next minor (#3842) (@ChrisRackauckas) - Run Runic after ODEDiff downgrade cleanup (#3843) (@ChrisRackauckas-Claude) - Constrain downgrade metadata after compat floor updates (#3844) (@ChrisRackauckas-Claude) - Fix strip_cache constructorof via ConstructionBase (#3846) (@ChrisRackauckas-Claude) - Fix sublibrary CI regressions on master (#3848) (@ChrisRackauckas-Claude) - Use SciMLTesting.activate_group_env for AD/Downstream/ODEInterface LTS (#3849) (@ChrisRackauckas-Claude) - Extrapolation MT tests: import threading types from OrdinaryDiffEqCore (#3850) (@ChrisRackauckas-Claude) - LowOrderRK: fold Ralston a₃ into 3*a₂ for JET (#3851) (@ChrisRackauckas-Claude) - Differentiation: sparse-GPU path for dae_jacobian2W! (GPU CSR DAE) (#3853) (@ChrisRackauckas-Claude) - NonlinearSolve tests: stabilize nlstep MTK trajectory checks (#3856) (@ChrisRackauckas-Claude) - Document public API: add docstrings + docs entries (#3858) (@ChrisRackauckas-Claude) - Bump version to 7.1.2 (#3860) (@ChrisRackauckas) - Use targeted monorepo TagBot routing (#3866) (@ChrisRackauckas-Claude) - Update SciMLTesting QA docs coverage (#3867) (@ChrisRackauckas-Claude) - Raise OrdinaryDiffEqCore floor to 4.6 (find_algebraic_vars_eqs) (#3869) (@ChrisRackauckas-Claude) - Stop threading LinearSolve cache through solution return values (#3875) (@ChrisRackauckas-Claude) - Add HomotopyNonlinearSolveAlg: solve implicit stage equations by step-size homotopy continuation (#3876) (@ChrisRackauckas-Claude) - docs: add DiffEqBase to the docs environment (fixes master Documentation build) (#3877) (@ChrisRackauckas-Claude) - Honor ImplicitEuler first-stage predictor (combines #3870 + #3873, fixes out-of-place MaxOrder) (#3879) (@ChrisRackauckas-Claude) - Fix RKMilGeneral DimensionMismatch for diagonal vector noise (#3863) (#3880) (@ChrisRackauckas-Claude) - Fix out-of-place PL1WM and RS weak SDE solvers (#3864) (#3882) (@ChrisRackauckas-Claude) - Fix KomBurSROCK2 crashes and wrong math for non-diagonal noise (#3883) (@ChrisRackauckas-Claude) - LinearExponential: drive adaptive Krylov by `abstol`, not `opnorm(A)` (#3884) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: reuse the ODE WOperator matrix-free for Krylov linsolves (#3885) (@ChrisRackauckas-Claude) - Multirate: add implicit MRI-GARK-ESDIRK46a (order 4) (#961) (#3886) (@singhharsh1708) - LinearExponential: adopt ExponentialUtilities 1.33 matrix-free tolerance (#3887) (@ChrisRackauckas-Claude) - Release prep: batched patch bumps for 28 packages (QA/docstring/compat-only) (#3888) (@ChrisRackauckas) - Release prep: intermediate version 2.5.0 for OrdinaryDiffEqMultirate (registry gap fix) (#3890) (@ChrisRackauckas) - Release prep: OrdinaryDiffEqMultirate 2.6.0 (final target after registry gap-pullback) (#3891) (@ChrisRackauckas) - Release prep: bump past stuck General registrations for 20 sublibraries (#3892) (@ChrisRackauckas) - NSA: gate iter-1 convergence on inner solver retcode (#3817) (#3893) (@singhharsh1708) - Move OrdinaryDiffEq controller docs to definition points (#3894) (@ChrisRackauckas-Claude) - Fix sequential-version-skip in 20-package registration batch (#3895) (@ChrisRackauckas) - Flip now-passing NLStep convergence @test_broken to @test (#3896) (@ChrisRackauckas-Claude) - Test Enzyme on current stable Julia (#3898) (@ChrisRackauckas-Claude) - Fix set_all_nzval!/get_nzval for non-CSC sparse matrices (#3901) (@hexaeder) - Add OrdinaryDiffEqNewmark Documentation (#3903) (@Sreeram-Shankar) - Propagate downstream resolver failures (#3904) (@ChrisRackauckas-Claude) - Raise SciMLOperators downgrade floors to 1.24.3 (#3905) (@ChrisRackauckas-Claude) - Document DiffEqDevTools public API (#3906) (@ChrisRackauckas-Claude) - Restore isdiscretecache public API (#3907) (@ChrisRackauckas-Claude) - Fix strict Kantorovich step acceptance (#3908) (@ChrisRackauckas-Claude) - Use GROUP consistently for sublibrary tests (#3909) (@ChrisRackauckas-Claude) - Allow private solver hooks in ExplicitImports QA (#3912) (@ChrisRackauckas-Claude) - Fix migrated vector callback regression test (#3914) (@ChrisRackauckas-Claude) - Fix jacobian2W! DimensionMismatch for ScalarOperator mass matrix (#3915) (#3916) (@singhharsh1708) - Raise NonlinearSolveBase floor for operator Jacobians (#3917) (@ChrisRackauckas-Claude) - Stabilize the out-of-place tau-leaping mean test (#3919) (@ChrisRackauckas-Claude) - Fix reinit! crash on null-u0 integrators (uType Nothing) (#3921) (@ChrisRackauckas-Claude) - get_differential_vars: check Diagonal.diag, not the full matrix (#3923) (@singhharsh1708) - Bump OrdinaryDiffEqDifferentiation to v3.3.2 for release (#3924) (@ChrisRackauckas-Claude) - Add SparseConnectivityTracer test compat (#3927) (@ChrisRackauckas-Claude) - ExponentialRK: remove per-step allocations from EPIRK/Exp4/EXPRB53s3 steppers (#3928) (@ChrisRackauckas-Claude) - Move GlobalDiffEq.jl into the monorepo as lib/GlobalDiffEq (repo transfer) (#3929) (@ChrisRackauckas-Claude) - Drop SpecialFunctions 1 from StochasticDiffEqLevyArea (#3930) (@ChrisRackauckas-Claude) - Add Rodas3d: L-stable stiffly accurate Rosenbrock method for SICNM (NonlinearSolve.jl#330) (#3931) (@ChrisRackauckas-Claude) - do_newJW: refactorize W on the linear path when γdt drifts (fixes #3933) (#3934) (@ChrisRackauckas-Claude) - Fuse RosenbrockCache stage accumulation loops into single-sweep SIMD kernels (#3935) (@ChrisRackauckas-Claude) - Document public HybridExplicitImplicitRK (fixes Rosenbrock QA docstring failure on master) (#3938) (@ChrisRackauckas-Claude) - DiffEqDevTools: floor RootedTrees compat at 2.8 to fix LTS CI precompile failure (#3939) (@ChrisRackauckas-Claude) - Fix master QA failures: restore Differentiation public API, add missing docstrings (#3940) (@ChrisRackauckas-Claude) - Floor DiffEqDevTools RootedTrees compat at 2.8 to fix UndefVarError(RungeKuttaMethod) CI failures (#3941) (@ChrisRackauckas-Claude) - Fix build_J_W cache init for structured jac_prototypes (#3942) (@ChrisRackauckas-Claude) - Migrate community callback test off removed VectorContinuousCallback 4-arg form (#3943) (@ChrisRackauckas-Claude) - Unwrap operator mass matrices before findall in Differentiation (#3944) (@singhharsh1708) - Extrapolation: drop stale BaseThreads/Sequential imports (#3945) (@singhharsh1708) - Fix SERK2 in-place inner stage loop evaluating f at the wrong stage vector (#3947) (@ChrisRackauckas-Claude) - Fix RKL1/RKL2 stage times for non-autonomous problems (#3948) (@ChrisRackauckas-Claude) - Fix RKG1/RKG2 stage times for non-autonomous problems (#3949) (@ChrisRackauckas-Claude) - Rotate stage buffers instead of copying in ROCK2/ROCK4/RKC in-place loops (#3951) (@ChrisRackauckas-Claude) - Recompute the spectral radius every 25 steps by default in ROCK2/ROCK4/RKC (#3952) (@ChrisRackauckas-Claude) - Fix NonlinearSolveAlg crashing/stalling with polyalgorithm inner solvers (#3959) (@singhharsh1708) - Recompute non-lazy interpolation stages after a callback-truncated step (#3964) (@ChrisRackauckas-Claude) - Constrain TaylorSeries test OrderedCollections compat (#3965) (@ChrisRackauckas-Claude) - Precompile a mass matrix DAE in the OrdinaryDiffEqBDF workload (#3966) (@ChrisRackauckas-Claude) - Document StochasticDiffEqLevyArea public API (#3967) (@ChrisRackauckas-Claude) - Fix ImplicitDiscreteSolve API docs QA (#3969) (@ChrisRackauckas-Claude) - Document umbrella re-exported API (#3970) (@ChrisRackauckas-Claude) - Bump 4 OrdinaryDiffEq sublibraries for release (#3973) (@ChrisRackauckas-Claude) - Fix ExplicitTaylor fsallast aliasing to state buffer (#3975) (@singhharsh1708) - Align root test dependency floors (#3979) (@ChrisRackauckas-Claude) - Skip redundant sparse-Jacobian structure rebuild in calc_J! (#3980) (@ChrisRackauckas-Claude) - Align MuladdMacro downgrade floors with PureKLU (#3981) (@ChrisRackauckas-Claude) - Restore SciMLOperators 1.24.4 compatibility floor (#3983) (@ChrisRackauckas-Claude) - Reuse homotopy caches across implicit ODE stages (#3985) (@ChrisRackauckas-Claude) - Audit intentional OrdinaryDiffEq facade reexports (#3988) (@ChrisRackauckas-Claude) - Initialize HomotopyProblem init systems by continuation (default_nlsolve → nothing) (#3989) (@ChrisRackauckas-Claude) - Newton-Krylov integrators default to Hegedüs warm start (require LinearSolve 5.1) (#3991) (@ChrisRackauckas-Claude) - Add missing SciMLOperators [compat] to root project (fixes Downgrade CI) (#3992) (@ChrisRackauckas-Claude) - ExponentialRK: @views residual column-slice updates to remove per-step allocations (#3993) (@ChrisRackauckas-Claude) - Error on velocity-dependent RHS in velocity-independent RKN/Nyström methods (#3961) (#3994) (@ChrisRackauckas-Claude) - Fix DABDF2 adaptive error estimate on DAEs (Unstable regression, #3960) (#3995) (@ChrisRackauckas-Claude) - Preserve ArrayPartition wrapper in out-of-place stiff steps (#3962) (#3996) (@ChrisRackauckas-Claude) - Bump OrdinaryDiffEq subpackage versions (#3997) (@ChrisRackauckas-Claude) - Coerce initdt equality checks to scalar Bool (ODE#1402 / PyCall#900) (#3998) (@ChrisRackauckas-Claude) - Align ArrayInterface 7.28 and SciMLBase 3.37 floors for Downgrade CI (#3999) (@ChrisRackauckas-Claude) - Route OOP initdt NaN checks through DiffEqBase.NAN_CHECK (#1404) (#4000) (@ChrisRackauckas-Claude) - Fix DAE automatic initdt sign on reversed tspan (DE #908) (#4001) (@ChrisRackauckas-Claude) - Add DAE vector-abstol CheckInit regression test (#1214) (#4002) (@ChrisRackauckas-Claude) - Add has_stage_limiter trait: error on stage_limiter for unsupported methods (#4003) (@ChrisRackauckas-Claude) - Allow hom typos word for homotopy test names (#4004) (@ChrisRackauckas-Claude) - AutoDePSpecialize: de-specialize non-isbits parameters via OpaqueRef (#4005) (@ChrisRackauckas-Claude) - Fix DiffEqDevTools QA: package-local docs + residual_order_condition reexport (#4007) (@ChrisRackauckas-Claude) - Portable absolute URL for developer extension API links (DiffEqDocs #879) (#4008) (@ChrisRackauckas-Claude) - Raise Enzyme floor to 0.13.180 for AutoEnzyme Downgrade paths (#4009) (@ChrisRackauckas-Claude) - Bump SciMLBase compat floor to 3.39 (#4010) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: zero-fill the inner Jacobian buffer instead of leaving it undefined (#4011) (@ChrisRackauckas-Claude) - Close the unterminated @testset in ode_initdt_tests.jl (#4013) (@ChrisRackauckas-Claude) - Core: declare SparseArrays in [extras] so the test target survives weakdep promotion (#4014) (@ChrisRackauckas-Claude) - Render AutoDePSpecialize in a @docs block (#4015) (@ChrisRackauckas-Claude) - Drop the duplicate hom key from .typos.toml (#4016) (@ChrisRackauckas-Claude) - Add NordsieckBDF and DNordsieckBDF: Newton-based Nordsieck BDF solvers (#4017) (@ChrisRackauckas-Claude) - Configure the sublibrary QA lanes for monorepo docs and facade reexports (#4018) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: let the integrator decide convergence, and surface inner failures (#4020) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: stop paying for an inner termination check that cannot fire (#4021) (@ChrisRackauckas-Claude) - AMF: raise the SciMLOperators floor to 1.24.5 (#4022) (@ChrisRackauckas-Claude) - Reinitialize DAEs on mid-integration derivative_discontinuity (#3932) (#4024) (@niy-ati) - Make SplitODEProblem resize! regression test deterministic (#3972) (#4025) (@niy-ati) - NonlinearSolveAlg: apply the stale-W rescaling NLNewton already does (#4028) (@ChrisRackauckas-Claude) - Allow-list the residual owner-internal names in the sublibrary QA lanes (#4029) (@ChrisRackauckas-Claude) - Resolve the unapproved-public-reexport QA failures per name (#4031) (@ChrisRackauckas-Claude) - Resolve the OrdinaryDiffEqNonlinearSolve method ambiguities (#4032) (@ChrisRackauckas-Claude) - Write the missing docstrings for the SDE/exponential-RK public API (#4033) (@ChrisRackauckas-Claude) - Size RKMilGeneral's Lévy area truncation from MronRoe's error bound (#4038) (@ChrisRackauckas-Claude) - Wire embedding metadata through TKYY 6A-D and MikkawyEisa tableaus (#4039) (@niy-ati) - Default Newton-Krylov Auto warm starts to guarded Hegedüs (#4040) (@ChrisRackauckas-Claude) - Reuse nonlinear caches for ImplicitDiscreteSolve reinitialization (#4042) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: do not freeze the Jacobian when adaptive = false (#4043) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: report the work actually performed (#4045) (@ChrisRackauckas-Claude) - Add terminate! to exports in OrdinaryDiffEq.jl (#4048) (@TomRottier) - Share the SROCK tableau vectors instead of rebuilding them per cache (#4050) (@ChrisRackauckas-Claude) - Dev the local package in each GPU test environment (#4053) (@ChrisRackauckas-Claude) - Correct ImplicitDiscreteSolve NonlinearSolveBase compat (#4055) (@ChrisRackauckas-Claude) - Label ncondition as callback condition calls (#4058) (@ChrisRackauckas-Claude) - Import the SciMLOperators names from their owner, and require SciMLBase 3.40 (#4059) (@ChrisRackauckas-Claude) - Stop convergence studies retaining the trajectories they are not measuring (#4060) (@ChrisRackauckas-Claude) - Correct seven subpackage versions to the next sequential release (#4062) (@ChrisRackauckas-Claude) - Run Runic on the disco-optimizations files (#4064) (@ChrisRackauckas-Claude) - Restore SciMLBase 3.39 compatibility for owner imports (#4066) (@ChrisRackauckas-Claude) - Filter callable tstops at init like array tstops (#4067) (@niy-ati) - Initialize the DISCO checkpoint from the time value (#4069) (@ChrisRackauckas-Claude) - Test FunctionMap keyword compatibility (#4070) (@ChrisRackauckas-Claude) - Add discontinuity-controller state to DDE integrators (#4071) (@ChrisRackauckas-Claude) - Restore DelayDiffEq extension hooks as public API (#4073) (@ChrisRackauckas-Claude) - Keep OrdinaryDiffEqDefault precompile helpers local (#4074) (@ChrisRackauckas-Claude) - Keep callback controller resets opt-in (#4075) (@ChrisRackauckas-Claude) - Import MatrixOperator from SciMLOperators in integrator tests (#4076) (@ChrisRackauckas-Claude) - Align NLStep TRBDF2 parity test estimator (#4077) (@ChrisRackauckas-Claude) - Release DelayDiffEq 6.1.1 and OrdinaryDiffEqDefault 2.4.2 with correct OrdinaryDiffEqCore floors (#4078) (@ChrisRackauckas-Claude) - Raise OrdinaryDiffEqCore floor to 4.11 for the lorenz_pref precompile workloads (#4080) (@ChrisRackauckas-Claude) - Declare fix_dt_at_bounds!, handle_tstop!, initialize_tstops, initialize_saveat, initialize_d_discontinuities public (#4081) (@ChrisRackauckas) - Update FlexUnits dependency in DiffEqBase/Project.toml (#4083) (@Deduction42) - Correct dependency floors blocking the pending base and solver releases (#4084) (@ChrisRackauckas-Claude) - Floor OrdinaryDiffEqDifferentiation at 3.3 (#4085) (@ChrisRackauckas) - Don't skip pending versions in the 3.3 floor bump (#4087) (@ChrisRackauckas) - Release OrdinaryDiffEq 7.2.1 and StochasticDiffEq 7.1.3 (#4088) (@ChrisRackauckas) - Release StochasticDiffEqCore 2.0.4 (#4090) (@ChrisRackauckas) - Rebase of #3902 onto master (TSRKC2/TSRKC3 stage time hoist) (#4091) (@ChrisRackauckas-Claude) - Fix get_du/get_du! reading the wrong derivative under CompositeAlgorithm (#4092) (@ChrisRackauckas-Claude) - Make DiffEqBase.NAN_CHECK public API (#4093) (@ChrisRackauckas-Claude) - Raise OrdinaryDiffEqBDF/Rosenbrock floors so the broken Differentiation 3.2.3 is unreachable (#4094) (@ChrisRackauckas-Claude) - Bridge SDE noise when a late tstop shortens dt (#4095) (@ChrisRackauckas-Claude) - Give the SRI weak-order study enough trajectories for its own tolerance (#4096) (@ChrisRackauckas-Claude) - Fix StochasticDiffEqWeak JET and API docs QA (#4098) (@ChrisRackauckas-Claude) - Require AllocCheck 0.2 in StochasticDiffEq tests (#4099) (@ChrisRackauckas-Claude) - Use the analytic event Jacobian as the AD test oracle (#4100) (@ChrisRackauckas-Claude) - Run dependabot on the lib/ subpackages (#4102) (@ChrisRackauckas-Claude) - Bump OrdinaryDiffEq in /test/gpu (#4103) (@dependabot[bot]) - Bump ArrayInterface in /test/gpu (#4104) (@dependabot[bot]) - Test that ABM methods restart their history after a callback discontinuity (#4105) (@ChrisRackauckas-Claude) - Restart CNAB2/CNLF2 after a derivative discontinuity (#4106) (@ChrisRackauckas-Claude) - Fix SERK2 stage times for non-autonomous problems (#4108) (@ChrisRackauckas-Claude) - Drop the stale trivial_limiter! import from OrdinaryDiffEqStabilizedRK (#4110) (@ChrisRackauckas-Claude) - Make failfactor_default and qmax_first_step_default public (#4111) (@ChrisRackauckas-Claude) - Fix Newmark crash with polyalgorithm nonlinear solvers (#4112) (@singhharsh1708) - Add MREIL extrapolated multirate linearly implicit Euler (#4115) (@singhharsh1708) - Stop ExplicitTaylorAdaptiveOrder from dropping Taylor coefficients (#4116) (@singhharsh1708) - Rebase #3920: GaussLegendre dense extrapolant and embedded error estimate (#4117) (@ChrisRackauckas-Claude) - Document OrdinaryDiffEqCore developer time-queue API (#4118) (@ChrisRackauckas-Claude) - Remove OrdinaryDiffEqCore blanket SciMLBase reexport (#4119) (@ChrisRackauckas-Claude) - Format OrdinaryDiffEqCore sources with Runic (#4120) (@ChrisRackauckas-Claude) - Bump 30 package versions for release (#4121) (@ChrisRackauckas-Claude) - Separate nonlinear solver user API (#4122) (@ChrisRackauckas-Claude) - Remove PRK blanket SciMLBase reexport (#4123) (@ChrisRackauckas-Claude) - Remove QPRK blanket SciMLBase reexport (#4124) (@ChrisRackauckas-Claude) - Remove FunctionMap blanket SciMLBase reexport (#4126) (@ChrisRackauckas-Claude) - Harden Default public API QA (#4128) (@ChrisRackauckas-Claude) - Bump DiffEqBase version (#4130) (@JamesWrigley) - Harden PDIRK public API QA (#4131) (@ChrisRackauckas-Claude) - Harden IMEX multistep public API QA (#4132) (@ChrisRackauckas-Claude) - Harden Feagin public API documentation (#4133) (@ChrisRackauckas-Claude) - Harden TaylorSeries public API documentation (#4134) (@ChrisRackauckas-Claude) - Harden Extrapolation public API documentation (#4135) (@ChrisRackauckas-Claude) - Document solver code-generation APIs (#4136) (@ChrisRackauckas-Claude) - Fix NonlinearSolveAlg crash with SimpleNonlinearSolve inner solvers (#4137) (@singhharsh1708) - Publish the nonlinear solver developer interface (#4141) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: let the residual veto a stalled inner step (#4142) (@ChrisRackauckas-Claude) - Fix clean-master solver package test regressions (#4144) (@ChrisRackauckas-Claude) - Count SDE EM/EulerHeun drift and diffusion evaluations in stats (#4146) (@niy-ati) - Restore the SciMLBase integrator-interface imports sublibraries extend (#4147) (@ChrisRackauckas-Claude) - Fix adaptive Newmark error estimation, GA remake, and oop aliasing (#4148) (@singhharsh1708) - Default NordsieckBDF corrector to max_iter=3 (CVODE MAXCOR) (#4150) (@ChrisRackauckas-Claude) - Sync package versions with the General registry (#4152) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: forward `precondition`/`postcondition` into the implicit stage solve (#4158) (@ChrisRackauckas-Claude) - Zero AdaptiveRadau's stage-value slots at initialization (#4160) (@ChrisRackauckas-Claude) - Fix docs build: unlink the unresolvable DummyControllerCache @ref (#4164) (@ChrisRackauckas-Claude) - Render DummyControllerCache so its @ref resolves (fixes the master docs build) (#4165) (@ChrisRackauckas-Claude) - Matrix-free Jacobians / Krylov linsolve for the Radau FIRK methods (#4166) (@ChrisRackauckas-Claude) - Access full_cache and AutoDePSpecialize from SciMLBase in OrdinaryDiffEqBDF (#4167) (@ChrisRackauckas-Claude) - Access full_cache, resize_non_user_cache!, AutoDePSpecialize and SciMLOperators from their owners (#4168) (@ChrisRackauckas-Claude) - Import DiscreteProblem from SciMLBase in the InterfaceII enum test (#4169) (@ChrisRackauckas-Claude) - Import SciMLOperators names explicitly in tests (SciMLBase 3.40 dropped the re-export) (#4170) (@ChrisRackauckas-Claude) - Keep AB3's history-slot updates allocation-free (fixes the local ABM GROUP=QA failure) (#4171) (@ChrisRackauckas-Claude) - Fix OrdinaryDiffEqSIMDRK precompilation: explicit SciMLBase imports (#4174) (@ChrisRackauckas-Claude) - Make the ABM Threaded group test the working tree (fixes its precompile failure) (#4176) (@ChrisRackauckas-Claude) - Test DDE discontinuity handling at tspan[1] (#4181) (@ChrisRackauckas-Claude) - Bump OrdinaryDiffEqSIMDRK to 2.1.2 so the #4174 import fix is releasable (#4183) (@ChrisRackauckas-Claude) - Default threaded implicit extrapolation to GenericLUFactorization instead of RFLUFactorization (#4184) (@ChrisRackauckas-Claude) - Make the v7 `verbose` migration path reachable from `using OrdinaryDiffEq` (#4189) (@ChrisRackauckas-Claude) - Apply the integrator tolerance to the Krylov linear solve (#4192) (@ChrisRackauckas-Claude) - Count Krylov Jacobian-vector products on the operator that performs them (#4193) (@ChrisRackauckas-Claude) - Stop rendering DummyControllerCache as public API (#4195) (@ChrisRackauckas-Claude) - Declare the threading options public so `OrdinaryDiffEq.PolyesterThreads()` resolves (#4196) (@ChrisRackauckas-Claude) - Treat `DiffEqBase.promote_f` as an opaque Mooncake primitive (#4201) (@AstitvaAggarwal) - Add Mooncake primitive rule for initialize_saveat (#4202) (@AstitvaAggarwal) **Closed issues:** - Implicit Runge-Kutta Nystrom Methods (#112) - IMEX Runge-Kutta Chevychev (#135) - Adaptive Krylov exponential integrators (EPIRK) (#243) - `Auto` methods seem to pick incorrect algorithm (#703) - (Parallel) PDIRK (#788) - Multirate Extrapolation (#884) - Solver fails if tspan is a dual number and saveat is a number (#1008) - DPRKNs diverge on an example (#1030) - Large error when using Vern7 and Rodas5 (#1060) - Lie Group Integrators (#1064) - Addition of DiffEqArrayOperators gives a MethodError (#1108) - DABDF2: Initialization fails if abstol is a vector (#1214) - DABDF2 error estimator is wrong (#1256) - ArrayPartition + Implicit + OOP Fails (#1263) - DEDataArrays not supported with some solvers? (#1271) - DynamicalODE with immutable state variables and callbacks failing (#1322) - MethodError when using Float32 numbers with ROS3P solver. (#1335) - error when using VectorOfArray with underlying StaticArray (#1365) - DPRKN6 gives substantially different answer on a second order ODE than Tsit5 (#1372) - Potential bug in `initdt.jl` (#1402) - recursive isnan (#1404) - New DIRK methods of Kennedy and Carpenter (#1448) - `DFBDF` fails for large DAE system (#1486) - [m1 apple aarch darwin] `solve` segfault in `ode_determine_initdt` (#1493) - DABDF2() crashes when callbacks are introduced (#1499) - Sporadic type instability with interpolations (#1502) - Error when using custom Wfact or Wfact_t in SplitODEProblem (#1510) - LinSolveCG not working due to mismatched kwarg in DiffEqBase/linear_nonlinear.jl (#1526) - ERROR: Integrator stepped past tstops but the algorithm was dtchangeable. Please report this error. (#1529) - New low-storage methods for hyperbolic PDEs, optimized for ES DG schemes DG (#2903) - [SDE] SROCK2 fails for non-square noise and NoiseWrapper (#3170) - [SDE] EM solver accepts incompatible tstop behind current time (#3175) - [SDE] Port SROCK2 NoiseWrapper fix from StochasticDiffEq.jl#507 (#3188) - RDPK3 family crashes on init: MVector{3, Float64}(::Bool, ::Bool, ::Bool) MethodError in PIDController (#3384) - Operator mass matrices: `IdentityOperator`/`ScalarOperator` fail at solve entry — fix in place or push toward native operator support? (#3814) - NonlinearSolveAlg(TrustRegion) + W-reuse: displacement-based ndz declares convergence on rejected TR steps → silently wrong solutions (#3817) - Memory use fluctuates wildly with sparse Jacobians due to dropzeros (#3830) - Precompile fails for OrdinaryDiffEqRosenbrock after latest update (#3841) - NonlinearSolveAlg: NonlinearSolve polyalg inner solvers crash (FieldError: PolyAlgorithmCache has no field u) (#3859) - KomBurSROCK2 (oop) crashes with DimensionMismatch for non-diagonal noise (#3862) - RKMilGeneral: DimensionMismatch for vector diagonal-noise problems when the coefficient-based iterated-integral path is taken (#3863) - Latent bugs in StochasticDiffEqWeak solvers (PL1WM non-diag MethodError, PL1WM oop/iip factor discrepancy, RS non-diag indexing/aliasing) (#3864) - OrdinaryDiffEqNonlinearSolve v2.1.0 removed bindings still imported by released sublibs (FIRK v2.3.2 UndefVarError: FastConvergence) (#3865) - Register OrdinaryDiffEqCore release containing constructorof owner fix (#3881) - Test Enzyme on all Julia versions (#3889) - NonlinearSolveAlg(TrustRegion) returns wrong results with Success retcode since #3885 (#3899) - ScalarOperator mass matrix crashes in jacobian2W! (DimensionMismatch) (#3915) - [DiffEqBase] FlexUnits 0.5.7 breaks Tsit5 downstream test after muladd overload removal (#3925) - DAE not reinitialized after derivative_discontinuity (#3932) - Silently wrong results: implicit solvers + SciMLOperator Jacobian (e.g. SplitODEProblem with MatrixOperator) + any concrete-A linsolve (#3933) - Dense-W stiff solves regressed up to 6.5x: RecursiveFactorization is no longer loaded by anything, so LinearSolve defaults to OpenBLAS getrf (#3936) - SERK2 converges at order 1 on non-autonomous problems (stage-time formula) (#3950) - DABDF2 appears broadly broken on DAEs: Unstable on a trivial linear index-1 problem that DFBDF/DImplicitEuler solve (#3960) - RKN/Nyström methods silently accept velocity-dependent RHS and return order-1 garbage (root cause of #1030 and #1372) (#3961) - Out-of-place stiff solvers drop the ArrayPartition wrapper in rosenbrock_perform_step.jl:481 (type Array has no field x) (#3962) - The returned interpolant is wrong inside a step truncated by a ContinuousCallback for certain algorithms (#3963) - Default AutoSpecialize forces ForwardDiff chunksize=1, costing ~4-5x on Rosenbrock solves with nontrivial RHS (#3968) - Flaky test: "resize! with SplitODEProblem" steps with uninitialized state (Integrators_II) (#3972) - ExplicitTaylorAdaptiveOrder: EEst==0.0 lets an oversized step through unrejected (silent wrong answer) (#3976) - Dependabot not running on lib/ (#3978) - NonlinearSolveAlg returns negative concentrations on ROBER with ReturnCode.Success (#4019) - Controller kwargs (gamma, qmin, qmax, beta1, beta2, qoldinit) are accepted by solve but silently ignored on v7 (#4027) - Hegedüs warm-start default (#3991) amplifies round-off ~1e13x on the Newton-Krylov path (GPU DAE test failure) (#4034) - NoncommutativeConvergence test group grows to >51 GiB with no plateau (#4036) - Weak convergence test groups retain millions of full solution objects (~11+ GiB peak) (#4037) - SROCK2/SROCKC2/TangXiaoSROCK2/KomBurSROCK2 allocate a fresh 36 kB constant tableau per solve (#4047) - Downstream SciMLSensitivity cannot resolve after LinearSolve 5.1 floor (#4052) - ImplicitDiscreteSolve pins NonlinearSolveBase 2.40, which is not registered — Pkg.test() fails to resolve monorepo-wide (#4054) - iip_weak.jl SRI weak-order assertion fails deterministically (was masked by an OOM 115 lines earlier) (#4061) - OrdinaryDiffEqTsit5 v2.1.1 does not work with OrdinaryDiffEqCore v4.10.0 (#4079) - SDE noise keeps the pre-clamp increment when fix_dt_at_bounds! raises dt to dtmin (#4097) - DelayDiffEq mass-matrix interface test fails on main (#4109) - NonlinearSolveAlg: the outer convergence test never inspects the residual, so a stalled inner step is accepted as a converged stage (#4125) - Implicit extrapolation methods override linsolve with RFLUFactorization whenever threading is enabled, making threading unusable (#4154) - FIRK solvers do not support matrix-free Jacobians / Krylov linsolve (#4156) - dolinsolve forwards reltol to solve!(linsolve) but KrylovJL drops it: every Krylov solve runs at sqrt(eps) (#4161) - v7 verbose error message points at DEVerbosity(), which is unreachable from `using OrdinaryDiffEq` and disagrees with NEWS.md (#4163) - AllocCheck allocation testsets disagree between CI (--check-bounds=auto) and local Pkg.test() (--check-bounds=yes) (#4172) - Registering OrdinaryDiffEqCore 4.14.0 will break registered OrdinaryDiffEqLowOrderRK 2.2.2 (u_cache/du_cache removed within compat range) (#4175) - OrdinaryDiffEqSDIRK's QA lane runs no QA tests (activate_qa_env with no includes) (#4177) - `initialize_d_discontinuities` does not filter out `t0`, stalling DDEs at the first propagated discontinuity (#4180) - GROUP=QA red on master: SciMLTesting 2.6.2 flags reexported :SciMLBase/:SciMLLogging as undocumented (#4194) - Default AutoForwardDiff resolves to chunk size 1 for MTK-default (function-wrapped) problems — nstates-fold Jacobian cost, regression vs v6 (#4205)
## OrdinaryDiffEqImplicitTableaus OrdinaryDiffEqImplicitTableaus-v2.1.0 [Diff since OrdinaryDiffEqImplicitTableaus-v2.0.2](https://github.com/SciML/OrdinaryDiffEq.jl/compare/OrdinaryDiffEqImplicitTableaus-v2.0.2...OrdinaryDiffEqImplicitTableaus-v2.1.0) **Merged pull requests:** - Fix GPU compat of sparse dae solvers (#3073) (@hexaeder) - Guard solve_up Enzyme reverse rule against runtime-activity aliased shadows (#3740) (@SebastianM-C) - Multirate: add explicit MRI-GARK family (ERK33a order 3 + ERK45a order 4), unified (#3747) (@singhharsh1708) - NonlinearSolveAlg: extend W-reuse to WOperator with concrete underlying Jacobian (#3753) (@singhharsh1708) - Fix extrapolation error-estimate denominator to use step endpoints (#3226) (#3756) (@singhharsh1708) - Stabilized methods optimizations (#3762) (@MoisaAndrew) - Fix derivative_discontinuity! breaking integrators without the new field (#3771) (@DaniGlez) - Release 3 subpackage(s) (#3773) (@ChrisRackauckas) - Raise OrdinaryDiffEqCore floor to 4.4 in disco/CommonControllerOptions importers (#3774) (@ChrisRackauckas-Claude) - QA: run_qa v1.6 form + ExplicitImports (root + sublibs) (#3777) (@ChrisRackauckas-Claude) - Fix BoundsError when interpolating ODESolution with empty continuous state (#3780) (@ChrisRackauckas-Claude) - Handle empty u0 (zero continuous states) in DefaultODEAlgorithm (fixes #3779) (#3781) (@ChrisRackauckas-Claude) - Release v7.1.1 (#3782) (@ChrisRackauckas) - Release 33 subpackage(s) (#3783) (@ChrisRackauckas) - Release 1 subpackage(s) (#3784) (@ChrisRackauckas) - lib/DiffEqBase: declare documented API public (unlock downstream ExplicitImports) (#3785) (@ChrisRackauckas-Claude) - Release 1 subpackage(s) (#3786) (@ChrisRackauckas) - OrdinaryDiffEqCore: declare documented API public (downstream ExplicitImports) (#3787) (@ChrisRackauckas-Claude) - StochasticDiffEqCore: drop undefined exports checkSRIOrder/checkSRAOrder (#3788) (@ChrisRackauckas-Claude) - OrdinaryDiffEqCore: remove stale DataStructures dependency (#3789) (@ChrisRackauckas-Claude) - StochasticDiffEqROCK/Weak: add Random compat (Aqua deps_compat) (#3790) (@ChrisRackauckas-Claude) - Remove NLsolve from DiffEqDevTools and OrdinaryDiffEq tests (#3791) (@ChrisRackauckas-Claude) - AD: promote Enzyme gradient callback test from @test_broken to @test (#3792) (@ChrisRackauckas-Claude) - InterfaceII: shrink AutoSparse OOM-guard problem from 1e7 to 1e6 (#3793) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: drop duplicate nnonliniter and guard resize firstcall write (#3794) (@singhharsh1708) - NonlinearSolveAlg: pipe wrapprecs into inner alg and update weight per step (#3795) (@singhharsh1708) - NLNewton OOP: handle AbstractSciMLOperator W instead of erroring (#3796) (@singhharsh1708) - NonlinearSolveAlg: hoist dead linprob/linsolve allocation into NLNewton branch (#3797) (@singhharsh1708) - NonlinearSolveCache: define Base.resize! and guard firstcall write (#3799) (@singhharsh1708) - Fix non-inferred Rosenbrock perform_step! + add JET inference regression test (#3802) (@ChrisRackauckas-Claude) - ode_cache_tests: cover KenCarp4 and ImplicitEuler with NonlinearSolveAlg (#3804) (@singhharsh1708) - QNDFCache: add u/uprev fields so resize! propagates to integrator.u/uprev (#3805) (@singhharsh1708) - Downgrade CI: raise floors for TruncatedStacktraces and RecursiveArrayTools (#3808) (@singhharsh1708) - Allow CUDA.jl v6 in GPU test environments (#3810) (@lamdor) - Multirate: add solve-decoupled implicit MRI-GARK-IRK21a (order 2) (#961) (#3811) (@singhharsh1708) - Multirate: add solve-decoupled implicit MRI-GARK-ESDIRK34a (order 3) (#961) (#3812) (@singhharsh1708) - Restore top-level GPU test lane; drop vestigial AlgConvergence_II group (#3813) (@ChrisRackauckas-Claude) - Allow LinearSolve v4 (#3815) (@ChrisRackauckas) - NonlinearSolveAlg: pull nsolve from inner NonlinearSolve stats (#3816) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: reuse stored J on dt-only W updates (do_newJW parity) (#3820) (@ChrisRackauckas-Claude) - ExplicitRK: retain stages + fused interpolant for dense output (#3822) (@ChrisRackauckas-Claude) - OOP build_J_W: route MatrixOperator mass matrix through WOperator (#3824) (@singhharsh1708) - QA: fix StochasticDiffEqImplicit JET + StochasticDiffEqLeaping Aqua ambiguity (#3825) (@ChrisRackauckas-Claude) - SDIRK: add ESDIRK3(2)5L[2]SA (Kennedy-Carpenter 2019, order 3) (#3827) (@singhharsh1708) - Bump SciMLBase compat floor 3.10 -> 3.30 across sublibraries (#3828) (@singhharsh1708) - Add public API package split regression tests (#3831) (@ChrisRackauckas) - Initialize sparse Jacobian caches with stored values (#3833) (@ChrisRackauckas-Claude) - Fix sublibrary CI regressions (#3834) (@ChrisRackauckas-Claude) - Bump OrdinaryDiffEqDifferentiation to 3.2.3 (#3838) (@ChrisRackauckas-Claude) - Fix downgrade resolver floors after ODEDiff release (#3840) (@ChrisRackauckas-Claude) - Bump OrdinaryDiffEq sublibrary versions to next minor (#3842) (@ChrisRackauckas) - Run Runic after ODEDiff downgrade cleanup (#3843) (@ChrisRackauckas-Claude) - Fix strip_cache constructorof via ConstructionBase (#3846) (@ChrisRackauckas-Claude) - Use SciMLTesting.activate_group_env for AD/Downstream/ODEInterface LTS (#3849) (@ChrisRackauckas-Claude) - Extrapolation MT tests: import threading types from OrdinaryDiffEqCore (#3850) (@ChrisRackauckas-Claude) - LowOrderRK: fold Ralston a₃ into 3*a₂ for JET (#3851) (@ChrisRackauckas-Claude) - NonlinearSolve tests: stabilize nlstep MTK trajectory checks (#3856) (@ChrisRackauckas-Claude) - Bump version to 7.1.2 (#3860) (@ChrisRackauckas) **Closed issues:** - calculate_residuals wrong point (#3226) - New DIRK methods of Kennedy and Carpenter (#1448) - NonlinearSolveAlg: extend W-matrix reuse to AbstractSciMLOperator W (#3697) - New error with callback (#3772) - precompile error of OrdinaryDiffEqBDF prevents loading OrdinaryDiffEq (#3775) - BoundsError when interpolating an ODESolution with empty (zero-dimensional) continuous state (#3778) - DefaultODEAlgorithm() crashes with BoundsError on problems with empty u0 (zero continuous states) (#3779) - Rosenbrock perform_step! is not inferred (#3800) - Operator mass matrices: `IdentityOperator`/`ScalarOperator` fail at solve entry — fix in place or push toward native operator support? (#3814) - Memory use fluctuates wildly with sparse Jacobians due to dropzeros (#3830) - Precompile fails for OrdinaryDiffEqRosenbrock after latest update (#3841)
## OrdinaryDiffEqSDIRK OrdinaryDiffEqSDIRK-v2.7.1 [Diff since OrdinaryDiffEqSDIRK-v2.7.0](https://github.com/SciML/OrdinaryDiffEq.jl/compare/OrdinaryDiffEqSDIRK-v2.7.0...OrdinaryDiffEqSDIRK-v2.7.1) **Merged pull requests:** - Implement Discontinuity Detection Algorithm (#3121) (@Shreyas-Ekanathan) - refactor(RKN): unify DPRKN/ERKN velocity-independent methods via Nyst… (#3376) (@singhharsh1708) - Replace DataStructures.jl with BinaryHeaps.jl to cut invalidations (#3407) (@ChrisRackauckas-Claude) - Use @concrete for Tsit5Cache to hide non-dispatch type parameters (#3652) (@lo2545) - Restore AbstractVectorOfArray branch in Tracker @grad (RAT v4) (#3666) (@ChrisRackauckas-Claude) - Fix/nlsolvealg linsolve propagation (#3670) (@singhharsh1708) - Fix VCC mask cross-talk and length when combining VectorContinuousCallbacks (#3673) (#3675) (@ChrisRackauckas-Claude) - DiffEqBaseEnzymeExt: restore SensitivityADPassThrough fallback (#3681) (@ChrisRackauckas-Claude) - Fix master runic CI: format 7 files (whitespace only) (#3689) (@ChrisRackauckas-Claude) - Fix DDE+SDIRK2 iip/scalar divergence: restore nlsolver.c=c[1] in IIP stage 1 (#3690) (@ChrisRackauckas-Claude) - Pin JULIA_DEPOT_PATH=~/.julia in CI.yml + SublibraryCI.yml (#3691) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: reuse ODE solver W matrix as analytic Jacobian (#2757) (#3693) (@singhharsh1708) - Fix ABDF2 𝒪est regression on nlstep tests: linear-extrap initial guess for IE bootstrap (#3694) (@ChrisRackauckas-Claude) - Add RKMC2 method to StabilizedRK library (#3698) (@Sreeram-Shankar) - DiffEqBaseEnzymeExt: complete MixedDuplicated solve_up support for MTK DAE solves (builds on #3699) (#3700) (@ChrisRackauckas-Claude) - Re-enable downgrade CI: raise compat lower bounds and use allow_reresolve (#3701) (@ChrisRackauckas-Claude) - Clarify Tsit5 usage in docs (#3702) (@emhayki) - NonlinearSolveAlg: modified-Newton for nlstep/DAE/OOP paths (#3696) (#3703) (@singhharsh1708) - SDIRK: add ARS222, ARS232, ARS443 IMEX-RK schemes (#3704) (@singhharsh1708) - SDIRK: add IMEX-SSP family + ESDIRKIMEXTableau non-ESDIRK support (#3705) (@singhharsh1708) - SDIRK: add BHR(5,5,3)* IMEX-RK method (Boscarino-Russo 2009) (#3706) (@singhharsh1708) - Multirate: add MRAB (Adams-Bashforth k-step) explicit solver (#3707) (@singhharsh1708) - Make derivative_discontinuity! sticky across callbacks (#3708) (@DaniGlez) - NEWS.md: add before/after example to the type-stability theme bullet (#3709) (@ChrisRackauckas-Claude) - Export `EnsembleProblem`, `SciMLBase`, `SciMLLogging` (#3710) (@oscardssmith) - RKN: runic format rkn_perform_step.jl (#3711) (@singhharsh1708) - ci: use centralized reusable sublibrary CI + downgrade workflows (prototype) (#3712) (@ChrisRackauckas-Claude) - ci: route CI through SciML/.github reusable workflows (@v1) (#3713) (@ChrisRackauckas-Claude) - Fix broken `using SciMLBase` import (missing comma) breaking `using OrdinaryDiffEq` (#3714) (@ChrisRackauckas-Claude) - Sublib compat floors for genuine downgrade test-at-floor (allow_reresolve=false) (#3715) (@ChrisRackauckas-Claude) - MTK nlstep_tests: bump autonomous Robertson atol 1e-3 -> 5e-3 (#3716) (@singhharsh1708) - Multirate: add MIS2 (Wensch–Knoth–Galant 2009) + tableau/file-structure refactor (#3717) (@singhharsh1708) - ci: uniformize onto centralized CI (project-model SublibraryCI + cleanup) (#3718) (@ChrisRackauckas-Claude) - TSRKC2 method (#3719) (@MoisaAndrew) - ci: remove CompatHelper / clean dependabot (#3723) (@ChrisRackauckas-Claude) - Multirate: add MRI-GARK-ERK22a and ERK22b (Sandu 2019) (#3724) (@singhharsh1708) - style: apply Runic v1.7.0 formatting (#3725) (@ChrisRackauckas-Claude) - Bump codecov/codecov-action from 6 to 7 (#3726) (@dependabot[bot]) - ci: add standard centralized workflows (auto-format, dependabot-automerge, docs-preview-cleanup) (#3727) (@ChrisRackauckas-Claude) - Drop now-invalid allow-reresolve input from downgrade workflow(s) (#3728) (@ChrisRackauckas-Claude) - ci: update test version matrix to new SciML convention (#3729) (@ChrisRackauckas-Claude) - CI: convert root test matrix to grouped-tests.yml (test/test_groups.toml) (#3730) (@ChrisRackauckas-Claude) - Fix Float32/static-array mass-matrix OOP Rosenbrock JacReuseState W typing (#3732) (@ChrisRackauckas-Claude) - Fix Spell Check (typos) failures on master (#3733) (@ChrisRackauckas-Claude) - StabilizedRK: make coefficient computations type-agnostic and add QA tests (#3734) (@ChrisRackauckas-Claude) - Downgrade CI: raise root ADTypes lower bound to 1.22.0 (#3735) (@ChrisRackauckas-Claude) - Add QA (Aqua/JET) groups to sublibraries (SciML/.github#77) (#3738) (@ChrisRackauckas-Claude) - RKC methods loss of significant digits fix (#3739) (@MoisaAndrew) - Guard solve_up Enzyme reverse rule against runtime-activity aliased shadows (#3740) (@SebastianM-C) - Multirate: fuse MRI-GARK slow-forcing accumulation (follow-up to #3724) (#3741) (@singhharsh1708) - Downgrade CI: per-sublibrary compat lower-bound raises and missing test deps (#3742) (@ChrisRackauckas-Claude) - Fix SDE ensembles skipping noise rng reseed (#3743) (@ChrisRackauckas) - Multirate: add explicit MRI-GARK family (ERK33a order 3 + ERK45a order 4), unified (#3747) (@singhharsh1708) - fix: avoid subnormal Newton corrections in stability_region test for ImplicitEuler (#3748) (@ChrisRackauckas-Claude) - fix: increase Hayes SDDE trajectories 100→1000 to eliminate ~9% flakiness (#3749) (@ChrisRackauckas-Claude) - Downgrade: raise RecursiveArrayTools compat floor to 4.2.0 (InterfaceI downgrade resolve) (#3750) (@ChrisRackauckas-Claude) - Use SciMLTesting v1.2 (folder-based run_tests) (#3752) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: extend W-reuse to WOperator with concrete underlying Jacobian (#3753) (@singhharsh1708) - Add MSRK10 (Stepanov order-10 RK) as an ExplicitRK tableau (#2694) (#3755) (@singhharsh1708) - Fix extrapolation error-estimate denominator to use step endpoints (#3226) (#3756) (@singhharsh1708) - Document EulerHeun as the two-stage Stratonovich Heun method (#3167) (#3757) (@singhharsh1708) - Fix pre-existing Runic formatting failures in callbacks.jl and multi_vcc_mask_tests.jl (#3758) (@singhharsh1708) - Add StochasticDiffEq docs to lib/StochasticDiffEq/docs (#3759) (@ChrisRackauckas-Claude) - bump version (#3760) (@oscardssmith) - Change typo in NEWS (#3761) (@termi-official) - Stabilized methods optimizations (#3762) (@MoisaAndrew) - Fix Runic formatting failures in 3 files (callbacks.jl, make.jl, multi_vcc_mask_tests.jl) (#3765) (@ChrisRackauckas-Claude) - Export SciMLLogging (#3766) (@TorkelE) - Bump DiffEqBase (7.5.6) and OrdinaryDiffEqStabilizedRK (2.3.0): register unreleased TSRKC2 + VCC-mask fixes (lts CI) (#3767) (@ChrisRackauckas-Claude) - Bump actions/checkout from 6 to 7 (#3769) (@dependabot[bot]) - Release 11 subpackage(s) (#3770) (@ChrisRackauckas) - Fix derivative_discontinuity! breaking integrators without the new field (#3771) (@DaniGlez) - Release 3 subpackage(s) (#3773) (@ChrisRackauckas) - Raise OrdinaryDiffEqCore floor to 4.4 in disco/CommonControllerOptions importers (#3774) (@ChrisRackauckas-Claude) - Fix BoundsError when interpolating ODESolution with empty continuous state (#3780) (@ChrisRackauckas-Claude) - Handle empty u0 (zero continuous states) in DefaultODEAlgorithm (fixes #3779) (#3781) (@ChrisRackauckas-Claude) - Release v7.1.1 (#3782) (@ChrisRackauckas) - Release 33 subpackage(s) (#3783) (@ChrisRackauckas) - Release 1 subpackage(s) (#3784) (@ChrisRackauckas) - lib/DiffEqBase: declare documented API public (unlock downstream ExplicitImports) (#3785) (@ChrisRackauckas-Claude) - Release 1 subpackage(s) (#3786) (@ChrisRackauckas) - OrdinaryDiffEqCore: declare documented API public (downstream ExplicitImports) (#3787) (@ChrisRackauckas-Claude) - StochasticDiffEqCore: drop undefined exports checkSRIOrder/checkSRAOrder (#3788) (@ChrisRackauckas-Claude) - OrdinaryDiffEqCore: remove stale DataStructures dependency (#3789) (@ChrisRackauckas-Claude) - StochasticDiffEqROCK/Weak: add Random compat (Aqua deps_compat) (#3790) (@ChrisRackauckas-Claude) - Remove NLsolve from DiffEqDevTools and OrdinaryDiffEq tests (#3791) (@ChrisRackauckas-Claude) - AD: promote Enzyme gradient callback test from @test_broken to @test (#3792) (@ChrisRackauckas-Claude) - InterfaceII: shrink AutoSparse OOM-guard problem from 1e7 to 1e6 (#3793) (@ChrisRackauckas-Claude) - NonlinearSolveAlg: drop duplicate nnonliniter and guard resize firstcall write (#3794) (@singhharsh1708) - NonlinearSolveAlg: hoist dead linprob/linsolve allocation into NLNewton branch (#3797) (@singhharsh1708) - NonlinearSolveCache: define Base.resize! and guard firstcall write (#3799) (@singhharsh1708) - Fix non-inferred Rosenbrock perform_step! + add JET inference regression test (#3802) (@ChrisRackauckas-Claude) - ode_cache_tests: cover KenCarp4 and ImplicitEuler with NonlinearSolveAlg (#3804) (@singhharsh1708) - QNDFCache: add u/uprev fields so resize! propagates to integrator.u/uprev (#3805) (@singhharsh1708) - Downgrade CI: raise floors for TruncatedStacktraces and RecursiveArrayTools (#3808) (@singhharsh1708) - Allow CUDA.jl v6 in GPU test environments (#3810) (@lamdor) - Multirate: add solve-decoupled implicit MRI-GARK-IRK21a (order 2) (#961) (#3811) (@singhharsh1708) - Restore top-level GPU test lane; drop vestigial AlgConvergence_II group (#3813) (@ChrisRackauckas-Claude) - Allow LinearSolve v4 (#3815) (@ChrisRackauckas) - ExplicitRK: retain stages + fused interpolant for dense output (#3822) (@ChrisRackauckas-Claude) **Closed issues:** - calculate_residuals wrong point (#3226) - explicit 15-stage Runge-Kutta methods of order 10 (#2694) - NonlinearSolveAlg performance testing and improvements (#2757) - New algorithm: Explicit Runge–Kutta–Chebyshev methods of second order with monotonic stability polynomial (#2908) - [SDE] Inconsistent definitions of the Euler-Heun method (#3167) - NonlinearSolveAlg should respect the linsolve choice (#3564) - Some missing exported functions/structures that would be useful to have exported (#3667) - Incorrect event mask in `affect!` when using multiple `VectorContinuousCallback`s in v7 (#3673) - Rosenbrock32: ReturnCode.Unstable on Robertson DAE (dt collapses to ε at t≈0.01) (#3695) - NonlinearSolveAlg: extend W-matrix reuse to AbstractSciMLOperator W (#3697) - Rosenbrock23 on Float32 mass-matrix problem: JacReuseState Float32/Float64 StaticWOperator convert MethodError (#3721) - OrdinaryDiffEq 7.0.0 no longer re-exports implicit solvers (ImplicitEuler, KenCarp4, …) from `using OrdinaryDiffEq` (#3722) - DowngradeSublibraries fails on master: per-sublibrary minimal test-dep resolution conflicts (#3736) - StochasticDiffEqCore: SDE ensembles with explicit noise process skip noise rng reseed (identical trajectories with prob_func deepcopy; racy write-back decorrelation without) (#3737) - New error with callback (#3772) - precompile error of OrdinaryDiffEqBDF prevents loading OrdinaryDiffEq (#3775) - BoundsError when interpolating an ODESolution with empty (zero-dimensional) continuous state (#3778) - DefaultODEAlgorithm() crashes with BoundsError on problems with empty u0 (zero continuous states) (#3779) - Rosenbrock perform_step! is not inferred (#3800)
## OrdinaryDiffEqCore OrdinaryDiffEqCore-v3.4.0 [Diff since OrdinaryDiffEqCore-v2.1.0](https://github.com/SciML/OrdinaryDiffEq.jl/compare/OrdinaryDiffEqCore-v2.1.0...OrdinaryDiffEqCore-v3.4.0) **Closed issues:** - Jacobian reuse strategy (#871) - Finalizing the Jacobian saga (#952) - ODEInterfaceRegression tests skipped on Julia v1 and pre until ODEInterface.jl is fixed (#2987) - Critical error with `empty!(::DataStructures.BinaryHeap, ....)` prevents ODE solving (#3003) - Inconsistent Units operation in rosenprock_perform_step.jl (#3006) - Failure to empty cache in reinit_tstops! (#3007) - O(n²) isdiag() bottleneck in get_differential_vars for sparse mass matrices (#3010)
## ImplicitDiscreteSolve ImplicitDiscreteSolve-v1.9.0 [Diff since ImplicitDiscreteSolve-v1.8.0](https://github.com/SciML/OrdinaryDiffEq.jl/compare/ImplicitDiscreteSolve-v1.8.0...ImplicitDiscreteSolve-v1.9.0) This release has been identified as a backport. Automated changelogs for backports tend to be wildly incorrect. Therefore, the list of issues and pull requests is hidden. <!-- **Closed issues:** - Native NLsolver Initializations (#1040) - Jacobian reuse in Rosenbrock-W (#1043) - Collisionhandling of instantanious, depend events (#3220) - GPU Compatibility of QNDF and FBDF (#1637) - Ensure initial tstops are unique (#3223) - Do not error immediately when linear solver fails (#1716) - Complete the docstrings and advanced solver API documentation (#1836) - Sparse jacobians with on-diagonal zeros not correctly handled (#1999) - Add parametric RK methods of "High-Order, Large Time-Stepping Integrators for Scalar Hyperbolic Conservation Laws" (#2035) - OrdinaryDiffEq v7 (#2310) - create API for tstop aliasing system (#3219) - New order 2 stabilized explicit method (TSRKC2) (#2616) - AdaptiveRadau produces error with KLUFactorization (#2892) - Mooncake AD backend limitations with MTK and Ensemble problems (#3229) - Unify StochasticDiffEq.jl integrator onto OrdinaryDiffEqCore infrastructure (#3098) - BoundsError when get_du is called in init callback with non-FSAL stiff solver (QNDF) (#3117) - Mass-matrix DAE with specified ForwardDiff chunksize errors when initial condition not satisfied (#3157) - Orphaned test files in lib/StochasticDiffEq/test/ (#3163) - GPU tests: DAE AD type inference failure (BDF, Rosenbrock) (#3189) - Runic formatting failure: OrdinaryDiffEqNonlinearSolve/test/runtests.jl (#3190) - Flaky SDE weak convergence tests (IIPWeakConvergence, WeakAdaptiveGPU) (#3191) - Solution cannot be inferred anymore on Julia 1.11 (#3200) - UndefVarError: `tmp` not defined in `OrdinaryDiffEq` during precompilation (BS3, low_order_rk_perform_step.jl:54) (#3210) - Register version bumps for all sublibraries (#3235) - Breaking changes and underspecified compatibility bounds breaking downstream environments (#3253) - SDDE: dt is not a strict upper bound on step size (#3255) - RROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation (#3306) - Register sublibraries after PR #3314 (#3316) - Register remaining sublibraries after PR #3314 (batch 2) (#3317) - Register remaining sublibraries after PR #3314 (batch 3) (#3318) - Register remaining packages (batch 4) (#3319) - Register Tier 1 sublibraries (batch 5) (#3320) - Register Tier 1 remaining (batch 6) (#3321) - Register Tier 2 + Differentiation (batch 7) (#3322) - Register Tier 3-4 packages (batch 8) (#3323) - Register BDF, DelayDiffEq, root (batch 9) (#3324) - Register DelayDiffEq + root (batch 10) (#3325) - Recent bug with threading for `VectorOfArray` using StaticArrays.jl (#3331) - A lot of allocations on simple ODE (#3348) - SDDEs don't work (#3363) - A lot of allocations on simple SDE (#3372) - Cannot solve DDE (#3426) - TagBot trigger issue (#3430) - `solve` attempts to modify a StaticArray halfway through the solution (#3444) - v7 regression: FunctionWrappersWrapper-forced chunksize=1 autodiff yields singular Jacobian row at an ifelse kink (#3482) - Plotting of non-scalar solution objects with Makie fails on v7 (#3573) - Default of `williamson_condition` is still `true` in OrdinaryDiffEqLowStorageRK.jl v2 (#3581) -->
## OrdinaryDiffEq v7.1.1 [Diff since v7.1.0](https://github.com/SciML/OrdinaryDiffEq.jl/compare/v7.1.0...v7.1.1) **Merged pull requests:** - Guard solve_up Enzyme reverse rule against runtime-activity aliased shadows (#3740) (@SebastianM-C) - Add MSRK10 (Stepanov order-10 RK) as an ExplicitRK tableau (#2694) (#3755) (@singhharsh1708) - Fix pre-existing Runic formatting failures in callbacks.jl and multi_vcc_mask_tests.jl (#3758) (@singhharsh1708) - Fix Runic formatting failures in 3 files (callbacks.jl, make.jl, multi_vcc_mask_tests.jl) (#3765) (@ChrisRackauckas-Claude) - Bump DiffEqBase (7.5.6) and OrdinaryDiffEqStabilizedRK (2.3.0): register unreleased TSRKC2 + VCC-mask fixes (lts CI) (#3767) (@ChrisRackauckas-Claude) - Bump actions/checkout from 6 to 7 (#3769) (@dependabot[bot]) - Release 11 subpackage(s) (#3770) (@ChrisRackauckas) - Fix derivative_discontinuity! breaking integrators without the new field (#3771) (@DaniGlez) - Release 3 subpackage(s) (#3773) (@ChrisRackauckas) - Raise OrdinaryDiffEqCore floor to 4.4 in disco/CommonControllerOptions importers (#3774) (@ChrisRackauckas-Claude) - Fix BoundsError when interpolating ODESolution with empty continuous state (#3780) (@ChrisRackauckas-Claude) - Handle empty u0 (zero continuous states) in DefaultODEAlgorithm (fixes #3779) (#3781) (@ChrisRackauckas-Claude) - Release v7.1.1 (#3782) (@ChrisRackauckas) **Closed issues:** - explicit 15-stage Runge-Kutta methods of order 10 (#2694) - New error with callback (#3772) - precompile error of OrdinaryDiffEqBDF prevents loading OrdinaryDiffEq (#3775) - BoundsError when interpolating an ODESolution with empty (zero-dimensional) continuous state (#3778) - DefaultODEAlgorithm() crashes with BoundsError on problems with empty u0 (zero continuous states) (#3779)
## OrdinaryDiffEqCore OrdinaryDiffEqCore-v1.2.0 [Diff since OrdinaryDiffEqCore-v1.1.0](https://github.com/SciML/OrdinaryDiffEq.jl/compare/OrdinaryDiffEqCore-v1.1.0...OrdinaryDiffEqCore-v1.2.0) **Closed issues:** - Symplectic ODE Methods (#1) - Add Stabilized Explicit Methods (ROCK2, ROCK4, RKC) (#2) - Wrap LSODE (#3) - Native Adams-Bashforth-Moulton methods (#4) - Native NDF/BDF solvers (#5) - Make Rosenbrocks cache-changable (#6) - in-place odeinterpolant (#7) - Making threaded methods compatible with Unitful units (#8) - Interpolation (dense) output changes the order of the time points supplied (#10) - IMEX Methods (#12) - Runge-Kutta-Nystrom methods (#13) - Higher-Order Rosenbrock Methods (#14) - rootfind_event_loc does not work if the event is not called event_f (#15) - Set event_occured to false at the end of @ode_event (#16) - Reduce memory footprint of RK methods (#17) - Using the iterators has a slight performance disadvantage (#19) - Use extrapolation for implicit method initial guesses (#20) - Binary search for interpolation location (#21) - Cannot use (#22) - Extra FSAL after internals modification by continuous events (#23) - TRBDF2 (#24) - Fix `resize!` methods (#25) - Residual Control RK4 (#26) - Conversion of optional value for solve (#27) - Complex time parameters (#28) - Allocating when resizing Jacobians (#29) - Use muladd macro (#30) - solve seems to be ignoring dtmin (#31) - Rosenbrock23/32 addsteps! (#32) - Force simulation to stop (#33) - Limit a state variable using callbacks (#35) - Wrong array access for interpolation out of integration limits (#36) - Strong Stability Presurving RK Methods (#39) - Make FSAL resets work with partitioned and split problems (#42) - time-dependent Rosenbrock errors with autodifferentiation (#43) - Complex comparison in ode_determine_initdt (#45) - Rosenbrock with invW after event will use the wrong code path for interpolations in proceeding interval (#48) - Error tagging new release (#49) - Allow `uEltype` to be an immutable vector, e.g. `SVector` from `StaticArrays.jl` (#50) - Verlets (#55) - Add `@reexport using DiffEqBase` (#58) - Adaptivity with MVectors (#59) - Fuse `DP8` interpolations (#60) - Fix auto-dt with units (#62) - Parse-free Float64 tableaus (#63) - Element-wise absolut and relative tolerances for in-place functions (#70) - Nested containers in the system function (#72) - FSAL in symplectic integrators (#75) - Rosenbrock mass matrices (#77) - "Automatic dt setting has the wrong sign. Exiting. Please report this error." (#78) - remove FSAL from Rodas4 (#79) - Exactly conservative symplectic methods (#83) - Different solutions for in-place and not in-place functions with Vern7 (#86) - deleteat! fails due to undefined variable (#87) - Magnus and other linear operator solvers (#90) - Symplectic Implicit RK (#91) - Floating point error reduction in error estimates (#93) - Out-of-place Jacobian Calculation Skipping (#94) - Tests freezing or timing out on PkgEval since July 19th (#96) - Divergence checks in Implicit RK (#98) - Stiffness Detection (#99) - ESDIRK Methods (#100) - Improved implicit stage predictors (#101) - Change TRBDF2 interpolant to be stiffly-accurate (#102) - SDIRK Methods (#103) - Fully Implicit BDF (#105) - Not fully broadcasting methods (#106) - Regression tracking (#107) - Repository for extended OrdinaryDiffEq.jl tests (#108) - Two-step RKN Methods (#110) - More RKN Methods (#111) - Step Accelerator for Stiff Methods (#113) - Investigate the possibility of StaticArrays tableau methods (#114) - Dual linear solvers interface (#115) - Strang splitting (#116) - More RK Methods (#118) - RK Method for Third Order ODEs (#119) - Remove over-aggressive inlining (#120) - Get the performance of ArrayPartition up to that of Vector (#122) - Semi-Implicit Rosenbrock Schemes (#126) - Extra function evals in add_steps! (#127) - Tsit5 Horner's Rule (#130) - Stiff controller strategies reference (#132) - Improved SDIRK Predictors (#133) - Out of place SDIRK broadcasting (#134) - Broken link in readme (#136) - RK4 error estimation (#138) - Check if extra `u` eval in SDIRK is necessary (#139) - Try false position methods in rootfinder (#143) - Fix extrapolation timings for SDIRKs (#146) - Force stepfail due to Newton divergence is ignored in non-adaptive SDIRK (#147) - KenCarp5 Performance (#148) - Rosenbrock W-methods (#151) - SDIRK starting algorithms (#152) - Mass matrices in SDIRK (#153) - Win32 test failure with mass matrices (#155) - DPRKN12 32-bit overflow (#165) - Reduce Memory Requirements (#178) - u_modified resets before perform_step (#179) - deepcopy(ODEIntegrator) (#181) - dtacc has wrong type (#190) - IMEX extensions of KenCarp Methods (#191) - 5(4) Trigonometric RKN Method (#193) - Weird high order Rosenbrock failure (#196) - tf not defined in stiff_addsteps (#197) - Hermite interpolation with out of place functions (#198) - Calling terminate! in a callback produces an incorrect answer in sol with out-of-place problems (#199) - Update for ForwardDiff v0.6.0 (#200) - Events tests for not-in-place methods (#201) - Using ForwardDiff on function containing solve (#202) - Normalization at every step (#203) - Linear factorization setup is not threadsafe (#206) - Order of integrator/callback initialization (#211) - Support SharedArrays (#215) - Add a test for reinit_callbacks (#219) - Modify ODEProblem in-place? (#223) - How to autodifferentiate an ODEsolver? (#225) - Run the benchmarks again (#226) - DEDataMatrix is incompatible with stiff solvers (#227) - Check KahanLi8 FSAL (#234) - Don't broadcast out-of-place (#235) - MWE for possible floating point error (#240) - ETDRK4 Coefficient generation (#242) - Update `p` in the function wrappers each time point (#245) - reinit! does not clear integrator.sol.interp.timeseries (#246) - IMEX Runge-Kutta (#248) - Suggestion: allow DiscreteProblem.tspan::Tuple{Int,Int} (#251) - Support resetting time? (#253) - Unexpected slowdowns for solving pure discrete systems (#254) - Cache the finite difference gradients in Rosenbrock (#255) - ETDRK4 Contour Integration (#268) - Lazy algorithm incorrectness with parameter changes (#285) - Roadmap for stiffness detection and automatic switching algorithms (#288) - Refactor the stiff solver Jacobian setup (#292) - Can't use the time variable inside the function that describes the dynamic equation (#300) - Multistep method event handling compatibility (#304) - DABDF2 and DImplicitEuler (#305) - BDF3 in fixed-leading coefficient form (#308) - Bulirsch–Stoer and other extrapolation algorithms (#312) - Properties of CompositeAlgorithm (#317) - @ode_exit_conditions (#318) - AutoSwitch algorithms are not thread-safe (#325) - Roadmap for implementing JVODE (#326) - "ERROR: type CompositeCache has no field tmp" when solving out-of-place ODE with TerminateSteadyState callback (#328) - A Runge-Kutta method for orbital dynamics (#330) - `add_steps!` + `ArrayPartition` bug (#338) - Control problem example (#340) - Verify the correctness of CompositeAlgorithm's interpolation (#345) - Allocations in VCAB3 (#346) - Fix AppVeyor overload (#359) - expmv and phimv performance (#366) - Warning message about method being overwritten (#368) - Optimization in VCABM (#380) - Remove Parsing BigFloat statements on v0.7 (#381) - norm(matrix) -> opnorm(matrix) in Julia 0.7 (#387) - Use ReverseDiff for J*v calculations when factorization is a Krylov method? (#396) - Nonlinear solver choices (#400) - Error tagging new release (#403) - Diagonal matrices in the caching ExpRK methods. (#409) - More adaptive SSPRK methods (#415) - Sparse Jacobians (#416) - TypeError with HyperDualNumbers (#419) - ArgumentError: The interval [a,b] is not a bracketing interval. (#420) - Forth order derivative test for Vern9's dense output (#423) - Documentation Enhancement (#426) - Re-enabe cache resizing tests (#430) - ROCK2 Reorganization (#432) - Fix interpolation printing for composites (#440) - Newton method's stopping criterion (#446) - Split Methods Tests Fail (#447) - Tests with BigFloat are broken (#452) - Error tagging new release (#456) - Test the costs of reducing inlining (#457) - Minor performance regressions on v0.7 (#459) - Improve Nonlinear Solver (#468) - Issues with CLArray.jl (#475) - Verner methods are missing events (#479) - test in ode event tests for Vern7 broken (#481) - tests in ode add steps tests broken (#482) - Event handling with FSAL is not restarting (#486) - Optimize QNDF and QBDF (#491) - QBDF broken ? (#492) - @pack not defined, precompilation fails (#496) - Package compatibility caps (#503) - Removed specialized tuple input handling -> ArrayPartition (#504) - Setup SSPRK method adaptivity with newer error estimate function (#511) - Apply changes to ExponentialUtilities.jl to the ExpRK integrators (#517) - Unexpected allocations with SVectors (#518) - saveat problem (#530) - Callback with zero time does not rollback integrator (#538) - Restructure Exprb (#541) - Do not use `size` in Krylov based methods (#542) - `update_coefficients!` with matrix free operators (#547) - Interesting paper on structure preserving integrators for neuronal dynamics (#555) - Support for using dual numbers in `tstops` (#556) - AD with `DiscreteCallback` (#560) - Problem using an `LArray` of `Measurement` in the solvers (#561) - Stepping an in-place integrator allocates ? (#563) - Performance regression with implicit solvers on v1.0 (#564) - Stiffness detection failure example (#566) - cache_iter not defined (#568) - internalnorm does not work with inplace methods (#569) - v4.18.1 introduces major regression for out-of-place SVector integration (#571) - SymplecticEuler implementation is wrong (#577) - Test required: Out of place mass matrix with functional iteration (#586) - SymplecticEuler possible issues (#590) - binary_minheap is deprecated (#592) - Improvements to Anderson Acceleration (#594) - Example instability in Rosenbrock23 at callback parameter change (#595) - Nomenclature of SSPRK methods (#608) - Small allocation in in-place QNDF method (#609) - Standard, JVODE, and QNDF controllers lack qsteady handling (#617) - Radau adaptivity is off (#619) - Improved QR for Anderson Acceleration (#633) - ImplicitEuler and Trapezoid are not safe to use with save_everystep=false (#635) - Minimizing and Testing Memory Usage in Low-Memory RK Methods (#640) - Nonlinear solver regression (#647) - solver performance on ~1100-1200 species chemical reaction model (#664) - Remove a superfluous method of _reshape (#674) - 5th order stabilized explicit method (#680) - Investigate controllers' mysterious effect on performance (#684) - cell growth example not updating number of cells, i.e. resize! not working as intended, (#702) - Problem with set_proposed_dt! inside DiscreteCallBack (#1351) - Kubatko, Yeager and Ketcheson SSPRK tracker (#715) - KenCarp4 performance with various Jacobians on first run (#722) - Tag v5.6.0 (#726) - Register v5.6.1 (#735) - Case where AutoTsit5 fails to detect stiffness (#736) - ForwardDiff.hessian fails with ODEProblem when ForwardDiff.gradient succeeds (#746) - Register 5.7.0 (#750) - A Discussion of BDF Methods (#755) - Register v5.7.1 (#761) - Register 5.8.0 (#766) - let blocks in constant cache extrapolation and all AitkenNeville (#777) - get_du cause accessing undefined reference (#785) - Within-method parallelism compatible with Newton methods (#786) - eigen_est incorrectly initialized (#794) - Return error code instead of throwing in ode_determine_initdt (#801) - Register (#810) - Register (#813) - Stiffness switching tests disabled (#818) - Register (#819) - Register (#823) - Gitlab Runner doesn't run for PRs from forks (#832) - Register (#833) - KenCarp4 on solving semi-discrete diffusion equation (#839) - Different SDIRK2 (#842) - Register (#845) - Eigenvalue/Spectral radius estimate in the ROCK2 (#846) - AutoTsit5 example from documentation doesn't work (#855) - New 4th and 5th Order KenCarps! (#860) - Explicit RK for starting singularity (#864) - Zero-dissipation ERK 6(5) and 8(7) for oscillatory problems (#867) - Access arrays along columns (#894) - Int64 in extrapolation methods (#895) - `u_cache` and `du_cache`, what needs to be updated in a `DiscreteCallback`? (#906) - Units issue in `add_tstop!` and `add_saveat!` (#908) - On Julia 1.3.0-rc1, "ERROR: Unsatisfiable requirements detected for package DiffEqBase" (#926) - Test does not work with normally installed OrdinaryDiffEq.jl (#929) - Stochastic convergence errors with BDF methods (#943) - Banded matrix support triples compile time (#954) - Cell growth example, resize not working with automatic switching solver (#958) - Update StaticArrays dependency to 0.12. (#963) - Problems with resizing cache of automatic switching methods (#965) - LAPACK Exception (#972) - Solving @ode_def problem fails without symbolic Jacobian (#974) - Solve method not found when no algorithm specified (#977) - AutoDiff problem with explicitly time dependent functions that allocate and use a parameter. (#979) - Error with Tracked Array and ROCK2() with diffeq_adjoint (#980) - OrdinaryDiffEq + Measurements (#983) - DP5 with StaticArrays is allocating (#985) - Call overload of solution fails using saveat at single point (#991) - New High-Order IMEX RK Methods of Kennedy and Carpenter (#992) - Provide the derivation of schemes for extremely high accuracy (#1000) - Exprb43 and Exprb32 for SplitODEProblem? (#1005) - SingularException with Variable constrained not to change. (#1010) - StackoverflowError for pendulum example (#1011) - solve does not return when tspan exceeds magical value (#1018) - Mass-Matrix DAE Initialization (#1039) - Initialize DAEs after callbacks (#1042) - `chunk_size` not honoured (#1053) - LeapfrogMagnus (#1062) - QNDF and QBDF Fail in OOP with arrays (#1076) - QNDFs fail mass matrix tests while QBDFs pass (#1077) - Trapezoid fails mass matrix tests (#1078) - Dependent mass matrices can hit a broadcast issue (#1080) - Specialize issingular on structured matrix types (#1086) - GPU Image Fails Tests (#1103) - Using a CuSparseMatrixCSC as a jacobian prototype fails on jacobian2W! (#1136) - Slow loading time (#1151) - Generic algorithm names (#1172)
## OrdinaryDiffEqDefault OrdinaryDiffEqDefault-v1.3.0 [Diff since OrdinaryDiffEqDefault-v1.2.0](https://github.com/SciML/OrdinaryDiffEq.jl/compare/OrdinaryDiffEqDefault-v1.2.0...OrdinaryDiffEqDefault-v1.3.0) **Closed issues:** - Symplectic ODE Methods (#1) - Add Stabilized Explicit Methods (ROCK2, ROCK4, RKC) (#2) - Wrap LSODE (#3) - Native Adams-Bashforth-Moulton methods (#4) - Native NDF/BDF solvers (#5) - Make Rosenbrocks cache-changable (#6) - in-place odeinterpolant (#7) - Making threaded methods compatible with Unitful units (#8) - Interpolation (dense) output changes the order of the time points supplied (#10) - IMEX Methods (#12) - Runge-Kutta-Nystrom methods (#13) - Higher-Order Rosenbrock Methods (#14) - rootfind_event_loc does not work if the event is not called event_f (#15) - Set event_occured to false at the end of @ode_event (#16) - Reduce memory footprint of RK methods (#17) - Using the iterators has a slight performance disadvantage (#19) - Use extrapolation for implicit method initial guesses (#20) - Binary search for interpolation location (#21) - Cannot use (#22) - Extra FSAL after internals modification by continuous events (#23) - TRBDF2 (#24) - Fix `resize!` methods (#25) - Residual Control RK4 (#26) - Conversion of optional value for solve (#27) - Complex time parameters (#28) - Allocating when resizing Jacobians (#29) - Use muladd macro (#30) - solve seems to be ignoring dtmin (#31) - Rosenbrock23/32 addsteps! (#32) - Force simulation to stop (#33) - Limit a state variable using callbacks (#35) - Wrong array access for interpolation out of integration limits (#36) - Strong Stability Presurving RK Methods (#39) - Make FSAL resets work with partitioned and split problems (#42) - time-dependent Rosenbrock errors with autodifferentiation (#43) - Complex comparison in ode_determine_initdt (#45) - Rosenbrock with invW after event will use the wrong code path for interpolations in proceeding interval (#48) - Error tagging new release (#49) - Allow `uEltype` to be an immutable vector, e.g. `SVector` from `StaticArrays.jl` (#50) - Verlets (#55) - Add `@reexport using DiffEqBase` (#58) - Adaptivity with MVectors (#59) - Fuse `DP8` interpolations (#60) - Fix auto-dt with units (#62) - Parse-free Float64 tableaus (#63) - Element-wise absolut and relative tolerances for in-place functions (#70) - Nested containers in the system function (#72) - FSAL in symplectic integrators (#75) - Rosenbrock mass matrices (#77) - "Automatic dt setting has the wrong sign. Exiting. Please report this error." (#78) - remove FSAL from Rodas4 (#79) - Exactly conservative symplectic methods (#83) - Different solutions for in-place and not in-place functions with Vern7 (#86) - deleteat! fails due to undefined variable (#87) - Magnus and other linear operator solvers (#90) - Symplectic Implicit RK (#91) - Floating point error reduction in error estimates (#93) - Out-of-place Jacobian Calculation Skipping (#94) - Tests freezing or timing out on PkgEval since July 19th (#96) - Divergence checks in Implicit RK (#98) - Stiffness Detection (#99) - ESDIRK Methods (#100) - Improved implicit stage predictors (#101) - Change TRBDF2 interpolant to be stiffly-accurate (#102) - SDIRK Methods (#103) - Fully Implicit BDF (#105) - Not fully broadcasting methods (#106) - Regression tracking (#107) - Repository for extended OrdinaryDiffEq.jl tests (#108) - Two-step RKN Methods (#110) - More RKN Methods (#111) - Step Accelerator for Stiff Methods (#113) - Investigate the possibility of StaticArrays tableau methods (#114) - Dual linear solvers interface (#115) - Strang splitting (#116) - More RK Methods (#118) - RK Method for Third Order ODEs (#119) - Remove over-aggressive inlining (#120) - Get the performance of ArrayPartition up to that of Vector (#122) - Semi-Implicit Rosenbrock Schemes (#126) - Extra function evals in add_steps! (#127) - Tsit5 Horner's Rule (#130) - Stiff controller strategies reference (#132) - Improved SDIRK Predictors (#133) - Out of place SDIRK broadcasting (#134) - Broken link in readme (#136) - RK4 error estimation (#138) - Check if extra `u` eval in SDIRK is necessary (#139) - Try false position methods in rootfinder (#143) - Fix extrapolation timings for SDIRKs (#146) - Force stepfail due to Newton divergence is ignored in non-adaptive SDIRK (#147) - KenCarp5 Performance (#148) - Rosenbrock W-methods (#151) - SDIRK starting algorithms (#152) - Mass matrices in SDIRK (#153) - Win32 test failure with mass matrices (#155) - DPRKN12 32-bit overflow (#165) - Reduce Memory Requirements (#178) - u_modified resets before perform_step (#179) - deepcopy(ODEIntegrator) (#181) - dtacc has wrong type (#190) - IMEX extensions of KenCarp Methods (#191) - 5(4) Trigonometric RKN Method (#193) - Weird high order Rosenbrock failure (#196) - tf not defined in stiff_addsteps (#197) - Hermite interpolation with out of place functions (#198) - Calling terminate! in a callback produces an incorrect answer in sol with out-of-place problems (#199) - Update for ForwardDiff v0.6.0 (#200) - Events tests for not-in-place methods (#201) - Using ForwardDiff on function containing solve (#202) - Normalization at every step (#203) - Linear factorization setup is not threadsafe (#206) - Order of integrator/callback initialization (#211) - Support SharedArrays (#215) - Add a test for reinit_callbacks (#219) - Modify ODEProblem in-place? (#223) - How to autodifferentiate an ODEsolver? (#225) - Run the benchmarks again (#226) - DEDataMatrix is incompatible with stiff solvers (#227) - Check KahanLi8 FSAL (#234) - Don't broadcast out-of-place (#235) - MWE for possible floating point error (#240) - ETDRK4 Coefficient generation (#242) - Update `p` in the function wrappers each time point (#245) - reinit! does not clear integrator.sol.interp.timeseries (#246) - IMEX Runge-Kutta (#248) - Suggestion: allow DiscreteProblem.tspan::Tuple{Int,Int} (#251) - Support resetting time? (#253) - Unexpected slowdowns for solving pure discrete systems (#254) - Cache the finite difference gradients in Rosenbrock (#255) - ETDRK4 Contour Integration (#268) - Lazy algorithm incorrectness with parameter changes (#285) - Roadmap for stiffness detection and automatic switching algorithms (#288) - Refactor the stiff solver Jacobian setup (#292) - Can't use the time variable inside the function that describes the dynamic equation (#300) - Multistep method event handling compatibility (#304) - DABDF2 and DImplicitEuler (#305) - BDF3 in fixed-leading coefficient form (#308) - Bulirsch–Stoer and other extrapolation algorithms (#312) - Properties of CompositeAlgorithm (#317) - @ode_exit_conditions (#318) - AutoSwitch algorithms are not thread-safe (#325) - Roadmap for implementing JVODE (#326) - "ERROR: type CompositeCache has no field tmp" when solving out-of-place ODE with TerminateSteadyState callback (#328) - A Runge-Kutta method for orbital dynamics (#330) - `add_steps!` + `ArrayPartition` bug (#338) - Control problem example (#340) - Verify the correctness of CompositeAlgorithm's interpolation (#345) - Allocations in VCAB3 (#346) - Fix AppVeyor overload (#359) - expmv and phimv performance (#366) - Warning message about method being overwritten (#368) - Optimization in VCABM (#380) - Remove Parsing BigFloat statements on v0.7 (#381) - norm(matrix) -> opnorm(matrix) in Julia 0.7 (#387) - Use ReverseDiff for J*v calculations when factorization is a Krylov method? (#396) - Nonlinear solver choices (#400) - Error tagging new release (#403) - Diagonal matrices in the caching ExpRK methods. (#409) - More adaptive SSPRK methods (#415) - Sparse Jacobians (#416) - TypeError with HyperDualNumbers (#419) - ArgumentError: The interval [a,b] is not a bracketing interval. (#420) - Forth order derivative test for Vern9's dense output (#423) - Documentation Enhancement (#426) - Re-enabe cache resizing tests (#430) - ROCK2 Reorganization (#432) - Fix interpolation printing for composites (#440) - Newton method's stopping criterion (#446) - Split Methods Tests Fail (#447) - Tests with BigFloat are broken (#452) - Error tagging new release (#456) - Test the costs of reducing inlining (#457) - Minor performance regressions on v0.7 (#459) - Improve Nonlinear Solver (#468) - Issues with CLArray.jl (#475) - Verner methods are missing events (#479) - test in ode event tests for Vern7 broken (#481) - tests in ode add steps tests broken (#482) - Event handling with FSAL is not restarting (#486) - Optimize QNDF and QBDF (#491) - QBDF broken ? (#492) - @pack not defined, precompilation fails (#496) - Package compatibility caps (#503) - Removed specialized tuple input handling -> ArrayPartition (#504) - Setup SSPRK method adaptivity with newer error estimate function (#511) - Apply changes to ExponentialUtilities.jl to the ExpRK integrators (#517) - Unexpected allocations with SVectors (#518) - saveat problem (#530) - Callback with zero time does not rollback integrator (#538) - Restructure Exprb (#541) - Do not use `size` in Krylov based methods (#542) - `update_coefficients!` with matrix free operators (#547) - Interesting paper on structure preserving integrators for neuronal dynamics (#555) - Support for using dual numbers in `tstops` (#556) - AD with `DiscreteCallback` (#560) - Problem using an `LArray` of `Measurement` in the solvers (#561) - Stepping an in-place integrator allocates ? (#563) - Performance regression with implicit solvers on v1.0 (#564) - Stiffness detection failure example (#566) - cache_iter not defined (#568) - internalnorm does not work with inplace methods (#569) - v4.18.1 introduces major regression for out-of-place SVector integration (#571) - SymplecticEuler implementation is wrong (#577) - Test required: Out of place mass matrix with functional iteration (#586) - SymplecticEuler possible issues (#590) - binary_minheap is deprecated (#592) - Improvements to Anderson Acceleration (#594) - Example instability in Rosenbrock23 at callback parameter change (#595) - Nomenclature of SSPRK methods (#608) - Small allocation in in-place QNDF method (#609) - 17th order Radau (#615) - Standard, JVODE, and QNDF controllers lack qsteady handling (#617) - Radau adaptivity is off (#619) - Improved QR for Anderson Acceleration (#633) - ImplicitEuler and Trapezoid are not safe to use with save_everystep=false (#635) - Minimizing and Testing Memory Usage in Low-Memory RK Methods (#640) - Nonlinear solver regression (#647) - solver performance on ~1100-1200 species chemical reaction model (#664) - Remove a superfluous method of _reshape (#674) - 5th order stabilized explicit method (#680) - Investigate controllers' mysterious effect on performance (#684) - cell growth example not updating number of cells, i.e. resize! not working as intended, (#702) - Problem with set_proposed_dt! inside DiscreteCallBack (#1351) - Kubatko, Yeager and Ketcheson SSPRK tracker (#715) - KenCarp4 performance with various Jacobians on first run (#722) - Tag v5.6.0 (#726) - Register v5.6.1 (#735) - Case where AutoTsit5 fails to detect stiffness (#736) - ForwardDiff.hessian fails with ODEProblem when ForwardDiff.gradient succeeds (#746) - Register 5.7.0 (#750) - A Discussion of BDF Methods (#755) - Register v5.7.1 (#761) - Register 5.8.0 (#766) - let blocks in constant cache extrapolation and all AitkenNeville (#777) - get_du cause accessing undefined reference (#785) - Within-method parallelism compatible with Newton methods (#786) - eigen_est incorrectly initialized (#794) - Return error code instead of throwing in ode_determine_initdt (#801) - Register (#810) - Register (#813) - Stiffness switching tests disabled (#818) - Register (#819) - Register (#823) - Gitlab Runner doesn't run for PRs from forks (#832) - Register (#833) - KenCarp4 on solving semi-discrete diffusion equation (#839) - Different SDIRK2 (#842) - Register (#845) - Eigenvalue/Spectral radius estimate in the ROCK2 (#846) - AutoTsit5 example from documentation doesn't work (#855) - New 4th and 5th Order KenCarps! (#860) - Explicit RK for starting singularity (#864) - Zero-dissipation ERK 6(5) and 8(7) for oscillatory problems (#867) - Access arrays along columns (#894) - Int64 in extrapolation methods (#895) - `u_cache` and `du_cache`, what needs to be updated in a `DiscreteCallback`? (#906) - Units issue in `add_tstop!` and `add_saveat!` (#908) - On Julia 1.3.0-rc1, "ERROR: Unsatisfiable requirements detected for package DiffEqBase" (#926) - Test does not work with normally installed OrdinaryDiffEq.jl (#929) - Stochastic convergence errors with BDF methods (#943) - Banded matrix support triples compile time (#954) - Cell growth example, resize not working with automatic switching solver (#958) - Update StaticArrays dependency to 0.12. (#963) - Problems with resizing cache of automatic switching methods (#965) - LAPACK Exception (#972) - Solving @ode_def problem fails without symbolic Jacobian (#974) - Solve method not found when no algorithm specified (#977) - AutoDiff problem with explicitly time dependent functions that allocate and use a parameter. (#979) - Error with Tracked Array and ROCK2() with diffeq_adjoint (#980) - OrdinaryDiffEq + Measurements (#983) - DP5 with StaticArrays is allocating (#985) - Call overload of solution fails using saveat at single point (#991) - New High-Order IMEX RK Methods of Kennedy and Carpenter (#992) - Provide the derivation of schemes for extremely high accuracy (#1000) - Exprb43 and Exprb32 for SplitODEProblem? (#1005) - SingularException with Variable constrained not to change. (#1010) - StackoverflowError for pendulum example (#1011) - solve does not return when tspan exceeds magical value (#1018) - Mass-Matrix DAE Initialization (#1039) - Initialize DAEs after callbacks (#1042) - `chunk_size` not honoured (#1053) - LeapfrogMagnus (#1062) - QNDF and QBDF Fail in OOP with arrays (#1076) - QNDFs fail mass matrix tests while QBDFs pass (#1077) - Trapezoid fails mass matrix tests (#1078) - Dependent mass matrices can hit a broadcast issue (#1080) - Specialize issingular on structured matrix types (#1086) - GPU Image Fails Tests (#1103) - Improvement of stage predictors in SFSDIRK and CFNLIRK methods (#1117) - Using a CuSparseMatrixCSC as a jacobian prototype fails on jacobian2W! (#1136) - Slow loading time (#1151)