BornAgain-1.19.0, released 2021.03.17
  > API changes:
    * Provide compact constructors like GISASimulation(beam, sample, detector)
    * Remove "get" from several accessor functions
    * Hide many internal classes from API
    * Rename Lattice to Lattice3D, for clearer disambiguation from Lattice2D
    * Rename OffSpec* to OffSpecular*
    * Remove some interference functions constructors
    * Remove old R&T computations from API (now in Code/Legacy and Tests)
    * Add support for q offset in QSpecScan (redmine 2496)
    * Make Python plot API entirely keyword based
    * Remove default Python fit monitor, user must choose between GISAS and specular plotter
  > GUI changes:
    * Improve 1D CSV importer:
      * Separator guessing
      * Options for file parsing (skipped lines, separator, columns, unit of Q)
      * Table of imported data
      * Detailed error reporting
    * Add top-level menu View, with functionality moved in from other places
    * Add accelerator keys to menus
    * Minor layout improvements
  > Bug fixes:
    * Correct handling of polarization for unpolarized samples, and related fixes
    * For alpha_i=0, set scattered intensity to 0
    * Rectify native path representation for Windows (redmine 2502)
    * Several GUI bugs that caused crashes (github 1034, 1060, 117, 1136)
    * Fix modality of material editor (redmine 2503)
    * Fix font size in error dialogs (redmine 2510)
  > Documentation:
    * Unify API usage in many examples, using BornAgain's Python exporter
    * Remove many entries from Doxygen user API
    * New reflectometry fitting examples using real data: Pt layer, Honeycomb
    * In web docs, merge Python tutorial and examples collection
  > Internal refactoring:
    * Accelerate reflectometry computation
    * Move C++ code to break cyclic directory include dependences
    * Rename a few classes (ISimulation)
    * Simplify and commented std test machinery
    * Simplify iteration over INode children
    * Simplify export of get_sample function
    * Simplify data read/write wrapper
    * Simplify lots of GUI internals
    * Replace boost::filesystem by C++17 std
    * Draw IComputeFF and children out of IFormFactor inheritance tree
    * Replace any SIGNAL() & SLOT() by the non-macro-versions (github 1168)
    * Removed dependence of GUI on qt-manhattan-style
    * Reorganize Wrap/Python, with new modules ba_plot, ba_fitmonitor
    * Improve test coverage of Python examples
    * Moved CI from GitHub Actions to gitlab-runner on our own machines

BornAgain-1.18.0, released 2020.10.30
  > API changes:
    1) Shorter names for FootprintSquare, FootprintGauss
    2) FormFactorHollowSphere (moved from soft to hard particles, and renamed)
    3) FormFactorGaussSphere is now a sphere, not an ellipsoid
    4) Withdraw three unused, undocumented, incomplete soft-particle form factors
       (Lorentz, Debye-Bueche, Ornstein-Zernike)
    5) Removed default argument values from node constructors
    6) Swap order of arguments gamma and eta in 2D decay and distribution Voigt functions
    7) FormFactorSphereLogNormalRadius is now positioned at center, not at bottom
    8) Ripple1 and Ripple2 form factors renamed to CosineRipple and SawtoothRipple
    9) Support for structural roughness (Tanh + Névot-Croce) in polarized computations
  > Important changes in examples and tests:
    1) Renamed "Air" -> "Vacuum"
  > Changes in build configuration:
    1) Python2 no longer supported
    2) OpenGL can no longer be deselected
    3) Eigen3 and libcerf removed from ThirdParty; they are now regular external dependences
  > Internal refactoring and fixes of unreported bugs
    1) Unit tests now under CTest control, no longer enforced during compilation
    2) Uniform handling of assertions
    3) Success of test_nonXMLDataInDir was dependent on test execution order
    4) Parameter registration now centralized in INode class
    5) New, and more stable, implementation of polarized Fresnel computation
    6) Scalar Fresnel computation unified with polarized implementation
    7) Directory Core broken into a hierarchy: Core, Device, Sample, Param, Base
    8) Request C++17
    9) Error handling: core decoupled from Qt
  > Issues from external (GitHub) tracker:
    * #918:  Specular peak location wrong when using flat detector
    * #946:  CTest points to broken visualization scripts
    * #959:  UnitTestNumeric fails on mac os x 10.15 bug
    * #963:  Problem building BornAgain using GitHub actions
    * #987:  plot_intensity_data.py prints deprecation warning
    * #1026: Q_ASSERT ignored
    * #1033: Bug when importing BA from python environment und windows
  > Issues from Redmine tracker:
    * Documentation #2459: Update and reorganize Doxyfiles
    * Refactoring #2466: Use full paths in #include directives
    * Configuration #2465: CMake: more standard find modules for fftw3 and tiff
    * and several more, accidentally not marked for being listed here

BornAgain-1.17.0, released 2020.06.16
  > API changes:
    1) Add Nevot-Croce roughness model.
    2) Add form factors for CantellatedCube and various ripples.
    3) GUI: project compatibility with previous versions is partly broken.
  > Summary:
    1) Speed-up computations for samples with large number of layers
    2) Add Nevot-Croce roughness model; support switching between models
    3) Scripting support for polarized reflectometry
    4) Update physical constants to 2020 CODATA recommended values
    5) FormFactors: add CantellatedCube
    6) FormFactors: speedup FormFactorFullSpheroid
    7) FormFactors: revise and extend ripple form factor family
    8) Fix HighDPI issues in GUI on various platforms
    9) Various bug fixes

  * Bug #2424: GUI crash by unexpected user behavior
  * Bug #2441: Imaginary SLD
  * Bug #2442: Roughness on first semi-infinite layer
  * Bug #2461: GUI: crash in 3D view with lock function
  * Feature #2428: Add Nevot-Croce roughness model
  * Feature #2430: Try switch bindings to swig v4.0.1
  * Feature #2438: Website: rename "python scripts" and "tutorial examples" menu entries
  * Feature #2443: Create document describing the release procedure.
  * Feature #2445: GUI: fix fancy toolbars under Linux
  * Feature #2446: GUI: fix HighDPI issues under Windows
  * Feature #2447: Update eigen3 submodule URL
  * Feature #2448: Switch Appveyor Windows build to MSVC 2019
  * Feature #2449: Enable Travis MacOS build
  * Feature #2450: Provide Windows compilation with Python 3.8, switch Appveyor to it
  * Feature #2463: Update macmini to High Sierra and provide BornAgain build
  * Documentation #2431: Website: switch to latest Hugo in website travis based generation
  * Documentation #2437: Website: provide citing and news item for BornAgain publication
  * Refactoring #2275: Refactor cmake machinery for consistent Python interpreter/libraries handling
  * Refactoring #2432: Run code beautifier on the whole codebase
  * Refactoring #2439: Get rid of all Qt's deprecated compile warnings
  * Refactoring #2454: print q vector if numeric form factor test fails
  * Refactoring #2455: correct and document Ripple form factors
  * Refactoring #2456: simplify integrators

BornAgain-1.16.0, released 2019.07.31
  > API changes:
    1) Python: major changes in SpecularSimulation interface. Please consult web-documentation for details.
    2) GUI: project compatibility with previous versions is broken.
  > Summary:
    1) Handling intensity uncertainties in experimental data
    2) Support for arbitrary resolutions in reflectometry
    3) SLD/refractive index profiles across sample layers
    4) Importing reflectometry data as Qz-Intensity by default
    5) Various bug fixes

  * Bug #2306: Weird intensity results in DepthProbeSimulation
  * Bug #2310: GUI: disappeared button to rotate dataset in RealDataView
  * Bug #2312: GUI crash on attempt to save a project on Mac
  * Bug #2321: Setting 'Min' or 'Max' for fitparameter Beam Intensity doesn't work
  * Bug #2322: GUI: Ensure usage of identical colormap for real data and simulation in fitview
  * Bug #2324: Save to TIFF is broken
  * Bug #2328: Crashing during GISAS fitting
  * Bug #2329: OffSpecSimulation does not work with rectangular detector
  * Bug #2330: "Save" fails when there are Cyrillic characters on the path.
  * Bug #2337: Layout weights are not exported to Python from GUI
  * Bug #2338: Numerical instability in roughness calculations
  * Bug #2342: Unit test failure on user system with Qt 5.6.2
  * Bug #2344: GUI: impossible to set limits for intensity as a fit parameter
  * Bug #2370: Crash on reflectometry simulation for nonsensible values of theta
  * Bug #2371: Ctrl+S doesn't work for saving project on win
  * Bug #2379: Layer of zero thickness affects SLD profile
  * Bug #2382: Memory leakage during Python fitting
  * Bug #2388: Footprint Correction example failing due to newly introduced accessor methods
  * Feature #1861: Provide evaluation of SLD profile across the sample layers
  * Feature #2047: Fix compilation failures if fftw3, libtiff or Python are static.
  * Feature #2285: Name layers in GUI by their material name
  * Feature #2311: Provide possibility to load 2D ASCII data for files with .dat extention
  * Feature #2315: Provide support for pointwise resolution in reflectometry
  * Feature #2316: Provide support for handling intensity uncertainties in experimental data
  * Feature #2331: Unit labels
  * Feature #2333: GUI: Switch resolutions/divergences in specular instrument to the new resolution machinery
  * Feature #2346: Enable qspace visualisation for large inclinations
  * Feature #2365: GUI: rename "Import" button to "Data"
  * Feature #2373: Remove choice between decoupling approximation and SSCA in GUI layouts
  * Feature #2374: Clean Functionality to Import Typical Reflectometry ASCII Formats
  * Feature #2377: Implement layer editor prototype on the basis of the the new model-view framework
  * Documentation #2223: Update BornAgain Windows installation documentation on the webpage
  * Documentation #2283: Fix starting value of prism_base_edge in fit example
  * Documentation #2308: Fix Windows PyCharm tutorial
  * Documentation #2325: Proofread Windows installation tutorials
  * Documentation #2381: Examples present on the website and missing on the BA repo
  * Refactoring #2361: Use **kwargs in python plotting routines
  * Testing #2210: Test 1d data import on known file formats
  * Testing #2287: Reflectometry cross-validation
  * Envelope task #2192: 1D data import functionality

BornAgain-1.15.0, released 2019.02.25
  > API changes:
     1) Python: method getAlphaAxis renamed into coordinateAxis in SpecularSimulation
     2) Python: add axis() accessor in SimulationResult (to be used instead SimulationResult.data().getAxis()
  > Summary:
    1) Act on feedback from BornAgain school in December 2018: new features and corrections
    2) Support q-based specular simulations
    3) Implement features from specific user requests
    4) Various bugfixes

  * Bug #2262: Fix memory leakage in Python API
  * Bug #2265: 3D view incorrectly represents particle positions for layouts connected to deeper layers
  * Bug #2268: Sometimes parameter values are reset when they go out of focus
  * Bug #2270: Repeating values after removing unsorted data
  * Bug #2277: GUI: value of wavelength is not propagated on switch from InstrumentView
  * Bug #2286: Fix usage of Debye-Waller factors for superlattices
  * Bug #2304: Uncaught exception in GUI during real time tuning
  * Bug #2305: Premature deletion of OutputData<double> in python
  * Feature #2259: Make off-spec simulation fittable
  * Feature #2260: Remove domain size and damping length in paracrystals in favour of a small q expansion
  * Feature #2267: Activate polarized sans
  * Feature #2278: Add Debye Waller factor for 1D and 2D lattice
  * Feature #2282: Implement position variance in 3d view
  * Feature #2290: Implement simplified 2D peak search for GISAS images
  * Feature #2292: Switch internal specular computations to q values
  * Feature #2297: Provide q-based input for specular simulations
  * Feature #2303: Implement twin particle interference function
  * Documentation #2273: Comparative overview of existing reflectometry packages
  * Testing #2289: Test slicing and averaging functionality for reflectometry in BornAgain
  * Support #2291: Provide hard disc Percus-Yevick interference function

