June 2004 Release 0.3.7
Changes since Release 0.3.6:

                             IMPORTANT:

    QuantLib now depends on the Boost library (www.boost.org).

    You will need a working Boost installation in order to compile and
    use QuantLib.

    ------------------------------------------------------------------

    DATE, CALENDARS, AND DAY COUNT CONVENTIONS
    - Working on differentiating calendars depending on country or
      exchange, instead of city.
    - Added Italy (Settlement, Exchange),
      United Kingdom (Settlement, Exchange, Metals),
      United States (Settlement, Exchange, GovermentBond), Xetra.
      Milan, London, and NewYork calendars have been deprecated.
    - Added (old-style) calendars: Beijing, Hong Kong, Riyadh, Seoul,
      Singapore, Taiwan.
    - RollingConvention has been renamed BusinessDayConvention, as for
      ISDA definitions.

    MATH
    - Added rounding algorythms.

    1-DIMENSIONAL SOLVERS
    -

    OPTIMIZATION
	-

    RANDOM-NUMBER GENERATION
    -

    PATTERNS
	-

    FINITE DIFFERENCES
    -

    LATTICES
    -

    MONTE CARLO
    -

    PRICING ENGINES
    -

    PRICERS
    -

    FINANCIAL INSTRUMENTS
    -

    YIELD TERM STRUCTURES
    -

    VOLATILITY
    -

    SHORT RATE MODELS
    -

    CREDIT DERIVATIVES
    -


    TEST SUITE
    - Moved to Boost unit test framework. CppUnit is no longer needed.
    - Added test for quanto and forward compound engines.
    - Added test for roundings.
    - Added test for discrete dividend European options.
    - Added test for cliquet options.


    MISCELLANEA
    - The couple enable/disableExtrapolation() has been encapsulated
      in base class methods, setting a corresponding data member. The
      relevant classes inherit from the base class and check that data
      member besides the local argument.
    - Round implemented as per OMG enumeration/definition
    - Removed deprecated classes.
    - Added user configured #define to disable usage of deprecated
      classes.
    - Straddle in the {Call, Put, Straddle} enumeration has been
      deprecated.

    DOCUMENTATION
    -

    DISTRIBUTION
    - Fink package available


=====================================================

2004-04-15 Release 0.3.6
Changes since Release 0.3.5:

    Bug-fix release for QuantLib 0.3.5. A bug was removed where calls
    to impliedVolatility() would break the state of the option and of
    all options sharing the same stochastic process.

=====================================================

