CHANGELOG 99.3 KB
Newer Older
Wuttke, Joachim's avatar
Wuttke, Joachim committed
1
BornAgain-1.19.0, released 2021.03.17
2
  > API changes:
3
4
5
6
7
8
    * 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
9
    * Remove old R&T computations from API (now in Code/Legacy and Tests)
10
    * Add support for q offset in QSpecScan (redmine 2496)
Wuttke, Joachim's avatar
Wuttke, Joachim committed
11
    * Make Python plot API entirely keyword based
Wuttke, Joachim's avatar
Wuttke, Joachim committed
12
    * Remove default Python fit monitor, user must choose between GISAS and specular plotter
13
  > GUI changes:
Wuttke, Joachim's avatar
Wuttke, Joachim committed
14
15
16
17
18
    * Improve 1D CSV importer:
      * Separator guessing
      * Options for file parsing (skipped lines, separator, columns, unit of Q)
      * Table of imported data
      * Detailed error reporting
19
20
21
22
    * Add top-level menu View, with functionality moved in from other places
    * Add accelerator keys to menus
    * Minor layout improvements
  > Bug fixes:
Wuttke, Joachim's avatar
Wuttke, Joachim committed
23
    * Correct handling of polarization for unpolarized samples, and related fixes
24
    * For alpha_i=0, set scattered intensity to 0
25
26
27
28
    * 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)
29
  > Documentation:
30
31
    * Unify API usage in many examples, using BornAgain's Python exporter
    * Remove many entries from Doxygen user API
Wuttke, Joachim's avatar
Wuttke, Joachim committed
32
33
    * New reflectometry fitting examples using real data: Pt layer, Honeycomb
    * In web docs, merge Python tutorial and examples collection
34
  > Internal refactoring:
Wuttke, Joachim's avatar
Wuttke, Joachim committed
35
36
    * Accelerate reflectometry computation
    * Move C++ code to break cyclic directory include dependences
37
38
39
40
41
    * 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
Wuttke, Joachim's avatar
Wuttke, Joachim committed
42
    * Simplify lots of GUI internals
43
44
45
46
    * 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
Wuttke, Joachim's avatar
Wuttke, Joachim committed
47
48
49
    * 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
Wuttke, Joachim's avatar
Wuttke, Joachim committed
50

Wuttke, Joachim's avatar
Wuttke, Joachim committed
51
BornAgain-1.18.0, released 2020.10.30
52
53
  > API changes:
    1) Shorter names for FootprintSquare, FootprintGauss
54
    2) FormFactorHollowSphere (moved from soft to hard particles, and renamed)
55
56
57
    3) FormFactorGaussSphere is now a sphere, not an ellipsoid
    4) Withdraw three unused, undocumented, incomplete soft-particle form factors
       (Lorentz, Debye-Bueche, Ornstein-Zernike)
58
    5) Removed default argument values from node constructors
59
    6) Swap order of arguments gamma and eta in 2D decay and distribution Voigt functions
60
    7) FormFactorSphereLogNormalRadius is now positioned at center, not at bottom
61
    8) Ripple1 and Ripple2 form factors renamed to CosineRipple and SawtoothRipple
Beerwerth, Randolf's avatar
Beerwerth, Randolf committed
62
    9) Support for structural roughness (Tanh + Névot-Croce) in polarized computations
63
64
  > Important changes in examples and tests:
    1) Renamed "Air" -> "Vacuum"
Wuttke, Joachim's avatar
Wuttke, Joachim committed
65
66
67
  > Changes in build configuration:
    1) Python2 no longer supported
    2) OpenGL can no longer be deselected
Wuttke, Joachim's avatar
Wuttke, Joachim committed
68
    3) Eigen3 and libcerf removed from ThirdParty; they are now regular external dependences
69
  > Internal refactoring and fixes of unreported bugs
70
    1) Unit tests now under CTest control, no longer enforced during compilation
71
    2) Uniform handling of assertions
72
    3) Success of test_nonXMLDataInDir was dependent on test execution order
73
    4) Parameter registration now centralized in INode class
Beerwerth, Randolf's avatar
Beerwerth, Randolf committed
74
75
    5) New, and more stable, implementation of polarized Fresnel computation
    6) Scalar Fresnel computation unified with polarized implementation
Wuttke, Joachim's avatar
Wuttke, Joachim committed
76
    7) Directory Core broken into a hierarchy: Core, Device, Sample, Param, Base
Wuttke, Joachim's avatar
Wuttke, Joachim committed
77
    8) Request C++17
78
    9) Error handling: core decoupled from Qt
Wuttke, Joachim's avatar
Wuttke, Joachim committed
79
80
81
82
83
84
85
86
87
88
89
90
91
  > 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