BornAgain-1.14.0, released 2018.12.07
  > No API changes
  > Summary:
    1) New instrument: depth probe
    2) Futher expansion of 3D View
    3) Import data assistant for 1D data
    4) Update of fitting tutorials on our documentation website
    5) Allow fitting of material properties
    6) Enable linked parameters in GUI ParticleDistribution
    7) Numerous bugfixes.

  * Bug #2116: Provide valid editing for fit parameters in GUI
  * Bug #2167: Application crash on attempt to load txt.gz file from GUI
  * Bug #2173: Inconsistent behavior of dock widgets between sample view and job view
  * Bug #2179: Saving and loading txt image in GUI causes rotation
  * Bug #2181: Loading a project file in the GUI overwrites number of threads
  * Bug #2183: Export to python doesn't add extension to file name
  * Bug #2184: Tuning widget disappears from simulation when "submit only" option is chosen
  * Bug #2189: Real time view shows alien tree on jobItem delete
  * Bug #2198: BornAgain GUI on certain Win10 stays collapsed on taskbar
  * Bug #2200: Trapezoid distribution generates edge values with zero probability
  * Bug #2213: Unit tests crashing if user system contains own googletest library in LD_LIBRARY_PATH
  * Bug #2214: GUI crash when deleting connection
  * Bug #2217: GUI crash on instrument adjustment for 1D data
  * Bug #2219: Appveyor build crash during unit text execution
  * Bug #2228: GUI: 1D data loader does not threat 'fixed width' columns correctly
  * Bug #2231: Reflectivity: strange behaviour at wavelength distribution
  * Bug #2235: Restore automatic linking of user data to instrument in Simulation tab
  * Bug #2236: GUI: Fitting failure on some minimization algorithms
  * Bug #2237: GUI: stop button in fitting panel does not work
  * Bug #2239: Crash on load of any saved project
  * Bug #2243: Instrument id is not updated when it is copied to job item
  * Bug #2245: Crash when running simulation with missing instrument
  * Bug #2249: Crash on fitting SpecularInstrument/Beam/Polarization/X, Y, Z
  * Feature #1019: Extend GUI ParticleDistribution with linked parameters
  * Feature #2084: 3D view: implement mesocrystal
  * Feature #2102: GUI: switch fitting in GUI from FitSuite to FitObjective
  * Feature #2138: 3D view: side/top view switch should take in the account size of the sample
  * Feature #2141: Allow for SLD fitting in GUI
  * Feature #2142: Allow material tuning in real time view
  * Feature #2147: Functionality improvements for the new fitting engine
  * Feature #2154: Observations made during GISAS 2018 school at Bayreuth
  * Feature #2156: Implement finite crystals
  * Feature #2177: Employ PointwiseAxis in the GUI for SpecularSimulations
  * Feature #2190: Provide download statistic for BornAgain web site
  * Feature #2193: Import order and priority
  * Feature #2194: Handle native coordinates and units from imported user data in RealDataItem and during instrument linking
  * Feature #2195: Necessary amendments to ImportDataAssistant
  * Feature #2196: Provide proper cleanup of OpenGL resources on parent widget change
  * Feature #2199: Expand txt-file saving to 1D data
  * Feature #2201: Remove quotation marks around 'Experimental' in the plotting of fits
  * Feature #2207: Allow multiplying/dividing data columns by constant factor in CsvImportAssistant
  * Feature #2208: Update all fitting examples to the new fitting mechanism.
  * Feature #2218: Find an intelligent way to handle repeating values in the coordinate vector (reflectivity)
  * Feature #2222: Allow scientific notation in tuning parameter tree
  * Feature #2224: Investigate and implement azimuthal smearing of peak shapes
  * Feature #2225: GUI: implement depth probe instrument
  * Feature #2246: GUI: provide possibility to select intensity and residual function type in Minimizer settings
  * Feature #2247: Update Yosemite vagrant box
  * Documentation #2040: Website: update all fitting tutorials and Python examples to the new fitting mechanism.
  * Documentation #2175: Website: provide date and navigation element for news page
  * Documentation #2178: Website: add screenshot of 3D view to gallery
  * Documentation #2186: Correct formula for exponential distribution in manual
  * Documentation #2233: Update manual before release
  * Refactoring #1486: GUI: refactor SampleView
  * Refactoring #2137: Import data assistant minor changes
  * Testing #2220: Change unit test run order

BornAgain-1.13.0, released 2018.10.05
  > API changes
    1) Python: Switch from FitSuite to FitObjective (FitSuite is deprecated now)
    2) GUI: project compatibility with previous versions is broken.
  > Summary:
    1) New fitting interface compatible with third-party python minimizers
    2) Futher expansion of 3D View
    3) Fitting reflectometry data in GUI
    4) Averaged layer materials enabled for all computations
    5) Numerous bugfixes.

  * Bug #2068: Missing analyzer direction in GUI
  * Bug #2069: Loading GUI first time takes 30 minutes
  * Bug #2076: Beam distribution editors are not updating on parameter change
  * Bug #2091: Memory leak in ColorMap
  * Bug #2092: GUI: Top level thickness error
  * Bug #2107: The project crashes on attempt to change limits of fit parameter in GUI
  * Bug #2108: GUI: crash on attempt to load saved project with filled import data view
  * Bug #2118: Fix CMake for the installation to user directory
  * Bug #2122: GUI: after fitting completion non-optimal result is drawn
  * Bug #2124: Successive call to SimulationResult.data() causes segmentation fault
  * Bug #2125: Calculation of maximum reciprocal lattice points to consider for 2d lattice is wrong
  * Bug #2128: Distributed parameter: "None" -- Gives wrong error message
  * Bug #2129: Limits: Positive -- Throws error
  * Bug #2131: Fix memory leak in factory methods when used from Python
  * Bug #2135: Problem with Icosahedron formfactor position
  * Bug #2139: Inconsistent impact of Euler rotation on simulation/3D view
  * Bug #2143: Project file with failed simulation job complains during loading
  * Bug #2146: GUI: back compatibility broken
  * Bug #2148: GUI: Crash on autosave
  * Bug #2149: GUI crash when switching activity
  * Bug #2153: 3D view crashes on rotated 1D interference function
  * Bug #2161: Cancel of runnig job doesn't work properly
  * Bug #2162: Jobs which was autosaved during the run stays in running state after project restore.
  * Bug #2168: Autosave leads to the GUI crash at certain conditions
  * Bug #2169: Application crash on fitting job
  * Bug #2170: Widget sizes are reset to default values during fit in GUI
  * Bug #2171: Application crash on switch between fitting and simulation jobs for specular simulation
  * Bug #2172: Fit flow widget doesn't update after fit re-launch
  * Bug #2176: No plot updates during fitting anymore
  * Bug #2187: Wrong parameter values displayed in real time widget
  * Bug #2123: GUI: switching to another fit parameter causes plot reset to the initial value of previous fit parameter
  * Bug #2188: Real space widget silently crashes with 1d interference function with xi=90 degrees
  * Feature #2039: Switch all Python fitting examples from FitSuite to the new Minimizer
  * Feature #2051: Provide loading and using from GUI 1D real data
  * Feature #2070: 3D view: modify default particle density of GUI examples to look reasonable in 3D view
  * Feature #2071: 3D view: profile 3D view for performance when number of particles is large
  * Feature #2073: Define objectives for Sprint 38
  * Feature #2079: Introduce SimulationBuilder and refactor FitSuite accordingly
  * Feature #2082: 3D view: implement 1D interference function
  * Feature #2083: 3D view: provide selective view update
  * Feature #2095: Enable averaged layer materials for all IComputations
  * Feature #2098: Provide weights for ParticleLayout
  * Feature #2103: Add 3D interference function
  * Feature #2104: Integrate 3d lattice interference function into core framework
  * Feature #2106: GUI: Create and use DataItemView for 1D fitting
  * Feature #2110: Boost: remove date_time dependency
  * Feature #2111: Boost: remove chrono dependency
  * Feature #2113: Boost: remove regex dependency
  * Feature #2119: Write collection of functional tests for FitObjective
  * Feature #2127: Convert functional tests for specular fits to the new FitObjective machinery
  * Feature #2132: Provide possibility to have the reference point of full spheres at their center instead of at the bottom
  * Feature #2134: Create translator from numpy arrays to OutputData
  * Feature #2140: Rewrite lines_of_code script to not to rely on ROOT
  * Feature #2150: Slow down zooming speed of Real Space Viewer on Mac
  * Feature #2155: Create and deploy PointwiseAxis for SpecularSimulation
  * Feature #2174: Implement HCP and BCT lattice factory funtions
  * Documentation #1831: Add top cap removal parameterization to documentation of truncated sphere and spheroid form factor
  * Documentation #2074: Website: switch bornagainproject.org to GitHub
  * Documentation #2081: Update documentation related to reflectometry and depth probe
  * Documentation #2166: Put BornAgain API on website
  * Refactoring #2038: Refactor Minimizer interface
  * Refactoring #2078: Switch FitSuite to the new minimizer kernel
  * Refactoring #2080: Refactor computation machinery
  * Refactoring #2089: Extract calculation of region maps out of IComputationTerm
  * Refactoring #2096: Simplify interference function strategy implementation
  * Refactoring #2097: 3D view: create PrototypeController to speed up 3D view when number of particles is large
  * Refactoring #2101: ParticleDistribution::generateParticles(): remove possible memory leaks
  * Refactoring #2105: Provide DataItemView for handling representation of 1D data

BornAgain-1.12.1, released 2018.06.12
  > Hotfix
  * Bug #2068: Missing analyzer direction in GUI
  * Bug #2069: Loading GUI first time takes 30 minutes (MacOS)

BornAgain-1.12.0, released 2018.05.30
  > No API changes
  > Summary:
    1) First implementation of specular simulation in GUI.
    2) DepthProbeSimulation for experiment preparation.
    3) Documentation: remaining part of website has been migrated to Hugo website.
    4) Beta version of 3d sample view.
    5) Interference function for finite 2d lattices (core + GUI).
    6) Interference function for a 2d superlattice.
    7) Fitting: first refactoring to bring it closer to generic Python fit interfaces.
    8) Numerous other bugfixes.

  * Bug #1975: Failed to import numpy on Windows (in virtual environment)
  * Bug #1991: Cannot add real data to off-specular instrument
  * Bug #1997: GUI: fit view shows experimental/simulated data in different scale
  * Bug #1998: Wrong number of samples displayed in distribution widget for cosine distribution
  * Bug #2009: qwindowsvistatsyle.dll cannot be found under Qt5.9.3 on windows
  * Bug #2010: cmake should notify user if eigen3 is not found
  * Bug #2019: Windows build ocassionally fails
  * Bug #2021: GUI crash while import python script
  * Bug #2029: Unit convertion bug when ROI is set
  * Bug #2035: Specular peak disappears if ROI is set
  * Bug #2044: Users cannot see python functions' descriptions, jump to their definitions or use autocompletion in PyCharm
  * Bug #2049: GUI-> Crash on Instrument->Clone
  * Bug #2053: GUI (Win) whitespaces are missing in saved projection ascii file
  * Bug #2054: InterferenceFunction2DLattice handles integration over xi wrongly
  * Bug #2060: RealSpaceDialog doesn't stay on top on Mac
  * Bug #2061: Prevent RealSpaceDialog from making the GUI crash
  * Feature #926: Provide evanescent wave python example
  * Feature #1675: Get rid of ctypes.addressof in PySampleBuilder
  * Feature #1846: Investigate the effort to implement 3d correlations of particles in DWBA
  * Feature #1937: Implement export-to-Python for specular instrument
  * Feature #1938: Implement transform from domain for specular instrument
  * Feature #1964: Provide "fair" unit conversions for specular data (including q-space)
  * Feature #1974: Provide full-fledged functionality for specular simulation in DomainSimulationBuilder
  * Feature #2006: Core: implement instrument type for depth probes (evanescent wave)
  * Feature #2012: Reenable openMPI calculations
  * Feature #2018: Revise RealDataItem and the way it handles cropped experimental data
  * Feature #2023: Provide finite 2d lattice interference function (with position fluctuations)
  * Feature #2026: Provide capability of switching angular axis in DepthProbe to different units
  * Feature #2030: Provide unit conversions for specular instrument in GUI
  * Feature #2036: Bring the appearance of specular simulation to compliance with GISAS/Off-Spec job   * views
  * Feature #2042: Create and use icon for finite 2d lattice
  * Feature #2043: Implement lattice block particle
  * Documentation #1360: reequilibrate hierarchy levels in online docs
  * Documentation #1940: Website: port installation instructions to Hugo
  * Documentation #1952: Update "Accessing simulation results" tutorial
  * Documentation #1968: Website: finalize migration to Hugo based website
  * Documentation #2001: Website: port "functionality overview" to Hugo
  * Documentation #2002: Website: port all release letters
  * Documentation #2005: Website: switch bornagainproject.org to the new website
  * Documentation #2015: Website: create download section
  * Documentation #2016: Website: create contact section
  * Documentation #2017: Website: create about section
  * Documentation #2022: Website: provide automatic generation of Python example summary
  * Documentation #2057: Update "Importing experimental data" tutorial
  * Documentation #2059: Revise all Python examples
  * Refactoring #1954: Use new unit conversions from core in GUI
  * Refactoring #1987: Replace Qt's foreach with c++ range-based for loop
  * Refactoring #1995: Remove obsolete Find<library> files in cmake/generic/modules
  * Refactoring #2014: Provide uniform access interface for simulation/fitting results
  * Refactoring #2028: Remove the functionality doubled in DepthProbeSimulation from SpecularSimulation and reuse common code
  * Refactoring #2031: replace obsolete qt5_use_modules
  * Refactoring #2033: Investigate FitSuite refactoring in the context of external minimizer
  * Refactoring #2045: Verify and possibly correct QQuaternion construction from our Euler angles in RealSpace::Object::transform
  * Testing #2027: Provide functional test + example for depth probe simulation
  * Configuration #2048: Get rid of CMAKE_LIBRARY_PATH