2004-03-31 Release 0.3.5
Changes since Release 0.3.4:

    BOOST SUPPORT
    - When available, QuantLib 0.3.5 now uses parts of the Boost
      library.  The presence of Boost is detected automatically under
      Unix/Linux systems; on Windows systems, it must be enabled by
      uncommenting the relevant line in ql/userconfig.hpp.

      In the next QuantLib release, the presence of the Boost library
      will be made mandatory.

    MONTE CARLO FRAMEWORK
    - Modified MultiPath interface to remove drifts. They are now in
      the stochastic processes.
    - Preliminary implementation of Longstaff-Schwartz least-squares
	- Monte Carlo pricer for European basket options
	- Brownian-bridge bugs fixed
	- StochasticProcess base class and derived classes (diffusion,
	  jump-diffusion, etc.) have been created.

    PRICING ENGINES FRAMEWORK
    - Pricing engines now use Payoff and Exercise classes.
    - American basket options.
    - Binary barrier option replaced by vanilla option with digital payoff.
	- Stulz engine for max and min basket calls and puts on two assets.
	- American binary option added (a.k.a. one-touch, american digital,
	  americal barrier, etc.) with different payoffs (cash/asset at
	  hit/expiry, etc.)
	- Added engine for Merton 1976 jump-diffusion process.
	- Added Bjerksund and Stensland approximation for American option.
	- Added Barone-Adesi and Whaley approximation for American option.
	- Improved Black formula engine with more greeks added.
	- Discrete geometric Asian option.
	- Added Leisen-Reimer binomial tree.

    SHORT RATE MODELS
	- Model renamed to ShortRateModel. A typedef is provided for backward
	  compatibility--it will be removed in subsequent releases.

    VOLATILITY FRAMEWORK
	- bug fix for short time (0<=t<=Tmin) interpolation

    OPTIMIZATION FRAMEWORK
	- Method renamed to OptimizationMethod. A typedef is provided for
      backward compatibility--it will be removed in subsequent releases.

    PATTERNS
	- Composite pattern

    MATH
    - Improved cubic spline interpolation. It now handles end conditions
      such as first derivative value, second derivative value, not-a-knot.
      Hyman filter for monotonically constrained interpolation has been
      implemented. Primitive calculation has been enabled in
      addition to derivative and second derivative.
    - Primitive, first derivative, and second derivative functions are available
      for linear interpolator.
    - Singular value decomposition improved.
    - Added bivariate cumulative normal distribution.
	- Added binomial coefficient calculation, binomial distribution,
	  cumulative binomial distribution, and	Peizer-Pratt inversion (method 2.)
	- Added beta functions.
	- Added Poisson distribution and cumulative distribution.
	- Added incomplete gamma functions.
	- Added factorial calculation.
	- Added rank-reduced square root and improved pseudo-square root
      of square symmetric matrices.
	- Added Cholesky decomposition.

    TEST SUITE
    - Added test for cubic spline interpolation.
    - Added test for singular value decomposition.
    - Added test for two-asset baskets using the Stulz pricing engine.
	- Added test for Monte Carlo American cash-at-hit options.
	- Added test for jump-diffusion engine.
	- Added test for American and European digital options.

    MISCELLANEA
    - Inner namespaces have been deprecated.
	- Added frequency enumeration, including 'once'.
	- MarketElement renamed to Quote.
    - Handling strike=0.0 where possible.
    - More Payoff classes have been introduced: gap, asset-or-nothing,
      cash-or-nothing. Payoff is now extensively used.
    - Exercise class is now polymorphic. More derived classes have been
      introduced, and they are now extensively used.
    - Introduced QL_FAIL macro.
	- Added calendar for Copenhagen
    - 14 April 2004 (election day) added to Johannesburg calendar as
      a one-off holiday.
    - Documentation generated with Doxygen 1.3.6.
    - Win32 installer generated with NSIS 2.0.


=====================================================

2003-11-21 Release 0.3.4
Changes since Release 0.3.3:
    MONTE CARLO FRAMEWORK
    - MC European in one step with strike-independent vol curve (hopefully)
    - Path pricer for Binary options. It should cover both European and
      American style options. Also known as: Digital, Binary, Cash-At-Hit,
      Cash-At-Expiry.
    - Path pricers for barrier options

    PRICING ENGINES FRAMEWORK
    - More options moved to the new pricing engine framework: binary, barrier
    - Changed setupEngine() into setupArguments(args)
    - Moved pricing-engine machinery up to Instrument class

    FIXED INCOME
    - New basis-point sensitivity functions
    - Added Swap::startDate() and maturity()
    - Cap/floor fixing days taken into account

    SHORT RATE MODELS
    - An additional constraint can now be passed to the calibration

    VOLATILITY FRAMEWORK
    - Visitable volatility term structures

    OPTIMIZATION FRAMEWORK
    - Added composite constraint

    PATTERNS
    - Visitor, Alexandrescu-style (saves some code duplication)

    MATH
    - Added more integration algorithms contributed by Roman Gitlin
    - Relaxed constaints on interval boundaries for integration algorithms
    - Interpolation traits

    TEST SUITE
    - Added implied cap/floor term volatility test
    - Added test for binary options in PricingEngine Framework.
    - Added tests for Barrier options in PricingEngine Framework. Some Monte
      Carlo tests, but not comprehensive.

    MISCELLANEA
    - Conditionally allowed negative yields (disabled by default)
    - Null calendar and simple day counter for reproducing theoretical
      calculations
    - Fixes for VC++.Net compilation
    - Added spec file for RPMs
    - Added global flag for early/late payments
    - Enabled test suite for Borland
    - Removed OnTheEdge VC++ configurations
    - Added VC++ configurations for static and dynamic Multithread libraries
    - Upgraded to use Doxygen 1.3.4

=====================================================