92

93
94
95
96
97
98
99
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
Pospelov, Gennady's avatar
Pospelov, Gennady committed
100
101
    2) Add Nevot-Croce roughness model; support switching between models
    3) Scripting support for polarized reflectometry
102
103
    4) Update physical constants to 2020 CODATA recommended values
    5) FormFactors: add CantellatedCube
Pospelov, Gennady's avatar
Pospelov, Gennady committed
104
    6) FormFactors: speedup FormFactorFullSpheroid
105
106
107
108
109
110
111
112
113
114
    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
115
  * Feature #2438: Website: rename "python scripts" and "tutorial examples" menu entries
116
117
  * Feature #2443: Create document describing the release procedure.
  * Feature #2445: GUI: fix fancy toolbars under Linux
118
  * Feature #2446: GUI: fix HighDPI issues under Windows
119
120
121
122
123
  * 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
124
  * Documentation #2431: Website: switch to latest Hugo in website travis based generation
125
126
  * Documentation #2437: Website: provide citing and news item for BornAgain publication
  * Refactoring #2275: Refactor cmake machinery for consistent Python interpreter/libraries handling
127
  * Refactoring #2432: Run code beautifier on the whole codebase
128
129
130
131
132
  * 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

Yurov, Dmitry's avatar
Yurov, Dmitry committed
133
134
135
136
137
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:
Wuttke, Joachim's avatar
Wuttke, Joachim committed
138
    1) Handling intensity uncertainties in experimental data
Yurov, Dmitry's avatar
Yurov, Dmitry committed
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
    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
Juan Manuel Carmona Loaiza's avatar
Juan Manuel Carmona Loaiza committed
161
  * Bug #2388: Footprint Correction example failing due to newly introduced accessor methods
Yurov, Dmitry's avatar
Yurov, Dmitry committed
162
163
164
165
166
167
168
169
170
171
172
173
174
  * 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
175
  * Documentation #2223: Update BornAgain Windows installation documentation on the webpage
Yurov, Dmitry's avatar
Yurov, Dmitry committed
176
177
178
  * Documentation #2283: Fix starting value of prism_base_edge in fit example
  * Documentation #2308: Fix Windows PyCharm tutorial
  * Documentation #2325: Proofread Windows installation tutorials
Wuttke, Joachim's avatar
Wuttke, Joachim committed
179
  * Documentation #2381: Examples present on the website and missing on the BA repo
Yurov, Dmitry's avatar
Yurov, Dmitry committed
180
181
182
183
  * 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
184

185
BornAgain-1.15.0, released 2019.02.25
186
  > API changes:
Yurov, Dmitry's avatar
Yurov, Dmitry committed
187
188
     1) Python: method getAlphaAxis renamed into coordinateAxis in SpecularSimulation
     2) Python: add axis() accessor in SimulationResult (to be used instead SimulationResult.data().getAxis()
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
  > 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
215

216
BornAgain-1.14.0, released 2018.12.07
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
  > 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
283

284
BornAgain-1.13.0, released 2018.10.05
Yurov, Dmitry's avatar
Yurov, Dmitry committed
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
  > 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
Pospelov, Gennady's avatar
Pospelov, Gennady committed
324
325
  * 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
Van Herck, Walter's avatar
Van Herck, Walter committed
326
  * Bug #2188: Real space widget silently crashes with 1d interference function with xi=90 degrees
Yurov, Dmitry's avatar
Yurov, Dmitry committed
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
  * 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

364
365
366
367
368
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)

369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
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

437
438
439
440
441
442
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

Van Herck, Walter's avatar
Van Herck, Walter committed
443
BornAgain-1.11.0, released 2018.03.02
444
  > API changes
445
446
    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.
447
448
449
450
451
452
453
454
455
456
457
458
  > 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
Wuttke, Joachim's avatar
Wuttke, Joachim committed
459
    12) Bugfix: BornAgain GUI no longer contains a limit on number of threads.
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
    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
Van Herck, Walter's avatar
Van Herck, Walter committed
485
486
487
488
489
490
491
492
493
494
  * 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
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
  * 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
571

572
BornAgain-1.10.0, released 2017.10.09
573
  > MacOS specific
Pospelov, Gennady's avatar
Pospelov, Gennady committed
574
    1) 10.9 (Mavericks) is not supported anymore. Minimum supported 10.10 (Yosemite).
575
576
  > API changes
    1) FormFactorTrivial renamed to FormFactorDot
577
    2) IParticle: applyTranslation -> translate; applyRotation -> rotate
578
579
580
581
  > 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.
