Published April 14, 2026 | Version v1.42
Software Open

QuantLib: a free/open-source library for quantitative finance

Authors/Creators

Description

Downloads:

Changes for QuantLib 1.42

Removals and deprecations

Features deprecated in release 1.37 were removed in this release; see https://github.com/lballabio/QuantLib/pull/2424 for a full list.

A number of features were deprecated in this release and will be removed in a future release (probably release 1.47):

  • The overloads of CashFlows::npv, BondFunctions::cleanPrice and BondFunctions::dirtyPrice taking a z-spread and a day-count convention; use the overload without a day counter.
  • The overloads of CashFlows::zSpread and BondFunctions::zSpread taking a day-count convention; use the overload without a day counter.
  • The DefaultLogCubic and LogMixedLinearCubic interpolators; use KrugerLog and KrugerLogMixedLinearCubic instead.
  • The NeumannBC, DirichletBC, CrankNicolson, DMinus, DPlus, DPlusDMinus, DZero, ExplicitEuler, ImplicitEuler and MixedScheme classes; use the new finite-difference framework instead.
  • The ForwardRateStructure adapter class; inherit from ZeroYieldStructure instead (you should implement zeroYieldImpl anyway).
  • The ql/experimental/volatility/zabr.hpp header; include <ql/termstructures/volatility/zabr.hpp> instead.
  • The ql/experimental/volatility/zabrinterpolatedsmilesection.hpp header; include <ql/termstructures/volatility/zabrinterpolatedsmilesection.hpp> instead.
  • The ql/experimental/volatility/zabrinterpolation.hpp header; include <ql/math/interpolations/zabrinterpolation.hpp> instead.
  • The ql/experimental/volatility/zabrsmilesection.hpp header; include <ql/termstructures/volatility/zabrsmilesection.hpp> instead.
  • The now empty ql/experimental/exoticoptions/kirkspreadoptionengine.hpp, ql/experimental/exoticoptions/spreadoption.hpp, ql/grid.hpp, ql/math/transformedgrid.hpp, ql/methods/finitedifferences/bsmoperator.hpp, ql/methods/finitedifferences/pde.hpp and ql/methods/finitedifferences/pdebsm.hpp headers.