BornAgain-1.11.1, released 2018.03.21
  > Hotfix:
    * Bug #1993: Plot ticks are not updated if axes changed in real time view
    * Bug #2007: GUI->Instrument view-> entering floating point numbers
    * Bug #2008: GUI->Fitting: ROI in experimental data causes NaN fitting parameters

BornAgain-1.11.0, released 2018.03.02
  > API changes
    1) Detector axes units (e.g. ba.IDetector2D.NBINS) now accessed through AxesUnits (e.g. ba.AxesUnits.NBINS).
    2) GUI project compatibility with previous versions is broken.
  > Summary:
    1) Off-specular simulation is now supported in the GUI.
    2) Support for materials defined by SLD.
    3) Specular simulation implemented in core library.
    4) New interface for simulation results now includes possible unit conversions.
    5) Python API: retrieve minimizer catalogue.
    6) Switched to Python 3.x as the default version.
    7) GUI: extensive refactoring to improve maintainability.
    8) GUI: possibility to add constant or Poisson background to simulations.
    9) GUI: Fourier transform of simulation results.
    10) GUI: beam polarization and polarization analysis are now supported.
    11) Documentation: large part of website has been migrated to Hugo website
    12) Bugfix: BornAgain GUI no longer contains a limit on number of threads.
    13) Numerous other bugfixes.

  * Bug #1871: Prevent using WavelengthIndependentMaterial in computations with material averaging or make universal averaging procedure
  * Bug #1872: Prevent user from creating mixed samples with mixed wavelength-dependent and wavelength-independent materials
  * Bug #1875: Provide proper export to python for all flavours of materials
  * Bug #1883: Make MaterialItem create proper type of material
  * Bug #1886: Average materials do not work if more than one layout is connected to the layer
  * Bug #1891: GUI: crash in import data view when linking to instrument
  * Bug #1897: warnings from Eigen3
  * Bug #1911: Revise SessionItem::setData method
  * Bug #1913: Thread count issue on Windows on modern CPU
  * Bug #1914: Lattice::reciprocalLatticeVectorsWithinRadius does not behave as expected
  * Bug #1919: Entering negative values for delta/beta in MaterialEditor is not enabled
  * Bug #1922: GUI: using tab after entering parameter value puts back the old value
  * Bug #1924: Discrepancy in GENX and BornAgain results for absorptive sample
  * Bug #1926: Compilation fails on Windows with Qt 5.10.0
  * Bug #1944: GUI: provide automatic TotalSurfaceDensity update on lattice parameter change
  * Bug #1945: GUI: switch ColorMap label to scientific notation
  * Bug #1961: Numerous fixes for beam divergence and footprint
  * Bug #1962: GUI crashes on recent project load
  * Bug #1966: GUI crash: switch project after job removal
  * Bug #1967: Real time view of specular doesn't work
  * Bug #1970: Rearrange directory structure of Win installer
  * Bug #1973: BornAgain functional tests fail under Python 3.6
  * Bug #1976: BornAgain GUI style in Windows and MacOS is not flat anymore in Qt5.10
  * Bug #1977: GUI on mac os x: Python script view window cannot be resized
  * Bug #1978: GUI on mac os x: Number of MC points drops to zero
  * Bug #1979: BornAgain GUI: cannot fit the constant background
  * Bug #1980: GUI: fitting of incident angle
  * Bug #1981: BornAgain GUI: cannot fit beam parameters with distributions
  * Bug #1982: GUI: fit of particles with size distributions causes negative values
  * Bug #1983: GUI crash on project close
  * Bug #1985: Changing parameter in realtime view switches back to fitview
  * Bug #1986: GUI: splitter between ColorMap and RealTimeWidget jumps on parameter tuning
  * Bug #1989: BornAgain crash after loading different project
  * Feature #1005: Create off-specular simulation functional test
  * Feature #1772: GUI: implement projections editor for ImportView widget
  * Feature #1783: GUI: get rid of ScientificDoubleProperty
  * Feature #1786: Switch source *.h *.cpp files to new version of header (copyright, authors)
  * Feature #1814: GUI: provide FitView with possibility to set same color scale for real and simulated data
  * Feature #1818: Investigate simulation performance in the case of large detectors
  * Feature #1826: GUI: revise all tooltips of InstrumentView
  * Feature #1842: Improve simulation performance in the case of large detectors
  * Feature #1848: GUI: provide polarized beam and polarization analysis for detector
  * Feature #1849: Provide materials with magnetization in GUI
  * Feature #1850: GUI: provide correct translations for polarized scattering: GUI -> domain
  * Feature #1853: Provide Python3 based Windows installer
  * Feature #1854: Provide Python3 based MacOS installer
  * Feature #1855: Modify installation instructions for Win and MacOS to stress forthcoming Python3 transition
  * Feature #1858: Make possible using scattering length, number densities and scattering length densities as input material data
  * Feature #1859: Implement fitting for specular signal simulations
  * Feature #1860: Allow for instrument resolution in specular calculations
  * Feature #1865: GUI: provide correct translations for polarized scattering: domain -> GUI
  * Feature #1866: GUI: provide correct translations for polarized scattering: GUI -> Python
  * Feature #1868: GUI: provide off-specular instrument type in GUI
  * Feature #1869: Implement transform from domain for off-specular instrument
  * Feature #1870: Implement export-to-Python for off-specular instrument
  * Feature #1874: Provide a way to add background to simulated data
  * Feature #1878: GUI: provide prototype of ComponentEditor not relying on qtpropertybrowser framework
  * Feature #1879: Set default beam intensity to 1 instead of 0
  * Feature #1882: Provide material type functionality in GUI
  * Feature #1884: Provide common interface for Simulation and SpecularSimulation
  * Feature #1885: BornAgain GUI should open a project even if image files are missing
  * Feature #1892: GUI: refactor instrument view for better appearance of polarization related widgets
  * Feature #1895: Make an IDetector base class independent on dimensionality of the detector
  * Feature #1902: Add 1D detector for specular simulations
  * Feature #1904: Replace MaterialProperty and ColorProperty with universal property
  * Feature #1905: Provide access to minimizer catalogue from python
  * Feature #1906: Add functional test for specular simulation
  * Feature #1907: Merge ComboProperty and GroupProperty
  * Feature #1908: Add background option to GUI
  * Feature #1909: Correctly provide translation of background to Python/GUI/domain
  * Feature #1910: Employ 1D detector and get rid of virtual runSimulation in SpecularSimulation
  * Feature #1912: Provide combobox for background selection
  * Feature #1921: Move GUI unit tests from QtTest to google test
  * Feature #1923: Propagate exception messages from python extensions of BornAgain library
  * Feature #1929: Switch Python3 ON by default
  * Feature #1931: Implement footprint correction
  * Feature #1932: Implement rectangular detector for offspecular simulation
  * Feature #1933: Provide same functionality for offspecular simulation as for GISASSimulation
  * Feature #1935: GUI: create uniform icons for GISAS, OffSpec and Specular instruments
  * Feature #1936: GUI: provide specular instrument type in GUI
  * Feature #1947: Provide MaterialBySLD functional test
  * Feature #1948: Provide fourier transformation of simulated image in GUI
  * Feature #1951: Apply new unit conversion machinery for SpecularSimulation
  * Feature #1955: Revise axes labels in all Python examples
  * Feature #1969: Enable distribution of inclination angle in off-specular simulation
  * Documentation #1852: Remove Eigen3 dependency on BornAgain website before releasing
  * Documentation #1880: Provide example of new wavelength-independent material usage
  * Documentation #1941: Website: port Python examples section to Hugo
  * Documentation #1942: Website: port "Working with Python scripts" to Hugo, part 1
  * Documentation #1946: Revise MaterialBySLD (user interface and documentation)
  * Documentation #1956: Website: port "Working with Python scripts" to Hugo, part 2
  * Documentation #1957: Website: port "Working with Python scripts" to Hugo, part 3
  * Documentation #1958: Website: port "Working with Python scripts" to Hugo, part 4
  * Documentation #1959: Website: port "Using Graphical User Interface" to Hugo
  * Documentation #1960: Website: port "Troubleshooting and FAQ" to Hugo
  * Documentation #1963: Website: web-link highlight in tables
  * Refactoring #1856: Refactor JobView to present JobItem uniformly
  * Refactoring #1881: Reduce SessionItem interface
  * Refactoring #1917: Find a better way to carry specular data from Fresnel map to SpecularSimulation
  * Refactoring #1925: Functional tests have become considerably slower starting from pull request #336
  * Refactoring #1930: Refactor OffSpecSimulation
  * Refactoring #1934: Move creation of simulation elements out of instrument/detector
  * Refactoring #1943: Remove creation of simulation elements from SpecularDetector1D
  * Refactoring #1949: Restrict usage of simulation results to result() method (remove the other ones)
  * Refactoring #1953: Refactor real space viewing library for easy integration into GUI and better maintenance
  * Testing #1867: Provide functional test for translation of magnetic scattering properties
  * Testing #1965: Provide an example of fitting real reflectometry data with BornAgain
  * Configuration #1851: Review, define and configure build configurations on the buildserver
  * Configuration #1863: Fix changing of working directory by build script on Windows buildslave

