Skip to content

Releases: kpeeters/cadabra2

2.5.14

31 Jul 19:29

Choose a tag to compare

  • TeXmacs is supported again, including plotting (put the config/init-cadabra2.scm file in the appropriate location).
  • Plotting is now supported again by the Jupyter kernel.
  • Support for plotting in Kitty and iTerm2 terminals.
  • Group equal components when displaying component values of tensors.
  • Internal: some operations now use multiple threads (work in progress).
  • Internal: use a pool allocator for tree nodes.
  • Internal: speedup in handling of Multiplier (test suite speedup by 1.5x).
  • Docs: add SympyBridge docs.
  • Fix bug when subtracting two component expressions.
  • Fix bug with NTensor broadcasting from scalar.
  • Fix cadabra2-cli argument handling.
  • Fix handling of code blocks in cadabra2-cli, making it consistent with the notebook.
  • Stability improvement to the SymPy bridge by walking the SymPy AST directly instead of parsing printed output.
  • Make Homebrew package provide a working Jupyter kernel too.
  • Made \iu the imaginary unit, by default displaying as $i$.
  • AppImages are back, on both x86_64 and arm64.
  • Fix loading cadabra2_defaults.py in the Jupyter kernel.
  • Fix scrolling bug in notebook which would make the document jump around for no good reason.
  • Fix homebrew package (by avoiding svg icons on macOS, as homebrew does not package librsvg correctly).
  • Internal: refactor to enable cleaner insertion of related properties on property declaration.
  • Fix handling substitute with regex (#230, David).

2.5.12

07 May 10:37

Choose a tag to compare

  • Make evaluate handle expressions in which indices have been fixed to integers explicitly (e.g. an epsilon tensor with one index fixed to a number).
  • New functionality to update and re-run cells based on the value of a slider, to enable e.g. interactive plots.
  • Initial support for numerical solving of ODEs.
  • Bug fixes for nevaluate.
  • Enable evaluate to figure out index ranges from Integer properties.
  • Avoid multiple identically-named notebook files used in import mapping to the same converted .py file.
  • Various fixes for hDPI displays to make plots and icons sharp and decorations render at the correct size.
  • Scrolling notebook to cell is now smooth.
  • (Internal) Remove all dependence on deprecated gtkmm-3.0 features, in preparation of making the notebook build with gtkmm-4.0.
  • Add option to hide all input cells (for presentation purposes).
  • Add context menu for graphics/plot output to save as SVG.
  • Make semicolons more reliably print the expression they terminate.
  • Add nintegrate for numerical integration.
  • Make nevaluate handle complex-valued expressions.
  • Better handling of floating point numbers. All multipliers are now either rationals or doubles.
  • New nval function to act as a generic frontend for numerical evaluation of (sub-)expressions (work-in-progress).
  • Add safeguards against passing expressions through the SymPy bridge which SymPy cannot (yet) handle.
  • Add functionality to drive the notebook via an external script.
  • New, more modern Windows installer, which also adds a desktop icon.
  • Removed terminal window on Windows.
  • Fix export of notebooks to HTML.
  • Ubuntu and Fedora packages now available for arm64 in addition to x86_64 architecture.

2.5.12-rc1

07 May 09:28

Choose a tag to compare

2.5.12-rc1 Pre-release
Pre-release
  • Make evaluate handle expressions in which indices have been fixed to integers explicitly (e.g. an epsilon tensor with one
    index fixed to a number).
    • New functionality to update and re-run cells based on the value of a slider, to enable e.g. interactive plots.
    • Initial support for numerical solving of ODEs.
    • Bug fixes for nevaluate.
    • Enable evaluate to figure out index ranges from Integer properties.
    • Avoid multiple identically-named notebook files used in import mapping to the same converted .py file.
    • Various fixes for hDPI displays to make plots and icons sharp and decorations render at the correct size.
    • Scrolling notebook to cell is now smooth.
    • (Internal) Remove all dependence on deprecated gtkmm-3.0 features, in preparation of making the notebook build with gtkmm-4.0.
    • Add option to hide all input cells (for presentation purposes).
    • Add context menu for graphics/plot output to save as SVG.
    • Make semicolons more reliably print the expression they terminate.
    • Add nintegrate for numerical integration.
    • Make nevaluate handle complex-valued expressions.
    • Better handling of floating point numbers. All multipliers are now either rationals or doubles.
    • New nval function to act as a generic frontend for numerical evaluation of (sub-)expressions (work-in-progress).
    • Add safeguards against passing expressions through the SymPy bridge which SymPy cannot (yet) handle.
    • Add functionality to drive the notebook via an external script.
    • New, more modern Windows installer, which also adds a desktop icon.
    • Removed terminal window on Windows.
    • Fix export of notebooks to HTML.
    • Ubuntu and Fedora packages now available for arm64 in addition to x86_64 architecture.

2.5.10

24 Dec 09:40

Choose a tag to compare

  • Bugfix for eliminate_kronecker.
  • Fix for building Cadabra as a C++ library.
  • Various UI and typesetting bug fixes.
  • Get rid of websocketpp in favour of boost::beast so we can build with boost >= 1.87.0.
  • Fix for the homebrew package, and option to install the development branch using homebrew.
  • Add caching to the processing of substitution rules (Daniel).
  • Fixes for inline execution of Python functions in maths expressions.
  • Do not gobble normal output when an error occurs notebook execution.
  • Fix inconsistent behaviour and crashes with split-view mode.
  • Fix display of LaTeXForm properties.
  • Documentation updates.
  • Close LaTeX input cells on running them (configurable).
  • Cleanup and document kernel options.
  • Various additions to the plotting package cdb.graphics.plot including docs.
  • Add preliminary support for Plotly as plotting backend.
  • Word wrap LaTeX input cells to keep notebooks readable for any window width.
  • Internal changes for python path handling.

2.5.10-rc3

21 Dec 15:19

Choose a tag to compare

2.5.10-rc3 Pre-release
Pre-release

As 2.5.10-rc2, but getting rid of websocketpp dependence in favour of boost::beast so we can build with boost 1.87.0 and higher, and fixing some issues with python finding (again) on macos.

2.5.10-rc2

16 Dec 08:27

Choose a tag to compare

2.5.10-rc2 Pre-release
Pre-release

As 2.5.10-rc1, and additionally:

  • Bugfix for eliminate_kronecker.
  • Fix for building Cadabra as a C++ library.
  • Various UI and typesetting bug fixes.
  • Fix for the homebrew package, and option to install the development branch using homebrew.

2.5.10-rc1

30 Nov 21:22

Choose a tag to compare

2.5.10-rc1 Pre-release
Pre-release
  • Add caching to the processing of substitution rules (Daniel).
  • Fixes for inline execution of Python functions in maths expressions.
  • Do not gobble normal output when an error occurs notebook execution.
  • Fix inconsistent behaviour and crashes with split-view mode.
  • Fix display of LaTeXForm properties.
  • Documentation updates.
  • Close LaTeX input cells on running them (configurable).
  • Cleanup and document kernel options.
  • Various additions to the plotting package cdb.graphics.plot including docs.
  • Add preliminary support for Plotly as plotting backend.
  • Word wrap LaTeX input cells to keep notebooks readable for any window width.
  • Internal changes for python path handling.

2.5.8

25 Oct 09:15

Choose a tag to compare

This is mostly a bugfix release, mainly for the sympy bridge and to fix various issues with the notebook interface.

2.5.6

29 Sep 20:37

Choose a tag to compare

This release finally builds again on Windows. Binary packages for major Linux distributions, an AppImage version, a Windows installer, a Homebrew package and a Docker image are all built automatically on github actions from now on, and will be available as release assets shortly after each release. There are no new features in this version, but the code to locate the Python installation has been cleaned up substantially, which may help other package builders (no more reference to hard-coded paths in the cadabra2 binaries).

2.5.5-rc1

26 Sep 17:15

Choose a tag to compare

2.5.5-rc1 Pre-release
Pre-release
  • No longer use absolute paths in code (do everything relative to the python module or to the cadabra binaries).
  • Build process fixed for building on Windows using MSYS2.