Pospelov, Gennady's avatar
Pospelov, Gennady committed
582
583
    4) GUI: support for mesocrystals.
    5) GUI: added form factor of a dot.
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
    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
625

626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
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

Van Herck, Walter's avatar
Van Herck, Walter committed
663
BornAgain-1.8.0, released 2017.04.06
664
665
  > API changes
    1) ParticleLayout: addInterferenceFunction -> setInterferenceFunction
Van Herck, Walter's avatar
Van Herck, Walter committed
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
  > 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
736

737
738
739
740
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
741
  * Bug #1658: add qt5-svg as a dependency
Pospelov, Gennady's avatar
Pospelov, Gennady committed
742
  * Bug #1662: CMake: require Qt version 5.4
743
744
  * Bug #1687: LMA is incorrectly normalized
  * Bug #1692: GUI and Py: simulation crash when sample contains undefined material
745
  * Bug #1681: Fitting GUI: free parameter error
746
  * Bug #1661: FitSuite doesn't know about TestMinimizer
Pospelov, Gennady's avatar
Pospelov, Gennady committed
747
  * Bug #1639: GUI: crash if fitting parameter removed
748

Van Herck, Walter's avatar
Van Herck, Walter committed
749
BornAgain-1.7.0, released 2016.11.14
750
751
  > API changes
    1) The one-argument constructors of FormFactorGauss and FormFactorLorentz now accept a length instead of a volume
Van Herck, Walter's avatar
Van Herck, Walter committed
752
    2) GUI project back-compatibility broken
753
754
755
756
757
758
  > 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.
Van Herck, Walter's avatar
Van Herck, Walter committed
759
760
    2) GUI support for fitting real data extended: masking, region of interest, linking dataset to defined instrument.
       Control parameters for different fit engines unified.
761
762
    3) Behind the scenes: many directories, files, classes renamed or reorganized.

Van Herck, Walter's avatar
Van Herck, Walter committed
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
  * 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

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

831
832
833
834
835
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

836
837
BornAgain-1.6.0, released 2016.06.30
  > Summary:
838
    1) Python3 support
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
    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

900
901
902
903
904
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

905
906
BornAgain-1.5.0, released 2016.02.15
  > API changes
907
908
    1) FTDecayFunctions introduced to use together with lattices (setDecayFunction)
       FTDistributions are used, as before, with paracrystals.
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
  > 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

Van Herck, Walter's avatar
Van Herck, Walter committed
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
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

Van Herck, Walter's avatar
Van Herck, Walter committed
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
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

Van Herck, Walter's avatar
Van Herck, Walter committed
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
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
Pospelov, Gennady's avatar
Pospelov, Gennady committed
1044
1045
       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
Van Herck, Walter's avatar
Van Herck, Walter committed
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
    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

1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
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

1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
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
1190
  * Testing #795: Test dmg package
1191

1192
BornAgain-0.9.9, released 2014.10.29
1193
  > Summary:
1194
1195
    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.
Van Herck, Walter's avatar
Van Herck, Walter committed
1196
    3) User Manual: new appendix with python examples
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
  > 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
1232

Pospelov, Gennady's avatar
Pospelov, Gennady committed
1233
BornAgain-0.9.8, released 2014.08.28
1234
  > Summary:
Pospelov, Gennady's avatar
Pospelov, Gennady committed
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
    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.
1256

1257
BornAgain-0.9.7, released 2014.07.31
1258
  > Summary:
1259
1260
1261
    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.
Pospelov, Gennady's avatar
Pospelov, Gennady committed
1262
    4) Experimental support for running BornAgain on high performance computing clusters under OpenMPI environment.
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
  > 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.
1289

1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
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

Pospelov, Gennady's avatar
Pospelov, Gennady committed
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
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

Pospelov, Gennady's avatar
Pospelov, Gennady committed
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
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

Pospelov, Gennady's avatar
Pospelov, Gennady committed
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
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

Pospelov, Gennady's avatar
Pospelov, Gennady committed
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
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

Pospelov, Gennady's avatar
Pospelov, Gennady committed
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
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
1488
  * Support #371: Simulate S. Disch's sample
Pospelov, Gennady's avatar
Pospelov, Gennady committed
1489

1490
BornAgain-0.9, released 2013.08.23
Van Herck, Walter's avatar
Van Herck, Walter committed
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
  * 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
1519

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

1523
BornAgain-0.8.1, released 2013.07.26
1524
1525
1526
1527
1528
1529
  * CMake based build system
  * PythonAPI automatic code generation redesign
  * User Manual v0.1
  * libBornAgainFit
  * FunctionalTest collection

1530
BornAgain-0.7.0, released 2013.04.10
1531
  * First public release