BornAgain-1.10.0, released 2017.10.09
  > MacOS specific
    1) 10.9 (Mavericks) is not supported anymore. Minimum supported 10.10 (Yosemite).
  > API changes
    1) FormFactorTrivial renamed to FormFactorDot
    2) IParticle: applyTranslation -> translate; applyRotation -> rotate
  > Summary:
    1) Integration over rotation angle for square and hexagonal lattices.
    2) Trapezoid resolution function to describe instruments with neutron velocity selector.
    3) GUI: possibility to rotate imported experimental data.
    4) GUI: support for mesocrystals.
    5) GUI: added form factor of a dot.
    6) GUI: import of sample from Python script to GUI (experimental).
    7) Bugfixes.

  * Bug #1509: Version string should be different for executables generated from 'develop', from feature branches, or from 'master'
  * Bug #1626: Specular calculation gives weird results below critical angle in presence of top layer absorption
  * Bug #1788: Numerical instability in triangular ripple form factor
  * Bug #1806: GUI: Zoom of imported data does not work after applying a mask or ROI
  * Bug #1815: GUI: FitView sometimes stops fit progress update
  * Bug #1827: GUI: fix SessionModelDelegate for group property
  * Bug #1828: Simulation cloning might lead to segfault if SampleBuiler present
  * Bug #1830: Integration over xi is not translated to Python for square and hexagonal lattices
  * Bug #1832: Fitting example FitSphereInHexLattice runs suspiciously long
  * Bug #1834: Python examples do not work in Jupiter notebook
  * Bug #1845: GUI: add and implement correct translators for the parameters of MesoCrystalItem
  * Feature #1257: GUI: provide import into GUI model from python script
  * Feature #1579: provide trapezoid resolution function to describe instruments with neutron velocity selector
  * Feature #1617: Implement rotation of 2D OutputData on 90 deg
  * Feature #1618: Implement rotation of imported data in ImportData view
  * Feature #1684: nicer layout for newsletter@bornagainproject.org
  * Feature #1691: Decrease number of warnings produced by Windows build
  * Feature #1780: CMake: provide check for Python configuration consistency
  * Feature #1795: GUI: make parametrization of FormFactorTruncatedSphere and FormFactorTruncatedSpheroid as in Core
  * Feature #1803: Make plot_intensity_data util aware of current axes units
  * Feature #1804: Implement FormFactorTrivial in GUI
  * Feature #1807: Provide integration over xi for 2d lattice interference function
  * Feature #1808: GUI: restore all form factor tooltips
  * Feature #1819: Review custom form factors after graded layer approximation
  * Feature #1824: Revise current Python examples
  * Feature #1825: GUI: revise all tooltips of SampleView
  * Feature #1829: Revise fresnel coefficients calculations in the case of Monte-Carlo integration
  * Feature #1836: GUI: update qcustomplot library
  * Feature #1838: Create simplified MesoCrystal user example
  * Feature #1839: Provide export to python script for domain objects containing mesocrystals
  * Feature #1840: Implement mesocrystals in GUI
  * Feature #1841: Implement transform from domain to GUI for mesocrystals
  * Feature #1843: Create icon for MesoCrystal in GUI (widget)
  * Documentation #1823: Revise current list of Redmine issues
  * Documentation #1831: Add top cap removal parameterization to documentation of truncated sphere and spheroid form factor
  * Documentation #1833: Create prototype of hugo-based documentation website.
  * Refactoring #1835: Review/refactor slicing machinery
  * Refactoring #1844: Verify composition hierarchy of IParticle types in GUI and core

BornAgain-1.9.0, released 2017.07.04
  > No API changes
  > Summary:
    1) Magnetic scattering: New formalism that uses the magnetization of the different materials instead of the B-field.
    2) GUI: Project saving now done in seperate thread.
    3) Documentation: tutorials explaining interference functions and magnetic scattering
    4) Bugfixes.

  * Bug #1580: ParticleComposition w/ distructive interference (selection rules not met)
  * Bug #1765: GUI: ExportToPython generates unsorted material labels.
  * Bug #1790: MacOS dmg installer contains garbage from libgtest
  * Bug #1791: Python example FitGalaxiData became much slower
  * Bug #1792: Invalid memory access in MaskGraphicsScene destructor
  * Bug #1793: GUI: get rid of memory leackages in graphics widgets
  * Bug #1798: Provide check for negative absorption values
  * Bug #1809: Review cross correlation length of multi layer
  * Bug #1810: GUI: unconsistency in deg2rad convertion for angle distributions
  * Bug #1811: GUI: fitting of roughness parameters is broken for two layers systems
  * Bug #1816: GUI: minimum value of particle density in particle layouts is fixed to 0.001, which is too strict
  * Bug #1821: SpecularSimulation gives slightly different results compared to GISASSimulation with specular peak
  * Feature #1740: Implement polarized scattering on magnetic nanoparticles using the magnetization instead of the B-field
  * Feature #1762: GUI: create tooltips for interference function items
  * Feature #1812: GUI: provide saving of project in separate thread
  * Feature #1813: GUI: pop-up modal progress bar dialog on project load
  * Documentation #1131: Create tutorial explaining interference function parameterization
  * Documentation #1522: Create python example with polarized neutrons and magnetic materials
  * Documentation #1797: Provide prototype of statically generated documentation based on GitHub pages
  * Documentation #1820: Provide Jülich logo on website
  * Testing #1609: Clarify relation between PyPersistence tests and tutorial examples

BornAgain-1.8.1, released 2017.05.12
  > Hotfix:
  * Bug #1799: Average layer material doesn't work with ParticleComposition
  * Bug #1800: GUI: missing sigma factor in gate distribution causes problem
  * Bug #1801: GUI crashes on welcome screen
  * Bug #1802: GUI: hexagonal lattice becomes square during simulation

BornAgain-1.8.0, released 2017.04.06
  > API changes
    1) ParticleLayout: addInterferenceFunction -> setInterferenceFunction
  > Summary:
    1) Fitting: all reasonable parameters can now be used for fitting.
    2) GUI: plot settings are now persistent.
    3) Graded layer approximation: simulations can now use the average refractive index as the background.
       Layers can be split into multiple slices with different average material, depending on the particle content.
    4) Particles can now cross layer interfaces.
    5) Import of Tiff data improved.
    6) Lots of refactoring and bug-fixing.

  * Bug #1633: Possible memory leakage in LayerStrategyBuilder.
  * Bug #1634: MacOS dmg 1.7 installation is partly broken
  * Bug #1639: GUI: crash if fitting parameter removed
  * Bug #1641: histogram2d test fails under certain configurations
  * Bug #1658: add qt5-svg as a dependency
  * Bug #1661: FitSuite doesn't know about TestMinimizer
  * Bug #1662: CMake: require Qt version 5.4
  * Bug #1664: FitSuite.runFit() crashes with unclear error message
  * Bug #1674: Possible bug introduced in Polygon in Python context
  * Bug #1681: Fitting GUI: free parameter error
  * Bug #1687: LMA is incorrectly normalized
  * Bug #1692: GUI and Py: simulation crash when sample contains undefined material
  * Bug #1705: Py Fit crashes for zero fit parameters
  * Bug #1745: GUI: resolution function for spherical detector doesn't affect simulation.
  * Bug #1746: Zero scattering for buried particle in magnetic layer
  * Bug #1759: GUI: sample script view shows false warnings
  * Bug #1764: Rotation of magnetic particle insided magnetic layer behaves erroneously
  * Bug #1776: SpecularSimulation gives wrong results when top layer is not vacuum
  * Bug #1789: GUI: axes range of color map
  * Feature #163: implement IsGISAXS Example 14 (graded layer)
  * Feature #1238: nicer layout for newsletter@bornagainproject.org (reopened: v1.6.0 round mail still had black bars)
  * Feature #1478: Refactor FitParameterLinked to provide simultaneous fit of several sample parameters
  * Feature #1562: Provide ISample with possibility to export parameter tree in Python dictionary
  * Feature #1616: For correct computation of mean refractive index, no longer allow embedding particles in the semi-infinite top layer
  * Feature #1624: Make all reasonable parameter values into fittable parameter
  * Feature #1653: Outcome of BornAgain user meetings in November
  * Feature #1667: Read DESY/dpdak tiff files to BornAgain GUI
  * Feature #1669: Allow for multiple form factors (dwba or not) in FromFactorWrapper and rename accordingly
  * Feature #1670: Provide interface for adding particle shapes in different layers that are to be treated coherently (at fix relative position)
  * Feature #1671: Provide automatic splitting of particle shapes when they cross a layer interface
  * Feature #1672: Implement subdivision of a layer into multiple layers for graded interface calculations
  * Feature #1680: Provide 1.7.1 hotfix
  * Feature #1683: GUI: provide persistence of plot settings (interpolation, color scale, ...)
  * Feature #1696: GUI: Improve drag-and-drop construction of a MultiLayer.
  * Feature #1702: Fit: Provide extended print output for fit parameters during iterations.
  * Feature #1753: Create specular peak user example and functional test.
  * Feature #1763: Revise ParameterDistribution constructors and exceptions
  * Feature #1769: support TIFF data from A. Nent
  * Feature #1774: Check and document best way of handling magnetic materials under rotations
  * Feature #1782: GUI: provide restore project on GUI crash
  * Feature #1785: Add graded layer approximation to GUI
  * Feature #1787: Include option for specular peak in GUI
  * Documentation #1523: explain numeric value of HomogeneousMagneticMaterial::m_magnetic_prefactor
  * Refactoring #1484: GUI: refactor InstrumentItem and DetectorItem
  * Refactoring #1485: GUI: refactor InstrumentView
  * Refactoring #1490: GUI: refactor JobView and IntensityData widgets
  * Refactoring #1492: GUI: Unify WarningSignWidget usage across the whole project
  * Refactoring #1604: move expected inaccuracy (m_variability) out of class OutputData
  * Refactoring #1623: Parameter name translation (GUI -> domain)
  * Refactoring #1652: Sort namespaces, and provide Doxygen comments
  * Refactoring #1659: rename PixelMap -> Pixel
  * Refactoring #1660: remove global functions
  * Refactoring #1730: Refactor ICompositeSample hierarchy
  * Refactoring #1733: Avoid multiple calculations of same RT coefficients
  * Refactoring #1743: resolve mutual directory dependence Parametrization <-> Scattering
  * Refactoring #1744: resolve mutual directory dependence Aggregate <-> Multilayer
  * Refactoring #1784: Clean up code after implementation of graded layer approximation
  * Configuration #1496: Switch Windows10 buildslave from virtual box to vagrant box
  * Configuration #1536: prevent Drupal from sending HTML mails with black horizontal header bar, without left margin, and in grey font
  * Configuration #1635: update to gtest-1.8
  * Configuration #1729: Fix centos7 CI build on buildbot

BornAgain-1.7.1, released 2016.12.01
  > Hotfix:
  * Bug #1679: Remove leading U+FEFF from FindYamlCpp05.cmake
  * Bug #1682: hotfix: rm local version of FindBoost.cmake
  * Bug #1658: add qt5-svg as a dependency
  * Bug #1662: CMake: require Qt version 5.4
  * Bug #1687: LMA is incorrectly normalized
  * Bug #1692: GUI and Py: simulation crash when sample contains undefined material
  * Bug #1681: Fitting GUI: free parameter error
  * Bug #1661: FitSuite doesn't know about TestMinimizer
  * Bug #1639: GUI: crash if fitting parameter removed

