commit dbea7afad72f59706fa08a4cbfa5880684d9b8d9
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Mon, 12 Jan 2026 09:21:31 +0000

    Set version to 1.41

 CMakeLists.txt | 4 ++--
 configure.ac   | 2 +-
 ql/version.hpp | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

commit c90498ad13cbc660c3e80c8c65598ad2c897fef0
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Mon, 5 Jan 2026 19:24:10 +0000

    Update changelog

 ChangeLog.txt | 11008 ++++++++++----------------------------------------------
 1 file changed, 1946 insertions(+), 9062 deletions(-)

commit 5225d64206cd4f2555b5cf3a03b20ca55405d934
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Mon, 5 Jan 2026 19:24:10 +0000

    Set version to 1.41-rc

 CMakeLists.txt | 4 ++--
 configure.ac   | 2 +-
 ql/version.hpp | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

commit d6d38347e51cd8f2a617b1591f87e550af29ff86
Merge: 7590f1b57 4ecf2c764
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 5 Jan 2026 18:11:23 +0100

    typo in multi-curve error message (#2419)

commit 4ecf2c764c21bfe4ed46d2da5727a6880641975f
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Mon, 5 Jan 2026 17:04:10 +0100

    typo

 ql/termstructures/multicurve.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7590f1b57853e52770da7ba6da26f01ba1226ffb
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 5 Jan 2026 09:26:49 +0100

    Add clang 21 to CI builds

 .github/workflows/devenv-images.yml    | 2 +-
 .github/workflows/linux-full-tests.yml | 7 ++++++-
 .github/workflows/linux-nondefault.yml | 7 ++++++-
 .github/workflows/linux.yml            | 6 +++---
 4 files changed, 16 insertions(+), 6 deletions(-)

commit e41f1b6b3402c4cd44f22b7b5050f80e56c7cabc
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 5 Jan 2026 12:37:24 +0100

    Update news for 1.41 and list of contributors

 Contributors.txt |  3 +++
 News.md          | 47 +++++++++++++++++++++++------------------------
 2 files changed, 26 insertions(+), 24 deletions(-)

commit defbf778b37146394da752513ad6b54070ed112d
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Sat, 3 Jan 2026 13:57:18 +0000

    Automated fixes by clang-tidy

 ql/cashflows/overnightindexedcoupon.cpp | 4 ++--
 ql/cashflows/overnightindexedcoupon.hpp | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit bc7db315bb7ed1c5669cb8069898c1804bc4c9ea
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Sat, 3 Jan 2026 15:53:10 +0100

    Revert #2410

 ql/processes/gsrprocesscore.hpp | 2 +-
 test-suite/gsr.cpp              | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

commit b43bcbfe75a4dc8518c91ab508e76a15162bbc37
Merge: 17a5a84fa be2041853
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 30 Dec 2025 14:59:48 +0100

    Some deferred observers get destroyed during updates II (#2412)

commit be2041853087c071bdff5151a320eddc1a7c18a4
Author: francis <fdfrancisduffy@gmail.com>
Date:   Tue, 30 Dec 2025 12:55:23 +0000

    Avoid dereferencing null deferred observer.
    
    Alternative approach for PR 2409.

 ql/patterns/observable.cpp |  6 ++----
 ql/patterns/observable.hpp | 19 +++++++++++--------
 2 files changed, 13 insertions(+), 12 deletions(-)

commit 17a5a84fa618bbfb04beefcf0f5c3531fc756b58
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 29 Dec 2025 23:37:47 +0100

    Copy latest copyright list to website when tagging a release

 .github/workflows/publish-release.yml | 1 +
 1 file changed, 1 insertion(+)

commit 6ab7d21faa12632e466f5c209e11ba4f6abd59de
Merge: 2bd9e3dfd 86683188e
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 29 Dec 2025 11:18:21 +0100

    Fix GsrProcessCore crash when constructed with temporary arrays (#2410)

commit 2bd9e3dfd916e9fc7004e657e374f36fa279e713
Merge: 302e4d7d7 ad90c6f1b
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 29 Dec 2025 10:50:04 +0100

    Some deferred observers get destroyed during updates (#2409)

commit 302e4d7d70ad1de6d2380e9c8e1838d8018f2d48
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Sun, 28 Dec 2025 01:31:22 +0000

    Automated fixes by clang-tidy

 ql/cashflows/blackovernightindexedcouponpricer.cpp | 5 +++--
 ql/cashflows/blackovernightindexedcouponpricer.hpp | 4 ++--
 ql/cashflows/overnightindexedcoupon.cpp            | 6 +++---
 ql/cashflows/overnightindexedcoupon.hpp            | 8 ++++----
 ql/cashflows/overnightindexedcouponpricer.cpp      | 9 +++++----
 ql/cashflows/overnightindexedcouponpricer.hpp      | 7 ++++---
 ql/instruments/assetswap.cpp                       | 2 +-
 ql/instruments/equitytotalreturnswap.cpp           | 2 +-
 8 files changed, 23 insertions(+), 20 deletions(-)

commit 86683188e66943a0a5d69754b853f2cce7f13e49
Author: Yashwant Bezawada <yashwant_b@me.com>
Date:   Sat, 27 Dec 2025 03:11:29 -0600

    Fix GsrProcessCore crash when constructed with temporary arrays
    
    GsrProcessCore stored references to the input arrays instead of copies.
    When temporary arrays were passed (common in SWIG bindings where Python
    lists are converted to temporary Array objects), these references became
    dangling after the constructor returned, causing segfaults during path
    generation.
    
    The fix changes the member variables from references to values so the
    arrays are copied and remain valid for the lifetime of the object.
    
    Added a test case that creates a GsrProcess with temporary arrays and
    uses it in PathGenerator to verify path generation works correctly.
    
    Fixes #2408

 ql/processes/gsrprocesscore.hpp |  2 +-
 test-suite/gsr.cpp              | 53 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+), 1 deletion(-)

commit ad90c6f1b7c6023c040cc1cd7f548b440a646e58
Author: francis <fdfrancisduffy@gmail.com>
Date:   Wed, 24 Dec 2025 12:24:11 +0000

    Avoid dereferencing null deferred observer.
    
    Add a bool runningDeferredUpdates_ that is set to true when
    deferredObservers_ are being processed in
    ObservableSettings::enableUpdates(). We keep a set
    invalidDeferredObservers_ that holds elements of deferredObservers_ that
    are destroyed while ObservableSettings::enableUpdates() is running. We
    can then skip calling update on them in
    ObservableSettings::enableUpdates().

 ql/patterns/observable.cpp |  8 ++++++++
 ql/patterns/observable.hpp | 13 +++++++++++--
 2 files changed, 19 insertions(+), 2 deletions(-)

commit c2b5cc811801593b5cc2cbbbb26d40b037d4202f
Author: francis <fdfrancisduffy@gmail.com>
Date:   Wed, 24 Dec 2025 10:50:45 +0000

    Add test showing issue with deferred observer.
    
    The test gives a read access violation. The problem is that some
    elements in deferredObservers_ can be destroyed while
    ObservableSettings::enableUpdates() is running. Later in the call
    deferredObserver->update() is called on the already destructed element
    and it gives a read access violation.
    
    The example here uses the zero coupon inflation swap helper to
    demonstrate the issue. The zciis_ member is one of the deferred
    observers. When ObservableSettings::enableUpdates() is running
    ZeroCouponInflationSwapHelper::initializeDates() is called because the
    helper is notified and updateDates_ is true. zciis_ is re-assigned and
    the original pointee is destroyed. But the original pointee that has
    been destroyed is still in the deferredObservers_ set and update() gets
    called on it leading to the read access violation.

 test-suite/observable.cpp | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit ecefd253d0e2b648a8994f32f208af504ca36c94
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 24 Dec 2025 09:46:47 +0100

    Uniform naming

 ql/cashflows/overnightindexedcoupon.cpp | 2 +-
 ql/cashflows/overnightindexedcoupon.hpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 1daa40d013ff700292f421ec9473f419893b1379
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 22 Dec 2025 09:53:40 +0100

    Remove a few warnings and verbosity from new pricers

 ql/cashflows/blackovernightindexedcouponpricer.cpp |  4 ++--
 ql/cashflows/overnightindexedcouponpricer.cpp      |  8 -------
 ql/cashflows/overnightindexedcouponpricer.hpp      | 25 +++++++++++-----------
 3 files changed, 14 insertions(+), 23 deletions(-)

commit 9cbbbb2708019775a89f25871f429b78861f396e
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Thu, 18 Dec 2025 11:52:46 +0000

    Update old license links

 ql/cashflows/blackovernightindexedcouponpricer.cpp | 2 +-
 ql/cashflows/blackovernightindexedcouponpricer.hpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit c15a6fecbd6bbe9fe8d509d6a20945a3815ebd2e
Merge: bf18303eb 5096ee8b9
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 18 Dec 2025 12:52:35 +0100

    QL-ORE ON coupons alignment (#2297)

commit 5096ee8b9216e733b62a658662775c2e70a90e27
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 18 Dec 2025 11:02:52 +0100

    Another test

 test-suite/overnightindexedcoupon.cpp | 54 ++++++++++++++++++++++++++---------
 1 file changed, 41 insertions(+), 13 deletions(-)

commit bf18303ebee20dab046c5b804b3188b0cf6d07f7
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 18 Dec 2025 10:18:18 +0100

    Add job to publish reference docs when tagging a release

 .github/workflows/publish-release.yml | 41 +++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

commit e10dd4e8fe0576b4fa87bd965b899ab72be7505a
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Wed, 17 Dec 2025 17:45:43 +0100

    Fix test,and initialized method in BlackArithmeticONPricer

 ql/cashflows/blackovernightindexedcouponpricer.cpp | 2 +-
 test-suite/overnightindexedcoupon.cpp              | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 7660c595758a980f2b8d08c9bbadce7c47f67908
Merge: 4f0732537 3c0a67935
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 17 Dec 2025 11:27:38 +0100

    add instrument weights to global bootstrap (#2398)

commit 9c719887b7426b377c92da996c6011674a73934f
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 17 Dec 2025 11:09:13 +0100

    Move check at construction time
    
    With the check in setCouponPricer, the call
    
        OvernightLeg(...)
        .withCouponPricer(arithmeticPricer)
        .withAveragingMethod(RateAveraging::Simple)
    
    would fail.

 ql/cashflows/overnightindexedcoupon.cpp | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

commit fcf392a5e504f983226c73cd8be5e37d939a2398
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 17 Dec 2025 11:05:49 +0100

    Register properly with pricer

 ql/cashflows/overnightindexedcoupon.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b2e5ed12ab430c40b5cf0b9d4870fd16af5355db
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 17 Dec 2025 11:03:03 +0100

    Avoid worthless caps and floors in pricer tests

 ql/cashflows/blackovernightindexedcouponpricer.cpp |  7 +--
 test-suite/overnightindexedcoupon.cpp              | 73 +++++++++++++++-------
 2 files changed, 53 insertions(+), 27 deletions(-)

commit 6c3ccb316ec8c5f5655ed09fd3469393fe0d98e9
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 17 Dec 2025 10:28:49 +0100

    No need to set two different pricers depending on caps/floors

 ql/cashflows/overnightindexedcoupon.cpp | 20 +++-----------------
 ql/cashflows/overnightindexedcoupon.hpp |  7 ++-----
 test-suite/overnightindexedcoupon.cpp   |  4 ++--
 3 files changed, 7 insertions(+), 24 deletions(-)

commit 3c0a67935723ced7dc08706b616a1ed3d9d02cae
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 17 Dec 2025 09:53:52 +0100

    fix maxDate and revert enabling extrapolation

 ql/termstructures/globalbootstrap.hpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit fa60f238eb37cbac516099f1fb2e0199deb593a9
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Tue, 16 Dec 2025 19:48:59 +0100

    fix infinite loop problem in initialize method in blackONPricer

 ql/cashflows/blackovernightindexedcouponpricer.cpp | 6 ++++--
 test-suite/overnightindexedcoupon.cpp              | 7 ++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

commit a1310598c7ba2e70e80b49c79aeb24e9eacf44e9
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 16 Dec 2025 16:45:08 +0100

    fix

 ql/termstructures/globalbootstrap.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2900e2e9e5fefd639e55eef44596ad531ba0239a
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 16 Dec 2025 16:18:23 +0100

    omit sorting of helpers, enable extrapolation on underlying curve

 ql/termstructures/globalbootstrap.cpp |   2 +-
 ql/termstructures/globalbootstrap.hpp | 108 ++++++++++++++++------------------
 2 files changed, 52 insertions(+), 58 deletions(-)

commit 4f073253701e2c600a87ff6a26434b5dea57a7b1
Merge: 5945c8951 c147bfc26
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 16 Dec 2025 11:55:54 +0100

    Add an accessor for pricing engine (#2400)

commit e99ae9daeaf561b53feef6bd680019c005ef0926
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 16 Dec 2025 09:18:59 +0100

    Renamed a few classes and methods for clarity

 ql/cashflows/blackovernightindexedcouponpricer.cpp | 106 ++++++++++-----------
 ql/cashflows/blackovernightindexedcouponpricer.hpp |  18 ++--
 ql/cashflows/overnightindexedcoupon.cpp            |  54 +++++------
 ql/cashflows/overnightindexedcoupon.hpp            |  32 +++----
 ql/cashflows/overnightindexedcouponpricer.cpp      |  22 ++---
 ql/cashflows/overnightindexedcouponpricer.hpp      |  14 +--
 test-suite/overnightindexedcoupon.cpp              |  41 ++++----
 7 files changed, 144 insertions(+), 143 deletions(-)

commit 5945c8951762799c67f1c7b3496c25d947bb3ccc
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon, 15 Dec 2025 11:01:00 +0000

    Bump actions/upload-artifact from 5 to 6
    
    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)
    
    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-version: '6'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

 .github/workflows/msvc-analysis.yml | 2 +-
 .github/workflows/test-times.yml    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit d5f33b8c412f4bb0803aa6a6adfefd0fcedb5078
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon, 15 Dec 2025 11:01:19 +0000

    Bump peter-evans/create-pull-request from 7 to 8
    
    Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7 to 8.
    - [Release notes](https://github.com/peter-evans/create-pull-request/releases)
    - [Commits](https://github.com/peter-evans/create-pull-request/compare/v7...v8)
    
    ---
    updated-dependencies:
    - dependency-name: peter-evans/create-pull-request
      dependency-version: '8'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

 .github/workflows/copyrights.yml                | 2 +-
 .github/workflows/generated-headers.yml         | 2 +-
 .github/workflows/includes.yml                  | 2 +-
 .github/workflows/increase-version-number.yml   | 2 +-
 .github/workflows/license-url.yml               | 2 +-
 .github/workflows/misspell.yml                  | 2 +-
 .github/workflows/namespaces.yml                | 2 +-
 .github/workflows/prepare-release-candidate.yml | 2 +-
 .github/workflows/prepare-release.yml           | 2 +-
 .github/workflows/sync-qldefines.yml            | 2 +-
 .github/workflows/tidy.yml                      | 2 +-
 11 files changed, 11 insertions(+), 11 deletions(-)

commit 99c56ceb4b6cae3437709f92f083b58d9c32b8f1
Merge: 619a23ac1 1e9efef1c
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Fri, 12 Dec 2025 14:33:27 +0100

    Use quoteError in FittedBondDiscountCurve (#2401)

commit 619a23ac13e40a9528da4b8cea543b2a5f16290f
Merge: 99d3a393f 536011abf
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 11 Dec 2025 15:04:19 +0100

    Patches for AD compatibility (#2402)

commit 99d3a393f53df48d4f3ada206ed06379308a6859
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 11 Dec 2025 15:03:06 +0100

    Upgrade to Boost 1.90 in CI workflows

 .github/workflows/cmake-latest-runners.yml |  4 ++--
 .github/workflows/cmake.yml                | 12 ++++++------
 .github/workflows/msvc-all-configs.yml     |  2 +-
 .github/workflows/msvc-analysis.yml        |  4 ++--
 .github/workflows/msvc-nondefault.yml      |  2 +-
 .github/workflows/msvc.yml                 |  2 +-
 6 files changed, 13 insertions(+), 13 deletions(-)

commit 1c155151f2bda9545973e14f2863d0217aadc310
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 10 Dec 2025 17:09:11 +0100

    fix capture

 test-suite/piecewiseyieldcurve.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4f07b1f04a35d2d2ba7586db6c581ab5beaeff97
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 10 Dec 2025 17:05:27 +0100

    clearer code

 test-suite/piecewiseyieldcurve.cpp | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

commit ebb3c032b8ec99b46f3444889da82e75a8305769
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 10 Dec 2025 16:46:24 +0100

    add unit test

 test-suite/piecewiseyieldcurve.cpp | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

commit 536011abfda53e1aa6b7d2f7b53f466a65887a2a
Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com>
Date:   Wed, 10 Dec 2025 12:35:43 +0000

    constexpr and implicit conversion fixes for using with non-double Real type

 test-suite/piecewiseyieldcurve.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 3fdbb754932698803ce038ab108c6652aae89703
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 9 Dec 2025 20:07:58 +0100

    add instrument weights

 ql/termstructures/globalbootstrap.hpp | 62 ++++++++++++++++++++++-------------
 1 file changed, 40 insertions(+), 22 deletions(-)

commit 97ba81f0a08eb1ab9990276a9caaeacabcdaf8b2
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 9 Dec 2025 19:29:13 +0100

    Revert "introduce scale"
    
    This reverts commit 889b98fb2bea518090b556b28ba58ade30cf115a.

 ql/termstructures/bootstraphelper.hpp    | 16 ++++++----------
 ql/termstructures/globalbootstrap.hpp    |  3 +--
 ql/termstructures/iterativebootstrap.hpp |  2 +-
 ql/termstructures/yield/ratehelpers.cpp  |  6 +++---
 4 files changed, 11 insertions(+), 16 deletions(-)

commit 322392bc085800f59c06b8db88e69f49bbd9ccb4
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 9 Dec 2025 19:29:09 +0100

    Revert "scale should be the factor to get to the order of 1"
    
    This reverts commit 12ea554e2eb42cd0c665ac574f6fff9e3e37c94f.

 ql/termstructures/yield/ratehelpers.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit bd7883ea0a26868c2999e1a33edcfb435faf07b7
Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com>
Date:   Tue, 9 Dec 2025 18:28:06 +0000

    Fixes test macros to be compatible with other types

 test-suite/piecewiseyieldcurve.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 1e9efef1cb181e271cccafb1553ca69ee0bc5f8d
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Tue, 9 Dec 2025 12:02:07 -0500

    Use quoteError in FittedBondDiscountCurve

 ql/termstructures/yield/fittedbonddiscountcurve.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit c147bfc26db3b5ee15abb98a1b5785818dc570a6
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Tue, 9 Dec 2025 09:48:30 -0500

    Add an accessor for pricing engine

 ql/instrument.hpp | 5 +++++
 1 file changed, 5 insertions(+)

commit 7fa295f752a00eff4abcd7c55c1e2d055cb300fb
Merge: eef27a34a 5acde822e
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 9 Dec 2025 12:20:13 +0100

    relax check on helper maturities in GlobalBootstrap (#2395)

commit eef27a34a552f375e25b19f2632b7d3dbd433b69
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Sun, 7 Dec 2025 01:36:34 +0000

    Automated fixes by clang-tidy

 ql/instruments/asianoption.cpp        | 4 ++--
 ql/instruments/asianoption.hpp        | 4 ++--
 ql/patterns/lazyobject.hpp            | 2 +-
 ql/termstructures/globalbootstrap.cpp | 7 ++++---
 ql/termstructures/multicurve.cpp      | 6 +++---
 ql/termstructures/multicurve.hpp      | 4 ++--
 6 files changed, 14 insertions(+), 13 deletions(-)

commit 289937841d07f30375133675985584db76e00208
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 9 Dec 2025 09:09:13 +0100

    Avoid a few conversion warnings

 ql/termstructures/globalbootstrap.cpp | 2 +-
 test-suite/piecewiseyieldcurve.cpp    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit a55e72511632308094bc45a9a21aeeac32facd8b
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Mon, 8 Dec 2025 17:35:37 +0100

    return plain spread in case simple avg ONCopoun

 ql/cashflows/overnightindexedcoupon.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 12ea554e2eb42cd0c665ac574f6fff9e3e37c94f
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 7 Dec 2025 20:21:40 +0100

    scale should be the factor to get to the order of 1

 ql/termstructures/yield/ratehelpers.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 889b98fb2bea518090b556b28ba58ade30cf115a
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 7 Dec 2025 19:21:52 +0100

    introduce scale

 ql/termstructures/bootstraphelper.hpp    | 16 ++++++++++------
 ql/termstructures/globalbootstrap.hpp    |  3 ++-
 ql/termstructures/iterativebootstrap.hpp |  2 +-
 ql/termstructures/yield/ratehelpers.cpp  |  6 +++---
 4 files changed, 16 insertions(+), 11 deletions(-)

commit ca701f7ad702aae1e70f259160d686c2d2ffe63c
Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com>
Date:   Sat, 6 Dec 2025 14:32:24 +0000

    Constexpr auto as it might be incompatible with Real

 test-suite/piecewiseyieldcurve.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6824d28e42241c2632c090d7a1d9a2ffe9ccd7aa
Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com>
Date:   Sat, 6 Dec 2025 14:29:36 +0000

    Explicit return type on lambda to allow use with expression templates

 ql/pricingengines/vanilla/cashdividendeuropeanengine.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 33a3be2c4ebbbcb91f3eeec0915f76e657bf5246
Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com>
Date:   Sat, 6 Dec 2025 10:22:21 +0000

    Avoid constexpr Real, as that breaks AD types

 ql/termstructures/globalbootstrap.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5acde822eb05a13ff7a8d6c1137440ea78fd22ec
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 6 Dec 2025 10:51:02 +0100

    remove old check

 ql/termstructures/globalbootstrap.hpp | 6 ------
 1 file changed, 6 deletions(-)

commit decdd7f4cc3c461018395e892b292d476c694627
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 6 Dec 2025 10:48:03 +0100

    relax check

 ql/termstructures/globalbootstrap.hpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit 9c6bbcff7a7573169d0ba695e8353465b6849a24
Merge: 4c8af36f2 c988da992
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Fri, 5 Dec 2025 09:01:40 +0100

    Natural Cubic Spline Fitting method (#2378)

commit 4c8af36f20219ed96196420468ff4d36b140e538
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 4 Dec 2025 16:04:00 +0100

    Avoid warning about implicit copy constructor

 ql/utilities/steppingiterator.hpp | 1 +
 1 file changed, 1 insertion(+)

commit c988da992947c38670261a138b36f4dffe9b3e81
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 4 Dec 2025 17:39:13 +0100

    Avoid Codacy warning

 ql/termstructures/yield/nonlinearfittingmethods.hpp | 1 +
 1 file changed, 1 insertion(+)

commit 967ec6e95045dcc70969ca7dddbf2305206295db
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 4 Dec 2025 16:22:12 +0100

    No need to add a node at t=0 in the example code

 Examples/FittedBondCurve/FittedBondCurve.cpp | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

commit 41f6b252be88db24e9389f28e92c666806deba6a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 4 Dec 2025 16:21:59 +0100

    More simplification

 .../yield/nonlinearfittingmethods.cpp              | 22 +++++++---------------
 .../yield/nonlinearfittingmethods.hpp              |  1 -
 2 files changed, 7 insertions(+), 16 deletions(-)

commit c6f23c27209f9c87fce7dbb906e7d18425d32aaf
Author: Krishn Parasar <f20202093@hyderabad.bits-pilani.ac.in>
Date:   Thu, 4 Dec 2025 00:21:55 +0530

    Updates based on comments

 Examples/FittedBondCurve/FittedBondCurve.cpp       |  5 +++--
 .../yield/nonlinearfittingmethods.cpp              | 23 +++++-----------------
 .../yield/nonlinearfittingmethods.hpp              |  9 ---------
 3 files changed, 8 insertions(+), 29 deletions(-)

commit 7a04258b20f599e4b489ae599def7a9155358900
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Wed, 3 Dec 2025 17:06:52 +0000

    Update copyright list in license

 LICENSE.TXT | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 6350a42558383f46c52932a4f9ff12e77503fcad
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Wed, 3 Dec 2025 17:06:51 +0000

    Update old license links

 ql/termstructures/globalbootstrap.cpp | 2 +-
 ql/termstructures/multicurve.cpp      | 2 +-
 ql/termstructures/multicurve.hpp      | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 0b3940320262d2f3efe48dc0cc3f0a897bf9b5a8
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Wed, 3 Dec 2025 14:50:38 +0000

    Update generated headers

 ql/termstructures/all.hpp | 1 +
 1 file changed, 1 insertion(+)

commit 44513c97d8f4ef293475cfda51d7dbcb82586b2a
Merge: 7ed57d00e 09edbae05
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 3 Dec 2025 15:48:31 +0100

    Add support for seasoned continuous Asian options (#2381)

commit 8721724e6bbae7a352f2eaa6256a116eb81abc4b
Author: Krishn Parasar <f20202093@hyderabad.bits-pilani.ac.in>
Date:   Wed, 3 Dec 2025 19:39:01 +0530

    Updates based on comments.

 Examples/FittedBondCurve/FittedBondCurve.cpp       |  3 +
 .../yield/nonlinearfittingmethods.cpp              | 71 +---------------------
 2 files changed, 6 insertions(+), 68 deletions(-)

commit 09edbae052edffbde9393eb097c21ba0b27c3e63
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 3 Dec 2025 14:35:20 +0100

    Avoid deprecated constructor in example

 Examples/AsianOption/AsianOption.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 43a9156b4ab8e1a31baca5f3b4e5d9ee95ef0b9f
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 3 Dec 2025 14:20:19 +0100

    Deprecate old engine constructor

 .../asian/continuousarithmeticasianlevyengine.cpp         | 15 ++++++++++++---
 .../asian/continuousarithmeticasianlevyengine.hpp         |  8 ++++++++
 test-suite/asianoptions.cpp                               | 14 +++++++-------
 3 files changed, 27 insertions(+), 10 deletions(-)

commit 7ed57d00e1011f5a036ead8a3dd627cc2d61f520
Merge: b3612efbd 313f6c36a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 3 Dec 2025 13:03:22 +0100

    add multicurve bootstrap (#2344)

commit 313f6c36a4719770b18c9893e1894f571f30b68c
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Mon, 1 Dec 2025 18:03:10 +0100

    improve doc

 ql/termstructures/multicurve.hpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 04d3317642ea2d8486753114011ed1eb7839211c
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Mon, 1 Dec 2025 17:56:55 +0100

    udpate documentation

 ql/termstructures/multicurve.hpp | 45 +++++++++++++++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 7 deletions(-)

commit b3612efbd2aab169f3298f203441f5f86777b019
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Sun, 30 Nov 2025 01:38:50 +0000

    Automated fixes by clang-tidy

 ql/experimental/termstructures/crosscurrencyratehelpers.cpp | 10 +++++-----
 ql/experimental/termstructures/crosscurrencyratehelpers.hpp |  2 +-
 test-suite/crosscurrencyratehelpers.cpp                     |  6 ++++--
 3 files changed, 10 insertions(+), 8 deletions(-)

commit 20ab3cbbab1aedf50a15e0d37e9ccce32ba9c280
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 30 Nov 2025 12:10:56 +0100

    refactor and rename

 ql/termstructures/multicurve.cpp   | 35 ++++++++++-------------------------
 ql/termstructures/multicurve.hpp   | 26 ++++++++++++++------------
 test-suite/piecewiseyieldcurve.cpp |  8 ++++----
 3 files changed, 28 insertions(+), 41 deletions(-)

commit a91e6dcb0ee169d092e9c0e951413cda67f919f1
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 29 Nov 2025 20:01:31 +0100

    use rvalue ref

 ql/termstructures/multicurve.cpp   | 10 ++++------
 ql/termstructures/multicurve.hpp   |  4 ++--
 test-suite/piecewiseyieldcurve.cpp |  8 ++++----
 3 files changed, 10 insertions(+), 12 deletions(-)

commit e103123e29eb62fa78f0ad199b687fef034d3aee
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 29 Nov 2025 19:42:16 +0100

    formatting

 ql/termstructures/multicurve.cpp | 9 ++++-----
 ql/termstructures/multicurve.hpp | 4 ++--
 2 files changed, 6 insertions(+), 7 deletions(-)

commit a806e4338ec5eb2a8e0d80efd4620893b014cf59
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 29 Nov 2025 19:41:01 +0100

    formatting

 ql/termstructures/multicurve.cpp | 1 -
 1 file changed, 1 deletion(-)

commit 7358039bd3ddd6f879218bb94eba8772cdcb57b6
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 29 Nov 2025 19:40:18 +0100

    fix

 ql/termstructures/multicurve.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ce8a571b3c466a236cb246e22c7e13cead70dbf2
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 29 Nov 2025 18:52:23 +0100

    Revert "Simplify usage"
    
    This reverts commit 03db67cd4486a24a81bd39ac91491e94af557df1.

 ql/termstructures/multicurve.cpp                | 42 ++++++++++++++++++-------
 ql/termstructures/multicurve.hpp                | 35 ++++++++++++++-------
 ql/termstructures/yield/piecewiseyieldcurve.hpp | 32 ++++++-------------
 ql/termstructures/yieldtermstructure.hpp        |  2 --
 test-suite/piecewiseyieldcurve.cpp              | 23 +++++++-------
 5 files changed, 75 insertions(+), 59 deletions(-)

commit 04019bd614733bd1c99d201bd9371899e81aa769
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 29 Nov 2025 13:27:12 +0100

    add non-pw curve

 ql/termstructures/multicurve.cpp   | 20 ++++++++++++++++++--
 ql/termstructures/multicurve.hpp   |  7 +++++--
 test-suite/piecewiseyieldcurve.cpp | 19 +++----------------
 3 files changed, 26 insertions(+), 20 deletions(-)

commit 9d2fe9986c5547d5b59a61378ec85a5c80ca59e7
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 29 Nov 2025 11:45:12 +0100

    remove QuantLib namespace qualification

 ql/termstructures/globalbootstrap.hpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 66b5513c4cad1bc958e00f9dffb9bfb11a1e4e44
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 29 Nov 2025 11:41:29 +0100

    add unit test for cycle of zero spreaded and pw curve

 test-suite/piecewiseyieldcurve.cpp | 75 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 73 insertions(+), 2 deletions(-)

commit 03d53bbd92d1ba76ab710e25fc6d01f527486c64
Author: Kareem Fareed <88599145+KookiesNKareem@users.noreply.github.com>
Date:   Fri, 28 Nov 2025 03:14:20 -0700

    Refactor seasoned Asian options: move startDate to option, keep currentAverage in engine
    
    Separates contract terms (option) from market data (engine) per ideal design.

 ql/instruments/asianoption.cpp                            | 13 +------------
 ql/instruments/asianoption.hpp                            | 10 ++++------
 ql/pricingengines/asian/analytic_cont_geom_av_price.cpp   |  2 +-
 .../asian/continuousarithmeticasianlevyengine.cpp         | 15 +++------------
 test-suite/asianoptions.cpp                               |  8 +++-----
 5 files changed, 12 insertions(+), 36 deletions(-)

commit 08ef0689336d2d43ae1d08447f7c9dcc0c62acdc
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Thu, 27 Nov 2025 14:01:40 +0000

    Update generated headers

 ql/quantlib.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2b6e7a6a80dab5f44967899b1488141c67c34098
Merge: 641992d73 7f9f90b2d
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 27 Nov 2025 14:49:34 +0100

    Minor change for consistency of BOOST_ALL_NO_LIB and ql auto_link. (#2385)

commit 641992d7387ec01db08551a48e2736d5d32eb59b
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Thu, 27 Nov 2025 07:51:04 +0000

    Update copyright list in license

 LICENSE.TXT | 2 ++
 1 file changed, 2 insertions(+)

commit 86b141ead5041baf3f842ac5586c3b6d0ad2b522
Author: Krishn Parasar <f20202093@hyderabad.bits-pilani.ac.in>
Date:   Thu, 27 Nov 2025 18:28:08 +0530

    Updates based on comments
    
    Refactored NaturalCubicFitting to use QuantLib’s CubicInterpolation for
    natural spline second-derivative computation and removed custom tridiagonal solver.

 .../yield/nonlinearfittingmethods.cpp              | 195 +++++++++------------
 .../yield/nonlinearfittingmethods.hpp              |  15 +-
 2 files changed, 93 insertions(+), 117 deletions(-)

commit 7f9f90b2d2f4173370bcfe665ce96b965b1f0c4c
Author: francis <fdfrancisduffy@gmail.com>
Date:   Thu, 27 Nov 2025 11:01:59 +0000

    Minor change for consistency of BOOST_ALL_NO_LIB and ql auto_link.

 ql/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cc56685e572b4ff6743fd5f2d239665e26860eea
Merge: 924d4ad0e 673ab76d0
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 27 Nov 2025 08:50:53 +0100

    Add CrossCurrencySwapRateHelper for cross-currency swap bootstrapping (#2367)

commit 282e7423506fd083036bca535af41ba293b6b0d9
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Wed, 26 Nov 2025 23:14:02 +0100

    fix win compilation error using static_cast of lookbackDays

 ql/cashflows/overnightindexedcoupon.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6399fcabaca4578482e6214eae29b931e045b1f0
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Wed, 26 Nov 2025 23:00:00 +0100

    Added adj in ONCoupoon ctor, fix bug when computing the effectiveIndexFixing

 ql/cashflows/overnightindexedcoupon.cpp       |  9 ++++++++-
 ql/cashflows/overnightindexedcouponpricer.cpp | 12 ++++++------
 2 files changed, 14 insertions(+), 7 deletions(-)

commit 673ab76d0c69cac2b635cf527ba0c28bbee30f4a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 26 Nov 2025 17:08:17 +0100

    Refactor common functionality in cross-currency swaps

 .../termstructures/crosscurrencyratehelpers.cpp    | 347 ++++++++++-----------
 .../termstructures/crosscurrencyratehelpers.hpp    | 148 ++++-----
 test-suite/crosscurrencyratehelpers.cpp            | 210 +++++++------
 3 files changed, 345 insertions(+), 360 deletions(-)

commit 924d4ad0e74abe1c879a3456c4d3627cfe23f574
Merge: 0766d68c1 ef7ed6a5f
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 26 Nov 2025 10:41:18 +0100

    Add Asian option example (#2380)

commit ef7ed6a5f187f9d02705ff3880d648fb3569d0ea
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 26 Nov 2025 09:46:16 +0100

    Add new project to VC++ solution file

 QuantLib.sln | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 7db5e392a6281899c5f783d74ea8656b471e2e8b
Author: Kareem Fareed <88599145+KookiesNKareem@users.noreply.github.com>
Date:   Tue, 25 Nov 2025 22:45:44 -0700

    added vcxprroj & vcxproj.filters

 Examples/AsianOption/AsianOption.vcxproj         | 562 +++++++++++++++++++++++
 Examples/AsianOption/AsianOption.vcxproj.filters |  22 +
 2 files changed, 584 insertions(+)

commit a9a3092c23aa7aee4a6bd5d0103d744ccf67c057
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 25 Nov 2025 15:50:31 +0100

    compile issue

 ql/termstructures/yield/piecewiseyieldcurve.hpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 2d71ab59180f142bafdb1bceaa933ece981c7ea3
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 25 Nov 2025 12:57:30 +0100

    fix

 ql/termstructures/yield/piecewiseyieldcurve.hpp | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 0766d68c1f9e8e6247e4a116b8a1597029d8cdd3
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 25 Nov 2025 10:34:18 +0100

    Fix formatting in man page

 man/quantlib-test-suite.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5a0ebbe190c5ba9d12831db6fdd760d7c1c93859
Author: Kareem Fareed <88599145+KookiesNKareem@users.noreply.github.com>
Date:   Mon, 24 Nov 2025 11:33:42 -0800

    Address PR review feedback
    
    - Fix comment: 'Bootstrap' -> 'Set up flat' curves
    - Move Finite Differences to discrete arithmetic section
    - Cleaned output and fixed inaccurate inequality
    - Increase column width for proper alignment (20->24)

 Examples/AsianOption/AsianOption.cpp | 43 +++++++++++++-----------------------
 1 file changed, 15 insertions(+), 28 deletions(-)

commit 3522a8dffb142e55dbc3a13dafbca99af9d8712e
Merge: 3e41c3731 9dcb76300
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 24 Nov 2025 17:00:45 +0100

    Make sure the correct vector initialiser is used even in AD case (#2383)

commit 3e41c3731ecb29b51c22706435488236a72312a5
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon, 24 Nov 2025 11:32:02 +0000

    Bump actions/checkout from 5 to 6
    
    Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/actions/checkout/compare/v5...v6)
    
    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-version: '6'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

 .github/workflows/cmake-latest-runners.yml      |  2 +-
 .github/workflows/cmake.yml                     | 12 ++++++------
 .github/workflows/codeql-analysis.yml           |  2 +-
 .github/workflows/copyrights.yml                |  2 +-
 .github/workflows/coveralls.yml                 |  2 +-
 .github/workflows/devenv-images.yml             |  2 +-
 .github/workflows/doxygen.yml                   |  4 ++--
 .github/workflows/filelists.yml                 |  2 +-
 .github/workflows/generated-headers.yml         |  2 +-
 .github/workflows/headers.yml                   |  2 +-
 .github/workflows/includes.yml                  |  2 +-
 .github/workflows/increase-version-number.yml   |  2 +-
 .github/workflows/license-url.yml               |  2 +-
 .github/workflows/linux-full-tests.yml          |  2 +-
 .github/workflows/linux-nondefault.yml          |  2 +-
 .github/workflows/linux.yml                     |  2 +-
 .github/workflows/macos-nondefault.yml          |  2 +-
 .github/workflows/macos.yml                     |  2 +-
 .github/workflows/misspell.yml                  |  2 +-
 .github/workflows/msvc-all-configs.yml          |  2 +-
 .github/workflows/msvc-analysis.yml             |  2 +-
 .github/workflows/msvc-nondefault.yml           |  2 +-
 .github/workflows/msvc.yml                      |  2 +-
 .github/workflows/namespaces.yml                |  2 +-
 .github/workflows/prepare-release-candidate.yml |  2 +-
 .github/workflows/prepare-release.yml           |  2 +-
 .github/workflows/publish-release-candidate.yml |  2 +-
 .github/workflows/publish-release.yml           |  2 +-
 .github/workflows/sanitizer.yml                 |  4 ++--
 .github/workflows/sync-qldefines.yml            |  2 +-
 .github/workflows/test-times.yml                |  2 +-
 .github/workflows/tidy.yml                      |  2 +-
 32 files changed, 39 insertions(+), 39 deletions(-)

commit 09959bef7ca4f7ccb8026b01e40f63f740bdb29e
Author: Kareem Fareed <88599145+KookiesNKareem@users.noreply.github.com>
Date:   Sun, 23 Nov 2025 23:03:07 -0800

    Add support for seasoned continuous Asian options
    
    Implements the long-standing TODO for running average support in continuous
    Asian options. Seasoned options are those where averaging has already started
    and a current average value is known.
    
    - Add new constructor to ContinuousAveragingAsianOption accepting currentAverage
      and startDate for seasoned options
    - Update ContinuousArithmeticAsianLevyEngine to handle seasoned options by
      adjusting strike based on accumulated average
    - Add proper validation requiring both currentAverage and startDate together
    - Add error handling for geometric seasoned options (not yet implemented)
    - Add comprehensive unit tests verifying correct pricing behavior
    - Maintain full backward compatibility with existing code
    
    All 1171 tests pass with no errors or warnings.

 ql/instruments/asianoption.cpp                     |  25 ++++-
 ql/instruments/asianoption.hpp                     |  28 ++++-
 .../asian/analytic_cont_geom_av_price.cpp          |   8 ++
 .../asian/continuousarithmeticasianlevyengine.cpp  |  23 +++-
 test-suite/asianoptions.cpp                        | 119 +++++++++++++++++++++
 5 files changed, 192 insertions(+), 11 deletions(-)

commit e8e8ed6b23ee6eb1231774b3b0712e3e3a21d79c
Author: Kareem Fareed <88599145+KookiesNKareem@users.noreply.github.com>
Date:   Sun, 23 Nov 2025 22:24:16 -0800

    Add Asian option example
    
    This example demonstrates pricing of Asian options using various methods:
    - Discrete geometric average (analytic and Monte Carlo)
    - Discrete arithmetic average (Monte Carlo with/without control variate,
      Turnbull-Wakeman approximation, finite differences)
    - Continuous geometric average (analytic)
    - Continuous arithmetic average (Levy engine)

 Examples/AsianOption/AsianOption.cpp | 314 +++++++++++++++++++++++++++++++++++
 Examples/AsianOption/CMakeLists.txt  |   5 +
 Examples/CMakeLists.txt              |   1 +
 Examples/Makefile.am                 |   4 +
 4 files changed, 324 insertions(+)

commit ee298ee6565b80715a28e1fe627fe2df77f7fc19
Author: uzi101 <uzairbeg11@gmail.com>
Date:   Sun, 23 Nov 2025 15:49:19 -0500

    Finalize const-notional CCS helper and test suite per review feedback

 .../termstructures/crosscurrencyratehelpers.cpp    |  44 +++---
 .../termstructures/crosscurrencyratehelpers.hpp    |   7 +-
 ql/termstructures/yield/all.hpp                    |   1 -
 test-suite/crosscurrencyratehelpers.cpp            | 166 ++++++++++++---------
 4 files changed, 118 insertions(+), 100 deletions(-)

commit 330285ff8e038755065747fda052e1895fbbbc4f
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 23 Nov 2025 20:01:10 +0100

    handle case where base class enables shared from this

 ql/termstructures/yield/piecewiseyieldcurve.hpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 03db67cd4486a24a81bd39ac91491e94af557df1
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Tue, 28 Oct 2025 15:20:06 -0400

    Simplify usage

 ql/termstructures/multicurve.cpp                | 20 ++++++--------------
 ql/termstructures/multicurve.hpp                | 19 +++++++------------
 ql/termstructures/yield/piecewiseyieldcurve.hpp | 23 +++++++++++++++--------
 test-suite/piecewiseyieldcurve.cpp              |  4 ++--
 4 files changed, 30 insertions(+), 36 deletions(-)

commit d8a49e3d14b513e62ca13742bada0724f5aaa431
Author: Krishn Parasar <f20202093@hyderabad.bits-pilani.ac.in>
Date:   Sun, 23 Nov 2025 20:07:01 +0530

    Natural Cubic Spline Fitting method

 Examples/FittedBondCurve/FittedBondCurve.cpp       |  61 ++++++-
 .../yield/nonlinearfittingmethods.cpp              | 187 +++++++++++++++++++++
 .../yield/nonlinearfittingmethods.hpp              |  40 +++++
 3 files changed, 281 insertions(+), 7 deletions(-)

commit 262bce13bcd67fcd77e46bba64c5e49be469248a
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 23 Nov 2025 13:14:44 +0100

    make MultiCurveBootstrap internal to MultiCurve

 ql/termstructures/globalbootstrap.cpp | 8 +++++++-
 ql/termstructures/multicurve.cpp      | 8 ++++++--
 ql/termstructures/multicurve.hpp      | 4 +++-
 test-suite/piecewiseyieldcurve.cpp    | 2 +-
 4 files changed, 17 insertions(+), 5 deletions(-)

commit 9dcb763008752d894848b16dba640ccc3d648177
Author: Auto Differentiation Dev Team <107129969+auto-differentiation-dev@users.noreply.github.com>
Date:   Fri, 21 Nov 2025 12:34:28 +0000

    Make sure the correct vector initialiser is used even in AD case
    
    If Real is not double, the compiler has to choose between converting {1.0} to a `Real` for value initializer, or converting it to a `size_t` for the size initializer, and favours the latter.

 test-suite/dividendoption.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e46ecf9f013f3fbc9ea9bbaec07ed43b99df5818
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Tue, 18 Nov 2025 13:43:56 +0000

    Update generated headers

 ql/pricingengines/vanilla/all.hpp | 1 +
 1 file changed, 1 insertion(+)

commit 825246da0d208dc0a7ed887aef2caebbf0c9c671
Merge: e3bf39e73 3d3c2f133
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 18 Nov 2025 14:41:44 +0100

    added semi-analytic European engine for a single asset with cash dividends (#2373)

commit ae36b13f2e5a9a7f4edfb6e4e6bf4ab55bc06926
Author: uzi101 <uzairbeg11@gmail.com>
Date:   Fri, 14 Nov 2025 11:06:53 -0500

    Update cross-currency swap rate helper and test suite

 .../termstructures/crosscurrencyratehelpers.cpp    | 168 ++++++++++++---------
 .../termstructures/crosscurrencyratehelpers.hpp    |  56 ++++---
 test-suite/crosscurrencyratehelpers.cpp            | 100 +++++++++++-
 3 files changed, 224 insertions(+), 100 deletions(-)

commit e3bf39e73e79d5a15e1b23a314f126e35711298e
Merge: 18819d475 58036268f
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 13 Nov 2025 11:37:06 +0100

    Deprecate retrieval of lagged rates from inflation term structures (#2374)

commit 18819d47591901acd33ac78430cfce7d7363626a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Thu, 13 Nov 2025 09:42:50 +0100

    Fix a few typos

 Docs/pages/lattices.docs                                              | 2 +-
 Examples/DiscreteHedging/DiscreteHedging.cpp                          | 2 +-
 Examples/FRA/FRA.cpp                                                  | 2 +-
 ql/experimental/credit/basecorrelationlossmodel.hpp                   | 2 +-
 ql/experimental/credit/defaultevent.hpp                               | 2 +-
 ql/experimental/credit/randomdefaultlatentmodel.hpp                   | 2 +-
 ql/experimental/credit/randomlosslatentmodel.hpp                      | 2 +-
 ql/experimental/credit/recursivelossmodel.hpp                         | 2 +-
 ql/experimental/credit/saddlepointlossmodel.hpp                       | 2 +-
 ql/methods/finitedifferences/tridiagonaloperator.hpp                  | 2 +-
 ql/models/marketmodels/models/capletcoterminalswaptioncalibration.cpp | 4 ++--
 ql/models/shortrate/onefactormodels/markovfunctional.hpp              | 2 +-
 ql/pricingengines/forward/forwardengine.hpp                           | 2 +-
 ql/pricingengines/swaption/gaussian1dfloatfloatswaptionengine.hpp     | 4 ++--
 ql/termstructures/defaulttermstructure.hpp                            | 2 +-
 ql/termstructures/volatility/equityfx/impliedvoltermstructure.hpp     | 4 ++--
 16 files changed, 19 insertions(+), 19 deletions(-)

commit 58036268f142968d014900bcf4e374f3082d643a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 12 Nov 2025 08:16:55 +0100

    Deprecate retrieval of lagged rates from inflation term structures
    
    No longer needed since the lag is managed by the coupons.

 .../inflation/yoycapfloortermpricesurface.hpp      |  3 +-
 ql/indexes/inflationindex.cpp                      |  4 +--
 .../inflation/inflationcapfloorengines.cpp         |  2 +-
 ql/termstructures/inflationtermstructure.cpp       | 12 +++++++
 ql/termstructures/inflationtermstructure.hpp       | 37 ++++++++++++++--------
 test-suite/inflation.cpp                           |  2 +-
 6 files changed, 41 insertions(+), 19 deletions(-)

commit 3d3c2f133a0d32c9f0e494f2a39b124ef27ec043
Author: klaus spanderen <klaus@spanderen.de>
Date:   Wed, 12 Nov 2025 21:54:25 +0100

    fixed error message

 ql/pricingengines/basket/choibasketengine.cpp | 2 ++
 test-suite/dividendoption.cpp                 | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

commit 4049af9e4eae2a3c25460bec60ffda2b4bdc7f30
Author: klaus spanderen <klaus@spanderen.de>
Date:   Wed, 12 Nov 2025 19:23:37 +0100

    extend test cases

 ql/pricingengines/basket/choibasketengine.cpp      |   6 +-
 .../vanilla/cashdividendeuropeanengine.cpp         |  47 +++--
 test-suite/dividendoption.cpp                      | 203 +++++++++++++++++++--
 3 files changed, 228 insertions(+), 28 deletions(-)

commit a1fe2fe4e1bed4d8d174800d5a84d036f769cf12
Merge: 339376eeb e6ebc3426
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 12 Nov 2025 13:47:57 +0100

    Make it possible to use default setting for `includeSettlementDateFlows` in `CashFlows` methods (#2372)

commit e6ebc34265bc2bb42dc2c098824154430da437ec
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 11 Nov 2025 17:59:45 +0100

    Use default settings in Bond::isExpired

 ql/instruments/bond.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 02b1a141388e39e05a404a9a5048d1590c8e038a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 11 Nov 2025 17:04:39 +0100

    Remove unused parameter in internal function

 ql/cashflows/cashflows.cpp | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 4b7ea77e4cfda714a676d00fc7080829d977fd49
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 11 Nov 2025 16:55:55 +0100

    Make it possible to use default setting for includeSettlementDateFlows

 ql/cashflows/cashflows.cpp | 84 +++++++++++++++++++++----------------------
 ql/cashflows/cashflows.hpp | 90 +++++++++++++++++++++++-----------------------
 2 files changed, 87 insertions(+), 87 deletions(-)

commit 339376eebbad41b032c2d8249c838ef5bd30e024
Merge: 0d1259428 d6e29d7b1
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 11 Nov 2025 09:05:40 +0100

    Simplify LogInterpolationImpl and MixedInterpolationImpl (#2363)

commit 0d12594286c3da9d610ffbc0c04fdb9a77678c8a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 10 Nov 2025 11:04:40 +0100

    Update Boost download link in workflow

 .github/workflows/cmake-latest-runners.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5c85938badaff1787800f4e13da28184d76d7f5a
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Sun, 9 Nov 2025 01:41:09 +0000

    Automated fixes by clang-tidy

 ql/termstructures/yield/piecewiseforwardspreadedtermstructure.hpp | 4 ++--
 ql/termstructures/yield/piecewisezerospreadedtermstructure.hpp    | 4 ++--
 ql/termstructures/yield/zerospreadedtermstructure.hpp             | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

commit 7ccb3629ef1b423ab7c7eca2152bd3b272f4208d
Author: uzi101 <uzairbeg11@gmail.com>
Date:   Sat, 8 Nov 2025 08:56:29 -0500

    Refactor CrossCurrencySwapRateHelper into experimental helpers with unified collateral handling

 ql/CMakeLists.txt                                  |   2 -
 .../termstructures/crosscurrencyratehelpers.cpp    | 133 +++++++++
 .../termstructures/crosscurrencyratehelpers.hpp    |  54 +++-
 .../yield/crosscurrencyswapratehelper.cpp          | 166 -----------
 .../yield/crosscurrencyswapratehelper.hpp          |  73 -----
 test-suite/CMakeLists.txt                          |   1 -
 test-suite/crosscurrencyratehelpers.cpp            | 116 +++++++-
 test-suite/crosscurrencyswapratehelper.cpp         | 306 ---------------------
 8 files changed, 301 insertions(+), 550 deletions(-)

commit ef1f370cea722ed63ad6222abee63789689d31b5
Author: klaus spanderen <klaus@spanderen.de>
Date:   Thu, 6 Nov 2025 22:59:43 +0100

    reformat tabs

 .../finitedifferences/stepconditions/fdmstepconditioncomposite.cpp  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 70fb37f74906f1ea5d04d469beb5ce82ffeed332
Author: klaus spanderen <klaus@spanderen.de>
Date:   Thu, 6 Nov 2025 22:58:38 +0100

    reformat tabs

 .../vanilla/cashdividendeuropeanengine.cpp         |  36 +--
 .../vanilla/cashdividendeuropeanengine.hpp         |  10 +-
 .../vanilla/fdblackscholesvanillaengine.cpp        |  10 +-
 .../vanilla/fdblackscholesvanillaengine.hpp        |   4 +-
 test-suite/dividendoption.cpp                      | 308 ++++++++++-----------
 5 files changed, 184 insertions(+), 184 deletions(-)

commit 97a7e04c3ae54b02b7978e631ee1c27f9efc90e9
Author: klaus spanderen <klaus@spanderen.de>
Date:   Thu, 6 Nov 2025 22:51:49 +0100

    fixed  test cases

 .../vanilla/cashdividendeuropeanengine.cpp         | 173 +++++++++++++++++++++
 .../vanilla/cashdividendeuropeanengine.hpp         |  67 ++++++++
 test-suite/americanoption.cpp                      |   4 +-
 test-suite/dividendoption.cpp                      |   2 +-
 4 files changed, 242 insertions(+), 4 deletions(-)

commit 6e20b12c99edaf4092920bd3bb771421852dad90
Author: klaus spanderen <klaus@spanderen.de>
Date:   Thu, 6 Nov 2025 21:16:05 +0100

    cash dividend engine, first version

 QuantLib.vcxproj                                   |   2 +
 QuantLib.vcxproj.filters                           |   6 +
 ql/CMakeLists.txt                                  |   2 +
 .../stepconditions/fdmstepconditioncomposite.cpp   |  12 +-
 .../utilities/escroweddividendadjustment.cpp       |   3 +-
 ql/pricingengines/vanilla/Makefile.am              |   2 +
 .../vanilla/fdblackscholesvanillaengine.cpp        |  20 +-
 .../vanilla/fdblackscholesvanillaengine.hpp        |   7 +-
 test-suite/dividendoption.cpp                      | 270 +++++++++++++++++++++
 test-suite/fdheston.cpp                            |   1 -
 10 files changed, 312 insertions(+), 13 deletions(-)

commit a56667380bef38d0f8fe766d8e4a1ff9c122b7b5
Author: uzi101 <uzairbeg11@gmail.com>
Date:   Wed, 5 Nov 2025 18:06:21 -0500

    Add CrossCurrencySwapRateHelper for cross-currency swap bootstrapping

 ql/CMakeLists.txt                                  |   2 +
 ql/termstructures/yield/all.hpp                    |   1 +
 .../yield/crosscurrencyswapratehelper.cpp          | 166 +++++++++++
 .../yield/crosscurrencyswapratehelper.hpp          |  73 +++++
 test-suite/CMakeLists.txt                          |   1 +
 test-suite/crosscurrencyswapratehelper.cpp         | 306 +++++++++++++++++++++
 6 files changed, 549 insertions(+)

commit 33e452e496f8e6b5147e5b4a214e3934a48d6e18
Merge: c068ec3a2 7419a6885
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 5 Nov 2025 14:29:24 +0100

    Remove day counter argument from spreaded curves (#2365)

commit 7419a6885dded8f111a199c95ce1fab7b7d4ef90
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 5 Nov 2025 12:11:09 +0100

    Show deprecation in generated docs

 ql/termstructures/yield/piecewiseforwardspreadedtermstructure.hpp | 3 +++
 ql/termstructures/yield/piecewisezerospreadedtermstructure.hpp    | 3 +++
 ql/termstructures/yield/zerospreadedtermstructure.hpp             | 3 +++
 3 files changed, 9 insertions(+)

commit c068ec3a276834f5a60358bdce8d29c22671204d
Merge: d823f4ecb e1b3051f5
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 3 Nov 2025 16:24:03 +0100

    Allow crossed ranges in holidayList and businessDayList (#2362)

commit 5cb1bffa0d3a1e4ddf40c530fdefd6281f32ffdc
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Thu, 30 Oct 2025 15:31:15 -0400

    Remove day counter argument from spreaded curves
    
    Spreaded curves always use the same day counter as the original curve.
    It's not possible to support a different day counter without some API
    changes on the base YieldTermStructure. Currently these classes simply
    ignore the passed day counter. Deprecate the current constructors and
    add new ones that do not take a day counter.

 ql/cashflows/cashflows.cpp                         | 71 +++++-----------------
 .../finitedifferences/operators/fdmbatesop.cpp     |  4 +-
 .../piecewiseforwardspreadedtermstructure.hpp      | 42 +++++++++----
 .../yield/piecewisezerospreadedtermstructure.hpp   | 49 +++++++++++----
 .../yield/zerospreadedtermstructure.hpp            | 24 +++++---
 test-suite/capfloor.cpp                            |  8 +--
 test-suite/piecewisezerospreadedtermstructure.cpp  |  5 +-
 7 files changed, 101 insertions(+), 102 deletions(-)

commit d6e29d7b12265bcd52e535d7743e1041ef154c15
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Wed, 29 Oct 2025 22:18:28 -0400

    Simplify LogInterpolationImpl and MixedInterpolationImpl
    
    Remove Interpolators as class template parameters and move them to
    constructors instead. They are not used after construction. This removes
    duplication in the generated code.
    
    Also, remove unneeded members from MixedInterpolationImpl and improve
    the check on switch point.

 ql/math/interpolation.hpp                     |  4 +-
 ql/math/interpolations/loginterpolation.hpp   | 41 ++++++++---------
 ql/math/interpolations/mixedinterpolation.hpp | 64 +++++++++++++--------------
 3 files changed, 51 insertions(+), 58 deletions(-)

commit 1e8c557b296526b7607d8916d31106b6f7dbaac6
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Thu, 30 Oct 2025 09:02:47 +0100

    allow to add observers to multicurve bootstrap

 ql/termstructures/globalbootstrap.cpp | 10 +++++++++-
 ql/termstructures/globalbootstrap.hpp |  2 ++
 ql/termstructures/multicurve.cpp      |  4 ++++
 ql/termstructures/multicurve.hpp      |  5 +++--
 4 files changed, 18 insertions(+), 3 deletions(-)

commit e1b3051f571f37d986bd9ff347e571bbcdfa270d
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Wed, 29 Oct 2025 22:09:27 -0400

    Allow crossed ranges in holidayList and businessDayList
    
    This should just return an empty vector instead of throwing an error.

 ql/time/calendar.cpp     |  6 ------
 test-suite/calendars.cpp | 13 +++++++++----
 2 files changed, 9 insertions(+), 10 deletions(-)

commit 42bdd82ef8385a1b8c303319e159f70df4d56b71
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 29 Oct 2025 18:03:18 +0100

    not needed any more

 ql/termstructures/iterativebootstrap.hpp | 1 -
 ql/termstructures/localbootstrap.hpp     | 1 -
 2 files changed, 2 deletions(-)

commit 139b5e3d7963f70f86cb46c43efb282ca9a149ba
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Tue, 28 Oct 2025 15:53:03 -0400

    Make safer

 ql/termstructures/multicurve.cpp                | 3 ++-
 ql/termstructures/yield/piecewiseyieldcurve.hpp | 6 +++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

commit 0497ccdba90de03a4563817d6360f0649b263182
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 29 Oct 2025 16:24:53 +0100

    handle thread safe observer build

 ql/termstructures/multicurve.cpp | 12 ++++++++----
 ql/termstructures/multicurve.hpp |  9 ++++++---
 2 files changed, 14 insertions(+), 7 deletions(-)

commit d353587bf8d101101368890dc0449172428dd836
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 29 Oct 2025 12:09:28 +0100

    back to original code, does the order matter?

 ql/termstructures/multicurve.cpp | 4 ++--
 ql/termstructures/multicurve.hpp | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

commit c3e3fee60b04cd281ac35ec3d1cf72831d2177b2
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 29 Oct 2025 12:08:21 +0100

    Revert "attempt to resolve compile and weak_ptr issues"
    
    This reverts commit f6e7a59a57bc877403d657494aa457ac06b3ef70.

 ql/termstructures/multicurve.cpp | 4 ++--
 ql/termstructures/multicurve.hpp | 7 ++++---
 2 files changed, 6 insertions(+), 5 deletions(-)

commit f6e7a59a57bc877403d657494aa457ac06b3ef70
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 29 Oct 2025 11:29:57 +0100

    attempt to resolve compile and weak_ptr issues

 ql/termstructures/multicurve.cpp | 4 ++--
 ql/termstructures/multicurve.hpp | 7 +++----
 2 files changed, 5 insertions(+), 6 deletions(-)

commit a8095fd9069eda1afe64d25197c6a6e40eca770b
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 29 Oct 2025 09:56:23 +0100

    do we need this?

 ql/termstructures/multicurve.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 21808cdf585172ff4ceb78f2fa4f1dc5748a7e3c
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 29 Oct 2025 09:46:19 +0100

    not needed

 ql/termstructures/multicurve.hpp | 1 -
 1 file changed, 1 deletion(-)

commit e3966ee973b627b45d44944874d88f748999ebfd
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Wed, 29 Oct 2025 09:24:05 +0100

    fix

 ql/termstructures/multicurve.cpp | 4 ++--
 ql/termstructures/multicurve.hpp | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

commit ea31f6d580ed1a62feb9b754b1e007c300300f31
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 28 Oct 2025 19:45:45 +0100

    simplify observability

 ql/termstructures/multicurve.cpp | 31 +++++++------------------------
 ql/termstructures/multicurve.hpp | 21 +++++----------------
 2 files changed, 12 insertions(+), 40 deletions(-)

commit 4a2638ba567e0e011107ed71ec6a6d2d49bc238d
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Tue, 28 Oct 2025 19:45:24 +0100

    use dynamic cast

 ql/termstructures/globalbootstrap.hpp           | 2 +-
 ql/termstructures/iterativebootstrap.hpp        | 1 +
 ql/termstructures/localbootstrap.hpp            | 1 +
 ql/termstructures/yield/piecewiseyieldcurve.hpp | 5 ++++-
 ql/termstructures/yieldtermstructure.hpp        | 2 +-
 5 files changed, 8 insertions(+), 3 deletions(-)

commit d823f4ecbadebeeafc98b4b68e7372576341aa11
Merge: aa0fa6ff8 db1b59cc4
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 28 Oct 2025 15:43:46 +0100

    Implement ZeroCouponInflationSwap::fixedLegBPS() (#2360)

commit aa0fa6ff89fc8aba2a659d9052e7d4f9d88e07dc
Merge: b5f79d4a3 d734b6b9b
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 28 Oct 2025 15:28:08 +0100

    Small optimization for VV adjustment (#2356)

commit db1b59cc4ff8c125244998844aa7ae33cf0cc224
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Sat, 25 Oct 2025 10:33:16 -0400

    Implement ZeroCouponInflationSwap::fixedLegBPS()

 ql/instruments/zerocouponinflationswap.cpp | 19 +++++++++++++++++++
 ql/instruments/zerocouponinflationswap.hpp |  1 +
 ql/instruments/zerocouponswap.cpp          |  6 +++---
 test-suite/inflation.cpp                   | 21 ++++++++++++++++++++-
 4 files changed, 43 insertions(+), 4 deletions(-)

commit b5f79d4a320c6ee78bf6364c943bd9bfc7545da8
Merge: fd20c1cfe 04186b702
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 27 Oct 2025 15:14:31 +0100

    fixed misspelled Euribor curve (#2359)

commit fd20c1cfe47da2b4521dd548dfd8ccd9120e0852
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon, 27 Oct 2025 12:05:30 +0000

    Bump actions/upload-artifact from 4 to 5
    
    Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
    - [Release notes](https://github.com/actions/upload-artifact/releases)
    - [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)
    
    ---
    updated-dependencies:
    - dependency-name: actions/upload-artifact
      dependency-version: '5'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

 .github/workflows/msvc-analysis.yml | 2 +-
 .github/workflows/test-times.yml    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 04186b70291f39f42cbe728f7be4713e1dcc909c
Author: Babar Khan <46613555+BabarZKhan@users.noreply.github.com>
Date:   Mon, 27 Oct 2025 13:49:03 +0100

    Fix misspelled Euribor curve

 Examples/Gaussian1dModels/Gaussian1dModels.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d1574ee74ddb850a64d8a6385d15d91b50096c78
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Sun, 26 Oct 2025 01:32:00 +0000

    Automated fixes by clang-tidy

 ql/termstructures/inflation/inflationhelpers.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c698c94c474cb91c8af3080a93e614226a01754a
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 26 Oct 2025 10:28:27 +0100

    tbd, simplify interface, but undefined behavior possible

 ql/termstructures/multicurve.cpp                | 8 ++++++--
 ql/termstructures/multicurve.hpp                | 3 +--
 ql/termstructures/yield/piecewiseyieldcurve.hpp | 3 ++-
 ql/termstructures/yieldtermstructure.hpp        | 5 +++++
 test-suite/piecewiseyieldcurve.cpp              | 4 ++--
 5 files changed, 16 insertions(+), 7 deletions(-)

commit e25269befa0c9a0b706c3ae7dd595066300daf80
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 26 Oct 2025 10:26:52 +0100

    merge setupCostFunction() and guess() into one method

 ql/termstructures/globalbootstrap.cpp |  3 +--
 ql/termstructures/globalbootstrap.hpp | 22 +++++++++-------------
 2 files changed, 10 insertions(+), 15 deletions(-)

commit c2e2f07a811af23d67bbd2fa0463e04156b74867
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 26 Oct 2025 09:45:25 +0100

    make class final

 ql/termstructures/globalbootstrap.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 41f0b952750daf76a3265bb1b535cc0da0d74e2b
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 25 Oct 2025 16:13:43 +0200

    fix test setup

 test-suite/piecewiseyieldcurve.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit b6f3538bb01d56701776c0e95503927c9931a509
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 25 Oct 2025 13:25:28 +0200

    should be explicit

 ql/termstructures/globalbootstrap.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 56adfa9c264aa2b72ae9e078d5771a0995e98249
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 25 Oct 2025 12:42:45 +0200

    init members

 ql/termstructures/globalbootstrap.hpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit aa3366889f789240ea1d5a6980c211f67a1c7723
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 25 Oct 2025 12:20:13 +0200

    add unit test

 test-suite/piecewiseyieldcurve.cpp | 141 +++++++++++++++++++++++++++++++++++++
 1 file changed, 141 insertions(+)

commit 0443b4ed1052bd2ec41df2561bf678e6e46f5990
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 25 Oct 2025 12:20:03 +0200

    add multicurve

 QuantLib.vcxproj                 |  4 ++-
 QuantLib.vcxproj.filters         |  8 ++++-
 ql/CMakeLists.txt                |  2 ++
 ql/termstructures/Makefile.am    |  2 ++
 ql/termstructures/multicurve.cpp | 71 ++++++++++++++++++++++++++++++++++++++++
 ql/termstructures/multicurve.hpp | 69 ++++++++++++++++++++++++++++++++++++++
 6 files changed, 154 insertions(+), 2 deletions(-)

commit 126d40fe220c7c1cd23abaab960d22d0f534fc1b
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 25 Oct 2025 12:19:33 +0200

    simplify

 ql/termstructures/globalbootstrap.cpp | 146 ++++++++++++++-------------------
 ql/termstructures/globalbootstrap.hpp | 147 ++++++++++++++--------------------
 2 files changed, 122 insertions(+), 171 deletions(-)

commit 70d83d5b4cd64615019efb7e8ab7e42dd1ff00ef
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 25 Oct 2025 12:19:16 +0200

    add inspector

 ql/termstructures/yield/piecewiseyieldcurve.hpp | 1 +
 1 file changed, 1 insertion(+)

commit d734b6b9b58c12dd0250939f191c4e8d5dbc29b0
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 24 Oct 2025 23:56:15 +0200

    Remove atm bs and atm market price, since they are the same

 ql/experimental/barrieroption/vannavolgabarrierengine.cpp | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

commit ca8d518c857d8667da402f97aa8294844561f73f
Merge: a41624cfe 19c510204
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Fri, 24 Oct 2025 16:56:57 +0200

    fix: clean up extra semicolon in output loops (#2355)

commit 19c5102048bbb53b2f98931d9bbcbb6643fb02b7
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Fri, 24 Oct 2025 15:16:09 +0200

    Fix indentation to avoid CI warning

 Examples/LatentModel/LatentModel.cpp | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

commit a41624cfe9e8ba88b59817de158b629f9e6c7142
Merge: a67b0dba4 4ae8dfcfe
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Fri, 24 Oct 2025 15:01:12 +0200

    Vanna-Volga (#2354)

commit 5f6c9e0e55688e8545605a4124179e82cb5f76c0
Author: BabarZKhan <46613555+BabarZKhan@users.noreply.github.com>
Date:   Fri, 24 Oct 2025 12:11:57 +0200

    fix: clean up extra semicolon in output loops
    
    I'm using QuantLib examples to deep-dive into QuantLib. While testing and understanding basic usage of a Latent variable model, I found some extra semicolons in nested loops.  Yes, it is syntactically valid but serves no purpose.

 Examples/LatentModel/LatentModel.cpp | 2 --
 1 file changed, 2 deletions(-)

commit 4ae8dfcfefd70e6c141a2c87c1afaf7b3e48cba3
Author: kp9991 <kp9991@gmail.com>
Date:   Wed, 22 Oct 2025 19:58:09 +1100

    Vanna-Volga

 ql/pricingengines/bacheliercalculator.cpp | 21 ++++++++++++
 ql/pricingengines/bacheliercalculator.hpp |  6 ++++
 ql/pricingengines/blackcalculator.cpp     | 32 +++++++++++++++++++
 ql/pricingengines/blackcalculator.hpp     |  6 ++++
 test-suite/bacheliercalculator.cpp        | 53 +++++++++++++++++++++++++++++++
 test-suite/blackcalculator.cpp            | 52 ++++++++++++++++++++++++++++++
 6 files changed, 170 insertions(+)

commit a67b0dba4db6217ec5c48f324df382c7864f9198
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 21 Oct 2025 12:49:56 +0200

    Update default Ubuntu image for CI builds

 .github/workflows/devenv-images.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit afd13138c17f64a8f6ded6b36dc1e0c1da919607
Merge: 81d4dd108 65074a39a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 20 Oct 2025 17:11:15 +0200

    Add constructors with 2 dates for inflation swap helpers (#2351)

commit 81d4dd10881d81593d30b2ca35fecba11f010e8a
Merge: 10fa56041 948ff6fcc
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 20 Oct 2025 12:26:29 +0200

    Make PiecewiseSpreadYieldCurve::traits_type public (#2350)

commit 10fa56041dd734e4356f3c907e51347170e7adfe
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Sun, 19 Oct 2025 01:42:45 +0000

    Automated fixes by clang-tidy

 test-suite/ultimateforwardtermstructure.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 65074a39a82810a7ac7ef6a23957294077129992
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Sat, 18 Oct 2025 19:18:59 -0400

    Add constructors with 2 dates for inflation swap helpers

 ql/termstructures/inflation/inflationhelpers.cpp | 77 +++++++++++++++++++-----
 ql/termstructures/inflation/inflationhelpers.hpp | 40 +++++++++++-
 2 files changed, 98 insertions(+), 19 deletions(-)

commit 948ff6fccc4c61b2f6d790e25f61e9639b0b66d3
Author: Eugene Toder <eltoder@twosigma.com>
Date:   Sat, 18 Oct 2025 17:19:19 -0400

    Make PiecewiseSpreadYieldCurve::traits_type public
    
    This matches PiecewiseYieldCurve and is useful in some generic code.

 ql/termstructures/yield/piecewisespreadyieldcurve.hpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit b8a116f59706c57f683cc0298cdbcd96f5e9446f
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 17 Oct 2025 10:49:41 +0200

    Small adjustments as suggested in the PR

 ql/cashflows/blackovernightindexedcouponpricer.hpp |  2 --
 ql/cashflows/couponpricer.cpp                      | 18 ++++++++++--------
 ql/cashflows/overnightindexedcouponpricer.cpp      |  1 +
 3 files changed, 11 insertions(+), 10 deletions(-)

commit ae9d80438ac70e644eb97cbcff96e29cb928d057
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Wed, 15 Oct 2025 15:42:42 +0000

    Update copyright list in license

 LICENSE.TXT | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0f8041b4cb0e5da5ec2e5799640f9b00b6baf99c
Merge: 84b0e8ecc bccac7e14
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 15 Oct 2025 17:42:32 +0200

    Enable rounding in UFR interpolation (#2342)

commit bccac7e14ff917a9d4a8ee1d03bce3b4c337a94a
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 15 Oct 2025 16:15:26 +0200

    Expanded comment

 ql/termstructures/yield/ultimateforwardtermstructure.hpp | 8 ++++----
 test-suite/ultimateforwardtermstructure.cpp              | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 84b0e8ecc99836c31a7350f9f68b0bf77be7d9ce
Merge: 10f1dfd7e 6f379f4e9
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 14 Oct 2025 15:11:39 +0200

    Remove features deprecated in version 1.36 (#2348)

commit 10f1dfd7e076e540b2c855b7dd1a16789edd5666
Author: lballabio[bot] <224797326+lballabio-bot@users.noreply.github.com>
Date:   Tue, 14 Oct 2025 08:47:55 +0000

    Set version to 1.41-dev

 CMakeLists.txt | 6 +++---
 configure.ac   | 2 +-
 ql/version.hpp | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

commit bcd4d3b7d8eb2502b486930d1b0db50468f6be45
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 14 Oct 2025 09:39:51 +0200

    Removed deprecated macos-13 runner from CI builds

 .github/workflows/cmake-latest-runners.yml | 1 -
 .github/workflows/macos-nondefault.yml     | 2 +-
 .github/workflows/macos.yml                | 2 +-
 3 files changed, 2 insertions(+), 3 deletions(-)

commit 976baa9f6b6626da2e796fa59d78c5608725a296
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 14 Oct 2025 09:59:51 +0200

    Add workflow to increase version number after release

 .github/workflows/increase-version-number.yml | 40 +++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit 463fbded733c90120dc2c24b2e1b22dd98dc18ca
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon, 13 Oct 2025 11:48:14 +0000

    Bump github/codeql-action from 3 to 4
    
    Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
    - [Release notes](https://github.com/github/codeql-action/releases)
    - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/github/codeql-action/compare/v3...v4)
    
    ---
    updated-dependencies:
    - dependency-name: github/codeql-action
      dependency-version: '4'
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>

 .github/workflows/codeql-analysis.yml | 6 +++---
 .github/workflows/msvc-analysis.yml   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 6f379f4e9dea16419365f6c64dae8f9106f51f78
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Mon, 8 Sep 2025 17:24:56 +0200

    Remove features deprecated in version 1.36

 QuantLib.vcxproj                                   |   6 -
 QuantLib.vcxproj.filters                           |  18 --
 cmake/GenerateHeaders.cmake                        |   9 +-
 ql/CMakeLists.txt                                  |   6 -
 ql/Makefile.am                                     |   2 +
 ql/cashflows/capflooredinflationcoupon.hpp         |  23 --
 ql/cashflows/conundrumpricer.cpp                   |   2 +-
 ql/cashflows/yoyinflationcoupon.cpp                |  25 --
 ql/cashflows/yoyinflationcoupon.hpp                |  25 --
 ql/experimental/Makefile.am                        |   2 -
 ql/experimental/averageois/Makefile.am             |  30 +-
 ql/experimental/averageois/all.hpp                 |   3 -
 .../averageois/arithmeticaverageois.cpp            | 150 ---------
 .../averageois/arithmeticaverageois.hpp            |  95 +-----
 .../averageois/arithmeticoisratehelper.cpp         | 113 -------
 .../averageois/arithmeticoisratehelper.hpp         |  69 +---
 .../averageois/averageoiscouponpricer.hpp          |  28 --
 .../averageois/makearithmeticaverageois.cpp        | 241 --------------
 .../averageois/makearithmeticaverageois.hpp        |  83 +----
 .../perturbativebarrieroptionengine.cpp            |   2 +-
 ql/experimental/credit/gaussianlhplossmodel.hpp    |   2 +-
 ql/experimental/credit/pool.cpp                    |   2 +-
 .../credit/randomdefaultlatentmodel.hpp            |   2 +-
 ql/experimental/credit/saddlepointlossmodel.hpp    |   2 +-
 .../finitedifferences/fdmvppstepcondition.hpp      |   2 +-
 .../inflation/yoycapfloortermpricesurface.cpp      |  17 -
 .../inflation/yoycapfloortermpricesurface.hpp      |  63 ----
 ql/experimental/inflation/yoyoptionlethelpers.cpp  |  14 -
 ql/experimental/inflation/yoyoptionlethelpers.hpp  |  16 +-
 .../gaussiannoncentralchisquaredpolynomial.cpp     |   2 -
 .../gaussiannoncentralchisquaredpolynomial.hpp     |   2 +-
 ql/experimental/math/multidimintegrator.hpp        |   2 +-
 ql/experimental/math/multidimquadrature.hpp        |   2 +-
 ql/experimental/math/tcopulapolicy.hpp             |   2 +-
 .../mcbasket/longstaffschwartzmultipathpricer.hpp  |   2 +-
 ql/experimental/models/normalclvmodel.hpp          |   2 +-
 ql/experimental/models/squarerootclvmodel.hpp      |   2 +-
 .../processes/extendedornsteinuhlenbeckprocess.hpp |   2 +-
 ql/experimental/risk/Makefile.am                   |  28 +-
 ql/experimental/risk/all.hpp                       |   2 -
 ql/experimental/risk/creditriskplus.cpp            | 240 --------------
 ql/experimental/risk/creditriskplus.hpp            |  74 +----
 ql/experimental/risk/sensitivityanalysis.cpp       | 350 ---------------------
 ql/experimental/risk/sensitivityanalysis.hpp       | 198 +-----------
 .../generalizedornsteinuhlenbeckprocess.hpp        |   2 +-
 .../integralhestonvarianceoptionengine.cpp         |   2 +-
 ql/functional.hpp                                  |  50 +--
 ql/indexes/equityindex.cpp                         |  12 -
 ql/indexes/equityindex.hpp                         |  10 -
 ql/instruments/makeyoyinflationcapfloor.cpp        |   7 -
 ql/instruments/makeyoyinflationcapfloor.hpp        |  10 +-
 ql/instruments/yearonyearinflationswap.cpp         |  16 -
 ql/instruments/yearonyearinflationswap.hpp         |  18 +-
 ql/math/integrals/integral.hpp                     |   2 +-
 ql/math/integrals/kronrodintegral.hpp              |   2 +-
 ql/math/integrals/twodimensionalintegral.hpp       |   2 +-
 ql/math/interpolations/chebyshevinterpolation.hpp  |   2 +-
 ql/math/linearleastsquaresregression.hpp           |   2 +-
 ql/math/matrixutilities/bicgstab.hpp               |   2 +-
 ql/math/matrixutilities/gmres.hpp                  |   3 +-
 ql/math/matrixutilities/tapcorrelations.hpp        |   2 +-
 ql/math/ode/adaptiverungekutta.hpp                 |   2 +-
 ql/math/optimization/levenbergmarquardt.cpp        |   2 +-
 ql/math/optimization/levenbergmarquardt.hpp        |   6 -
 ql/math/optimization/lmdif.hpp                     |   2 +-
 .../randomnumbers/stochasticcollocationinvcdf.hpp  |   2 +-
 ql/math/richardsonextrapolation.hpp                |   2 +-
 .../meshers/concentrating1dmesher.hpp              |   4 +-
 .../operators/numericaldifferentiation.hpp         |   2 +-
 .../schemes/impliciteulerscheme.cpp                |   2 +-
 .../finitedifferences/schemes/trbdf2scheme.hpp     |   2 +-
 .../utilities/escroweddividendadjustment.hpp       |   2 +-
 .../utilities/fdminnervaluecalculator.hpp          |   2 +-
 .../utilities/fdmmesherintegral.hpp                |   2 +-
 .../utilities/fdmtimedepdirichletboundary.hpp      |   2 +-
 ql/methods/montecarlo/earlyexercisepathpricer.hpp  |   2 +-
 .../montecarlo/longstaffschwartzpathpricer.hpp     |   2 +-
 ql/methods/montecarlo/lsmbasissystem.hpp           |   2 +-
 .../basket/mcamericanbasketengine.hpp              |   3 +-
 ql/pricingengines/vanilla/analytichestonengine.cpp |   4 +-
 ql/pricingengines/vanilla/analytichestonengine.hpp |   2 +-
 .../vanilla/exponentialfittinghestonengine.cpp     |   2 +-
 ql/quantlib.hpp                                    |   2 -
 ql/termstructures/globalbootstrap.hpp              |   2 +-
 ql/termstructures/inflation/inflationhelpers.cpp   |  13 -
 ql/termstructures/inflation/inflationhelpers.hpp   |  13 -
 .../inflation/piecewisezeroinflationcurve.hpp      |   2 +-
 .../equityfx/andreasenhugevolatilityinterpl.hpp    |   3 +-
 .../equityfx/gridmodellocalvolsurface.cpp          |   2 +-
 ql/timeseries.hpp                                  |   2 +-
 ql/tuple.hpp                                       |  34 +-
 test-suite/CMakeLists.txt                          |   1 -
 test-suite/Makefile.am                             |   1 -
 test-suite/creditriskplus.cpp                      | 132 --------
 test-suite/testsuite.vcxproj                       |   1 -
 test-suite/testsuite.vcxproj.filters               |   3 -
 96 files changed, 81 insertions(+), 2287 deletions(-)

commit 3bdcb6e8211f110152b73b20386f9fb1cfc0019d
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Tue, 14 Oct 2025 09:34:12 +0200

    Fix link in draft release notes

 .github/workflows/publish-release.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d7f10e50521c00a3e597d725358650499f4650a2
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 12 Oct 2025 12:10:32 +0200

    make ctor explicit

 ql/termstructures/globalbootstrap.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e4df62a83429eaa705b308a9b2ade6ce66e5fc2f
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 12 Oct 2025 12:05:26 +0200

    remove debug output

 ql/termstructures/globalbootstrap.hpp | 2 --
 1 file changed, 2 deletions(-)

commit 654f421be4f6cabffa1e7a0863f8b3502979468e
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sun, 12 Oct 2025 11:51:00 +0200

    fix

 ql/termstructures/globalbootstrap.hpp | 64 +++++++++++++++++------------------
 1 file changed, 31 insertions(+), 33 deletions(-)

commit bd1eaf827ce2bdd17ce8bdee03a15ea1c00557e8
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 11 Oct 2025 20:25:32 +0200

    update msvc files

 QuantLib.vcxproj         | 1 +
 QuantLib.vcxproj.filters | 3 +++
 2 files changed, 4 insertions(+)

commit 60f917289189d7badeafa71a6bb5a29f3fbbcdc9
Author: Peter Caspers <pcaspers1973@gmail.com>
Date:   Sat, 11 Oct 2025 20:17:03 +0200

    add multicurve bootstrap

 ql/CMakeLists.txt                     |   1 +
 ql/patterns/lazyobject.hpp            |   6 ++
 ql/termstructures/Makefile.am         |   1 +
 ql/termstructures/globalbootstrap.cpp | 128 ++++++++++++++++++++++++
 ql/termstructures/globalbootstrap.hpp | 177 ++++++++++++++++++++++++++--------
 5 files changed, 273 insertions(+), 40 deletions(-)

commit 12f9d137cf875b35b6ea2d6c452ed279c5bdc04b
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 10 Oct 2025 18:24:23 +0200

    ovveride cap/floorletRate(Real, bool) and in direct childs

 ql/cashflows/overnightindexedcouponpricer.hpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 87f381bc07ff69f3c1ae7317bfa8b10e5620b6c5
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 10 Oct 2025 18:14:52 +0200

    use ext::dynamic_pointer_cast

 ql/cashflows/overnightindexedcoupon.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 972bace443e4a75ad9c7477dfb3046f6d123da9e
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 10 Oct 2025 17:15:42 +0200

    Fix compilation error, overload virtual functions

 ql/cashflows/overnightindexedcouponpricer.hpp | 2 ++
 1 file changed, 2 insertions(+)

commit 40fb3278ab2c92517df892f63f83694c2c477c1f
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 10 Oct 2025 17:11:00 +0200

    Make onIndexedCouponPricer the base class for the blackONPricers, adj inheritance among those classes

 ql/cashflows/blackovernightindexedcouponpricer.cpp | 12 ++---
 ql/cashflows/blackovernightindexedcouponpricer.hpp | 10 ++--
 ql/cashflows/couponpricer.cpp                      | 20 ++++---
 ql/cashflows/overnightindexedcoupon.cpp            | 23 +++++---
 ql/cashflows/overnightindexedcoupon.hpp            |  7 ++-
 ql/cashflows/overnightindexedcouponpricer.cpp      | 61 +++++++++++-----------
 ql/cashflows/overnightindexedcouponpricer.hpp      | 56 +++++++++-----------
 7 files changed, 99 insertions(+), 90 deletions(-)

commit 04521a414bbf0fd12d115174d9ddde01c42750f9
Author: Marcin Rybacki <m.rybacki@basispoint.io>
Date:   Wed, 8 Oct 2025 12:27:29 +0200

    Incorporated PR feedback.

 .../yield/ultimateforwardtermstructure.hpp         | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

commit 469e542cd16e8d45c8f3d646523d2eb8993aa8e8
Author: Marcin Rybacki <m.rybacki@basispoint.io>
Date:   Wed, 8 Oct 2025 11:42:02 +0200

    Calculate equivalent rates only when compounding different than continuous.

 .../yield/ultimateforwardtermstructure.hpp         | 21 +++--
 test-suite/ultimateforwardtermstructure.cpp        | 95 +++++++++-------------
 2 files changed, 54 insertions(+), 62 deletions(-)

commit d4326f5e41fe312367071db406e29fff7e8f701a
Author: Marcin Rybacki <m.rybacki@basispoint.io>
Date:   Tue, 7 Oct 2025 17:05:50 +0200

    Use camel-case naming.

 ql/termstructures/yield/ultimateforwardtermstructure.hpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 50fed27595f5e4826ca8908ed4150b71dc8a4099
Author: Marcin Rybacki <m.rybacki@basispoint.io>
Date:   Tue, 7 Oct 2025 16:56:56 +0200

    Adjusted indentation.

 ql/termstructures/yield/ultimateforwardtermstructure.hpp | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

commit 961c1db60ab185f29afe0c8e120c47ac8e33ad69
Author: Marcin Rybacki <m.rybacki@basispoint.io>
Date:   Tue, 7 Oct 2025 16:54:53 +0200

    Updated docstring.

 ql/termstructures/yield/ultimateforwardtermstructure.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3f6d9e60fec79aaccd9f07c7515e8f1908a2698f
Author: Marcin Rybacki <m.rybacki@basispoint.io>
Date:   Tue, 7 Oct 2025 16:52:35 +0200

    Enabled rounding in UFR interpolation

 .../yield/ultimateforwardtermstructure.hpp         | 52 +++++++++++++++++-----
 test-suite/ultimateforwardtermstructure.cpp        | 41 +++++++++++++++++
 2 files changed, 83 insertions(+), 10 deletions(-)

commit 9ad665a3f2d8557406021bb36079ddf2814d105b
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Sat, 4 Oct 2025 17:39:52 +0200

    made some ctors explicit

 ql/cashflows/blackovernightindexedcouponpricer.hpp | 4 ++--
 ql/cashflows/overnightindexedcoupon.hpp            | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit c84af72c7acb3d19d09d569af02e8a0c4b456057
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Sat, 4 Oct 2025 16:59:10 +0200

    Adjustements to the ON coupon pricers class as suggested

 ql/cashflows/blackovernightindexedcouponpricer.cpp | 151 +++++++++++----------
 ql/cashflows/blackovernightindexedcouponpricer.hpp |  26 ++--
 ql/cashflows/overnightindexedcoupon.cpp            |  25 ++--
 ql/cashflows/overnightindexedcoupon.hpp            |   3 +
 ql/cashflows/overnightindexedcouponpricer.cpp      |  52 ++++---
 ql/cashflows/overnightindexedcouponpricer.hpp      |  83 +++++++----
 test-suite/overnightindexedcoupon.cpp              |   7 +
 7 files changed, 215 insertions(+), 132 deletions(-)

commit 25c0cd5b507b50d4bd9f5904f863375b3fb1bb1e
Author: Luigi Ballabio <luigi.ballabio@gmail.com>
Date:   Wed, 3 Sep 2025 10:16:42 +0200

    Initialize flags properly

 ql/cashflows/overnightindexedcoupon.hpp | 4 ++--
 test-suite/overnightindexedcoupon.cpp   | 3 +--
 2 files changed, 3 insertions(+), 4 deletions(-)

commit db54efa4a881698b3b0706040e1e07f0f92d05ee
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Sun, 31 Aug 2025 12:27:51 +0200

    More realistic tests when calculating ON leg npv

 test-suite/overnightindexedcoupon.cpp | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

commit cf0670779074dd4b7b83edbe9593710edbfb04c3
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 29 Aug 2025 22:40:01 +0200

    add a futher cap and floor rate to match the schedule size in the tests

 test-suite/overnightindexedcoupon.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a16c479b591606d0d6b58e16836f16740d50066a
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 22 Aug 2025 19:07:50 +0200

    Fix at par Coupon error

 test-suite/overnightindexedcoupon.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit c4deaad8bc6adfc423c989fb5a01bdbebd310ebb
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 22 Aug 2025 18:18:28 +0200

    add test for capped-floored on coupons and leg

 ql/cashflows/blackovernightindexedcouponpricer.hpp |  1 +
 test-suite/overnightindexedcoupon.cpp              | 96 ++++++++++++++++++++--
 2 files changed, 89 insertions(+), 8 deletions(-)

commit fabeac9063cdbd2adda540c65002dca9130b9a30
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Fri, 22 Aug 2025 11:48:01 +0200

    removed redundant attributes, add first test for black pricer and reformat code

 ql/cashflows/blackovernightindexedcouponpricer.cpp | 846 +++++++++++----------
 ql/cashflows/blackovernightindexedcouponpricer.hpp | 104 +--
 ql/cashflows/overnightindexedcoupon.cpp            |   5 +-
 ql/cashflows/overnightindexedcoupon.hpp            |  10 +-
 ql/cashflows/overnightindexedcouponpricer.hpp      |  20 +-
 test-suite/overnightindexedcoupon.cpp              |  67 ++
 6 files changed, 568 insertions(+), 484 deletions(-)

commit 8081384bf8fffa41c6a98f06a11e90470c46cc23
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Tue, 19 Aug 2025 09:32:44 +0200

    Removed pragma once and use ifdef

 ql/cashflows/blackovernightindexedcouponpricer.hpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit c8a9a430508aa3efab60a0874ea406b07676b140
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Tue, 19 Aug 2025 09:19:05 +0200

    Fix typo in vcxproj file

 QuantLib.vcxproj | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5092a673ab17fdfc832bc212dd10c6d898fb58ca
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Tue, 19 Aug 2025 07:18:14 +0000

    Update copyright list in license

 LICENSE.TXT | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1dc90fded9b6b775b3c227ff495a2e31dcc021f2
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon, 18 Aug 2025 21:32:10 +0000

    Update generated headers

 ql/cashflows/all.hpp | 1 +
 1 file changed, 1 insertion(+)

commit 121b3f38bce0ce7643f11350fa744b48e212764e
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Mon, 18 Aug 2025 23:29:53 +0200

    Added blackovernigthindexedcouponpricer and updated pricesetter methods

 QuantLib.vcxproj                                   |   2 +
 QuantLib.vcxproj.filters                           |   6 +
 ql/CMakeLists.txt                                  |   2 +
 ql/cashflows/Makefile.am                           |   2 +
 ql/cashflows/blackovernightindexedcouponpricer.cpp | 511 +++++++++++++++++++++
 ql/cashflows/blackovernightindexedcouponpricer.hpp |  85 ++++
 ql/cashflows/couponpricer.cpp                      |  33 ++
 ql/cashflows/overnightindexedcoupon.cpp            |  15 +-
 ql/cashflows/overnightindexedcoupon.hpp            |  13 +-
 9 files changed, 663 insertions(+), 6 deletions(-)

commit 633167fc20e93cc18ddf1b85d93419f5eade21a5
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Sun, 10 Aug 2025 12:03:50 +0200

    Fix tolerance in overnightleg test

 test-suite/overnightindexedcoupon.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 85216a2c0dc1eda7aeede1c2ff9dd8dff722a72e
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Thu, 7 Aug 2025 18:05:43 +0200

    Add test for the overnightLeg

 ql/cashflows/overnightindexedcoupon.cpp       |  18 +-
 ql/cashflows/overnightindexedcoupon.hpp       |   5 +-
 ql/cashflows/overnightindexedcouponpricer.cpp |   3 +-
 test-suite/overnightindexedcoupon.cpp         | 349 ++++++++++++++++++++++++++
 4 files changed, 367 insertions(+), 8 deletions(-)

commit 93e3a241cededb251d81574cc7163fead74f37ed
Author: paolodelia99 <paolo.delia99@gmail.com>
Date:   Thu, 7 Aug 2025 12:18:03 +0200

    First alignment ORE/QL ON coupon and ON coupon pricer

 ql/cashflows/overnightindexedcoupon.cpp       | 337 +++++++++++++++++++++++++-
 ql/cashflows/overnightindexedcoupon.hpp       | 110 ++++++++-
 ql/cashflows/overnightindexedcouponpricer.cpp |  92 ++++++-
 ql/cashflows/overnightindexedcouponpricer.hpp |  23 ++
 4 files changed, 538 insertions(+), 24 deletions(-)
