Release 20.0

BornAgain 20.0 has been released.

The jump from 1.19 to 20.0 warrants some explanation, which will be given below.

This release, the result of two years of intense work, brings huge changes at all levels.

Much of this release is about “refactoring”, i.e. internal changes that set data structures and internal interfaces right to prepare for future extensions.

Among the user-facing changes, most noticeable is the replacement of the graphical sample editor by expandable tables.

Also, there are numerous changes to the Python API. Unfortunately, this means that most old scripts will be broken. We recognize the importance of backward compatibility, which we hope to gradually achieve in forthcoming releases.

The restructured documentation has now three distinct sections for Python scripting: a short tutorial, a collection of examples, and a reference. Migration to this new structure is still incomplete; some reference sections are still in old teaching-by-example style, and will be reworked later.

As another deployment channel, we are now supporting Python-only installation via the Python Package Index

For more details, see the CHANGELOG.

In spite of thorough testing, it is not unlikely that some bugs slipped in. If you suspect a bug or observe any other undesirable behavior, please submit a report to our issue tracker. We will investigate any such report with high priority, and publish hotfix releases as appropriate.

With this release, the version number scheme changed. Recognising that there will be never be the right moment to pass from BornAgain 1.x.y to 2.0.0, we removed the leading “1” for good, and promoted the old minor to new major. In the future, new major releases shall be published several times per year.

We thank Randolf Beerwerth, Ludwig J├Ąck, Andrew McCluskey, Tobias Knopff, and especially Matthias Puchner for their contributions to this release.

Best greetings from the new BornAgain maintainer team:

Ammar Nejati, Mikhail Svechnikov, Joachim Wuttke

March 27, 2023