What's Changed

  • Set version to 1.42-dev by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2423
  • Remove features deprecated in version 1.37 by @lballabio in https://github.com/lballabio/QuantLib/pull/2424
  • Deprecate a last few unused parts of the old finite-difference framework by @lballabio in https://github.com/lballabio/QuantLib/pull/2425
  • Avoid storing references in GSR and Markov-functional state processes by @pcaspers in https://github.com/lballabio/QuantLib/pull/2418
  • Fix accrued amount calculation for simple-averaging overnight indexed coupon by @thrasibule in https://github.com/lballabio/QuantLib/pull/2427
  • Add constructor validation in OvernightIndexedCoupon to prevent paymentDate < accrualEndDate by @jay-jain in https://github.com/lballabio/QuantLib/pull/2421
  • Faster skipTo() implementation in Burley's scrambled Sobol RNG by @pcaspers in https://github.com/lballabio/QuantLib/pull/2431
  • Fix testCachedHullWhite failure with -O3 optimization by @Vatsalpatni73 in https://github.com/lballabio/QuantLib/pull/2435
  • Avoid warning when copying a partially initialized struct by @lballabio in https://github.com/lballabio/QuantLib/pull/2437
  • Remove code duplication in FuturesConvAdjustmentQuote by @eltoder in https://github.com/lballabio/QuantLib/pull/2436
  • Add FX Forward instrument, engine, and tests by @chiragpdesai77 in https://github.com/lballabio/QuantLib/pull/2414
  • Update generated headers by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2440
  • Update copyright list in license by @github-actions[bot] in https://github.com/lballabio/QuantLib/pull/2439
  • Make all interpolation implementations final by @eltoder in https://github.com/lballabio/QuantLib/pull/2438
  • Adjust Bessel K tolerance for catastrophic cancellation by @pandashark in https://github.com/lballabio/QuantLib/pull/2445
  • Avoid underflow and out-of-bounds access in SmileSectionUtils by @pandashark in https://github.com/lballabio/QuantLib/pull/2444
  • Added Chinese holidays for the year 2026 by @wegamekinglc in https://github.com/lballabio/QuantLib/pull/2446
  • Add fixingConvention parameter to FloatingRateCoupon by @pandashark in https://github.com/lballabio/QuantLib/pull/2442
  • Add ZabrSwaptionVolatilityCube for ZABR-based swaption volatility cubes by @aaditya-panik in https://github.com/lballabio/QuantLib/pull/2434
  • Automated fixes by clang-tidy by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2452
  • Fix calculate() implementation in FlatExtrapolator2D by @eltoder in https://github.com/lballabio/QuantLib/pull/2448
  • Respect AmericanExercise earliest date in FD engines by @alienbrett in https://github.com/lballabio/QuantLib/pull/2449
  • Support matching first derivatives in MixedLinearCubicInterpolation by @eltoder in https://github.com/lballabio/QuantLib/pull/2450
  • Use contract dates for fixed-leg year fraction in ZeroCouponInflationSwap by @pandashark in https://github.com/lballabio/QuantLib/pull/2451
  • Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in https://github.com/lballabio/QuantLib/pull/2464
  • Add 2025 and 2026 TWSE holidays to Taiwan calendar by @zippyg in https://github.com/lballabio/QuantLib/pull/2462
  • Fix pillar assignment in inflation-curve bootstrap for CPI::Linear by @pandashark in https://github.com/lballabio/QuantLib/pull/2456
  • Deprecate classes using Kruger with monotonic=true by @eltoder in https://github.com/lballabio/QuantLib/pull/2457
  • Deprecate day-counter argument in z-spread functions by @zippyg in https://github.com/lballabio/QuantLib/pull/2465
  • Remove virtual destructor from Extrapolator by @eltoder in https://github.com/lballabio/QuantLib/pull/2466
  • Fix address sanitizer failure by @eltoder in https://github.com/lballabio/QuantLib/pull/2467
  • Add Singapore (SGX) trading holidays for 2026 by @GuillermoPL in https://github.com/lballabio/QuantLib/pull/2468
  • Fix call price accrued during ex-coupon period by @pandashark in https://github.com/lballabio/QuantLib/pull/2455
  • Add PiecewiseBlackVarianceSurface for ragged vol grids by @pandashark in https://github.com/lballabio/QuantLib/pull/2443
  • Update copyright list in license by @github-actions[bot] in https://github.com/lballabio/QuantLib/pull/2470
  • Automated fixes by clang-tidy by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2461
  • Bump docker/login-action from 3 to 4 by @dependabot[bot] in https://github.com/lballabio/QuantLib/pull/2477
  • Fix MakeOIS and MakeVanillaSwap end-of-month handling by @pcaspers in https://github.com/lballabio/QuantLib/pull/2459
  • Add operator== to FdmLinearOpIterator by @quantales in https://github.com/lballabio/QuantLib/pull/2472
  • Add single-section constructor and tests to PiecewiseBlackVarianceSurface by @quantales in https://github.com/lballabio/QuantLib/pull/2478
  • Bring MakeCreditDefaultSwap up to date with CDS instrument by @lballabio in https://github.com/lballabio/QuantLib/pull/2479
  • Add MultipleResetsSwap instrument and rate helper by @zippyg in https://github.com/lballabio/QuantLib/pull/2474
  • Add BlackVolatilitySurfaceDelta class for FX options by @paolodelia99 in https://github.com/lballabio/QuantLib/pull/2368
  • Fix MakeVanillaSwap fixed-tenor inference with explicit termination date by @pandashark in https://github.com/lballabio/QuantLib/pull/2480
  • Update copyright list in license by @github-actions[bot] in https://github.com/lballabio/QuantLib/pull/2482
  • Automated fixes by clang-tidy by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2486
  • Add withExerciseCalendar to MakeSwaption by @pandashark in https://github.com/lballabio/QuantLib/pull/2484
  • Throw when both effective date and settlement days are set in MakeVanillaSwap/MakeOIS by @pandashark in https://github.com/lballabio/QuantLib/pull/2481
  • Use log interpolation for discount curves by @eltoder in https://github.com/lballabio/QuantLib/pull/2491
  • Avoid 0.0 in Burley2020SobolRsg output by @zippyg in https://github.com/lballabio/QuantLib/pull/2494
  • Remove special initial guess for spread discount curves by @eltoder in https://github.com/lballabio/QuantLib/pull/2495
  • Support custom pillar date in interest-rate futures helpers by @Krishn1412 in https://github.com/lballabio/QuantLib/pull/2415
  • Deprecate ForwardRateStructure in favor of ZeroYieldStructure by @eltoder in https://github.com/lballabio/QuantLib/pull/2261
  • Use variant to reduce duplication in SofrFutureRateHelper constructors by @lballabio in https://github.com/lballabio/QuantLib/pull/2501
  • Cache derived and composite quotes by @eltoder in https://github.com/lballabio/QuantLib/pull/2499
  • Add MultiCompositeQuote by @eltoder in https://github.com/lballabio/QuantLib/pull/2500
  • Use custom type aliases instead of raw double by @wegamekinglc in https://github.com/lballabio/QuantLib/pull/2503
  • Update copyright list in license by @github-actions[bot] in https://github.com/lballabio/QuantLib/pull/2502
  • Replace Boost macros that might not work with AAD types by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2508
  • Check for negative rates in Barone-Adesi-Whaley engine by @pandashark in https://github.com/lballabio/QuantLib/pull/2505
  • Support OIS underlyings in FdmAffineModelSwapInnerValue by @pandashark in https://github.com/lballabio/QuantLib/pull/2488
  • Forward notifications after failed calculations in LazyObject by @pandashark in https://github.com/lballabio/QuantLib/pull/2504
  • Support separate exercise date in MC arithmetic average-strike Asian engine by @pandashark in https://github.com/lballabio/QuantLib/pull/2506
  • Fix first-period regularity check in Schedule backwards date generation by @pandashark in https://github.com/lballabio/QuantLib/pull/2511
  • Replace dynamic_cast with static_cast in interpolations by @eltoder in https://github.com/lballabio/QuantLib/pull/2510
  • Use QL_ prefix for PACKAGE macros in CMake config template by @pandashark in https://github.com/lballabio/QuantLib/pull/2512
  • Automated fixes by clang-tidy by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2516
  • Implement fair spread for FloatFloatSwap by @shubhamessier in https://github.com/lballabio/QuantLib/pull/2411
  • Update copyright list in license by @github-actions[bot] in https://github.com/lballabio/QuantLib/pull/2518
  • Add 3 new fuzzing harnesses by @DavidKorczynski in https://github.com/lballabio/QuantLib/pull/2514
  • Update copyright list in license by @github-actions[bot] in https://github.com/lballabio/QuantLib/pull/2520
  • Use Real instead of double in range-for loops by @auto-differentiation-dev in https://github.com/lballabio/QuantLib/pull/2521
  • Automated fixes by clang-tidy by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2524
  • Use Real instead of double as initial value for accumulate by @auto-differentiation-dev in https://github.com/lballabio/QuantLib/pull/2525
  • Set version to 1.42-rc by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2526
  • Set version to 1.42 final by @lballabio-bot in https://github.com/lballabio/QuantLib/pull/2535