BornAgain-1.7.0, released 2016.11.14
  > API changes
    1) The one-argument constructors of FormFactorGauss and FormFactorLorentz now accept a length instead of a volume
    2) GUI project back-compatibility broken
  > Summary:
    1) We moved the source repository from our own server to GitHub,
         https://github.com/scgmlz/BornAgain.
       This makes it easy for external contributors to propose changes in form of pull requests.
       Appveyor and Travis continuous integration server automatize tests.
       Python usage examples are now also covered by tests.
    2) GUI support for fitting real data extended: masking, region of interest, linking dataset to defined instrument.
       Control parameters for different fit engines unified.
    3) Behind the scenes: many directories, files, classes renamed or reorganized.

  * Bug #1498: Fitting in GUI: values for all fitting parameters are reported as the same
  * Bug #1499: GUI Segmentation fault if layer is too thick
  * Bug #1511: Roughness simulations give incorrect scattering contribution below the sample horizon
  * Bug #1512: GUI crashes when simulating for a lognormal distribution of wavelength with scale parameter zero
  * Bug #1515: GUI: error in determination of size of imported tiff file causes crash of fitting
  * Bug #1516: Consider include of ms-win-runtime library into Windows installer
  * Bug #1520: GUI: global progress bar seems to be not updating
  * Bug #1558: Memory leakges in Python on Simulation::getIntensityData call
  * Bug #1559: Restore intensitydata.py functional test
  * Bug #1571: PyCoreTest overlooks complete obstruction of simulation
  * Bug #1576: bornagain/__init__.py must not require matplotlib
  * Bug #1583: PyPersist tests fail if build directory path contains a '.'
  * Bug #1600: PyPersistenceTest throws an exception from regex
  * Bug #1603: GUI: Cancel job is not working anymore after the refactoring of ProgressHandler, GUI real-time performance is heavily affected too
  * Bug #1613: detector.setPerpendicularToReflectedBeam moves detector in the case of the beam divergence
  * Bug #1621: Broken parameter name translation for certain names in GUI fitting job
  * Bug #1630: Monte Carlo and multithreading options are not propagated to GUI fitting
  * Feature #1120: Calculate the specular peak intensity: |R|^2 at the specular pixel
  * Feature #1238: nicer layout for newsletter@bornagainproject.org (reopened: v1.6.0 round mail still had black bars)
  * Feature #1475: DOI for BornAgain
  * Feature #1513: Provide more informational throw message from RealParameterWrapper.
  * Feature #1543: decouple FitKernel from FitSuite
  * Feature #1560: Provide simulation running from Python with text version of progress bar
  * Feature #1561: merge FTDistribution.. and FTDecayFunction..
  * Feature #1563: Investigate time-of-life of SampleBuilder in Python context
  * Feature #1564: split "Pi.h" from Units.h
  * Feature #1573: facilitate plotting from Python scripts exported by PyCore tests.
  * Feature #1620: Extend numpy support
  * Documentation #991: Revise and reintegrate chapter on particle distributions
  * Documentation #1351: Drupal: update installation instructions, tutorials for coming release
  * Documentation #1412: avoid horizontal scrolling in code examples
  * Documentation #1517: Add the case with missed msvc2015 runtime library on Windows systems to the troubleshooting section
  * Documentation #1589: Clone drupal website
  * Documentation #1590: Update to drupal 8
  * Refactoring #1419: move test code out of core
  * Refactoring #1428: Compactify code that handles parameters (use abstract mechanism instead of treating each single parameter explicitly)
  * Refactoring #1440: cover Python examples by functional tests
  * Refactoring #1466: Refactor core Minimizer family to match the GUI presentation
  * Refactoring #1477: Provide more detailed info on Exception thrown from Polyhedron based form factors
  * Refactoring #1487: GUI: introduce ROI (region of interest) in MaskEditor
  * Refactoring #1488: GUI: provide integration of ImportDataView and InstrumentView
  * Refactoring #1497: Agree on new Core directory structure and class renaming to Rename certain classes and methods.
  * Refactoring #1514: Remove code duplication in Distributions.h and .cpp
  * Refactoring #1524: "FitSuite" currently used in two different meanings
  * Refactoring #1526: replace "FunctionalTest" by more specific terms in several test machinery classes
  * Refactoring #1527: simplify containsMagneticMaterial, printSampleTree, genPyScript
  * Refactoring #1542: Make ParameterPool and RealParameter independent of IParameterized
  * Refactoring #1546: disambiguate getRadius()
  * Refactoring #1550: in .h file header comments, replace »Declares« by »Defines«
  * Refactoring #1556: FormFactorInfo: remove unused m_pos_x, m_pos_y
  * Refactoring #1565: to associate units with parameters, use string instead of inheritance
  * Refactoring #1588: FitSuiteParameters inhibits Python iterator
  * Refactoring #1593: Remove soft particle constructors that have a volume argument instead of the usual length
  * Refactoring #1594: Review and possibly refactor IFormFactor class hierarchy
  * Refactoring #1605: Revise public API of fitting classes
  * Configuration #1255: MacOS: provide vagrant build configurations for Mavericks
  * Configuration #1344: MacOS: install buildslave to macmini
  * Configuration #1447: Migrate to GitHub
  * Configuration #1483: Fix shuwdown of Windows10 build slave
  * Configuration #1501: version tag must start with 'v' (change release script or instructions)
  * Configuration #1502: rebase all branches after release (change release script or instructions)
  * Configuration #1577: Qt qcreator navigation/recognition is broken for all unit tests
  * Configuration #1595: Fix Windows builds

BornAgain-1.6.2, released 2016.07.15
  > Hotfix:
  * Bug #1558: Memory leakages in Python on Simulation::getIntensityData call

BornAgain-1.6.1, released 2016.07.15
  > Hotfix:
  * Bug #1499: GUI Segmentation fault if layer is too thick
  * Bug #1512: GUI crashes when simulating for a lognormal distribution of wavelength with scale parameter zero

BornAgain-1.6.0, released 2016.06.30
  > Summary:
    1) Python3 support
    2) GUI: beta version of fitting
    3) Core: new roughness calculation that is more stable for large roughness
    4) Core: new formfactors dodecahedron and icosahedron
    5) Windows: switched to 64-bits

  * Bug #1084: MultiLayer samples with roughness (and without particles) report wrong progress to the GUI's progress bar
  * Bug #1113: GUI: python script view is not updating while selecting different multilayers
  * Bug #1274: GUI: rotated ellipse in MaskEditor is wrongly propagated to domain
  * Bug #1294: provide substantial unit tests for factor computations
  * Bug #1338: Crash while saving certain project file
  * Bug #1343: GUI: online update notifier is not working
  * Bug #1358: for complex vector3D, functions mag() and mag2() should return a real, not a complex number
  * Bug #1367: Fix python bindings to make fitting example FitAlongSlices working
  * Bug #1370: Fix numerous "features" introduced by latest major GUI refactoring
  * Bug #1396: GUI: Provide limits for all properties
  * Bug #1401: correct inaccurate numerics near removable singularity in form factors Tetrahedron and Prism3
  * Bug #1404: compilation broken for libgsl2
  * Bug #1405: Implementation error in MultiLayerRoughnessDWBASimulation
  * Bug #1413: polyhedra won't react to ex-post parameter variation
  * Bug #1429: Unit tests files are not shown in Qt Creator IDE
  * Bug #1449: Apply detector resolution function can give negative results
  * Bug #1455: RuntimeError if CrossCorrLength=0
  * Bug #1458: Compilation under Mac OS is broken
  * Bug #1465: Repair MacOS cmake machinery
  * Bug #1470: Revise all README's in BornAgain source directory.
  * Feature #335: Check Python 3 compatibility
  * Feature #1075: Cone6 form factor -> analytic
  * Feature #1126: GUI: improve performance of IntensityDataWidget while dragging colorbar
  * Feature #1138: GUI: provide uniform style for double numbers in GUI-generated Python script
  * Feature #1180: GUI: refactor material editor to make select/cancel behavior less confusing
  * Feature #1238: nicer layout for newsletter@bornagainproject.org
  * Feature #1245: Investigate alternative Python API generation (for c++11)
  * Feature #1281: GUI: provide widget for fit parameters settings
  * Feature #1305: GUI: Make real time simulation aware of current zoom level to speed up the performance
  * Feature #1342: GUI: add Monte-Carlo integration option in the simulation
  * Feature #1365: Replace old ./App based performance test machinery with new one
  * Feature #1387: GUI: finalize FitWidget
  * Feature #1388: GUI: refactor RealTimeActivity
  * Feature #1408: GUI: refactor/beautify/finalize FitWidget
  * Feature #1409: accelerate Ripple1
  * Feature #1427: Implement new roughness calculation that is more stable for large roughness
  * Documentation #1262: Fix IsGISAXS references in form factor section
  * Documentation #1269: Update documentation for new phi angle definition
  * Documentation #1280: draw tetrahedron as seen from -x
  * Documentation #1351: Drupal: update installation instructions, tutorials for coming release 1.6
  * Documentation #1400: blender: paint dodecahedron and icosahedron
  * Refactoring #1217: Cleanup App directory from all obsolete code
  * Refactoring #1258: GUI: move XML related methods outside of the SessionModel
  * Refactoring #1295: remove 'inc/ and 'src/' directory level
  * Refactoring #1296: update internal information about performance tests
  * Refactoring #1333: MSC switches hopefully obsolete
  * Refactoring #1334: Core: remove ProgramOptions from the simulation
  * Refactoring #1352: GUI: refactor SessionModel and ParameterizedItem
  * Refactoring #1353: GUI: refactor AwesomePropertyEditor to rely on new GUI model
  * Refactoring #1424: reduce verbosity of googletest output
  * Refactoring #1472: Introduce additional template parameter for IFactory to be able to use QString as a key
  * Testing #1345: Vagrant: Provide Win10 Vagrant box running on build server
  * Testing #1346: Winbuild: Provide GSL/Cmake based compilation uder MSVC 2015
  * Testing #1347: Winbuild: Provide compilation of BornAgain in MSVC 2015 Comunity edition (64bits, Python2 and 3)
  * Configuration #1350: Buildbot: provide set of configurations for buildbot-based BornAgain's builds

BornAgain-1.5.1, released 2016.02.18
Hotfix:
  * Bug #1341: GUI crashes if simulating with 1D lattice interference function
  * Bug #1338: Crash while saving certain project file

BornAgain-1.5.0, released 2016.02.15
  > API changes
    1) FTDecayFunctions introduced to use together with lattices (setDecayFunction)
       FTDistributions are used, as before, with paracrystals.
  > Summary:
    1) Core: interference function calculates particle densities automatically
    2) GUI: 1D interference function, Rectangular detector, Mask editor
    3) GUI: Selection of axes (degrees, radians,number of bins, Q-space) for intensity data
    3) Documentation: new tutorials on web site (rectangular detector, fitting, data treatment, rectangular grating)
    4) Various bugfixes
  * Bug #1276: Fix thread concurrency while repoorting progress update in DWBASimulattion
  * Bug #1297: Reading ASCII intensity files not culture invariant
  * Bug #1298: Mac os x: BornAgain.app crashes (cannot load the QtNetwork library)
  * Bug #1302: Script updates following API change
  * Bug #1303: Functional test montecarlo_integration.py fails
  * Feature #1035: Revise IFormFactor::getRadius and IFormFactor::getHeight
  * Feature #1045: Use interference funtion's properties to set total particle surface density
  * Feature #1148: MacOS: provide generation of dmg installer using Qt5.5
  * Feature #1149: MacOS: provide Maverick compilation using MacMini and vagrant
  * Feature #1184: Implement transformation to q-space for intensity image
  * Feature #1211: Switch to C++-11 for the whole project
  * Feature #1213: Implement choice of detector in GUI
  * Feature #1230: GUI mask editor: implement mask editor basic functionality
  * Feature #1231: GUI mask editor: integrate mask editor into InstrumentView
  * Feature #1232: GUI mask editor: provide transform from C++ domain to GUI domain
  * Feature #1233: GUI mask editor: provide transform from C++ domain to python domain
  * Feature #1234: GUI mask editor: provide functional tests for all 3 domains
  * Feature #1235: GUI mask editor: integrate IntensityData widget into GraphicsScene
  * Feature #1246: Investigate refactoring of ParameterizedItem structure
  * Feature #1259: Add 1D lattice interference function to GUI
  * Feature #1260: Windows: installer should create PYTHONPATH environment variable in system scope and not in user scope
  * Feature #1266: GUI: Implement collapsable Accordion widget
  * Feature #1267: GUI: implement update online notification widget
  * Feature #1272: GUI: provide run of the fitting in GUI thread
  * Feature #1275: Provide rectangle detector examples and functional tests
  * Feature #1283: Provide functional test for all formfactors, when they are rotated and in the presence of absorption
  * Documentation #1261: Drupal: update installation instructions, tutorials for coming release 1.5
  * Documentation #1262: Fix IsGISAXS references in form factor section
  * Documentation #1269: Update documentation for new phi angle definition
  * Refactoring #1061: describe or remove morphology mode
  * Refactoring #1236: Clean up remote git branches
  * Refactoring #1237: GUI: generate distributed parameter names from GUI sample model instead of core model
  * Refactoring #1264: Refactor ParameterizedItem's different naming schemes
  * Refactoring #1265: Refactor RectangularDetector API to correspond with the tutorial
  * Refactoring #1268: Change phi angle convention
  * Refactoring #1270: Clarify and refactor different naming properties of ParameterizedItem
  * Refactoring #1271: Investigate necessity of having a separate list for subitems and refactor accordingly
  * Refactoring #1278: Deprecated declarations by compiling on new systems