2003-09-03 Release 0.3.3
Release 0.3.2 skipped
Changes since Release 0.3.1:
    MONTE CARLO FRAMEWORK
    - Re-templatized Monte Carlo model based on traits.
    - New path generator based on DiffusionProcess, TimeGrid,
      and externally initialized random number generator.
    - Added Halton low discrepancy sequence.
    - Added sequence generators: random sequence generator creates
      a sequence generator out of a random number generator.
      InvCumGaussianRsg creates a gaussian sequence generator out of a
      uniform (random or low discrepancy) sequence generator.
    - RNG as constructor input constructor( long seed) deprecated.
    - Mersenne Twister random number generator added
    - Old PathPricers, PathGenerators, etc are available with a trailing _old
    - Added Jckel's Brownian Bridge (not used yet.)
    - Sobol Random Sequence Generator. Unit and Jckel.
    - Added randomized Halton sequences.

    FINITE DIFFERENCE FRAMEWORK
    - Old class Grid no longer exists, use CenteredGrid to obtain the
      same result.

    LATTICE FRAMEWORK
    - Abstracted discretized option.
    - Additive binomial trees.  All binomial trees now use DiffusionProcess.
    - Added Tian binomial tree.

    PRICING ENGINES FRAMEWORK
    - Partially implemented.
    - Quanto forward compounded engines.
    - Integral (european) pricing engine.

    YIELD TERM STRUCTURE
    - ZeroCurve: a term structure based on linear interpolation of
      zero yields.

    FIXED INCOME
    - Up-front and in-arrear indexed coupon.
    - Specific implementation of compound forward rate from zero yield.
    - Added compound forward and zero coupon implementations.
    - Added Futures rate helper with specified maturity date.
    - Added bucketed bps calculation.
    - Added swap constructor using specified maturity date as well as
      added functionality in Scheduler.
    - Added date-bucketed basis point sensitivity based on 1st derivative
      of zero coupon rate.

    OPTIMIZATION FRAMEWORK
    - Solvers now take any function. ObjectiveFunction disappeared.

    PATTERNS
    - Abstracted lazy object.
    - Abstracted the curiously recurring template pattern.

    DATE AND CALENDARS
    - Added joint calendars.
    - Tokyo, Stockholm, Johannesburg calendar improved.
    - "MonthEndReference" business day rolling convention. Similar to
      "ModifiedFollowing", unless where original date is last business
      day of month all resulting dates will also be last business day of
      month.
    - Added basic date generation starting from the end.

    MATH
    - Added Gauss-Kronrod integration algorithm.
    - Added primitive polynomial modulo 2 up to dimension 18 (available up
      to dimension 27.)
    - Added BicubicSplineInterpolation.
    - Numerical Recipes algorithm is back since there is a problem with
      Nicolas' code: it is unable to fit a straight line, it waves around
      the line.
    - Prime number generation.
    - Acklam's approximation for inverse cumulative normal distribution
      function (replaced Moro's algorithm as default.)
    - Added error function.
    - Improved Cumulative Normal Distribution function using the
      error function.
    - Matrix pseudo square algorithm using salvaging algorithm(s).
    - Added SequenceStatistics.
    - Major Statistic reworking.
    - Added DiscrepancyStatistic that inherits from SequenceStatistic and
      extends it with the calculation of L2-discrepancy.
    - HStatistics.
    - Added first and second derivative ot cubic splines.

    RISK MEASURES
    - Introduced semiVariance and regret.
    - Redefinition of average shorfall (normalization factor now is
      cumulative(target) instead of 1.0)

    MISCELLANEA
    - QuEP 9 "generic disposable objects" implemented.
    - Added test suite.
    - Dataformatters extended to format long integers, Ordinal numerals,
      power of two formatting.
    - Exercise class adopted.
    - Added user configuration section.
    - Inhibited automatic conversion of Handle<T> to RelinkableHandle<T>.
    - Diffusion process extended.
    - Added strikeSensitivity to the Greeks.
    - BS does handle t==0.0 and sigma==0.0.
    - TimeGrid has been reworked.
    - Added payoff file for Payoff classes.  Added Cash-Or-Nothing and
      Asset-Or-Nothing payoff classes.
    - Upgraded to use Doxygen 1.3.


=====================================================

2003-02-04 Release 0.3.1
Changes since Release 0.3.0:
    FINITE DIFFERENCE FRAMEWORK
    - partially implemented QuEP 2 (http://quantlib.org/quep.html)

    VOLATILITY FRAMEWORK
    - added Black and local volatility interface

    PRICING ENGINES FRAMEWORK
    - partially implemented QuEP 5 (http://quantlib.org/quep.html)

    YIELD TERM STRUCTURE
    - interface revisited
    - added discrete time forward methods
    - added DiscountCurve (loglinear interpolated) and CompoundForward term
      structures
    - ForwardSpreadedTermStructure moved under QuantLib::TermStructures
      namespace

    FIXED INCOME
    - Modified coupons so that the payment date can be after the end of the
      accrual period

    MISCELLANEA
    - added/verified holidays of many calendars
    - added new calendars
    - added new currencies
    - more date formatters
    - added Period(std::string&)
    - it is now possible to advance a calandar using a Period
    - added LogLinear Interpolation
    - the allowExtrapolation boolean in interpolation classes has been removed
      from constructors and added to the operator()
    - Renamed Solver1D::lowBound and hiBound
    - bug fixes

    BUILD PROCESS
    - More autoconfiscated time functions and types
    - Migrated to latest autotools
    - added patches for Darwin and Solaris


=====================================================

2002-05-06 Release 0.3.0
Changes since Release 0.2.1:
- Library:
    MONTE CARLO FRAMEWORK
    - Path and MultiPath are time-aware
    - McPricer: extended interface, improved convergency algorithm

    FINITE DIFFERENCE FRAMEWORK
    - added mixed (implicit/explicit) scheme, from which Crank-Nicolson,
      ImplicitEuler, and ExplicitEuler are now derived
    - Finite Difference exercise conditions are now in the FiniteDifferences
      folder/namespace
    - Finite Difference pricers now start with 'Fd' letters
    - BSMNumericalOption became BsmFdOption

    LATTICE FRAMEWORK
    - introduced first version of the framework
    - CRR and JR binomial trees

    VOLATILITY FRAMEWORK
    - early works on reorganization of vol structures

    YIELD TERM STRUCTURE
    - new TermStructure class based on affine model
    - yield curves can be spreaded in term of zeros
     (ZeroSpreadedTermStructure) and forwards (ForwardSpreadedTermStructure)
    - Added dates() and times() to PiecewiseFlatForward
    - discount factor accuracy in the yield curve bootstrapping is an input
    - added single factor short-rate models (Hull-White, Black-Karasinski)
    - added two factor short-rate models framework
    - cap/floor and swaption calibration helpers
    - added bermudan swaption pricing example (including BK and HW
      calibrations)

    FIXED INCOME
    - cap/floor and  swaption tree pricer
    - cap/floor analytical pricer
    - vanilla swaption Jamshidian pricer
    - Added accruedAmount() to coupons
    - Made cash flow vector builders into functions

    OPTIMIZATION FRAMEWORK
    - added conjugate gradient, simplex

    PATTERNS
    - implemented QuEP 8 and 10

    MISCELLANEA
    - added allowExtrapolation parameter to interpolaton classes
    - added 2D bilinear interpolation
    - better spline interpolation algorithm
    - Added non-central chi-square distribution function.
    - Improved Inverse Cumulative Normal Distribution using Moro's algorithm
    - Introduced class representing stochastic processes
    - added isExpired() to Instrument interface
    - added functions folder and namespace for QuantLibXL and any other
      function-like interface to QuantLib
    - Handle is now castable to an Handle of a compatible type
    - added downsideVariance to the Statistics class
    - kustosis() and skewness() now handles the case of stddev == 0 and/or
      variance == 0
    - added Correlation Matrix to MultiVariateAccumulator
    - enforced MS VC compilation settings
    - added "-debug" to the QL_VERSION version string ifdef QL_DEBUG
    - "make check" runs the example programs under Borland C++
    - fixed compilation with "g++ -pedantic"
    - Spread as market element
    - new calendars introduced
    - new Xibor Indexes introduced
    - Added optional day count to libor indexes
    - Shortened file names within 31 char limit to support HFS

- Documentation:
    - Added a page for lattice methods
    - Added a page for interest rate models

=====================================================

2001-12-03 Release 0.2.1

Changes since Release 0.2.0:
- Library:
    MONTE CARLO FRAMEWORK
    - Path and MultiPath are now classes on their own
    - PathPricer now handles both Path and MultiPath
    - MonteCarloModel now handles both single factor and
      multi factors simulations.
    - McPricer now handles both single factor and
      multi factors pricing. New pricing interface
    - antithetic variance-reduction technique made possible in Monte Carlo
      for both single factor and multi factors
    - Control Variate specific class removed: control variation technique is
      now handled by the general MC model
    - average price and average strike asian option refactored
    - Sample as a (value,weight) struct
    - random number generators moved under RandomNumbers folder and namespace

    FINITE DIFFERENCE FRAMEWORK
    - BackwardEuler and ForwardEuler renamed ImplicitEuler and ExplicitEuler,
      respectively
    - refactoring of TridiagonalOperator and derived classes

    YIELD TERM STRUCTURE AND FIXED INCOME
    - Added some useful methods to term structure classes
    - Allowed passing a quote to RateHelpers as double
    - added FuturesRateHelpers (no convexity adjustment yet)
    - PiecewiseFlatForward now observer of rates passed as MarketElements
    - Unified Date and Time interface in TermStructure
    - Added BPS to generic swap legs
    - added term_structure+swap example
    - Fixing days introduced for floating-coupon bond

    PATTERNS
    - Added factory pattern
    - Calendar and DayCounter now use the Strategy pattern

    VARIOUS
    - used do-while-false idiom in QL_REQUIRE-like macros
    - now using size_t where appropriate
    - dividendYield is now a Spread instead of a Rate (that is: cost of carry
      is allowed)
    - RelinkableHandle initialized with an optional Handle
    - Worked around VC++ problems in History constructor
    - added QL_VERSION and QL_HEX_VERSION
    - generic bug fixes
    - removed classes deprecated in 0.2.0

- Installation facilities:
    - improved and smoother Win32 binary installer

- Documentation:
    - general re-hauling
    - improved and extended Monte Carlo documentation
    - improved and extended examples
    - Upgraded to Doxygen 1.2.11.1
    - Added man pages for installed executables
    - added docs in Windows Help format
    - added info on "Win32 OnTheEdgeRelease" and  "Win32 OnTheEdgeDebug" MS
      VC++ configurations
    - additional information on how to create a MS VC++ project based on
      QuantLib


=====================================================

2001-09-18 Release 0.2.0

Changes since Release 0.1.9:
- Library:
    - source code moved under ql, better GNU standards
    - gcc build dir can now be separated from source tree
    - gcc 3.0.1 port
    - clean compilation (no warnings)
    - bootstrap script on cygwin
    - Fixed automatic choice of seed for random number generators
    - Actual/Actual classes
    - extended platform support (see table in documentation)
    - antithetic variance-reduction technique made possible in Monte Carlo
    - added dividend-Rho greek
    - First implementation of segment integral (to be redesigned)
    - Knuth random generator
    - Cash flows, scheduler, and swap (both generic and simple) added
    - added ICGaussian random generator
    - generic bug fixes

- Installation facilities:
    - improved and smoother Win32 binary installer
    - better distribution
    - Debian packages available

- Documentation:
    - general re-hauling
    - added examples of QuantLib usage and of projects based on QL

=====================================================

2001-05-31 Release 0.1.9

Changes since Release 0.1.1:
- Library:
  - Style guidelines introduced (see http://quantlib.org/style.html)
    and partially enforced
  - full support for Microsoft Visual Studio
  - full support for Linux/gcc
  - momentarily broken support for Metrowerks CodeWarrior
  - autoconfiscation (with specialized config.*.hpp files for platforms
    without automake/autoconf support)
  - Include files moved under Include/ql folder and referenced as
    "ql/header.hpp"
  - Implemented expression templates techniques for array algebra optimization
  - Added custom iterators
  - Improved term structure
  - Added Asian, Bermudan, Shout, Cliquet, Himalaya, and Barrier
    options (all with greeks calculation, control variated where possible)
  - Added Helsinki and Wellington calendars
  - Improved Normal distribution related functions: cumulative, inverse
    cumulative, etc.
  - Added uniform and Gaussian random number generators
  - Added Statistics class (mean, variance, skewness, downside variance, etc.)
  - Added RiskMeasures class: VAR, average shortfall, expected shortfall, etc.
  - Added RiskStatistics class combining Statistics and RiskMeasures
  - Added sample accumulator for multivariate analysis
  - Added Monte Carlo tools
  - Added matrix-related functions (square root, symmetric Schur decomposition)
  - Added interpolation framework (linear and cubic spline interpolation
    implemented).

- Installation facilities:
  - Added Win32 GUI installer for binaries

- Documentation:
  - support for Doxygen 1.2.7
  - Added man documentation

- Python extension:
  moved into its own cvs module

- Ruby extension:
  added into its own cvs module (only partially implemented at this time)

=====================================================

2000-11-21 Release 0.1.1