New Contributors

  • @jay-jain made their first contribution in https://github.com/lballabio/QuantLib/pull/2421
  • @Vatsalpatni73 made their first contribution in https://github.com/lballabio/QuantLib/pull/2435
  • @chiragpdesai77 made their first contribution in https://github.com/lballabio/QuantLib/pull/2414
  • @pandashark made their first contribution in https://github.com/lballabio/QuantLib/pull/2445
  • @aaditya-panik made their first contribution in https://github.com/lballabio/QuantLib/pull/2434
  • @alienbrett made their first contribution in https://github.com/lballabio/QuantLib/pull/2449
  • @zippyg made their first contribution in https://github.com/lballabio/QuantLib/pull/2462
  • @GuillermoPL made their first contribution in https://github.com/lballabio/QuantLib/pull/2468
  • @quantales made their first contribution in https://github.com/lballabio/QuantLib/pull/2472
  • @shubhamessier made their first contribution in https://github.com/lballabio/QuantLib/pull/2411
  • @DavidKorczynski made their first contribution in https://github.com/lballabio/QuantLib/pull/2514

Full Changelog: https://github.com/lballabio/QuantLib/compare/v1.41...v1.42

Notes

If you use this software, please cite it using these metadata.

Files

lballabio/QuantLib-v1.42.zip

Files (11.0 MB)

Name Size Download all
md5:a00d5f3c456438378f5d9ce7e0efc388
11.0 MB Preview Download

Additional details

Related works