BornAgain-1.4.0, released 2015.10.30
  > No API changes
  > Summary:
    1) Improved usability of IntensityData objects (slicing, histogram filling, ...)
    2) GUI: export of simulation results into tiff or ascii file
    3) Core: rectangular detector added (not yet in GUI)
    4) Documentation: extra fitting examples on website
    5) Various bugfixes
  > Details of Sprint #29 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
  * Bug #1083: Trivial MultiLayer samples (no roughness, no particles) cause simulation crash.
  * Bug #1130: Validate form factor of truncated sphere for absorption case
  * Bug #1136: Numerical instability at phi_f=0 on MacOS for Pyramid based form factors
  * Bug #1152: In Real Time Activity view, negative positions cannot be achieved
  * Bug #1157: Qt dependency is not mentioned in INSTALL
  * Bug #1158: many checks fail (1.3.0)
  * Bug #1167: GUI crash when showing projection
  * Bug #1170: GUI: InstrumentView alignment problem in detector parameters
  * Bug #1171: GUI: make thickness disabled for air and substrate layers
  * Bug #1173: Revise ParticleDistribution base class
  * Bug #1174: GUI: color of layer does not change if color of material has been changed
  * Bug #1198: GUI: fix simulation for particle distributions and negative z coordinate
  * Bug #1212: Windows: modify installer to prepend BornAgain location to system PATH instead of appending to it
  * Bug #1215: Repair wrong usage of double_epsilon in Core
  * Bug #1216: GUI: normalization of intensity
  * Bug #1223: FormFactorTruncatedCube instability under MacOS
  * Feature #922: Add slicing to IntensityDataFunctions
  * Feature #948: Implement new IntensityData object with improved usability
  * Feature #1055: Implement Genetic minimizer to get rid from ROOT dependency
  * Feature #1081: GUI: provide export of simulation results into tiff file
  * Feature #1095: Implement rectangular (real space) detector
  * Feature #1099: Repair fitting with masks
  * Feature #1179: GUI: provide export of simulation results into text file (*.int)
  * Feature #1186: Implement tiff import/export in kernel
  * Documentation #1176: Drupal: update installation instructions, tutorials for coming release 1.4
  * Documentation #1181: Drupal: provide fitting example along slices
  * Documentation #1182: Drupal: provide fitting example with simultaneous fit of two datasets
  * Refactoring #619: Masked simulation doesn't use all threads all the time
  * Refactoring #1064: Get rid of "pylab" in Python scripts

BornAgain-1.3.0, released 2015.07.30
  > API Changes:
    1) Removed 'depth' from ParticleLayout::addParticle: new interface provides for abundance, position and possible rotation
  > Summary:
    1) Documentation: description of using positions/rotations for particles
    2) Documentation: description of building complex shapes by assembling elementary shapes together
    3) New functional test machinery, covering more test cases in a more consistent way
    4) Windows installer: for GUI use, python installation is no longer required
    5) GUI: added position/rotation to ParticleComposition and ParticleCoreShell and enabled adding ParticleComposition to another ParticleComposition
    6) Various bugfixes
  > Details of Sprint #28 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
  * Bug #1092: BornAgain crashes when connecting ParticleCoreShell to ParticleDistribution
  * Bug #1101: Fix Python script generation (since refactorings in last release)
  * Bug #1106: Fix GUI example
  * Bug #1108: GUI Crash when inserting Distributed Particle in 'Rotated pyramids' example
  * Bug #1112: Validate domain/GUI/domain convertion of samples with two types of distributed particles
  * Bug #1114: New functional test PySuite/RectParaCrystal is failing
  * Bug #1115: New functional test ParticlesInSCCA is failing
  * Bug #1117: Implement GUI/PyScript functional tests for 2D para crystal and various FTDistributions function
  * Bug #1118: Implement partial loading from BornAgain-1.2 project files to current 1.3
  * Bug #1127: Crash after dragging MultiLayer into MultiLayer
  * Bug #1147: GUI: project open failure for the project file of 1.1 version containing core shell particle
  * Feature #887: Windows: provide compilation of BornAgain using MSVC2013
  * Feature #888: Windows: consider include of python27.dll into the installer
  * Feature #925: Review collection of functional tests
  * Feature #1020: Refactor GUI (and possibly core) version of Transformation to enable a distribution of position/rotation (2)
  * Feature #1105: Provide captcha for Drupal site
  * Feature #1107: Rename 'Transformation' in GUI when only a rotation is meant
  * Feature #1111: Implement DetectorResolution in python script generator
  * Feature #1140: Write intensity output file (.int) as matrix having the same dimensions as the intensity array
  * Documentation #1098: Add two existing Python examples to Drupal
  * Documentation #1100: Create fitting tutorial for drupal site
  * Documentation #1132: Drupal: describe particle positioning
  * Documentation #1133: Drupal: describe particle rotation
  * Documentation #1134: Drupal: describe complex shapes via particle composition
  * Documentation #1137: Drupal: update installation instructions, tutorials for coming release 1.3
  * Refactoring #1121: Remove position/rotation from ParticleDistribution
  * Testing #1013: Check consistency of depth and abundance between GUI and core
  * Testing #1016: Implement all form factors GUI functional test
  * Testing #1122: Provide functional tests to validate particles rotation and positioning

BornAgain-1.2.0, released 2015.06.10
  > API Changes:
    1) Rename: 'Simulation' --> 'GISASSimulation' for consistency with other types of simulations
    2) Removed 'ParticleInfo' completely from public API: position information is now encoded in the Particle's themselves
  > Summary:
    1) Documentation: scalar scattering theory in manual
    2) Support for polarized neutron scattering with polarization/analysis along different axes (not restricted to z-axis)
    3) New features in Graphical User Interface
       a) GUI real time view is now saved in projects
       b) Beam divergence can be exported to Python script
       c) InstrumentView allows to change beam divergency with the help of fancy distribution viewer
       d) JobView allows to normalize all selected jobs to the specific min, max to simplify intensity map comparison
    4) Various bug fixes
  > Details of Sprint #27 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
  * Bug #1047: Release script: move MAC dmg package into 'old' directory
  * Bug #1048: Update release script for new user manual
  * Bug #1050: GUI: Variation of lattice orientation in real time view does not work for example 'Hexagonal lattice with basis'
  * Bug #1057: GUI: run job that was 'Submit only' does not produce a plot
  * Bug #1066: Model lost after unsuccessful load
  * Bug #1067: Keyboard shortcuts not always working
  * Bug #1069: Crash when entering parameter out of range in sample view
  * Bug #1077: Fix min, max handling for z-axis of ColorMap plot
  * Bug #1079: Fix appearance of tab with job details on JobView
  * Bug #1085: Fix crash of GUI while trying to save the project under the name containing special characters
  * Bug #1091: BORNAGAIN_APP flag does not automatically build 'App'
  * Bug #1093: showstoppers for release of manual v1.x
  * Bug #1097: update reference data for functional test 65: montecarlo_integration.py
  * Feature #957: Investigate automatic generation of meaningful docstring for PythonAPI
  * Feature #959: GUI: implement saving of RealTimeView content in JobModel
  * Feature #979: Add standard GNU options -v --version to command bornagain
  * Feature #996: GUI: implement export to Python in the case of beam divergence
  * Feature #1015: Implement polarized neutron scattering with beam density matrix and analyser spin filter
  * Feature #1040: Change angle units from radians to degrees while exporting from PyGenVisitor
  * Feature #1051: Implement warning sign widget in real time view
  * Feature #1056: Make default build to not to use system's ROOT
  * Feature #1062: Add item in drupal's troubleshooting section explaining possible interference between BornAgain and Mantid on MacOS
  * Feature #1063: Add item in drupal troubleshooting section explaining conflict with previous BornAgain installation
  * Documentation #915: Provide poster for Galaxi control room
  * Documentation #990: Proof-read chapter on scalar scattering theory
  * Documentation #1058: Describe how to install BornAgain on mac to user home folder
  * Documentation #1059: Provide poster for our building
  * Refactoring #1046: Replace unnecessary shared_ptr's with scoped_ptr's
  * Refactoring #1074: Replace complex OutputData structures at low level with vector of required input/output

BornAgain-1.1.0, released 2015.04.15
  > Summary:
    1) New form factor of truncated cube
    2) New features in Graphical User Interface
       a) Beam divergence, detector resolution function
       b) ParticleComposition (particle composed from other particles)
       c) ParticleDistribution (particle with size distribution)
       d) Export of GUI simulation into a Python script for novice users
    3) Changes in PythonAPI:
       a) LatticeBasis now is called a ParticleComposition
       b) Transform3D object is removed in the favor of RotationX, RotationY, RotationZ and RotationEuler objects
  > Details of Sprint #26 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
  * Bug #951: Unit tests failing with boost-1.57
  * Bug #968: Merge forked bibliography files
  * Bug #969: Let user manual version be same as software version
  * Bug #974: rename BORNAGAIN_MAN
  * Bug #997: GUI: progress bar shows wrong progress in the case of beam divergence
  * Bug #998: GUI: beam wavelength with wide gaussian distribution cause crash
  * Bug #999: GUI: Mouse wheel events on InstrumentView affects values in combo widgets
  * Bug #1001: GUI: Applying LogNormal distribution to inclination angle causes simulation job failure
  * Bug #1011: GUI crashes at wrong formfactor parameters
  * Bug #1037: Doubling of unit cell in hexagonal lattice yields wrong results
  * Bug #1038: GUI: python script generation fails for the distributed particle
  * Bug #1041: GUI: depth of particles cannot be negative
  * Bug #1043: Check R,T coefficients provided by SpecularSimulation class
  * Feature #827: Forbid in-source build
  * Feature #834: Integrate python script generation in GUI
  * Feature #883: Provide the Simulation with possibility to post process IntensityData with the detector resolution function
  * Feature #895: GUI: implement Python script viewer in SampleView
  * Feature #924: GUI: update list of saved projects
  * Feature #937: Revise content and behaviour of GUI's widgetbox for standard samples
  * Feature #941: GUI: implement detector resolution function
  * Feature #943: Implement beam divergence in GUI
  * Feature #972: Setup and describe GUI-version as the default program, add Qt5 dependences to online installation instructions, and use the distributions' native Qt5
  * Feature #973: GUI invocation: 'BornAgain' -> 'bornagain' (Unix commands must be all lowercase)
  * Feature #977: Implement GUI version of LatticeBasis
  * Feature #1006: Make icon for Particle Collection in GUI
  * Feature #1007: Implement support for Particle Collection in python script generation
  * Feature #1008: Provide GUI functional test for ParticleComposition
  * Feature #1010: GUI: provide possibility to fix min, max intensity values while tuning parameters in RealTimeView
  * Feature #1017: Provide basic working GUI version of ParticleDistribution with single parameter distribution
  * Feature #1018: Refactor GUI (and possibly core) version of Transformation to enable a distribution of position/rotation
  * Feature #1036: Implement FormFactorTruncatedCube in GUI
  * Documentation #394: Write man page(s)
  * Documentation #659: Extend introduction of User manual
  * Documentation #942: Write release 1.0.0 news letter for extended mailing list
  * Documentation #944: Drupal: add small gallery on Welcome page
  * Documentation #946: Drupal: write how to get help and how to request a new feature in FAQ section
  * Documentation #949: Drupal: implement tracking of BornAgain downloads number in Google Analytics
  * Documentation #952: Mention python gdal module in the description of the load tiff data example
  * Documentation #956: FormFactorTetrahedron: difference in equations in .cpp file and the manual
  * Documentation #965: convert user manual to xelatex
  * Documentation #978: Make index for User Manual
  * Refactoring #950: Refactor JobQueueModel to rely on standard SessionModel
  * Refactoring #960: GUI: refactor SampleDesigner to use UniversalPropertyEditor
  * Testing #555: Implement ParticleCoreShell unit test
  * Testing #1000: Implement ParameterDistribution and DistributionHandler unit tests
  * Testing #1003: Implement LatticeBasis unit test
  * Support #577: Implement form factor of truncated cubes

