
Changes for QuantLib 1.9:
========================

QuantLib 1.9 includes 27 pull requests from several contributors.

The most notable changes are included below.
A detailed list of changes is available in ChangeLog.txt and at
<https://github.com/lballabio/QuantLib/milestone/3?closed=1>.


PORTABILITY

- Dropped support for Visual C++ 8 (2005).  As of April 2016, the
  compiler is no longer supported by Microsoft.

- Allow the parallel test runner to work with Boost 1.62 (thanks to
  Klaus Spanderen for the fix and to Andrei Borodaenko for the
  heads-up).

INTEREST RATES

- Allow negative jumps in interest-rate curves. Previously, trying to
  pass one would result in an exception (thanks to Leanpub reader Jeff
  for the heads-up).

- Added BBSW and Aonia indexes from Australia and BKBM and NZOCR
  indexes from New Zealand (thanks to Fabrice Lecuyer).

VOLATILITY

- Added normal implied-volatility calculation to caps/floors (thanks
  to Paolo Mazzocchi).

INSTRUMENTS

- Fix a scenario in which a `CompositeInstrument` instance would stop
  receiving notifications (thanks to Peter Caspers for the heads-up).

- Added a few safety checks to the CVA swap engine (thanks to Andrea
  Maggiulli).

- Auto-deactivate Boyle-Lau optimization for barrier options when not
  using a CRR tree (thanks to Riccardo Ghetta).

DATE/TIME

- Changed data type for `Date` serial numbers to `int_fast_32t` to
  improve performance of date calculations (thanks to Peter Caspers).

- Added ECB maintenance period dates for 2017 (thanks to Paolo
  Mazzocchi).

- Fixed rule for the Japanese Mountain Day holiday (thanks to Eisuke
  Tani).

- Fixed United States holidays before 1971 (thanks to Nick Glass for
  the heads-up).

- Added a missing Chinese holiday (thanks to Cheng Li).

- Ensure correct formatting when outputting dates (thanks to Peter
  Caspers).

NEW OPT-IN FEATURES

These features are disabled by default and can be enabled by defining
a macro or passing a flag to `./configure`.  Feedback is appreciated.

- Enable thread-safe singleton initialization (thanks to GitHub user
  sdgit). The feature can be enabled by uncommenting the
  `QL_ENABLE_SINGLETON_THREAD_SAFE_INIT` macro in `ql/userconfig.hpp`
  on Visual C++ or by passing the
  `--enable-thread-safe-singleton-init` to `./configure` on other
  systems.

EXPERIMENTAL FOLDER

The `ql/experimental` folder contains code whose interface is not
fully stable, but is released in order to get user
feedback. Experimental classes make no guarantees of backward
compatibility; their interfaces might change in future releases.

Changes and new contributions for this release were:

- OIS with arithmetic average (thanks to Stefano Fondi). A
  corresponding bootstrap helpers is also available.

- a function to calculate multi-curve sensitivities (thanks to Michael
  von den Driesch).

