McStas and McXtrace 3.8.4 released

McStas and McXtrace 3.8.4 released

img

Installation

Changes in McStas/McXtrace 3.8.4

Covers everything since the last full release, 3.7.9 (July 2, 2026), including all changes already shipped quietly via the intermediate conda-forge releases 3.7.10–3.8.3, and a ground-up rewrite of the McStas/McXtrace manuals.

Sorry for any incovenience caused if you installed any of 3.8.1-3… Some doc-details were still not in place!

What’s Changed – highlights

  • For a full description of all release content, please visit the project websites or GitHub!

Common to McStas and McXtrace

Manuals

  • First full manual makeover since the McStas 2.x / McXtrace 1.x series. T
  • AI-assisted: reference material and source code (usage articles, grammar/cogen.c, example instruments, component sources, tool CLIs) were given to an AI coding agent to draft the updated text. Given the scale of the rewrite, minor errors/omissions in the manuals are expected — please flag anything you spot via a GitHub issue
  • mcdoc‘s browser-based overview page now also links to per-tool cheat-sheets new standalone Instrument/Component grammar reference pages, all a click away from the component browser.

New tooling

  • New  – and updated user tools:
    • mcrun/mxrun: improved multi-dimensional scan-modes and single-file output when scanning to HDF5/NeXus format
    • mcplot/mxplot-matplotlib: improvement to presentation and performance
    • New mcplot-derived tools (for pyqtgraph, matplotlib and HTML output formats)
      • mcplotdiff/mxplotdiff for plotting differences between two datasets
      • mccoplot/mxcoplot for plotting 1D datasets together for comparison

Code generator, grammar, project infrastructure 

  • Fixes:
    • RNG correctness fix in presence of SPLIT @mads-bertelsen
    • Restored option to run with Mersenne Twister on CPU @mads-bertelsen
    • Add input parameters to base .py instrument @MilanKlausz
  • Grammar simplification:
    • COPY(instance) to no longer transfers EXTEND and other advanced attributes
  • Increased compatibility with mcstas-antlr
  • Various improvements to CI – including systematic testing against mcstas-antlr

McStas only

  • New instrument:
    • import of FRMII_SPODI / FRMII_SPODI_MULTI, from MLZ Garching from @kinetik161 et. al.
  • New instruments:
    • import of 3 x imaging instruments from various sources (PSI_ICONRadiography_Lithium_BatteryRadiography_Sword)
  • New included library mcstas-chopper-lib, from @g5t
    • Components Masked_ESS_butterfly and NXdisk_chopper
    • instruments Masked_ESS_butterfly_image, NXdisk_chopper_display and NXdisk_chopper_image.
    • All fully integrated with McStas
  • Various fixes and improvements

McXtrace only

  • Various fixes and improvements to components/instruments

New Contributors

  • @kinetik161 made their first contribution in #2608
  • @mads-bertelsen-agentic made their first contribution in #2624
  • @MilanKlausz made their first contribution in #2638

All the best on behalf of the McStas-McXtrace team,

Peter Kjær Willendrup

Forskningsingeniør, Specialkonsulent

DTU Physics