BornAgain-1.0.0, released 2015.01.29
  > Summary:
    1) Graphical User Interface officially included into the Release
    2) Refactoring and extension in the collection of user Python examples
    3) New website www.bornagainproject.org is online
    4) R,T coefficients exposed to Python within new SpecularSimulation class
    5) Minor changes in PythonAPI (particles with size distribution, LatticeBasis construction, InterferenceFunction1DParacrystal)
  > Details of Sprint #25 (see http://apps.jcns.fz-juelich.de/redmine/projects/bornagain/issues)
  * Bug #788: Fix release script to process CHANGELOG correctly
  * Bug #872: PyScript functional tests fail on iffds
  * Bug #873: Replace IntensityDataIOFactory::writeIntensityData format from .txt to .int in all App cases
  * Bug #874: Fix undefined reference
  * Bug #876: Fix small release script issues
  * Bug #935: It is not possible to change phi_f in InstrumentView
  * Feature #544: Provide example with user's form factor extension from python
  * Feature #737: Provide example demonstrating Monte-Carlo integration for big particles
  * Feature #783: Design BornAgain main application icon
  * Feature #787: Revise build instruction for Mac
  * Feature #841: Implement 'About BornAgain' widget in Menu/Help
  * Feature #851: GUI: disable qDebug() outputs for Release build
  * Feature #854: Provide splash screen for starting GUI
  * Feature #855: Check implementation of radial averaging for paracrystal
  * Feature #866: Revise list of python examples going into release 1.0.0
  * Feature #871: Revise deployment instruction for Mac
  * Feature #885: Provide web statistics
  * Feature #894: GUI: create collapsible group box
  * Feature #898: Create setup.py for moving BornAgain libraries into users Python
  * Feature #908: Create 3 user examples demonstrating DA, LMA and SCCA difference
  * Feature #909: Expose MultiLayer's R,T coefficients into Python
  * Feature #910: Implement automatic check of python examples from users examples directory
  * Feature #911: Revise usage of PositionParticleInfo
  * Feature #912: Create example of hexagonal lattice with basis
  * Documentation #197: Unified header comment for all source files
  * Documentation #781: Provide short description of GUI functionality
  * Documentation #848: Create BornAgain documentation prototype using Sphinx
  * Documentation #849: Replace old weblink with bornagainproject.org in user manual
  * Documentation #860: Update installation section with how to compile graphical user interface
  * Documentation #864: Provide Drupal site with minimum set of pages
  * Documentation #865: Switch bornagainproject.org to new website
  * Documentation #867: Update User Manual with examples description corresponding to release-1.0.0 list
  * Documentation #877: Provide draft webpage
  * Documentation #891: Check and fix examples
  * Documentation #893: Check feasibility of custom form factor example in Python
  * Documentation #901: Fill in Sphinx functionality overview section
  * Documentation #902: Fill functionality overview section in Drupal
  * Documentation #905: Clean up doxygen documentation
  * Refactoring #242: use GSL for random number sampling
  * Refactoring #258: Make enumerator look the same everywhere
  * Refactoring #568: Refactor ParticleBuilder
  * Refactoring #830: Check pass by value for Eigen matrices of fixed size
  * Refactoring #889: Remove Stochastic parameters in favour of IDistribution classes
  * Refactoring #913: Remove FormFactorDWBAConstZ
  * Testing #795: Test dmg package

BornAgain-0.9.9, released 2014.10.29
  > Summary:
    1) Further GUI development: QuickSimulationView, exception catching, property limits
    2) Few bugfixes, support for multiple layout objects per layer, python script generation, minor refactoring in UserAPI.
    3) User Manual: new appendix with python examples
  > Details:
  * Bug #776: GUI: InterferenceFunction2DParaCrystal rotation angle activation
  * Bug #780: Windows: pixmap of item being dragged is not displayed on DesignerScene
  * Bug #791: LLDataTest.DataAssignment Unittest failure
  * Bug #821: Remove interference function approximations from GUI
  * Bug #826: cmake fails under Debian/testing; problem with Python
  * Bug #829: CMake is not able to find right Python version when there is a Python2 and Python3 on the system
  * Bug #833: Duplicate transformation in Real Time Activity view
  * Bug #835: In Real Time Activity view, setting wavelength to zero causes a crash
  * Bug #843: Fix nightly build (python script generation functional tests failing)
  * Feature #393: Create Mac installer
  * Feature #677: Provide validation of GUI sample for corectness and corresponding info widget
  * Feature #680: Provide ParameterizedItem's property with tooltips.
  * Feature #768: Integrate QuickSimulationView into JobView
  * Feature #769: Remove SimulationDataModel
  * Feature #778: Windows installer: implement add/remove BornAgain desktop icon
  * Feature #784: Revise workspace behaviour in DesignerScene
  * Feature #803: Implement correct handling of simulation failure in JobItem
  * Feature #805: Implement simple crash handler widget to report bugs
  * Feature #814: Implement exceptions catching in the Core to report exception from a thread to main thread
  * Feature #819: Move DA, LMA, SSCA to ParticleLayout and propagate to GUI
  * Feature #820: Implement reset of JobItem's sample and instrument models to the original.
  * Feature #822: Revise submit job logic
  * Feature #823: Allow multiple ILayout objects per layer
  * Feature #825: Update default behaviour of OutputDataWidget
  * Feature #828: Trivial form factor for demonstration purposes
  * Feature #837: Provide all item's properties with correct limits
  * Feature #838: Merge python script generation branch of Abhishek
  * Feature #845: API: remove Lattice2DIFParameters from InterferenceFunction2DLattice constructor and implement static creators for square and hexagonal lattice IF's
  * Feature #856: Modify Python Example005 Disorder2 to match description in User Manual
  * Feature #857: Include GUI into Linux 'make install' command
  * Documentation #429: Write Appendix which lists all implemented examples from Examples section
  * Documentation #846: Adapt manual to new constructor for InterferenceFunction2DLattice
  * Refactoring #786: Remove unnecessary calls to getOutCoefficients
  * Refactoring #818: Review SimulationParameters

BornAgain-0.9.8, released 2014.08.28
  > Summary:
    1) Further GUI development toward first beta scheduled for October, 2014.
       Implemented rotation of particles in GUI, real time simulation window.
    2) Few bugfixes, minor refactoring in UserAPI.
  > Details:
  * Bug #741: ScalarSpecularInfoMapTest failing under Debian 32 bits
  * Bug #764: Memory leackage in mesocrystal simulation.
  * Bug #765: Genetic minimizer crashes for certain ROOT configurations
  * Bug #779: Transformations on core/shell are not being used
  * Feature #465: Organize BornAgain mail list with subscription
  * Feature #604: Implement QStandartItemModel hierarchy
  * Feature #682: Provide PlotWidget with x,y-axis in both, radians and degrees.
  * Feature #702: Implement position particle info equivalent in GUI
  * Feature #703: Implement rotation of particles in GUI
  * Feature #704: Implement Lattice2D interference function in GUI
  * Feature #736: Compile GUI under Windows with Qt5.3 and provide installer.
  * Feature #738: Perform new round of profiling and memory leackage investigation
  * Feature #746: Refactor GUI's OutputDataWidget to disantagle projections/property editor/plot widget.
  * Feature #747: Finalize QuickSimulationView.
  * Feature #748: Refactor IAxis family
  * Feature #763: Provide icon set for recent widgets
  * Feature #766: Propagate latest API changes (IAxis, IntensityDataIOFactory) into user manual.

BornAgain-0.9.7, released 2014.07.31
  > Summary:
    1) Further GUI development toward first beta scheduled for October, 2014.
    2) Redesign of RT coefficient calculations to reduce numerical instabilities in very thick layers.
    3) Improvements in Monte-Carlo integration to cope with highly oscillatory form factors of super large particles.
    4) Experimental support for running BornAgain on high performance computing clusters under OpenMPI environment.
  > Details:
  * Bug #578: Initialization problem in LLData class
  * Bug #706: Layer cannot be dropped from widgetbox to designer scene
  * Bug #709: Take care of thick layers
  * Feature #523: Expose to python MSG::SetLevel
  * Feature #600: Provide compilation of BornAgain at lrz cluster
  * Feature #604: Implement QStandartItemModel hierarchy
  * Feature #663: Improve MaterialEditor logic
  * Feature #675: Provide widgetbox with tooltips.
  * Feature #679: Revise location of auto generated BAVersion and similar files
  * Feature #681: Provide Paracrystal1D with possibility to set different probability distributions.
  * Feature #687: Provide unit test machinery for GUI.
  * Feature #688: Include GUI in nightly build
  * Feature #694: Provide select all functionality for SampleView
  * Feature #695: Provide panning functionality for SampleView
  * Feature #696: Implement check for unsaved project and corresponding save/discard widget
  * Feature #699: Implement ParameterModel and corresponding view delegates for real time SimulationView
  * Feature #700: Implement core shell particles in GUI
  * Feature #701: Implement layer roughness in GUI
  * Feature #705: Implement Monte Carlo integration also for polarized simulations
  * Feature #710: Provide toy OpenMPI application to run at LRZ
  * Feature #713: Provide simplified OpenMPI support in runSimulation
  * Feature #729: Integrate Mahadi's QuickSimulation widget into run simulation evironment.
  * Documentation #691: Provide simple cartoons for concepts that are otherwise difficult to understand
  * Refactoring #581: Check naming of the coherence length
  * Testing #674: Provide functional test machinery for GUI.

BornAgain-0.9.6, released 2014.06.04
  > Summary: Diverse GUI items (OutputData Widget, basic simulation functionality) + big form factor issue
  * Feature #597: Attach Instrument view to session model
  * Feature #598: Implement OutputData widget
  * Feature #599: Extend OutputData widget with projections
  * Feature #603: Rafactor GUI version of MaterialManager
  * Feature #610: Generate QStandardItem objects from the domain objects
  * Feature #613: Complete correspondence between domain and GUI model objects
  * Feature #622: Implement JobQueueModel and View
  * Feature #629: Complete connection between SessionModel and JobQueueModel
  * Feature #635: Integrate Mahadi's OutputDataWidget into JobQueueView
  * Feature #646: Implement serialization of subitems of ParameterizedItem
  * Feature #647: Implement serialization of MaterialManager
  * Feature #648: Provide serialization of ParticleItem
  * Feature #653: Implement ParticleView representing ParticleItem
  * Feature #654: Complete IsGISAXS01 sample generation from GUI
  * Feature #655: Implement parameterized items for 1D and 2D paracrystals
  * Feature #657: Provide solution for form factor of big particles
  * Feature #673: Provide editing of ParameterizedItem's name in property editor.
  * Feature #678: Provide automatic switch to JobView after the job is completed.
  * Feature #684: Test remote compilation via distcc

BornAgain-0.9.5, released 2014.04.11
  > Summary: Refactoring in user API, working on GUI toward first beta.
  * Bug #605: Fitting examples under Windows doesn't update graphics in realtime
  * Feature #595: Implement saving of general GUI settings
  * Feature #596: Investigate serialization of QStandardItemModel
  * Feature #608: Basic QStandardItemModel structure
  * Feature #609: Generate domain objects from GUI model objects
  * Feature #611: Attach drag&drop view to the underlying QStandardItemModel
  * Feature #612: Attach Property Editor View to the underlying QStandardItemModel
  * Feature #615: Implement add/remove/move in TreeView
  * Feature #616: Implement new FormFactor pictograms in widgetbox
  * Feature #623: Implement basics of JobQueueItem and JobQueueModel
  * Feature #624: Implement JobQueueView with tree representation of queue's properties and corresponding OutputData widget
  * Feature #625: Implement basic logic for add/remove/cancel/unddo for JobQueueView
  * Feature #626: Implement ProgressBar in Coregui and JobQueueModel
  * Feature #627: Implement serialization of JobQueueModel
  * Feature #628: Implement call back from Simulation to the ProgressBar of JobQueueView
  * Feature #641: Drag items to root in treeview
  * Feature #642: Implement normalization of IntensityData in Python
  * Feature #645: Implement formfactory property as combobox in property editor
  * Documentation #584: Write small explanation about core shell form factor in FormFactor's Appendix
  * Documentation #589: Reduce size in Mb of user manual
  * Documentation #590: Write Appendix section about interference functions available
  * Documentation #591: Write Doxygen section about interference functions available
  * Refactoring #266: Refactor MaterialManager
  * Refactoring #594: Revise ParticleDecoration appearance/naming in UserAPI

BornAgain-0.9.4, released 2014.02.07
  > Summary: Off specular simulation, beam divergence, support for MacOS Maverick, new form factors
  * Bug #220: Gui: provide GUI compilation under Qt5/linux
  * Bug #461: Provide compilation on latest MacOS Maverick
  * Bug #545: PolarizedDWBAZeroMag functional test fails under windows
  * Bug #567: Restore PythonAPI generation under Maverick
  * Bug #576: Fix functional tests under Maverick
  * Bug #582: Silent sigmentation fault in InterferenceFunction2DLattice
  * Feature #304: Provide compilation of HipGISAXS and run test simulation on GPU
  * Feature #318: Implement beam divergence and wavelength distribution
  * Feature #400: Move QtVariantManager into directory "externals" as static library
  * Feature #446: Repair broken Genetic minimizer after we get rid from ROOT dependency
  * Feature #482: Implement/review Full spheroid formfactor
  * Feature #484: Implement/review Ellipsoid formfactor
  * Feature #485: Implement/review Anisotropic hemi-spheroid formfactor
  * Feature #486: Implement/review Spheroid formfactor
  * Feature #491: Provide https access to git repository
  * Feature #521: Implement polarized DWBA with cylindrical particles functional test
  * Feature #526: Implement the ripple 1 (gaussian) formfactor
  * Feature #543: Review release script
  * Feature #553: Provide interface to perform off-specular scattering simulations
  * Feature #569: Provide complex Bessel functions in C++ by wrapping existing fortran code
  * Feature #571: Replace real Bessel with complex one where needed
  * Documentation #546: Complete Appendix with all form factors listed
  * Documentation #549: Doxygen API: review form factors description
  * Documentation #565: Provide simulation and fit examples for spheres with size distribution
  * Documentation #566: Provide ripple2 example
  * Testing #445: Implement BornAgainFit unit test infrastructure
  * Testing #537: Create MultiLayer unit test
  * Testing #551: Implement tests for AttLimits, FitParameter, FitParameterLinked
  * Testing #554: Implement ParticleDecoration unit test
  * Testing #556: Implement HomogeneousMaterial and HomogeneousMagneticMaterials unit tests
  * Testing #557: Implement OutputData<Eigen::Matrix2d> unit test
  * Testing #559: Implement SpecularMatrix unit test
  * Testing #560: Implement ScalarRTCoefficients unit test
  * Testing #561: Implement MathFunctions unit test
  * Testing #562: Implement MatrixRTCoefficients unit test
  * Testing #563: Revise Beam unit test
  * Testing #564: Implement ScalarSpecularInfoMap and MatrixSpecularInfoMap test
  * Testing #573: Implement DWBASimulation unit test

BornAgain-0.9.3, released 2013.12.20
  > Summary: new form factors, user requests, refactoring
  * Bug #469: Review form factor calculation for big particle dimensions
  * Bug #499: Simulated formfactors sphere (for H=2R) and fullsphere are squeezed
  * Bug #505: Investigate and possibly fix transformations for polarized mesocrystals
  * Bug #508: Pacman assymetry in peaks of meso crystal simulation
  * Bug #509: OutputData<T>.setAllTo(value) crashes (nullpointer) after clear()
  * Bug #512: Particles' magnetic materials are not transformed
  * Bug #516: Simulation of mesocrystal differs when doing 4 vs 8 threads
  * Feature #288: Provide correct implementation of tilted cylinder (and cone) formfactor for complex wavenumbers
  * Feature #410: Review and improve on mesocrystal form factors
  * Feature #430: Examples: prepare example with core shell nanoparticles
  * Feature #435: Request: provide JFM with the python script simulating the sample_jfm1
  * Feature #454: Change behavior of setParameterValue
  * Feature #477: Implement/review Cone formfactor
  * Feature #478: Implement/review Tethraedron formfactor
  * Feature #479: Implement/review Prism6 formfactor
  * Feature #480: Implement/review Cone6 formfactor
  * Feature #481: Implement/review Cybooctaedron formfactor
  * Feature #483: Implement/review Anisotropic pyramid formfactor
  * Feature #494: Implement all IsGISAXS distribution functions
  * Feature #506: Refactor all tests to use new SimulationRegistry
  * Feature #527: Implement the ripple 2 (triangular) formfactor
  * Feature #540: Provide consistent propagation and composition of transformations
  * Documentation #426: Examples: prepare C++ standalone example in Examples section
  * Documentation #432: Examples: prepare example with correlated roughness interface
  * Documentation #471: Write down formalism for polarized DWBA on embedded particles
  * Documentation #475: Create prototype of latex (pdf) page representing form factor
  * Documentation #489: Python docstrings
  * Documentation #501: API reference for manual
  * Refactoring #232: rename "min" and "max" in TRange, ...
  * Refactoring #302: Return global static constants in the namespace back
  * Refactoring #303: Drop shared_ptr usage for BasicVector3D
  * Refactoring #416: CHeck and fix //TODO's and //FIXME's
  * Refactoring #436: Refactor ISample, IParameterized and ParameterPool for better access to global ISample's parameter pool
  * Refactoring #507: Wrap SampleBuilder in the shared pointer
  * Refactoring #522: Clean up in App and FunctionalTests
  * Testing #127: Add LLData Unit tests
  * Testing #413: Repair MesoCrystal functional test
  * Testing #414: Implement functional test: polarized DWBA with zero magnetic field
  * Testing #421: Repair Performance test
  * Testing #524: Produce a functional test for the layer with roughness
  * Testing #529: Create TRange unit test
  * Testing #530: Create AxisBin unit test
  * Testing #535: Modify Particle unit test
  * Testing #536: Create FTDistributions unit test
  * Support #511: Provide example with 2 parameter fit of spheres in a hex lattice

BornAgain-0.9.2, released 2013.10.14
  > Summary: build issues, fitting interface, user manual, conferences
  * Bug #447: Our minimum required cmake version 2.8.0 doesn't contain PARSE_MACRO
  * Bug #462: Provide compilation on Jülich MacOS server
  * Bug #463: Provide compilation under Jülich CentOS 5.10
  * Bug #468: Make use of python interpreter to guess libpython location
  * Bug #470: fitting example failure
  * Bug #473: Simulation fails at zero abundance in particle_decoration.addParticle
  * Bug #497: Access to axis of IntensityData in Python leads to the segmentation fault
  * Feature #396: Create deb package
  * Feature #417: implement automatic propagation of BornAgain version number into cmake
  * Feature #419: Write deployment script which will automatize the release
  * Feature #431: Build: provide thisbornagain.sh to set system PATHs to the installation directory
  * Feature #437: Provide OutputData with ExportToNumpy function for PythonAPI
  * Feature #438: Adjust existing python examples to conform PEP8 style
  * Feature #444: Prepare talk for ILL
  * Feature #450: Provide python function to retrieve polarized output data
  * Feature #493: Set PYTHONPATH under windows at the end of installation
  * Documentation #372: Review fitting section
  * Documentation #398: default installation from tgz; direct only experts to git snapshot
  * Documentation #404: Prepare poster for GISAXS2013 Workshop in Hamburg
  * Documentation #423: Prepare demo for GISASXS 2013
  * Documentation #439: Explain sample parameters paradigm in simulation examples section
  * Documentation #440: Create svg plot representing minimization flow
  * Documentation #441: Prepare talk for Koordinierungstreffen
  * Documentation #448: Examples: prepare FitCylindersAndPrism_detailed example
  * Documentation #449: Review manual's simulation python example section to conform changes in the script itself
  * Documentation #455: Add demos into Examples/python section
  * Documentation #456: Prepare talk "Data Analysis in HEP" for ILL
  * Documentation #458: Prepare talk about Python bindings for ILL
  * Documentation #459: Review installation section
  * Refactoring #443: Refactor IMinimizer for better control of minimizer option
  * Support #460: Create git repository for user related info

BornAgain-0.9.1, released 2013.09.27
  > Summary: Windows build, polarized neutrons and magnetic domains
  * Bug #403: Debian unittest failure
  * Feature #14: Choose platform-independent build system
  * Feature #314: Windows compilation part 2
  * Feature #360: Compile BornAgainCore and corresponding functional tests
  * Feature #361: Compile BornAgainFit and corresponding minimizer libraries and functional tests
  * Feature #362: Compile PythonAPI and run python functional tests
  * Feature #363: Compile App using cmake-mingw and cmake-msvc
  * Feature #364: Switch to cmake build system in windows build
  * Feature #365: Switch to Microsoft VC2012 in windows build
  * Feature #366: Create windows installer package
  * Feature #367: Provide treatment of detector resolution for polarized neutrons
  * Feature #368: Provide correct normalization of polarized neutron intensity
  * Feature #388: Test polarization simulation with IsGISAXS03 example
  * Feature #389: Make common interface for reflection/transmission coefficients and their maps
  * Feature #390: Make implementations of interference functions transparent to whether coefficients are matrix- or scalar-valued
  * Feature #391: Compile GUI for windows using cmake-mingw and cmake-msvc
  * Feature #392: Use scalar reflection/transmission coefficients in absence of magnetization in layers (also when the particles might be magnetized)
  * Feature #399: Provide diffuse calculation for polarized mesocrystals
  * Feature #402: Use cmake in eclipse build
  * Feature #411: Provide help functions for analysis of polarized OutputData structures
  * Documentation #406: Review Software Architecture section
  * Documentation #407: Review Installation section
  * Documentation #408: Update wiki page to conform with the UserManual
  * Refactoring #370: Remove unnecessary code duplication introduced during implementation of polarization
  * Support #371: Simulate S. Disch's sample

BornAgain-0.9, released 2013.08.23
  * FunctionalTests: fitting from python works two times faster than fitting from C++
  * Compile Error on Ubuntu 12.04
  * Strange warning in boost::python api generation
  * crash on addInterferenceFunction() without any error message
  * Fix zero eigenvalue case for specular magnetic case
  * Move ROOT minimization into ThirdParty and so get rid from ROOT dependency
  * Change conventions (feedback from GISS Workshop)
  * Ease installation for users
  * Implement batch mode for the Simulation (suggestion of Gunthard Benecke)
  * Develop enough neutron polarization support to simulate samples from S. Disch and A. Klapper
  * Remove Decorator pattern from user interface
  * Move specular calculation to the SpecularMatrix class (for scalar)
  * Add polarization state to Beam
  * Add magnetic materials
  * Develop MatrixSpecular for magnetic materials
  * Use magnetic calculation when a magnetic material is present
  * Add DWBA for magnetic particles
  * Develop roughness calculation for matrix formalism
  * Add new cmake build configuration to TeamCity
  * Write description of isgisaxs01 example for User Manual using latex
  * Populate examples directory with several well commented python scripts
  * Write how to install in manual and wiki
  * Adapt local python script for plotting data
  * Write simple fitting example and corresponding section in the documentation
  * Provide import of ProgramOptions (nthreads, level of logging) into libBornAgainCore
  * Replace Particle's index of refraction with material
  * Move all IsGISAXS geometries to Core/StandardSample directory
  * cmake build in Ubuntu and corresponding how to in the documentation

BornAgain-0.8.2, released 2013.07.30
  * Particle interface changed to accept HomogeneousMaterial

BornAgain-0.8.1, released 2013.07.26
  * CMake based build system
  * PythonAPI automatic code generation redesign
  * User Manual v0.1
  * libBornAgainFit
  * FunctionalTest collection

BornAgain-0.7.0, released 2013.04.10
  * First public release
